Interface AgentOSConfig

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

gmiManagerConfig: GMIManagerConfig

Configuration for the GMIManager.

orchestratorConfig: AgentOSOrchestratorConfig

Configuration for the AgentOSOrchestrator.

promptEngineConfig: PromptEngineConfig

Configuration for the PromptEngine.

toolOrchestratorConfig: ToolOrchestratorConfig

Configuration for the ToolOrchestrator.

toolPermissionManagerConfig: ToolPermissionManagerConfig

Configuration for the ToolPermissionManager.

conversationManagerConfig: ConversationManagerConfig

Configuration for the ConversationManager.

streamingManagerConfig: StreamingManagerConfig

Configuration for the StreamingManager.

modelProviderManagerConfig: AIModelProviderManagerConfig

Configuration for the AIModelProviderManager.

defaultPersonaId: string

The default Persona ID to use if none is specified in an interaction.

prisma: PrismaClient

An instance of the Prisma client for database interactions.

Optional when storageAdapter is provided:

  • If storageAdapter is provided, Prisma is only used for server-side features (auth, subscriptions).
  • If storageAdapter is 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)
// ...
});
authService: IAuthService

An instance of the authentication service, conforming to IAuthService.

subscriptionService: ISubscriptionService

An instance of the subscription service, conforming to ISubscriptionService.

guardrailService?: IGuardrailService

Optional guardrail service implementation used for policy enforcement.

extensionSecrets?: Record<string, string>

Optional map of secretId -> value for extension/tool credentials.

utilityAIService?: IUtilityAI & IPromptEngineUtilityAI

Optional. An instance of a utility AI service. This service should conform to IUtilityAI for general utility tasks. If the PromptEngine 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.

extensionManifest?: ExtensionManifest

Optional extension manifest describing packs to load.

extensionOverrides?: ExtensionOverrides

Declarative overrides applied after packs are loaded.

registryConfig?: MultiRegistryConfig

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',
}
}
workflowEngineConfig?: WorkflowEngineConfig

Optional workflow engine configuration.

workflowStore?: IWorkflowStore

Optional workflow store implementation. Defaults to the in-memory store if omitted.

languageConfig?: AgentOSLanguageConfig

Optional multilingual configuration enabling detection, negotiation, translation.

personaLoader?: IPersonaLoader

Optional custom persona loader (useful for browser/local runtimes).

storageAdapter?: StorageAdapter

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.