91 lines
2.0 KiB
Plaintext
91 lines
2.0 KiB
Plaintext
@startuml
|
|
title AI Repo Commander — Config overview (safe)
|
|
|
|
class ConfigManager {
|
|
+load() : object
|
|
+save() : void
|
|
+get(keyPath) : any
|
|
+set(keyPath, value) : void
|
|
+mergeConfigs(defaults, saved) : object
|
|
+deepClone(o) : any
|
|
}
|
|
|
|
class STORAGE_KEYS {
|
|
history : "ai_repo_commander_executed"
|
|
cfg : "ai_repo_commander_cfg"
|
|
panel : "ai_repo_commander_panel_state"
|
|
}
|
|
|
|
' Split DEFAULT_CONFIG into simple classes (no quotes, no =)
|
|
class DEFAULT_META {
|
|
version : 1.6.2
|
|
}
|
|
class DEFAULT_API {
|
|
enabled : boolean
|
|
timeout : number
|
|
maxRetries : number
|
|
bridgeKey : string
|
|
}
|
|
class DEFAULT_DEBUG {
|
|
enabled : boolean
|
|
level : number
|
|
maxLines : number
|
|
showPanel : boolean
|
|
}
|
|
class DEFAULT_EXECUTION {
|
|
debounceDelay : ms
|
|
settleCheckMs : ms
|
|
settlePollMs : ms
|
|
requireTerminator : boolean
|
|
coldStartMs : ms
|
|
stuckAfterMs : ms
|
|
scanDebounceMs : ms
|
|
fastWarnMs : ms
|
|
slowWarnMs : ms
|
|
clusterRescanMs : ms
|
|
clusterMaxLookahead : count
|
|
}
|
|
class DEFAULT_QUEUE {
|
|
minDelayMs : ms
|
|
maxPerMinute : count
|
|
maxPerMessage : count
|
|
waitForComposerMs : ms
|
|
}
|
|
class DEFAULT_UI {
|
|
autoSubmit : boolean
|
|
appendTrailingNewline : boolean
|
|
postPasteDelayMs : ms
|
|
showExecutedMarker : boolean
|
|
processExisting : boolean
|
|
submitMode : "enter|ctrl+enter"
|
|
maxComposerWaitMs : ms
|
|
submitMaxRetries : count
|
|
}
|
|
class DEFAULT_STORAGE {
|
|
dedupeTtlMs : ms
|
|
cleanupAfterMs : ms
|
|
cleanupIntervalMs : ms
|
|
}
|
|
class DEFAULT_RESPONSE {
|
|
bufferFlushDelayMs : ms
|
|
sectionHeadings : boolean
|
|
maxPasteChars : number
|
|
splitLongResponses : boolean
|
|
}
|
|
class DEFAULT_RUNTIME {
|
|
paused : boolean
|
|
'(note: runtime is not persisted)
|
|
}
|
|
|
|
ConfigManager --> STORAGE_KEYS : uses localStorage keys
|
|
ConfigManager --> DEFAULT_META : deepClone/merge
|
|
ConfigManager --> DEFAULT_API
|
|
ConfigManager --> DEFAULT_DEBUG
|
|
ConfigManager --> DEFAULT_EXECUTION
|
|
ConfigManager --> DEFAULT_QUEUE
|
|
ConfigManager --> DEFAULT_UI
|
|
ConfigManager --> DEFAULT_STORAGE
|
|
ConfigManager --> DEFAULT_RESPONSE
|
|
ConfigManager --> DEFAULT_RUNTIME : in-memory only
|
|
@enduml
|