Interface: AgentOSConfig
Defined in: packages/agentos/src/api/AgentOS.ts:500
Properties
agencies?
optionalagencies:RuntimeAgencyLaunchOptions
Defined in: packages/agentos/src/api/AgentOS.ts:840
Teams a persona's GMI may launch from a turn (launch_agency). With launch: true the runtime registers the
tool, which requires the agency:launch capability, so only a persona whose allowedCapabilities names it lists
and calls it (with toolPermissionManagerConfig.strictCapabilityChecking, on by default). Each call builds a
temporary agency() team whose seats are GMIs of this runtime (a registered persona by personaId, or one made
from the caller's for the seat's instructions), runs the goal once and returns one tool result, bounded by depth,
seats, launches in flight, one wall deadline and the caller's tools; the output guardrails that judge the caller's
tool calls judge the seats' calls too. The bounds are checked at initialization
whenever this is set; with launch: true, a config tool named launch_agency fails initialization too.
Default
undefined (no tool)
authService?
optionalauthService:IAuthService
Defined in: packages/agentos/src/api/AgentOS.ts:615
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:590
Configuration for the ConversationManager.
defaultPersonaId
defaultPersonaId:
string
Defined in: packages/agentos/src/api/AgentOS.ts:596
The default Persona ID to use if none is specified in an interaction.
emergent?
optionalemergent:boolean
Defined in: packages/agentos/src/api/AgentOS.ts:799
Enable emergent capability creation. When true, the agent gains access
to the forge_tool meta-tool and can create new tools at runtime.
Default
false
emergentConfig?
optionalemergentConfig:Partial<EmergentConfig>
Defined in: packages/agentos/src/api/AgentOS.ts:805
Configuration for the emergent capability engine.
Only applies when emergent: true.
extensionManifest?
optionalextensionManifest:ExtensionManifest
Defined in: packages/agentos/src/api/AgentOS.ts:721
Optional extension manifest describing packs to load.
extensionOverrides?
optionalextensionOverrides:ExtensionOverrides
Defined in: packages/agentos/src/api/AgentOS.ts:723
Declarative overrides applied after packs are loaded.
extensionSecrets?
optionalextensionSecrets:Record<string,string>
Defined in: packages/agentos/src/api/AgentOS.ts:633
Optional map of secretId -> value for extension/tool credentials.
externalTools?
optionalexternalTools:ExternalToolRegistry
Defined in: packages/agentos/src/api/AgentOS.ts:675
Optional stable registry of host-managed external tools.
This is the runtime-level default for helper APIs such as
processRequestWithRegisteredTools(...) and
resumeExternalToolRequestWithRegisteredTools(...).
Per-call externalTools passed into those helpers override entries from
this configured registry by tool name.
gmiManagerConfig
gmiManagerConfig:
GMIManagerConfig
Defined in: packages/agentos/src/api/AgentOS.ts:502
Configuration for the GMIManager.
guardrailOutputMode?
optionalguardrailOutputMode:"stream"|"hold"
Defined in: packages/agentos/src/api/AgentOS.ts:631
hold: no TEXT_DELTA reaches the caller before the output guards have judged the whole reply. Default stream;
forced to hold when a required guard covers the output stage.
guardrailService?
optionalguardrailService:IGuardrailService
Defined in: packages/agentos/src/api/AgentOS.ts:619
Optional guardrail service implementation used for policy enforcement.
hitlManager?
optionalhitlManager:IHumanInteractionManager
Defined in: packages/agentos/src/api/AgentOS.ts:586
Optional human-in-the-loop manager for approvals/clarifications.
languageConfig?
optionallanguageConfig:AgentOSLanguageConfig
Defined in: packages/agentos/src/api/AgentOS.ts:756
Optional multilingual configuration enabling detection, negotiation, translation.
learning?
optionallearning:boolean|LearningConfig|null
Defined in: packages/agentos/src/api/AgentOS.ts:827
The learning layer (docs/GMI.md, "Learning"). Unset, false or null: off, and the runtime's GMIs run as they
did before the layer existed. true or a LearningConfig: every GMI sends its persona's personality section
as a system prompt of its own on every turn, and each session is bound to a learner: its persona with the user
and the resolved organization of its first turn. namespace is refused here, because the runtime takes the
organization from each turn. The layer the runtime builds keeps its learning store on storageAdapter (SQL when the
adapter has transactions; else in the process), reaches the memory tools' facade and the standalone memory's (its
retriever's and its sink's) for forgetUser and revert, after any learning.memoryTools the host sets, and the
memory tools pack leaves memory_reflect out. A host that built a layer itself passes it in
gmiManagerConfig.learningLayer instead, with its own store and facades: a layer passed there turns learning on
whatever this option says, and true or a config beside one is refused. AgentOS.getLearningLayer returns
the layer.
Default
false
longTermMemoryRetriever?
optionallongTermMemoryRetriever:ILongTermMemoryRetriever
Defined in: packages/agentos/src/api/AgentOS.ts:514
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:543
If true, AgentOS will call retrievalAugmentor.shutdown() during AgentOS.shutdown().
Default: false (caller manages lifecycle).
memoryTools?
optionalmemoryTools:AgentOSMemoryToolsConfig
Defined in: packages/agentos/src/api/AgentOS.ts:641
Optional standalone-memory tool registration.
When provided, AgentOS will load the standalone memory editor tools as an
extension pack during initialization, making them immediately available to
the shared ToolExecutor/ToolOrchestrator.
modelProviderManagerConfig
modelProviderManagerConfig:
AIModelProviderManagerConfig
Defined in: packages/agentos/src/api/AgentOS.ts:594
Configuration for the AIModelProviderManager.
observability?
optionalobservability:AgentOSObservabilityConfig
Defined in: packages/agentos/src/api/AgentOS.ts:811
Optional observability config for tracing, metrics, and log correlation. Default: disabled (opt-in).
orchestratorConfig
orchestratorConfig:
AgentOSOrchestratorConfig
Defined in: packages/agentos/src/api/AgentOS.ts:504
Configuration for the AgentOSOrchestrator.
personaLoader?
optionalpersonaLoader:IPersonaLoader
Defined in: packages/agentos/src/api/AgentOS.ts:758
Optional custom persona loader (useful for browser/local runtimes).
personas?
optionalpersonas:IPersonaDefinition[]
Defined in: packages/agentos/src/api/AgentOS.ts:764
Persona definitions given inline, as parsed JSON objects or code-built objects. They are
served by an in-memory loader and validated like file personas. Exclusive with
personaLoader; when set, the file-system persona directory is not read.
prisma
prisma:
PrismaClient
Defined in: packages/agentos/src/api/AgentOS.ts:613
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:582
Configuration for the prompt engine.
ragConfig?
optionalragConfig:object
Defined in: packages/agentos/src/api/AgentOS.ts:558
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:750
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',
}
}
requiredGuardrails?
optionalrequiredGuardrails:RequiredGuardrailSpec[]
Defined in: packages/agentos/src/api/AgentOS.ts:626
Guards the deployment cannot run without, by id and stage. initialize() refuses to finish when one is missing
or does not implement a named stage; processRequest() refuses a request (SYS_GUARDRAIL_REQUIRED_MISSING) when
one has gone missing since. Each runs fail-closed with its deadline, and a guard required on output puts the
output in hold mode.
retrievalAugmentor?
optionalretrievalAugmentor:IRetrievalAugmentor
Defined in: packages/agentos/src/api/AgentOS.ts:538
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:509
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:687
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.
spendMeter?
optionalspendMeter:AgentOSSpendMeterConfig
Defined in: packages/agentos/src/api/AgentOS.ts:525
A persisted per-account allowance. With one set, every processRequest needs an operationId and reserves its
units before any provider is called: a refusal or a meter that cannot answer ends the request with an error chunk
and no model call. The turn settles the reservation when it ends; a reply an output guardrail blocks is refunded.
standaloneMemory?
optionalstandaloneMemory:AgentOSStandaloneMemoryConfig
Defined in: packages/agentos/src/api/AgentOS.ts:651
Optional unified standalone-memory bridge.
This derives one or more AgentOS integrations from a single standalone
Memory instance:
- memory tools
- long-term memory retriever
- rolling-summary sink
storageAdapter?
optionalstorageAdapter:StorageAdapter
Defined in: packages/agentos/src/api/AgentOS.ts:792
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:592
Configuration for the internal streaming manager.
structuredSchemas?
optionalstructuredSchemas:IStructuredSchemaRegistry
Defined in: packages/agentos/src/api/AgentOS.ts:527
The schemas a request's structuredReply.schemaRef is looked up in. A Map<string, ZodType | JsonSchemaObject> is one.
subscriptionService?
optionalsubscriptionService:ISubscriptionService
Defined in: packages/agentos/src/api/AgentOS.ts:617
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:519
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:584
Configuration for the tool orchestrator.
toolPermissionManagerConfig
toolPermissionManagerConfig:
ToolPermissionManagerConfig
Defined in: packages/agentos/src/api/AgentOS.ts:588
Configuration for the tool permission manager.
tools?
optionaltools:AdaptableToolInput
Defined in: packages/agentos/src/api/AgentOS.ts:664
Optional runtime-level registered tools.
These tools are normalized during initialization and registered into the
shared ToolOrchestrator, making them directly available to processRequest()
and other full-runtime flows without helper wrappers.
Accepts:
- a named high-level tool map
- an
ExternalToolRegistry(Record,Map, or iterable) - a prompt-only
ToolDefinitionForLLM[]
turnPlanning?
optionalturnPlanning:AgentOSTurnPlanningConfig
Defined in: packages/agentos/src/api/AgentOS.ts:710
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:719
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:752
Optional workflow engine configuration.
workflowStore?
optionalworkflowStore:IWorkflowStore
Defined in: packages/agentos/src/api/AgentOS.ts:754
Optional workflow store implementation. Defaults to the in-memory store if omitted.