/** * Runtime store, Zustand vanilla store for the GoodVibes platform runtime. * * Uses `createStore` from `zustand/vanilla` (NOT the React `create` hook) * because this runtime uses Zustand directly with no React renderer. */ import type { StoreApi } from 'zustand'; import type { TurnEvent } from '../../../events/turn.js'; import type { ToolEvent } from '../../../events/tools.js'; import type { PermissionEvent } from '../../../events/permissions.js'; import type { TaskEvent } from '../../../events/tasks.js'; import type { AgentEvent } from '../../../events/agents.js'; import type { OrchestrationEvent } from '../../../events/orchestration.js'; import type { CommunicationEvent } from '../../../events/communication.js'; import type { PluginEvent } from '../../../events/plugins.js'; import type { McpEvent } from '../../../events/mcp.js'; import type { TransportEvent } from '../../../events/transport.js'; import type { CompactionEvent } from '../../../events/compaction.js'; import type { SessionDomainState, TaskLifecycleState, RuntimeTask, AgentLifecycleState, RuntimeAgent, IntegrationRecord, ControlPlaneDomainState, ControlPlaneClientRecord, WatcherRecord, SurfaceRecord } from './domains/index.js'; import type { AutomationJob } from '../../automation/jobs.js'; import type { AutomationRun } from '../../automation/runs.js'; import type { AutomationSourceRecord } from '../../automation/sources.js'; import type { AutomationRouteBinding } from '../../automation/routes.js'; import type { AutomationSurfaceKind } from '../../automation/types.js'; import type { AutomationDeliveryAttempt } from '../../automation/delivery.js'; import type { RuntimeState } from './state.js'; export type RuntimeStore = StoreApi; export declare function createRuntimeStore(): RuntimeStore; export interface DomainDispatch { dispatchTurnEvent(event: TurnEvent): void; dispatchToolEvent(event: ToolEvent): void; dispatchPermissionEvent(event: PermissionEvent): void; dispatchTaskEvent(event: TaskEvent): void; dispatchAgentEvent(event: AgentEvent): void; dispatchOrchestrationEvent(event: OrchestrationEvent): void; dispatchCommunicationEvent(event: CommunicationEvent): void; dispatchPluginEvent(event: PluginEvent): void; dispatchMcpEvent(event: McpEvent): void; dispatchTransportEvent(event: TransportEvent): void; dispatchCompactionEvent(event: CompactionEvent): void; syncSessionState(patch: Partial, source?: string): void; syncRuntimeTask(task: RuntimeTask, source?: string): void; transitionRuntimeTask(taskId: string, status: TaskLifecycleState, patch?: Partial, source?: string): void; transitionRuntimeAgent(agentId: string, status: AgentLifecycleState, patch?: Partial, source?: string): void; syncIntegration(record: IntegrationRecord, source?: string): void; syncAutomationSource(record: AutomationSourceRecord, source?: string): void; syncAutomationJob(record: AutomationJob, source?: string): void; syncAutomationRun(record: AutomationRun, source?: string): void; syncRouteBinding(record: AutomationRouteBinding, source?: string): void; recordRouteBindingFailure(surfaceKind: AutomationSurfaceKind, externalId: string, source?: string): void; syncControlPlaneClient(record: ControlPlaneClientRecord, source?: string): void; syncControlPlaneState(patch: Partial, source?: string): void; syncDeliveryAttempt(record: AutomationDeliveryAttempt, source?: string): void; syncSurface(record: SurfaceRecord, source?: string): void; syncWatcher(record: WatcherRecord, source?: string): void; } export declare function createDomainDispatch(store: RuntimeStore): DomainDispatch; export type { RuntimeState } from './state.js'; export { createInitialRuntimeState } from './state.js'; export * from './selectors/index.js'; export * from './domains/index.js'; //# sourceMappingURL=index.d.ts.map