Interface: AgentOSConfig
Defined in: packages/agentos/src/api/AgentOS.ts:315
Interface
AgentOSConfig
Description
Defines the comprehensive configuration structure required to initialize and operate
the AgentOS service. This configuration object aggregates settings for all major
sub-components and dependencies of the AgentOS platform.
Properties
authService?
optionalauthService:IAuthService
Defined in: packages/agentos/src/api/AgentOS.ts:422
Optional authentication service implementing IAuthService. Provide via the auth extension or your own adapter.
conversationManagerConfig
conversationManagerConfig:
ConversationManagerConfig
Defined in: packages/agentos/src/api/AgentOS.ts:397
Configuration for the ConversationManager.
defaultPersonaId
defaultPersonaId:
string
Defined in: packages/agentos/src/api/AgentOS.ts:403
The default Persona ID to use if none is specified in an interaction.
extensionManifest?
optionalextensionManifest:ExtensionManifest
Defined in: packages/agentos/src/api/AgentOS.ts:474
Optional extension manifest describing packs to load.
extensionOverrides?
optionalextensionOverrides:ExtensionOverrides
Defined in: packages/agentos/src/api/AgentOS.ts:476
Declarative overrides applied after packs are loaded.
extensionSecrets?
optionalextensionSecrets:Record<string,string>
Defined in: packages/agentos/src/api/AgentOS.ts:428
Optional map of secretId -> value for extension/tool credentials.
gmiManagerConfig
gmiManagerConfig:
GMIManagerConfig
Defined in: packages/agentos/src/api/AgentOS.ts:317
Configuration for the GMIManager.
guardrailService?
optionalguardrailService:IGuardrailService
Defined in: packages/agentos/src/api/AgentOS.ts:426
Optional guardrail service implementation used for policy enforcement.
hitlManager?
optionalhitlManager:IHumanInteractionManager
Defined in: packages/agentos/src/api/AgentOS.ts:393
Optional human-in-the-loop manager for approvals/clarifications.
languageConfig?
optionallanguageConfig:AgentOSLanguageConfig
Defined in: packages/agentos/src/api/AgentOS.ts:509
Optional multilingual configuration enabling detection, negotiation, translation.
longTermMemoryRetriever?
optionallongTermMemoryRetriever:ILongTermMemoryRetriever
Defined in: packages/agentos/src/api/AgentOS.ts:329
Optional retriever for injecting durable long-term memory context into prompts (e.g. user/org/persona memories stored in a RAG/KG).
manageRetrievalAugmentorLifecycle?
optionalmanageRetrievalAugmentorLifecycle:boolean
Defined in: packages/agentos/src/api/AgentOS.ts:350
If true, AgentOS will call retrievalAugmentor.shutdown() during AgentOS.shutdown().
Default: false (caller manages lifecycle).
modelProviderManagerConfig
modelProviderManagerConfig:
AIModelProviderManagerConfig
Defined in: packages/agentos/src/api/AgentOS.ts:401
Configuration for the AIModelProviderManager.
observability?
optionalobservability:AgentOSObservabilityConfig
Defined in: packages/agentos/src/api/AgentOS.ts:545
Optional observability config for tracing, metrics, and log correlation. Default: disabled (opt-in).
orchestratorConfig
orchestratorConfig:
AgentOSOrchestratorConfig
Defined in: packages/agentos/src/api/AgentOS.ts:319
Configuration for the AgentOSOrchestrator.
personaLoader?
optionalpersonaLoader:IPersonaLoader
Defined in: packages/agentos/src/api/AgentOS.ts:511
Optional custom persona loader (useful for browser/local runtimes).
prisma
prisma:
PrismaClient
Defined in: packages/agentos/src/api/AgentOS.ts:420
An instance of the Prisma client for database interactions.
Optional when storageAdapter is provided:
- If
storageAdapteris provided, Prisma is only used for server-side features (auth, subscriptions). - If
storageAdapteris omitted, Prisma is required for all database operations.
Client-side usage:
const storage = await createAgentOSStorage({ platform: 'web' });
await agentos.initialize({
storageAdapter: storage.getAdapter(),
prisma: mockPrisma, // Stub for compatibility (can be minimal mock)
// ...
});
promptEngineConfig
promptEngineConfig:
PromptEngineConfig
Defined in: packages/agentos/src/api/AgentOS.ts:389
Configuration for the prompt engine.
ragConfig?
optionalragConfig:object
Defined in: packages/agentos/src/api/AgentOS.ts:365
Optional configuration for AgentOS-managed RAG subsystem initialization.
When provided and enabled, AgentOS will:
- Initialize an
EmbeddingManagerwithEmbeddingManagerConfig - Initialize a
VectorStoreManagerwithVectorStoreManagerConfigandRagDataSourceConfig - Initialize a
RetrievalAugmentorwithRetrievalAugmentorServiceConfig - Pass the resulting IRetrievalAugmentor into GMIs via the GMIManager
Notes:
- If
retrievalAugmentoris provided, it takes precedence and this config is ignored. - By default, when AgentOS creates the RAG subsystem it also manages lifecycle and will shut it down during AgentOS.shutdown.
bindToStorageAdapter?
optionalbindToStorageAdapter:boolean
When true (default), AgentOS injects its storageAdapter into SQL vector-store providers
that did not specify adapter or storage. This keeps vector persistence colocated with
the host database by default.
dataSourceConfigs
dataSourceConfigs:
RagDataSourceConfig[]
Logical data sources mapped onto vector store providers.
embeddingManagerConfig
embeddingManagerConfig:
EmbeddingManagerConfig
Embedding manager configuration (must include at least one embedding model).
enabled?
optionalenabled:boolean
Enable or disable AgentOS-managed RAG initialization. Default: true.
manageLifecycle?
optionalmanageLifecycle:boolean
If true, AgentOS will shut down the augmentor and any owned vector store providers during AgentOS.shutdown. Default: true.
retrievalAugmentorConfig
retrievalAugmentorConfig:
RetrievalAugmentorServiceConfig
Retrieval augmentor configuration (category behaviors, defaults).
vectorStoreManagerConfig
vectorStoreManagerConfig:
VectorStoreManagerConfig
Vector store manager configuration (providers).
registryConfig?
optionalregistryConfig:MultiRegistryConfig
Defined in: packages/agentos/src/api/AgentOS.ts:503
Optional registry configuration for loading extensions and personas from custom sources. Allows self-hosted registries and custom git repositories.
Example
registryConfig: {
registries: {
'extensions': {
type: 'github',
location: 'your-org/your-extensions',
branch: 'main',
},
'personas': {
type: 'github',
location: 'your-org/your-personas',
branch: 'main',
}
},
defaultRegistries: {
tool: 'extensions',
persona: 'personas',
}
}
retrievalAugmentor?
optionalretrievalAugmentor:IRetrievalAugmentor
Defined in: packages/agentos/src/api/AgentOS.ts:345
Optional retrieval augmentor enabling vector-based RAG and/or GraphRAG. When provided, it is passed into GMIs via the GMIManager.
Notes:
- This is separate from
longTermMemoryRetriever, which injects pre-formatted memory text into prompts. - The augmentor instance is typically shared across GMIs; do not shut it down from individual GMIs.
rollingSummaryMemorySink?
optionalrollingSummaryMemorySink:IRollingSummaryMemorySink
Defined in: packages/agentos/src/api/AgentOS.ts:324
Optional sink for persisting rolling-memory outputs (summary_markdown + memory_json)
into an external long-term store (RAG / knowledge graph / database).
schemaOnDemandTools?
optionalschemaOnDemandTools:object
Defined in: packages/agentos/src/api/AgentOS.ts:440
Optional: enable schema-on-demand meta tools for lazy tool schema loading.
When enabled, AgentOS registers three meta tools:
extensions_listextensions_enable(side effects)extensions_status
These tools allow an agent to load additional extension packs at runtime,
so newly-enabled tool schemas appear in the next listAvailableTools() call.
allowModules?
optionalallowModules:boolean
Allow enabling packs by local module specifier/path (source='module'). Default: false.
allowPackages?
optionalallowPackages:boolean
Allow enabling packs by explicit npm package name (source='package'). Default: true in non-production, false in production.
enabled?
optionalenabled:boolean
officialRegistryOnly?
optionalofficialRegistryOnly:boolean
When true, only allow extension packs present in the official
@framers/agentos-extensions-registry catalog (if installed).
Default: true.
storageAdapter?
optionalstorageAdapter:any
Defined in: packages/agentos/src/api/AgentOS.ts:539
Optional cross-platform storage adapter for client-side persistence. Enables fully offline AgentOS in browsers (IndexedDB), desktop (SQLite), mobile (Capacitor).
Platform Support:
- Web: IndexedDB (recommended) or sql.js
- Electron: better-sqlite3 (native) or sql.js (fallback)
- Capacitor: @capacitor-community/sqlite (native) or IndexedDB
- Node: better-sqlite3 or PostgreSQL
Usage:
import { createAgentOSStorage } from '@framers/sql-storage-adapter/agentos';
const storage = await createAgentOSStorage({ platform: 'auto' });
await agentos.initialize({
storageAdapter: storage.getAdapter(),
// ... other config
});
Graceful Degradation:
- If omitted, AgentOS falls back to Prisma (server-side only).
- If provided, AgentOS uses storageAdapter for conversations, Prisma only for auth/subscriptions.
- Recommended: Always provide storageAdapter for cross-platform compatibility.
streamingManagerConfig
streamingManagerConfig:
StreamingManagerConfig
Defined in: packages/agentos/src/api/AgentOS.ts:399
Configuration for the StreamingManager.
subscriptionService?
optionalsubscriptionService:ISubscriptionService
Defined in: packages/agentos/src/api/AgentOS.ts:424
Optional subscription service implementing ISubscriptionService. Provide via the auth extension or your own adapter.
taskOutcomeTelemetryStore?
optionaltaskOutcomeTelemetryStore:ITaskOutcomeTelemetryStore
Defined in: packages/agentos/src/api/AgentOS.ts:334
Optional persistence store for task outcome KPI windows. When provided, rolling task-outcome telemetry survives orchestrator restarts.
toolOrchestratorConfig
toolOrchestratorConfig:
ToolOrchestratorConfig
Defined in: packages/agentos/src/api/AgentOS.ts:391
Configuration for the tool orchestrator.
toolPermissionManagerConfig
toolPermissionManagerConfig:
ToolPermissionManagerConfig
Defined in: packages/agentos/src/api/AgentOS.ts:395
Configuration for the tool permission manager.
turnPlanning?
optionalturnPlanning:AgentOSTurnPlanningConfig
Defined in: packages/agentos/src/api/AgentOS.ts:463
Optional per-turn planning configuration. Defaults:
defaultToolFailureMode = fail_open- discovery-driven tool selection enabled when discovery is available.
utilityAIService?
optionalutilityAIService:IUtilityAI&IPromptEngineUtilityAI
Defined in: packages/agentos/src/api/AgentOS.ts:472
Optional. An instance of a utility AI service.
This service should conform to IUtilityAI for general utility tasks.
If the prompt engine is used and requires specific utility functions (like advanced
summarization for prompt construction), this service must also fulfill the contract
of IPromptEngineUtilityAI.
It's recommended that the concrete class for this service implements both interfaces if needed.
workflowEngineConfig?
optionalworkflowEngineConfig:WorkflowEngineConfig
Defined in: packages/agentos/src/api/AgentOS.ts:505
Optional workflow engine configuration.
workflowStore?
optionalworkflowStore:IWorkflowStore
Defined in: packages/agentos/src/api/AgentOS.ts:507
Optional workflow store implementation. Defaults to the in-memory store if omitted.