Major integrations and fixes: - Added BACKBEAT SDK integration for P2P operation timing - Implemented beat-aware status tracking for distributed operations - Added Docker secrets support for secure license management - Resolved KACHING license validation via HTTPS/TLS - Updated docker-compose configuration for clean stack deployment - Disabled rollback policies to prevent deployment failures - Added license credential storage (CHORUS-DEV-MULTI-001) Technical improvements: - BACKBEAT P2P operation tracking with phase management - Enhanced configuration system with file-based secrets - Improved error handling for license validation - Clean separation of KACHING and CHORUS deployment stacks 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
39 lines
823 B
Go
39 lines
823 B
Go
package atlas
|
|
|
|
import (
|
|
"fmt"
|
|
"reflect"
|
|
)
|
|
|
|
type MapMorphism struct {
|
|
KeySortMode KeySortMode
|
|
}
|
|
|
|
func (x *BuilderCore) MapMorphism() *BuilderMapMorphism {
|
|
if x.entry.Type.Kind() != reflect.Map {
|
|
panic(fmt.Errorf("cannot use mapMorphism for type %q, which is kind %s", x.entry.Type, x.entry.Type.Kind()))
|
|
}
|
|
x.entry.MapMorphism = &MapMorphism{
|
|
KeySortMode_Default,
|
|
}
|
|
return &BuilderMapMorphism{x.entry}
|
|
}
|
|
|
|
type BuilderMapMorphism struct {
|
|
entry *AtlasEntry
|
|
}
|
|
|
|
func (x *BuilderMapMorphism) Complete() *AtlasEntry {
|
|
return x.entry
|
|
}
|
|
|
|
func (x *BuilderMapMorphism) SetKeySortMode(km KeySortMode) *BuilderMapMorphism {
|
|
switch km {
|
|
case KeySortMode_Default, KeySortMode_Strings, KeySortMode_RFC7049:
|
|
x.entry.MapMorphism.KeySortMode = km
|
|
default:
|
|
panic(fmt.Errorf("invalid key sort mode %q", km))
|
|
}
|
|
return x
|
|
}
|