/** * [ref] A10:composition root 分段 —— workflow 编排面(run store / notify 门 / completion inbox / * fleet 总线 / 可 steer 句柄注册表)。 * * 纯搬运:函数体逐字来自 `main.ts`(原 1315-1441 行),缩进不变;新增的只有 import 与包壳。 * * ⚠️ **位置即契约**: * 1. `fleetBus` 必须**先于** `workflowRunStore` 构造 —— `JournalingWorkflowRunStore` 要把 workflow 行 * 发布到它上面(原文逐字注释即此)。 * 2. `baseWorkflowRunStore` → `workflowNotifyJournal` → `workflowCompletionInbox` → `workflowNotifyGate` * → `workflowRunStore`(包装体)的顺序是数据依赖链,不可重排。 * 3. `getRunStore()` 是晚绑取值(runStore 在本段之后构造),原文靠同作用域前向引用。 */ import { type WorkflowRun, type WorkflowRunStore } from "@sema-agent/core"; import type { ServiceConfig } from "../config.js"; import { FleetEventBus } from "../fleet/fleet-bus.js"; import { type WorkflowAgentSessionIndex } from "../orchestration/workflow-agent-session-index.js"; import type { Logger } from "../observability/logger.js"; import type { Metrics } from "../observability/metrics.js"; import { type WorkflowCompletionInbox } from "../orchestration/workflow-completion-inbox.js"; import { JournalingWorkflowRunStore, WorkflowNotifyGate, type WorkflowCompletionPayload } from "../orchestration/workflow-notify-journal.js"; import { SubagentSteerRegistry } from "../orchestration/subagent-steer.js"; import { WorkflowAgentRegistry } from "../orchestration/workflow-agent-steer.js"; import type { StoreBackend } from "../plugins/store-backend.js"; export interface WorkflowOrchestrationCtx { config: ServiceConfig; logger: Logger; metrics: Metrics; localRoot: string; backend: StoreBackend | undefined; /** 晚绑(runStore 在本段之后构造)——见文件头「位置即契约」③。 */ getRunStore: () => ReturnType | undefined; } export declare function createWorkflowOrchestration(ctx: WorkflowOrchestrationCtx): { sqlWorkflowRunStore: WorkflowRunStore | undefined; workflowNotifyJournal: import("../orchestration/workflow-notify-journal.js").WorkflowNotifyJournalStore | undefined; workflowCompletionInbox: WorkflowCompletionInbox | undefined; deliverWorkflowCompletion: (p: WorkflowCompletionPayload) => Promise; workflowNotifyGate: WorkflowNotifyGate | undefined; fleetBus: FleetEventBus; workflowRunStore: JournalingWorkflowRunStore | undefined; workflowJournalStore: import("../plugins/store-backend.js").ServiceWorkflowJournalStore | undefined; outcomeSink: import("../plugins/file-outcome-sink.js").OutcomeSink | undefined; workflowAgentRegistry: WorkflowAgentRegistry | undefined; subagentSteerRegistry: SubagentSteerRegistry; workflowRecoverOpts: { orphanGraceMs?: number; finalizeStartedBeforeMs?: number; publishTerminalFleetRow?: (id: string, run: WorkflowRun) => void; }; workflowAgentSessionIndex: WorkflowAgentSessionIndex | undefined; }; //# sourceMappingURL=workflow-orchestration.d.ts.map