import { AdapterRegistry } from "../adapters/registry.js"; import { GroupXBroker } from "../broker/broker.js"; import type { BrokerErrorContext } from "../broker/types.js"; import { type GroupXConfig } from "../config.js"; import { LOCAL_OPERATOR_BINDING_ID, LOCAL_OPERATOR_INSTANCE_ID } from "../core/assistant.js"; import { type GroupXRuntimeIdentity } from "../core/runtime-instance.js"; import { RoomContextEngine, type RoomContextSummarizer } from "../memory/context-engine.js"; import { AgentDatedMemoryEngine, type AgentDatedMemorySummarizer } from "../memory/dated-memory-engine.js"; import { McpBindingRegistry } from "../mcp/binding-registry.js"; import type { GroupXStore } from "../storage/types.js"; import { type GroupXHttpServerAddress, type SetupApi } from "../web/server/index.js"; import { SseRuntime } from "../web/sse/index.js"; import { SequencedEventPublisher } from "./event-stream.js"; import { RuntimeReadiness } from "./readiness.js"; import { AgentSessionManager, type SessionResumePlan } from "./session-manager.js"; export interface GroupXRuntimeOptions { store?: GroupXStore; adapters?: AdapterRegistry; /** Defaults to true only when the runtime created the store. */ closeStore?: boolean; /** Zero is accepted for integration tests; persisted config remains 1..65535. */ port?: number; staticRoot?: string; roomId?: string; setupApi?: SetupApi; onError?: (error: unknown, context: BrokerErrorContext) => void; /** Test/custom injection. Runtime defaults to the first healthy configured Agent. */ contextSummarizer?: RoomContextSummarizer; /** Test/custom injection. Runtime otherwise uses the owning Agent only. */ datedMemorySummarizer?: AgentDatedMemorySummarizer; /** CLI-supplied identity; embedded/test runtimes derive one from resolved config. */ runtimeIdentity?: GroupXRuntimeIdentity; } export interface GroupXRuntimeStartResult { address: GroupXHttpServerAddress; recovery: SessionResumePlan; } export declare const LOCAL_REST_WEB_INSTANCE_ID: "instance:web"; export declare const LOCAL_REST_WEB_BINDING_ID: "binding:web"; export { LOCAL_OPERATOR_INSTANCE_ID, LOCAL_OPERATOR_BINDING_ID }; /** Owns the complete in-process composition and its reverse-order shutdown. */ export declare class GroupXRuntime { #private; readonly config: GroupXConfig; readonly store: GroupXStore; readonly adapters: AdapterRegistry; readonly bindings: McpBindingRegistry; readonly readiness: RuntimeReadiness; readonly sse: SseRuntime; readonly publisher: SequencedEventPublisher; readonly sessions: AgentSessionManager; readonly datedMemoryEngine: AgentDatedMemoryEngine; readonly contextEngine: RoomContextEngine; readonly roomId: string; readonly runtimeIdentity: GroupXRuntimeIdentity; constructor(config: GroupXConfig, options?: GroupXRuntimeOptions); get address(): GroupXHttpServerAddress | undefined; get broker(): GroupXBroker; get webBindingId(): string | undefined; get mcpMounted(): boolean; start(): Promise; close(): Promise; } export declare function startGroupXRuntime(config: GroupXConfig, options?: GroupXRuntimeOptions): Promise; //# sourceMappingURL=runtime.d.ts.map