Stable unique identifier for the persona (used for activation & persistence).
Human-readable name surfaced in UI selection lists.
Optional labelOptional short label (e.g., abbreviation) for compact UI contexts.
Rich description of goals, domain focus, and behavioral nuance.
Semantic version of persona definition; bump on behavioral / config changes (e.g., '1.2.0').
Base system prompt (or structured template) establishing foundational directives. Supports:
Optional variables?: string[]Optional defaultDefault model id to target for this persona's typical tasks (can be routed or overridden).
Optional defaultPreferred provider if same model family exists across vendors (helps routing heuristics).
Optional defaultBaseline completion option overrides (temperature, maxTokens, presence penalties, etc.).
Optional modelOrdered preferences describing desired model traits (cost/perf/latency) for dynamic selection.
Optional costHigh-level cost strategy guiding router decisions.
Optional promptPartial overrides merged onto global PromptEngine configuration for persona specialization.
Optional toolReferenced tool identifiers persona is permitted to invoke.
Optional allowedAbstract capability flags enabling conditional UI / workflow features (e.g., 'web_search').
Optional embeddedInline tool instances embedded directly (rare; typically tools live in registry).
Optional allowedWhitelisted input modalities persona accepts (driver for validation in interaction layer).
Optional allowedOutput modalities persona can produce (text, TTS synthesized, image generation results).
Optional voiceVoice synthesis configuration (preferred voice id, style, speed).
Optional avatarVisual avatar / representation metadata (image URL, animation style).
Optional personalityArbitrary personality trait map (e.g., { humor_level: 0.7, pedagogical_style: 'socratic' }).
Optional moodRules controlling adaptive mood shifts & modulation of tone.
Optional defaultDefault output language (BCP‑47) used when user preference unspecified.
Optional uiHigh-level interaction posture for UI behaviors (suggestive hints vs directive instructions).
Optional memoryMemory subsystem tuning (retention horizons, summarization cadence, pinning rules).
Optional cognitiveCognitive memory system per-persona overrides (encoding, decay, working memory capacity, etc.).
Optional conversationConversation context override strategy (message importance heuristics, summarization triggers).
Optional metaSystem or self-reflective prompts guiding meta-cognition, self-correction, or planning loops.
Optional sentimentSentiment tracking configuration. Controls whether the GMI analyzes user emotional state and triggers event-based metaprompts (frustration recovery, confusion clarification, etc.). Opt-in: disabled by default. Turn_interval metaprompts (like self-reflection) always work regardless.
Optional contextualDynamic contextual prompt elements evaluated per turn for fine-grained adaptation.
Optional isAllows persona to perform privileged creation/update of other personas.
Optional isIf true persona is globally discoverable subject to subscription tier gating.
Optional activationNatural language keywords enabling auto-activation in multi-persona environments.
Optional strengthsStrength tag list aiding search & recommendation (e.g., ['typescript', 'design_reviews']).
Optional minMinimum subscription tier required to access persona (e.g., 'pro', 'enterprise').
Optional initialSeed working memory imprints establishing initial context (preferences, calibration data).
Optional description?: stringOptional customArbitrary extension fields and structured defaults for user/task contexts.
Optional defaultWorking memory default config attached at GMI instantiation time.
Optional initialInitial inferred or declared user context values.
Optional initialInitial task framing values (e.g., domain, complexity baseline).
Optional requiredNamed secrets (API keys, credentials) this persona depends on.
The primary interface defining a complete Persona for a Generalized Mind Instance (GMI).
Interface
IPersonaDefinition