OptionalClientApp-scoped static client tools, by tool-definition reference. Surfaced to every agent acting in this app and resolved by the unified client-tool resolver.
OptionalClientToolDefinitionID?: stringReferences MJ: AI Client Tool Definitions by ID (preferred) or Name.
OptionalName?: stringOptionalPriority?: numberOptional app-level priority for first-match-wins resolution.
OptionalDefaultThe app's default/lead agent (conversational default AND realtime lead identity). Agent ID.
OptionalRealtimeRealtime co-agent overrides that layer into the config cascade above the agent's own TypeConfiguration (and below runtime overrides). Only keys set here override; unset keys fall through to the agent / type defaults.
OptionalDisclosure?: "silent" | "mention" | "hand-voice"Default delegation disclosure for this app's co-agent.
OptionalModelPreference?: stringModel preference override (AI Models Name or ID).
OptionalPersona?: { SpeakingStyle?: string; Tone?: string }Persona override folded into the session system prompt at mint.
OptionalRelevantAgents relevant to this app — the static allowed-target set for the co-agent. Union-accumulated at runtime with agent-type defaults and dynamic (channel) registrations.
OptionalAdvertised?: booleanIf true, surfaced in pickers / proactively offered; if false, available but not advertised.
Agent ID (loop or flow — transparent to the co-agent).
OptionalDisclosure?: "silent" | "mention" | "hand-voice"Per-target disclosure override; falls back to the effective default disclosure.
OptionalLabel?: stringOptional friendly label for the capability manifest / disclosure ("Skip", "Query Builder").
App-scoped agent configuration.
Stored as a JSON object in the
AgentSettingscolumn of theApplicationsentity. CodeGen emits a strongly-typedAgentSettingsObjectaccessor onApplicationEntitythat returnsMJApplicationEntity_IAgentSettings | null.Read by the conversations default-agent resolver (for the app's default/lead agent) and by the realtime co-agent cascade (relevant agents, app-scoped client tools, and realtime persona/disclosure overrides). Every field is optional — an app opts into exactly what it needs.
Disclosure values ('silent' | 'mention' | 'hand-voice') mirror the AgentDisclosurePolicy union declared in @memberjunction/ai-core-plus. Keep the two in lockstep.