package config // The ecosystem trio. Maven owns conversation and personal memory; it owns // neither identity, nor operational state, nor execution. Each of these three // is nil unless configured and each degrades on its own — an outage is a named // gap in the answer, never a broken turn and never a guess. See docs/ecosystem.md. // // All three carry the same two fields, and they stay three types rather than one // shared EndpointConfig on purpose: the block a reader greps for is the service // they are debugging, and a shared type would put "url" in one place for three // different trust levels. // PraxisConfig — maven's connection to the Praxis attention service. type PraxisConfig struct { // URL — the Praxis HTTP API base URL (e.g. "http://localhost:9742"). URL string `json:"url,omitempty"` // Token — the shared bearer token sent on every request. Empty ⇒ calls // go out unauthenticated, which is only appropriate on a loopback or // unix-socket transport. Supports ${VAR} expansion, so the secret lives // in deploy/telegram.env, not in the committed config. Token string `json:"token,omitempty"` } // NexusConfig — connection to the Nexus identity service. type NexusConfig struct { // URL — the Nexus HTTP API base URL (e.g. "http://localhost:9740"). URL string `json:"url,omitempty"` // Token — shared bearer token; see PraxisConfig.Token. Token string `json:"token,omitempty"` } // HexisConfig — connection to the Hexis capability execution service. type HexisConfig struct { // URL — the Hexis HTTP API base URL (e.g. "http://localhost:9741"). URL string `json:"url,omitempty"` // Token — shared bearer token; see PraxisConfig.Token. Token string `json:"token,omitempty"` }