Skip to main content

Interface: IPersonaDefinition

Defined in: packages/agentos/src/cognition/substrate/personas/IPersonaDefinition.ts:394

The primary interface defining a complete Persona for a Generalized Mind Instance (GMI).

Interface​

IPersonaDefinition

Properties​

activationKeywords?​

optional activationKeywords: string[]

Defined in: packages/agentos/src/cognition/substrate/personas/IPersonaDefinition.ts:486

Natural language keywords enabling auto-activation in multi-persona environments.


allowedCapabilities?​

optional allowedCapabilities: string[]

Defined in: packages/agentos/src/cognition/substrate/personas/IPersonaDefinition.ts:439

Abstract capability flags enabling conditional UI / workflow features (e.g., 'web_search').


allowedInputModalities?​

optional allowedInputModalities: ("text" | "audio_transcription" | "vision_image_url" | "vision_image_base64")[]

Defined in: packages/agentos/src/cognition/substrate/personas/IPersonaDefinition.ts:444

Whitelisted input modalities persona accepts (driver for validation in interaction layer).


allowedOutputModalities?​

optional allowedOutputModalities: ("text" | "audio_tts" | "image_generation_tool_result")[]

Defined in: packages/agentos/src/cognition/substrate/personas/IPersonaDefinition.ts:446

Output modalities persona can produce (text, TTS synthesized, image generation results).


avatarConfig?​

optional avatarConfig: PersonaAvatarConfig

Defined in: packages/agentos/src/cognition/substrate/personas/IPersonaDefinition.ts:450

Visual avatar / representation metadata (image URL, animation style).


baseSystemPrompt​

baseSystemPrompt: string | { template: string; variables?: string[]; } | object[]

Defined in: packages/agentos/src/cognition/substrate/personas/IPersonaDefinition.ts:413

Base system prompt (or structured template) establishing foundational directives. Supports:

  • Raw string
  • Templated object { template, variables[] }
  • Ordered array of prompt fragments with priority for deterministic merging.

cognitiveMemoryConfig?​

optional cognitiveMemoryConfig: CognitiveMemoryPersonaConfig

Defined in: packages/agentos/src/cognition/substrate/personas/IPersonaDefinition.ts:464

Cognitive memory system per-persona overrides (encoding, decay, working memory capacity, etc.).


contextualPromptElements?​

optional contextualPromptElements: ContextualPromptElement[]

Defined in: packages/agentos/src/cognition/substrate/personas/IPersonaDefinition.ts:479

Dynamic contextual prompt elements evaluated per turn for fine-grained adaptation.


conversationContextConfig?​

optional conversationContextConfig: PersonaConversationContextConfig

Defined in: packages/agentos/src/cognition/substrate/personas/IPersonaDefinition.ts:466

Conversation context override strategy (message importance heuristics, summarization triggers).


costSavingStrategy?​

optional costSavingStrategy: "always_cheapest" | "balance_quality_cost" | "prioritize_quality" | "user_preference"

Defined in: packages/agentos/src/cognition/substrate/personas/IPersonaDefinition.ts:431

High-level cost strategy guiding router decisions.


customFields?​

optional customFields: Record<string, any> & object

Defined in: packages/agentos/src/cognition/substrate/personas/IPersonaDefinition.ts:495

Arbitrary extension fields and structured defaults for user/task contexts.

Type Declaration​

defaultWorkingMemoryConfig?​

optional defaultWorkingMemoryConfig: any

Working memory default config attached at GMI instantiation time.

initialTaskContext?​

optional initialTaskContext: Partial<PersonaTaskContextDefaults>

Initial task framing values (e.g., domain, complexity baseline).

initialUserContext?​

optional initialUserContext: Partial<PersonaUserContextDefaults>

Initial inferred or declared user context values.


defaultLanguage?​

optional defaultLanguage: string

Defined in: packages/agentos/src/cognition/substrate/personas/IPersonaDefinition.ts:457

Default output language (BCP‑47) used when user preference unspecified.


defaultModelCompletionOptions?​

optional defaultModelCompletionOptions: Partial<ModelCompletionOptions>

Defined in: packages/agentos/src/cognition/substrate/personas/IPersonaDefinition.ts:427

Baseline completion option overrides (temperature, maxTokens, presence penalties, etc.).


defaultModelId?​

optional defaultModelId: string

Defined in: packages/agentos/src/cognition/substrate/personas/IPersonaDefinition.ts:423

Default model id to target for this persona's typical tasks (can be routed or overridden).


defaultProviderId?​

optional defaultProviderId: string

Defined in: packages/agentos/src/cognition/substrate/personas/IPersonaDefinition.ts:425

Preferred provider if same model family exists across vendors (helps routing heuristics).


description​

description: string

Defined in: packages/agentos/src/cognition/substrate/personas/IPersonaDefinition.ts:402

Rich description of goals, domain focus, and behavioral nuance.


embeddedTools?​

optional embeddedTools: ITool<any, any>[]

Defined in: packages/agentos/src/cognition/substrate/personas/IPersonaDefinition.ts:441

Inline tool instances embedded directly (rare; typically tools live in registry).


hardLimits?​

optional hardLimits: string[]

