import type { McpServerConfig, RunEventPublisher } from "../harness/types.js"; import type { EventScheduleSink } from "../events/index.js"; import type { CreateRunnerOptions, PiAgentWrapper, PlatformTrustModel } from "../types.js"; import type { MessagingBot, ConversationContext, ConversationEvent, GlobalRunnerCacheControl, MessagingEventHandler, OfficeAddress, RunnerCacheControl } from "../types.js"; import type { AdminTokenStoreLike, CommandHandler, CommandServices, LinkTokenStoreLike } from "../adapters/commands/types.js"; import type { SessionViewTokenStoreLike } from "../types.js"; import type { MikanModels } from "../harness/models.js"; import type { RunMemoryCapture } from "../memory-capture/types.js"; import type { PlatformToolPackFactory } from "../harness/tools/types.js"; import type { VaultManager } from "../vault/types.js"; export type RunnerFactory = (options: CreateRunnerOptions) => Promise; export interface SessionLifecycleOptions { maxSessions?: number; idleTimeoutMs?: number; now?: () => number; } export interface ConversationRuntimeState { address: OfficeAddress; sessionKey: string; running: boolean; runSettlement?: Promise; runner: PiAgentWrapper; stopRequested: boolean; shutdownAborted?: boolean; detachOnShutdown?: boolean; stopNoticeOwned?: boolean; lastAccessedAt: number; startedAt: number; lastActivityAt?: number; } export interface RunSessionOptions { event: ConversationEvent; bot: MessagingBot; context: ConversationContext; } export interface SessionStateOptions { address: OfficeAddress; sessionKey: string; trustModel: PlatformTrustModel; platformWorkspaceId?: string; } export interface ConversationRuntimeOptions extends Omit { vaultManager?: VaultManager; linkTokenStore?: LinkTokenStoreLike; sessionViewTokenStore?: SessionViewTokenStoreLike; adminTokenStore?: AdminTokenStoreLike; commandHandlers?: readonly CommandHandler[]; models?: MikanModels; openConnector?: McpServerConfig; eventScheduler?: () => EventScheduleSink | undefined; platformToolPackFactories?: readonly PlatformToolPackFactory[]; memoryCapture?: (models: MikanModels) => RunMemoryCapture; runnerFactory?: RunnerFactory; runEvents?: RunEventPublisher; } export interface ConversationRuntime extends MessagingEventHandler, RunnerCacheControl, GlobalRunnerCacheControl { runSession(options: RunSessionOptions): Promise; shutdown(timeoutMs?: number): Promise; } //# sourceMappingURL=types.d.ts.map