dsh-maestro-config-lib
Maestro settings store library — atomic namespaced JSON store shared by dsh-maestro-* plugins (embedded dependency, no Cordis row)
- Stars
- 1
- Language
- TypeScript
- Created
- Aug 25, 2026
- Updated
- Aug 28, 2026
Introduction
@ddtcorex/dsh-maestro-config-lib
Embedded settings-store library shared by every dsh-maestro-* plugin: ONE atomic
namespaced JSON store at ~/.dsh/maestro/settings.json (chmod 600). No Cordis
surface — install it as a plain dependency so any subset of plugins works standalone.
API
defineDomain(name, validator) // owner registers a schema (validated on write)
load({ dshHome? }) // memoized read; runs one-shot legacy migration
get(domain, { dshHome? }) // domain value or undefined
set(domain, patch, { dshHome? }) // exclusive-lock write, deep-merge patch, 600 mode
onChange(cb) // fires after writes made through this instance
definedDomains() // schema-registered names
Legacy migration: first load with no modern store transforms
~/.dsh/dsh-maestro-{harness,remote,review}/config.json into the namespaced store,
renames consumed files .bak, drops runtime state (lastTunnelRunning), parks
unknown keys under _legacy. Never destructive on corrupt input.