Defined in: packages/agentos/src/cognition/substrate/personas/IPersonaDefinition.ts:420

The lines the persona's body cannot override: rendered as the last block of every system prompt, under a fixed heading, after every other instruction the runtime adds. A product's safety rules go here in words; its guardrails hold the same rules in code.


id​

id: string

Defined in: packages/agentos/src/cognition/substrate/personas/IPersonaDefinition.ts:396

Stable unique identifier for the persona (used for activation & persistence).


initialMemoryImprints?​

optional initialMemoryImprints: object[]

Defined in: packages/agentos/src/cognition/substrate/personas/IPersonaDefinition.ts:493

Seed working memory imprints establishing initial context (preferences, calibration data).

description?​

optional description: string

key​

key: string

value​

value: any


isCreatorPersona?​

optional isCreatorPersona: boolean

Defined in: packages/agentos/src/cognition/substrate/personas/IPersonaDefinition.ts:482

Allows persona to perform privileged creation/update of other personas.


isPublic?​

optional isPublic: boolean

Defined in: packages/agentos/src/cognition/substrate/personas/IPersonaDefinition.ts:484

If true persona is globally discoverable subject to subscription tier gating.


label?​

optional label: string

Defined in: packages/agentos/src/cognition/substrate/personas/IPersonaDefinition.ts:400

Optional short label (e.g., abbreviation) for compact UI contexts.


memoryConfig?​

optional memoryConfig: PersonaMemoryConfig

Defined in: packages/agentos/src/cognition/substrate/personas/IPersonaDefinition.ts:462

Memory subsystem tuning (retention horizons, summarization cadence, pinning rules).


metaPrompts?​

optional metaPrompts: MetaPromptDefinition[]

Defined in: packages/agentos/src/cognition/substrate/personas/IPersonaDefinition.ts:471

System or self-reflective prompts guiding meta-cognition, self-correction, or planning loops.


minSubscriptionTier?​

optional minSubscriptionTier: string

Defined in: packages/agentos/src/cognition/substrate/personas/IPersonaDefinition.ts:490

Minimum subscription tier required to access persona (e.g., 'pro', 'enterprise').


modelTargetPreferences?​

optional modelTargetPreferences: ModelTargetPreference[]

Defined in: packages/agentos/src/cognition/substrate/personas/IPersonaDefinition.ts:429

Ordered preferences describing desired model traits (cost/perf/latency) for dynamic selection.


moodAdaptation?​

optional moodAdaptation: PersonaMoodAdaptationConfig

Defined in: packages/agentos/src/cognition/substrate/personas/IPersonaDefinition.ts:455

Rules controlling adaptive mood shifts & modulation of tone.


name​

name: string

Defined in: packages/agentos/src/cognition/substrate/personas/IPersonaDefinition.ts:398

Human-readable name surfaced in UI selection lists.


personalityTraits?​

optional personalityTraits: Record<string, any>

Defined in: packages/agentos/src/cognition/substrate/personas/IPersonaDefinition.ts:453

Arbitrary personality trait map (e.g., { humor_level: 0.7, pedagogical_style: 'socratic' }).


promptEngineConfigOverrides?​

optional promptEngineConfigOverrides: Partial<PromptEngineConfig>

Defined in: packages/agentos/src/cognition/substrate/personas/IPersonaDefinition.ts:434

Partial overrides merged onto global PromptEngine configuration for persona specialization.


reasoningTraceConfig?​

optional reasoningTraceConfig: PersonaReasoningTraceConfig

Defined in: packages/agentos/src/cognition/substrate/personas/IPersonaDefinition.ts:468

Reasoning-trace limits for GMIs built from this persona; see PersonaReasoningTraceConfig.


requiredSecrets?​

optional requiredSecrets: string[]

Defined in: packages/agentos/src/cognition/substrate/personas/IPersonaDefinition.ts:504

Named secrets (API keys, credentials) this persona depends on.


sentimentTracking?​

optional sentimentTracking: SentimentTrackingConfig

Defined in: packages/agentos/src/cognition/substrate/personas/IPersonaDefinition.ts:477

Sentiment 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.


strengths?​

optional strengths: string[]

Defined in: packages/agentos/src/cognition/substrate/personas/IPersonaDefinition.ts:488

Strength tag list aiding search & recommendation (e.g., ['typescript', 'design_reviews']).


toolIds?​

optional toolIds: string[]

Defined in: packages/agentos/src/cognition/substrate/personas/IPersonaDefinition.ts:437

Referenced tool identifiers persona is permitted to invoke.


uiInteractionStyle?​

optional uiInteractionStyle: "suggestive" | "directive" | "collaborative" | "silent"

Defined in: packages/agentos/src/cognition/substrate/personas/IPersonaDefinition.ts:459

High-level interaction posture for UI behaviors (suggestive hints vs directive instructions).


version​

version: string

Defined in: packages/agentos/src/cognition/substrate/personas/IPersonaDefinition.ts:404

Semantic version of persona definition; bump on behavioral / config changes (e.g., '1.2.0').


voiceConfig?​

optional voiceConfig: PersonaVoiceConfig

Defined in: packages/agentos/src/cognition/substrate/personas/IPersonaDefinition.ts:448

Voice synthesis configuration (preferred voice id, style, speed).