@atom-workflow-agent/cli 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +61 -0
  3. package/README.zh-CN.md +61 -0
  4. package/dist/app.d.ts +14 -0
  5. package/dist/app.d.ts.map +1 -0
  6. package/dist/app.js +172 -0
  7. package/dist/app.js.map +1 -0
  8. package/dist/atoms/atom-development-service.d.ts +43 -0
  9. package/dist/atoms/atom-development-service.d.ts.map +1 -0
  10. package/dist/atoms/atom-development-service.js +308 -0
  11. package/dist/atoms/atom-development-service.js.map +1 -0
  12. package/dist/atoms/atom-development-store.d.ts +70 -0
  13. package/dist/atoms/atom-development-store.d.ts.map +1 -0
  14. package/dist/atoms/atom-development-store.js +271 -0
  15. package/dist/atoms/atom-development-store.js.map +1 -0
  16. package/dist/commands/doctor.d.ts +38 -0
  17. package/dist/commands/doctor.d.ts.map +1 -0
  18. package/dist/commands/doctor.js +163 -0
  19. package/dist/commands/doctor.js.map +1 -0
  20. package/dist/commands/models.d.ts +16 -0
  21. package/dist/commands/models.d.ts.map +1 -0
  22. package/dist/commands/models.js +20 -0
  23. package/dist/commands/models.js.map +1 -0
  24. package/dist/index.d.ts +3 -0
  25. package/dist/index.d.ts.map +1 -0
  26. package/dist/index.js +19 -0
  27. package/dist/index.js.map +1 -0
  28. package/dist/local/local-project-service.d.ts +63 -0
  29. package/dist/local/local-project-service.d.ts.map +1 -0
  30. package/dist/local/local-project-service.js +327 -0
  31. package/dist/local/local-project-service.js.map +1 -0
  32. package/dist/logging/create-cli-logger.d.ts +8 -0
  33. package/dist/logging/create-cli-logger.d.ts.map +1 -0
  34. package/dist/logging/create-cli-logger.js +11 -0
  35. package/dist/logging/create-cli-logger.js.map +1 -0
  36. package/dist/logging/json-logger.d.ts +24 -0
  37. package/dist/logging/json-logger.d.ts.map +1 -0
  38. package/dist/logging/json-logger.js +29 -0
  39. package/dist/logging/json-logger.js.map +1 -0
  40. package/dist/providers/acp-planning-model-adapter.d.ts +9 -0
  41. package/dist/providers/acp-planning-model-adapter.d.ts.map +1 -0
  42. package/dist/providers/acp-planning-model-adapter.js +54 -0
  43. package/dist/providers/acp-planning-model-adapter.js.map +1 -0
  44. package/dist/providers/provider-name.d.ts +5 -0
  45. package/dist/providers/provider-name.d.ts.map +1 -0
  46. package/dist/providers/provider-name.js +4 -0
  47. package/dist/providers/provider-name.js.map +1 -0
  48. package/dist/providers/resolve-provider-config.d.ts +10 -0
  49. package/dist/providers/resolve-provider-config.d.ts.map +1 -0
  50. package/dist/providers/resolve-provider-config.js +14 -0
  51. package/dist/providers/resolve-provider-config.js.map +1 -0
  52. package/dist/providers/resolve-trae-executable.d.ts +20 -0
  53. package/dist/providers/resolve-trae-executable.d.ts.map +1 -0
  54. package/dist/providers/resolve-trae-executable.js +46 -0
  55. package/dist/providers/resolve-trae-executable.js.map +1 -0
  56. package/dist/workflow/builtin-atom-packages.d.ts +4 -0
  57. package/dist/workflow/builtin-atom-packages.d.ts.map +1 -0
  58. package/dist/workflow/builtin-atom-packages.js +39 -0
  59. package/dist/workflow/builtin-atom-packages.js.map +1 -0
  60. package/dist/workflow/planning-cli-service.d.ts +35 -0
  61. package/dist/workflow/planning-cli-service.d.ts.map +1 -0
  62. package/dist/workflow/planning-cli-service.js +97 -0
  63. package/dist/workflow/planning-cli-service.js.map +1 -0
  64. package/dist/workflow/workflow-command-input.d.ts +25 -0
  65. package/dist/workflow/workflow-command-input.d.ts.map +1 -0
  66. package/dist/workflow/workflow-command-input.js +117 -0
  67. package/dist/workflow/workflow-command-input.js.map +1 -0
  68. package/dist/workflow/workflow-command-progress.d.ts +6 -0
  69. package/dist/workflow/workflow-command-progress.d.ts.map +1 -0
  70. package/dist/workflow/workflow-command-progress.js +81 -0
  71. package/dist/workflow/workflow-command-progress.js.map +1 -0
  72. package/dist/workflow/workflow-command-service.d.ts +85 -0
  73. package/dist/workflow/workflow-command-service.d.ts.map +1 -0
  74. package/dist/workflow/workflow-command-service.js +2 -0
  75. package/dist/workflow/workflow-command-service.js.map +1 -0
  76. package/dist/workflow/workflow-command.d.ts +5 -0
  77. package/dist/workflow/workflow-command.d.ts.map +1 -0
  78. package/dist/workflow/workflow-command.js +425 -0
  79. package/dist/workflow/workflow-command.js.map +1 -0
  80. package/dist/workflow/workflow-coordinator.d.ts +25 -0
  81. package/dist/workflow/workflow-coordinator.d.ts.map +1 -0
  82. package/dist/workflow/workflow-coordinator.js +112 -0
  83. package/dist/workflow/workflow-coordinator.js.map +1 -0
  84. package/dist/workflow/workflow-output.d.ts +9 -0
  85. package/dist/workflow/workflow-output.d.ts.map +1 -0
  86. package/dist/workflow/workflow-output.js +109 -0
  87. package/dist/workflow/workflow-output.js.map +1 -0
  88. package/dist/workflow/workflow-project-config.d.ts +14 -0
  89. package/dist/workflow/workflow-project-config.d.ts.map +1 -0
  90. package/dist/workflow/workflow-project-config.js +55 -0
  91. package/dist/workflow/workflow-project-config.js.map +1 -0
  92. package/dist/workflow/workflow-service.d.ts +1237 -0
  93. package/dist/workflow/workflow-service.d.ts.map +1 -0
  94. package/dist/workflow/workflow-service.js +475 -0
  95. package/dist/workflow/workflow-service.js.map +1 -0
  96. package/package.json +65 -0
@@ -0,0 +1,1237 @@
1
+ import { type JsonValue, type RuntimeEvent, type WorkflowCompletionMode } from "@atom-workflow-agent/contracts";
2
+ import { AtomRegistry } from "@atom-workflow-agent/atom-catalog";
3
+ import { DurableWorkflowEngine, LocalArtifactStore, LocalRunStore, LocalWorkflowStore, RuntimeMachine, type RuntimeMachineCommand, type RuntimeSnapshot } from "@atom-workflow-agent/workflow-engine";
4
+ import { type WorkflowInspectorServerHandle } from "@atom-workflow-agent/workflow-ui";
5
+ import { LocalPlanStore, type DurablePlanRecord, type PlanningModelEvent } from "@atom-workflow-agent/workflow-planner";
6
+ import { type LocalProviderName } from "../providers/provider-name.js";
7
+ import { resolveLocalAcpProviderConfig } from "../providers/resolve-provider-config.js";
8
+ import { type AtomDevelopmentExecutionOptions } from "../atoms/atom-development-service.js";
9
+ export interface WorkflowServiceOptions {
10
+ readonly cwd: string;
11
+ readonly signal?: AbortSignal;
12
+ readonly dataDirectory?: string;
13
+ readonly resolveModel?: (provider: LocalProviderName, cwd: string, signal?: AbortSignal) => Promise<string>;
14
+ readonly resolveProvider?: typeof resolveLocalAcpProviderConfig;
15
+ readonly now?: () => Date;
16
+ }
17
+ export type WorkflowServiceProgress = {
18
+ readonly type: "planner.started";
19
+ readonly planId: string;
20
+ readonly providerId: string;
21
+ readonly model: string;
22
+ } | {
23
+ readonly type: "runtime.event";
24
+ readonly event: RuntimeEvent;
25
+ } | {
26
+ readonly type: "planner.failed";
27
+ readonly planId: string;
28
+ readonly code: string;
29
+ readonly message: string;
30
+ } | {
31
+ readonly type: "planner.model.event";
32
+ readonly planId: string;
33
+ readonly event: PlanningModelEvent;
34
+ } | {
35
+ readonly type: "planner.phase";
36
+ readonly planId: string;
37
+ readonly phase: string;
38
+ readonly planningTurnsConsumed: number;
39
+ readonly maxPlanningTurns: number;
40
+ readonly validationErrorCount: number;
41
+ } | {
42
+ readonly type: "workflow.finished";
43
+ readonly runId: string;
44
+ readonly status: string;
45
+ };
46
+ export interface WorkflowServiceExecutionOptions {
47
+ readonly onProgress?: (progress: WorkflowServiceProgress) => void;
48
+ }
49
+ /**
50
+ * The natural-language trigger is executable business input, not only Planner
51
+ * metadata. Expose it under the conventional request key while allowing an
52
+ * explicitly supplied request payload to remain authoritative.
53
+ */
54
+ export declare function workflowInputsWithRequest(goal: string, workflowInputs: Readonly<Record<string, JsonValue>>): Record<string, JsonValue>;
55
+ export declare class WorkflowCliService {
56
+ readonly store: LocalRunStore;
57
+ readonly plans: LocalPlanStore;
58
+ readonly workflows: LocalWorkflowStore;
59
+ readonly registry: AtomRegistry;
60
+ readonly artifacts: LocalArtifactStore;
61
+ readonly runtime: DurableWorkflowEngine;
62
+ readonly machine: RuntimeMachine;
63
+ private readonly coordinator;
64
+ private readonly atomDevelopment;
65
+ private readonly config;
66
+ private readonly options;
67
+ private readonly loadedPackages;
68
+ private readonly progressListeners;
69
+ private constructor();
70
+ static create(options: WorkflowServiceOptions): Promise<WorkflowCliService>;
71
+ private resolvePlannerTarget;
72
+ start(raw: unknown, execution?: WorkflowServiceExecutionOptions): Promise<RuntimeSnapshot>;
73
+ plan(raw: unknown, execution?: WorkflowServiceExecutionOptions): Promise<DurablePlanRecord>;
74
+ validateWorkflow(raw: unknown, completionMode?: WorkflowCompletionMode): Promise<{
75
+ valid: boolean;
76
+ workflowSpecHash: string;
77
+ workflowIrHash: string;
78
+ completionMode: "outputs" | "side-effect-only";
79
+ }>;
80
+ saveWorkflow(raw: unknown, options?: {
81
+ workflowId?: string;
82
+ completionMode?: WorkflowCompletionMode;
83
+ sourceKind?: "file" | "host";
84
+ }): Promise<{
85
+ schemaVersion: "2.0";
86
+ workflowId: string;
87
+ workflowRevisionId: string;
88
+ revision: number;
89
+ source: {
90
+ kind: "planner";
91
+ planId: string;
92
+ } | {
93
+ kind: "host";
94
+ sourceHash: string;
95
+ } | {
96
+ kind: "file";
97
+ sourceHash: string;
98
+ };
99
+ workflowSpec: {
100
+ schemaVersion: "1.2";
101
+ name: string;
102
+ inputs: Record<string, JsonValue>;
103
+ entry: string[];
104
+ nodes: ({
105
+ next: {
106
+ to: string | string[];
107
+ with: Record<string, JsonValue>;
108
+ maxTraversals?: number | undefined;
109
+ };
110
+ id: string;
111
+ atom: string;
112
+ dependsOn: string[];
113
+ input: JsonValue;
114
+ kind: "atom";
115
+ map?: {
116
+ items: {
117
+ $ref: string;
118
+ };
119
+ maxItems: number;
120
+ maxConcurrency: number;
121
+ group?: string | undefined;
122
+ } | undefined;
123
+ policy?: {
124
+ attemptTimeoutMs?: number | undefined;
125
+ lifecycleTickTimeoutMs?: number | undefined;
126
+ maxLifecycleTicks?: number | undefined;
127
+ retry?: {
128
+ maxAttempts?: number | undefined;
129
+ strategy?: "fixed" | "exponential" | undefined;
130
+ baseDelayMs?: number | undefined;
131
+ maxDelayMs?: number | undefined;
132
+ jitter?: boolean | undefined;
133
+ } | undefined;
134
+ cache?: {
135
+ enabled?: boolean | undefined;
136
+ ttlMs?: number | undefined;
137
+ } | undefined;
138
+ } | undefined;
139
+ } | {
140
+ select: {
141
+ $ref: string;
142
+ };
143
+ branches: Record<string, {
144
+ to: string | string[];
145
+ with: Record<string, JsonValue>;
146
+ maxTraversals?: number | undefined;
147
+ }>;
148
+ default: {
149
+ to: string | string[];
150
+ with: Record<string, JsonValue>;
151
+ maxTraversals?: number | undefined;
152
+ };
153
+ id: string;
154
+ atom: string;
155
+ dependsOn: string[];
156
+ input: JsonValue;
157
+ kind: "decision";
158
+ map?: {
159
+ items: {
160
+ $ref: string;
161
+ };
162
+ maxItems: number;
163
+ maxConcurrency: number;
164
+ group?: string | undefined;
165
+ } | undefined;
166
+ policy?: {
167
+ attemptTimeoutMs?: number | undefined;
168
+ lifecycleTickTimeoutMs?: number | undefined;
169
+ maxLifecycleTicks?: number | undefined;
170
+ retry?: {
171
+ maxAttempts?: number | undefined;
172
+ strategy?: "fixed" | "exponential" | undefined;
173
+ baseDelayMs?: number | undefined;
174
+ maxDelayMs?: number | undefined;
175
+ jitter?: boolean | undefined;
176
+ } | undefined;
177
+ cache?: {
178
+ enabled?: boolean | undefined;
179
+ ttlMs?: number | undefined;
180
+ } | undefined;
181
+ } | undefined;
182
+ } | {
183
+ kind: "merge";
184
+ id: string;
185
+ dependsOn: string[];
186
+ outputSchema: Record<string, JsonValue>;
187
+ next: {
188
+ to: string | string[];
189
+ with: Record<string, JsonValue>;
190
+ maxTraversals?: number | undefined;
191
+ };
192
+ })[];
193
+ outputs: Record<string, {
194
+ $ref: string;
195
+ }>;
196
+ };
197
+ workflowSpecHash: string;
198
+ workflowIrHash: string;
199
+ compilerVersion: "workflow-ir-1.3";
200
+ runtimePolicyHash: string;
201
+ referencedAtoms: {
202
+ key: string;
203
+ manifestHash: string;
204
+ inputSchemaHash: string;
205
+ outputSchemaHash: string;
206
+ }[];
207
+ inputSchema: Record<string, JsonValue>;
208
+ outputSchema: Record<string, JsonValue>;
209
+ completionMode: "outputs" | "side-effect-only";
210
+ scopeConstraints: {
211
+ projectScope?: string | undefined;
212
+ allowedHosts?: string[] | undefined;
213
+ };
214
+ validation: {
215
+ status: "valid";
216
+ validatedAt: string;
217
+ };
218
+ createdAt: string;
219
+ parentRevisionId?: string | undefined;
220
+ catalogHash?: string | undefined;
221
+ }>;
222
+ listPlans(): Promise<readonly {
223
+ schemaVersion: "1.0";
224
+ planId: string;
225
+ status: "ready" | "created" | "failed" | "cancelled" | "superseded" | "blocked_missing_atom" | "blocked_missing_input" | "planning";
226
+ request: {
227
+ goal: string;
228
+ cwd: string;
229
+ projectScope: string;
230
+ hostScope: string;
231
+ initialWorkflowInputs: Record<string, JsonValue>;
232
+ context: JsonValue;
233
+ };
234
+ planner: {
235
+ provider: string;
236
+ model: string;
237
+ maxPlanningTurns?: number | undefined;
238
+ };
239
+ catalogHash: string;
240
+ inputRevisions: {
241
+ revision: number;
242
+ patch: Record<string, JsonValue>;
243
+ effectiveInputsHash: string;
244
+ createdAt: string;
245
+ }[];
246
+ hashes: {
247
+ draft?: string | undefined;
248
+ workflowSpec?: string | undefined;
249
+ workflowIr?: string | undefined;
250
+ };
251
+ validationErrors: {
252
+ code: "WORKFLOW_JSON_INVALID" | "WORKFLOW_SCHEMA_INVALID" | "RUNTIME_POLICY_INVALID" | "ATOM_CATALOG_INVALID" | "ATOM_CATALOG_DUPLICATE" | "NODE_LIMIT_EXCEEDED" | "DEPENDENCY_LIMIT_EXCEEDED" | "ATOM_NOT_FOUND" | "ATOM_UNAVAILABLE" | "DEPRECATED_ATOM_FORBIDDEN" | "ATTEMPT_TIMEOUT_LIMIT_EXCEEDED" | "LIFECYCLE_TICK_TIMEOUT_LIMIT_EXCEEDED" | "LIFECYCLE_TICK_LIMIT_EXCEEDED" | "RETRY_LIMIT_EXCEEDED" | "RETRY_DELAY_LIMIT_EXCEEDED" | "RETRY_POLICY_INVALID" | "NON_IDEMPOTENT_RETRY_FORBIDDEN" | "CACHE_TTL_LIMIT_EXCEEDED" | "CACHE_ENABLE_OVERRIDE_FORBIDDEN" | "MAP_LIMIT_EXCEEDED" | "MAP_GROUP_CONFIG_MISMATCH" | "MAP_COMPLETION_CONFLICT" | "AGENT_PROVIDER_FORBIDDEN" | "AGENT_MODEL_FORBIDDEN" | "AGENT_FALLBACK_LIMIT_EXCEEDED" | "AGENT_FALLBACK_DUPLICATE" | "AGENT_CWD_FORBIDDEN" | "DUPLICATE_NODE_ID" | "DUPLICATE_DEPENDENCY" | "SELF_DEPENDENCY" | "DEPENDENCY_NOT_FOUND" | "DEPENDENCY_CYCLE" | "ENTRY_NODE_NOT_FOUND" | "ENTRY_NODE_DUPLICATE" | "ENTRY_DEPENDENCY_INVALID" | "EDGE_TARGET_NOT_FOUND" | "EDGE_TARGET_DUPLICATE" | "EDGE_TERMINAL_WITH_INPUT_FORBIDDEN" | "EDGE_BACK_EDGE_UNBOUNDED" | "EDGE_TRAVERSAL_LIMIT_EXCEEDED" | "DECISION_SELECT_REFERENCE_INVALID" | "DECISION_SELECT_TYPE_MISMATCH" | "DECISION_BRANCH_ENUM_MISMATCH" | "CONTROL_NODE_UNREACHABLE" | "CONTROL_DEAD_END" | "CONTROL_TERMINAL_UNREACHABLE" | "JOIN_CONTROL_PREDECESSOR_MISSING" | "PARALLEL_FANOUT_NOT_JOINED" | "BRANCH_MERGE_INPUT_MISSING" | "BRANCH_MERGE_SOURCE_INVALID" | "REFERENCE_NOT_FOUND" | "REFERENCE_SOURCE_OPTIONAL" | "REFERENCE_NOT_DEPENDENCY" | "MAP_REFERENCE_OUTSIDE_MAP" | "EDGE_REFERENCE_OUTSIDE_EDGE" | "WORKFLOW_OUTPUT_REFERENCE_INVALID" | "REFERENCE_INVALID" | "REFERENCE_TYPE_MISMATCH" | "INPUT_SCHEMA_MISMATCH" | "INPUT_REQUIRED_PROPERTY_MISSING" | "INPUT_ADDITIONAL_PROPERTY_FORBIDDEN" | "MAP_ITEMS_NOT_ARRAY" | "EDGE_INPUT_SCHEMA_MISMATCH" | "AGENT_CWD_TYPE_MISMATCH" | "PLANNER_DRAFT_SCHEMA_INVALID" | "PLANNER_DRAFT_ATOM_NOT_SELECTED" | "PLANNER_DRAFT_ALIAS_DUPLICATE" | "PLANNER_DRAFT_REFERENCE_INVALID" | "PLANNER_DRAFT_REFERENCE_AMBIGUOUS" | "PLANNER_DRAFT_CONTROL_INVALID" | "PLANNER_DRAFT_NORMALIZATION_FAILED" | "PLANNER_TURN_LIMIT_EXCEEDED" | "PLANNER_CAPABILITY_SCHEMA_INVALID" | "PLANNING_WORKSPACE_ACTION_INVALID" | "PLANNING_CAPABILITY_UNAVAILABLE" | "PLANNING_CAPABILITY_ATOM_UNKNOWN" | "PLANNING_CAPABILITY_SCHEMA_MISMATCH" | "PLANNING_SELECTED_ATOM_LIMIT_EXCEEDED" | "PLANNING_REQUIRED_INPUT_UNAVAILABLE" | "PLANNING_BINDING_SOURCE_OPTIONAL" | "PLANNING_BINDING_AMBIGUOUS" | "PLANNING_BRANCH_RESULT_REQUIRED" | "PLANNING_BRANCH_RESULT_MISMATCH" | "PLANNING_DECISION_NO_EFFECT" | "PLANNING_DRAFT_EMPTY" | "PLANNING_TRANSACTION_INVALID" | "PLANNING_TRANSACTION_LIMIT_EXCEEDED" | "PLANNING_TRANSACTION_VALIDATION_FAILED" | "PLANNING_REVISION_CONFLICT" | "PLANNING_REVISION_LIMIT_EXCEEDED" | "PLANNING_NODE_LIMIT_EXCEEDED" | "PLANNING_OPERATION_CONFLICT" | "PLANNING_BLOCK_DUPLICATE" | "PLANNING_BLOCK_NOT_FOUND" | "PLANNING_FINALIZE_CONFLICT" | "PLANNING_WORKSPACE_NOT_EDITABLE" | "PLANNING_WORKSPACE_NOT_FINALIZABLE" | "PLANNING_ATOM_UNAVAILABLE" | "PLANNING_ATOM_SCHEMA_DESCRIPTION_REQUIRED" | "PLANNING_FINAL_VALIDATION_FAILED" | "PLANNING_WORKFLOW_OUTPUT_REQUIRED" | "PLANNING_REQUIRED_CAPABILITY_NOT_REALIZED" | "PLANNING_FINALIZED_REVISION_MISSING";
253
+ path: string;
254
+ message: string;
255
+ stage?: "json-extract" | "capability-schema" | "capability-resolution" | "draft-schema" | "atom-resolution" | "draft-normalization" | "workflow-schema" | "data-link" | "control-graph" | "runtime-policy" | undefined;
256
+ hint?: string | undefined;
257
+ atomId?: string | undefined;
258
+ expected?: JsonValue | undefined;
259
+ received?: JsonValue | undefined;
260
+ }[];
261
+ createdAt: string;
262
+ updatedAt: string;
263
+ workflowRevisionId?: string | undefined;
264
+ endedAt?: string | undefined;
265
+ error?: {
266
+ code: string;
267
+ message: string;
268
+ retryable: boolean;
269
+ } | undefined;
270
+ }[]>;
271
+ inspectPlan(planId: string, view?: "summary" | "workspace" | "capabilities" | "gaps" | "bindings" | "workflow" | "validation"): Promise<{
272
+ schemaVersion: "1.0";
273
+ kind: "missing-atom" | "missing-input";
274
+ code: "PLANNING_CAPABILITY_UNAVAILABLE" | "PLANNING_REQUIRED_INPUT_UNAVAILABLE";
275
+ message: string;
276
+ paths: string[];
277
+ resolution: string;
278
+ requirementId?: string | undefined;
279
+ } | {
280
+ schemaVersion: "1.0";
281
+ workspace: {
282
+ schemaVersion: "1.0";
283
+ workspaceId: string;
284
+ requestId: string;
285
+ goal: string;
286
+ workflowName: string;
287
+ workflowInputs: Record<string, JsonValue>;
288
+ context: JsonValue;
289
+ runtimePolicy: {
290
+ schemaVersion: "1.1";
291
+ maxNodes: number;
292
+ maxDependenciesPerNode: number;
293
+ maxMapItems: number;
294
+ maxEdgeTraversals: number;
295
+ maxWorkflowTransitions: number;
296
+ maxNodeActivations: number;
297
+ maxLifecycleTicks: number;
298
+ maxLifecycleTickTimeoutMs: number | null;
299
+ maxAttemptDurationMs: number | null;
300
+ maxRetryAttempts: number;
301
+ maxRetryDelayMs: number;
302
+ maxCacheTtlMs: number;
303
+ allowDeprecatedAtoms: boolean;
304
+ allowCacheEnableOverride: boolean;
305
+ };
306
+ catalogHash: string;
307
+ selectedAtomKeys: string[];
308
+ requiredAtomKeys: string[];
309
+ descriptorHashes: Record<string, string>;
310
+ status: "failed" | "cancelled" | "blocked_missing_atom" | "blocked_missing_input" | "editing" | "finalized";
311
+ currentRevision: number;
312
+ currentDraftHash: string;
313
+ createdAt: string;
314
+ updatedAt: string;
315
+ finalizedRevision?: number | undefined;
316
+ };
317
+ revisions: {
318
+ schemaVersion: "1.0";
319
+ revision: number;
320
+ parentRevision: number;
321
+ operationId: string;
322
+ draftHash: string;
323
+ blocks: {
324
+ blockId: string;
325
+ plan: import("@atom-workflow-agent/contracts").PlanningStep;
326
+ }[];
327
+ outputs: Record<string, {
328
+ source: "workflow";
329
+ path: string;
330
+ } | {
331
+ source: "node";
332
+ nodeId: string;
333
+ path: string;
334
+ } | {
335
+ source: "item";
336
+ path: string;
337
+ } | {
338
+ source: "value";
339
+ value: JsonValue;
340
+ }>;
341
+ bindingEvidence: {
342
+ schemaVersion: "1.0";
343
+ consumerAlias: string;
344
+ targetPath: string;
345
+ sourceRef: string;
346
+ sourceDescription: string;
347
+ targetDescription: string;
348
+ sourceSchema: Record<string, JsonValue>;
349
+ targetSchema: Record<string, JsonValue>;
350
+ reason: string;
351
+ confidence: "high";
352
+ }[];
353
+ plannerDraft: {
354
+ schemaVersion: "1.0";
355
+ kind: "workflow-draft";
356
+ name: string;
357
+ flow: import("@atom-workflow-agent/contracts").PlannerDraftStep;
358
+ outputs: Record<string, JsonValue>;
359
+ };
360
+ validation: {
361
+ workflowName: string;
362
+ workflowNodeCount: number;
363
+ workflowIrHash: string;
364
+ };
365
+ createdAt: string;
366
+ }[];
367
+ transactions: {
368
+ schemaVersion: "1.0";
369
+ transaction: {
370
+ schemaVersion: "1.0";
371
+ operationId: string;
372
+ baseRevision: number;
373
+ baseDraftHash: string;
374
+ operations: ({
375
+ op: "add-region";
376
+ block: {
377
+ blockId: string;
378
+ plan: import("@atom-workflow-agent/contracts").PlanningStep;
379
+ };
380
+ } | {
381
+ op: "replace-region";
382
+ blockId: string;
383
+ plan: import("@atom-workflow-agent/contracts").PlanningStep;
384
+ } | {
385
+ op: "remove-region";
386
+ blockId: string;
387
+ } | {
388
+ op: "set-workflow-output";
389
+ name: string;
390
+ value: {
391
+ source: "workflow";
392
+ path: string;
393
+ } | {
394
+ source: "node";
395
+ nodeId: string;
396
+ path: string;
397
+ } | {
398
+ source: "item";
399
+ path: string;
400
+ } | {
401
+ source: "value";
402
+ value: JsonValue;
403
+ };
404
+ } | {
405
+ op: "remove-workflow-output";
406
+ name: string;
407
+ })[];
408
+ };
409
+ transactionHash: string;
410
+ result: {
411
+ schemaVersion: "1.0";
412
+ status: "committed";
413
+ operationId: string;
414
+ transactionHash: string;
415
+ replayed: boolean;
416
+ revision: {
417
+ schemaVersion: "1.0";
418
+ revision: number;
419
+ parentRevision: number;
420
+ operationId: string;
421
+ draftHash: string;
422
+ blocks: {
423
+ blockId: string;
424
+ plan: import("@atom-workflow-agent/contracts").PlanningStep;
425
+ }[];
426
+ outputs: Record<string, {
427
+ source: "workflow";
428
+ path: string;
429
+ } | {
430
+ source: "node";
431
+ nodeId: string;
432
+ path: string;
433
+ } | {
434
+ source: "item";
435
+ path: string;
436
+ } | {
437
+ source: "value";
438
+ value: JsonValue;
439
+ }>;
440
+ bindingEvidence: {
441
+ schemaVersion: "1.0";
442
+ consumerAlias: string;
443
+ targetPath: string;
444
+ sourceRef: string;
445
+ sourceDescription: string;
446
+ targetDescription: string;
447
+ sourceSchema: Record<string, JsonValue>;
448
+ targetSchema: Record<string, JsonValue>;
449
+ reason: string;
450
+ confidence: "high";
451
+ }[];
452
+ plannerDraft: {
453
+ schemaVersion: "1.0";
454
+ kind: "workflow-draft";
455
+ name: string;
456
+ flow: import("@atom-workflow-agent/contracts").PlannerDraftStep;
457
+ outputs: Record<string, JsonValue>;
458
+ };
459
+ validation: {
460
+ workflowName: string;
461
+ workflowNodeCount: number;
462
+ workflowIrHash: string;
463
+ };
464
+ createdAt: string;
465
+ };
466
+ } | {
467
+ schemaVersion: "1.0";
468
+ status: "rejected";
469
+ operationId: string;
470
+ transactionHash: string;
471
+ code: "WORKFLOW_JSON_INVALID" | "WORKFLOW_SCHEMA_INVALID" | "RUNTIME_POLICY_INVALID" | "ATOM_CATALOG_INVALID" | "ATOM_CATALOG_DUPLICATE" | "NODE_LIMIT_EXCEEDED" | "DEPENDENCY_LIMIT_EXCEEDED" | "ATOM_NOT_FOUND" | "ATOM_UNAVAILABLE" | "DEPRECATED_ATOM_FORBIDDEN" | "ATTEMPT_TIMEOUT_LIMIT_EXCEEDED" | "LIFECYCLE_TICK_TIMEOUT_LIMIT_EXCEEDED" | "LIFECYCLE_TICK_LIMIT_EXCEEDED" | "RETRY_LIMIT_EXCEEDED" | "RETRY_DELAY_LIMIT_EXCEEDED" | "RETRY_POLICY_INVALID" | "NON_IDEMPOTENT_RETRY_FORBIDDEN" | "CACHE_TTL_LIMIT_EXCEEDED" | "CACHE_ENABLE_OVERRIDE_FORBIDDEN" | "MAP_LIMIT_EXCEEDED" | "MAP_GROUP_CONFIG_MISMATCH" | "MAP_COMPLETION_CONFLICT" | "AGENT_PROVIDER_FORBIDDEN" | "AGENT_MODEL_FORBIDDEN" | "AGENT_FALLBACK_LIMIT_EXCEEDED" | "AGENT_FALLBACK_DUPLICATE" | "AGENT_CWD_FORBIDDEN" | "DUPLICATE_NODE_ID" | "DUPLICATE_DEPENDENCY" | "SELF_DEPENDENCY" | "DEPENDENCY_NOT_FOUND" | "DEPENDENCY_CYCLE" | "ENTRY_NODE_NOT_FOUND" | "ENTRY_NODE_DUPLICATE" | "ENTRY_DEPENDENCY_INVALID" | "EDGE_TARGET_NOT_FOUND" | "EDGE_TARGET_DUPLICATE" | "EDGE_TERMINAL_WITH_INPUT_FORBIDDEN" | "EDGE_BACK_EDGE_UNBOUNDED" | "EDGE_TRAVERSAL_LIMIT_EXCEEDED" | "DECISION_SELECT_REFERENCE_INVALID" | "DECISION_SELECT_TYPE_MISMATCH" | "DECISION_BRANCH_ENUM_MISMATCH" | "CONTROL_NODE_UNREACHABLE" | "CONTROL_DEAD_END" | "CONTROL_TERMINAL_UNREACHABLE" | "JOIN_CONTROL_PREDECESSOR_MISSING" | "PARALLEL_FANOUT_NOT_JOINED" | "BRANCH_MERGE_INPUT_MISSING" | "BRANCH_MERGE_SOURCE_INVALID" | "REFERENCE_NOT_FOUND" | "REFERENCE_SOURCE_OPTIONAL" | "REFERENCE_NOT_DEPENDENCY" | "MAP_REFERENCE_OUTSIDE_MAP" | "EDGE_REFERENCE_OUTSIDE_EDGE" | "WORKFLOW_OUTPUT_REFERENCE_INVALID" | "REFERENCE_INVALID" | "REFERENCE_TYPE_MISMATCH" | "INPUT_SCHEMA_MISMATCH" | "INPUT_REQUIRED_PROPERTY_MISSING" | "INPUT_ADDITIONAL_PROPERTY_FORBIDDEN" | "MAP_ITEMS_NOT_ARRAY" | "EDGE_INPUT_SCHEMA_MISMATCH" | "AGENT_CWD_TYPE_MISMATCH" | "PLANNER_DRAFT_SCHEMA_INVALID" | "PLANNER_DRAFT_ATOM_NOT_SELECTED" | "PLANNER_DRAFT_ALIAS_DUPLICATE" | "PLANNER_DRAFT_REFERENCE_INVALID" | "PLANNER_DRAFT_REFERENCE_AMBIGUOUS" | "PLANNER_DRAFT_CONTROL_INVALID" | "PLANNER_DRAFT_NORMALIZATION_FAILED" | "PLANNER_TURN_LIMIT_EXCEEDED" | "PLANNER_CAPABILITY_SCHEMA_INVALID" | "PLANNING_WORKSPACE_ACTION_INVALID" | "PLANNING_CAPABILITY_UNAVAILABLE" | "PLANNING_CAPABILITY_ATOM_UNKNOWN" | "PLANNING_CAPABILITY_SCHEMA_MISMATCH" | "PLANNING_SELECTED_ATOM_LIMIT_EXCEEDED" | "PLANNING_REQUIRED_INPUT_UNAVAILABLE" | "PLANNING_BINDING_SOURCE_OPTIONAL" | "PLANNING_BINDING_AMBIGUOUS" | "PLANNING_BRANCH_RESULT_REQUIRED" | "PLANNING_BRANCH_RESULT_MISMATCH" | "PLANNING_DECISION_NO_EFFECT" | "PLANNING_DRAFT_EMPTY" | "PLANNING_TRANSACTION_INVALID" | "PLANNING_TRANSACTION_LIMIT_EXCEEDED" | "PLANNING_TRANSACTION_VALIDATION_FAILED" | "PLANNING_REVISION_CONFLICT" | "PLANNING_REVISION_LIMIT_EXCEEDED" | "PLANNING_NODE_LIMIT_EXCEEDED" | "PLANNING_OPERATION_CONFLICT" | "PLANNING_BLOCK_DUPLICATE" | "PLANNING_BLOCK_NOT_FOUND" | "PLANNING_FINALIZE_CONFLICT" | "PLANNING_WORKSPACE_NOT_EDITABLE" | "PLANNING_WORKSPACE_NOT_FINALIZABLE" | "PLANNING_ATOM_UNAVAILABLE" | "PLANNING_ATOM_SCHEMA_DESCRIPTION_REQUIRED" | "PLANNING_FINAL_VALIDATION_FAILED" | "PLANNING_WORKFLOW_OUTPUT_REQUIRED" | "PLANNING_REQUIRED_CAPABILITY_NOT_REALIZED" | "PLANNING_FINALIZED_REVISION_MISSING";
472
+ message: string;
473
+ retryable: boolean;
474
+ currentRevision: number;
475
+ currentDraftHash: string;
476
+ errors: {
477
+ code: "WORKFLOW_JSON_INVALID" | "WORKFLOW_SCHEMA_INVALID" | "RUNTIME_POLICY_INVALID" | "ATOM_CATALOG_INVALID" | "ATOM_CATALOG_DUPLICATE" | "NODE_LIMIT_EXCEEDED" | "DEPENDENCY_LIMIT_EXCEEDED" | "ATOM_NOT_FOUND" | "ATOM_UNAVAILABLE" | "DEPRECATED_ATOM_FORBIDDEN" | "ATTEMPT_TIMEOUT_LIMIT_EXCEEDED" | "LIFECYCLE_TICK_TIMEOUT_LIMIT_EXCEEDED" | "LIFECYCLE_TICK_LIMIT_EXCEEDED" | "RETRY_LIMIT_EXCEEDED" | "RETRY_DELAY_LIMIT_EXCEEDED" | "RETRY_POLICY_INVALID" | "NON_IDEMPOTENT_RETRY_FORBIDDEN" | "CACHE_TTL_LIMIT_EXCEEDED" | "CACHE_ENABLE_OVERRIDE_FORBIDDEN" | "MAP_LIMIT_EXCEEDED" | "MAP_GROUP_CONFIG_MISMATCH" | "MAP_COMPLETION_CONFLICT" | "AGENT_PROVIDER_FORBIDDEN" | "AGENT_MODEL_FORBIDDEN" | "AGENT_FALLBACK_LIMIT_EXCEEDED" | "AGENT_FALLBACK_DUPLICATE" | "AGENT_CWD_FORBIDDEN" | "DUPLICATE_NODE_ID" | "DUPLICATE_DEPENDENCY" | "SELF_DEPENDENCY" | "DEPENDENCY_NOT_FOUND" | "DEPENDENCY_CYCLE" | "ENTRY_NODE_NOT_FOUND" | "ENTRY_NODE_DUPLICATE" | "ENTRY_DEPENDENCY_INVALID" | "EDGE_TARGET_NOT_FOUND" | "EDGE_TARGET_DUPLICATE" | "EDGE_TERMINAL_WITH_INPUT_FORBIDDEN" | "EDGE_BACK_EDGE_UNBOUNDED" | "EDGE_TRAVERSAL_LIMIT_EXCEEDED" | "DECISION_SELECT_REFERENCE_INVALID" | "DECISION_SELECT_TYPE_MISMATCH" | "DECISION_BRANCH_ENUM_MISMATCH" | "CONTROL_NODE_UNREACHABLE" | "CONTROL_DEAD_END" | "CONTROL_TERMINAL_UNREACHABLE" | "JOIN_CONTROL_PREDECESSOR_MISSING" | "PARALLEL_FANOUT_NOT_JOINED" | "BRANCH_MERGE_INPUT_MISSING" | "BRANCH_MERGE_SOURCE_INVALID" | "REFERENCE_NOT_FOUND" | "REFERENCE_SOURCE_OPTIONAL" | "REFERENCE_NOT_DEPENDENCY" | "MAP_REFERENCE_OUTSIDE_MAP" | "EDGE_REFERENCE_OUTSIDE_EDGE" | "WORKFLOW_OUTPUT_REFERENCE_INVALID" | "REFERENCE_INVALID" | "REFERENCE_TYPE_MISMATCH" | "INPUT_SCHEMA_MISMATCH" | "INPUT_REQUIRED_PROPERTY_MISSING" | "INPUT_ADDITIONAL_PROPERTY_FORBIDDEN" | "MAP_ITEMS_NOT_ARRAY" | "EDGE_INPUT_SCHEMA_MISMATCH" | "AGENT_CWD_TYPE_MISMATCH" | "PLANNER_DRAFT_SCHEMA_INVALID" | "PLANNER_DRAFT_ATOM_NOT_SELECTED" | "PLANNER_DRAFT_ALIAS_DUPLICATE" | "PLANNER_DRAFT_REFERENCE_INVALID" | "PLANNER_DRAFT_REFERENCE_AMBIGUOUS" | "PLANNER_DRAFT_CONTROL_INVALID" | "PLANNER_DRAFT_NORMALIZATION_FAILED" | "PLANNER_TURN_LIMIT_EXCEEDED" | "PLANNER_CAPABILITY_SCHEMA_INVALID" | "PLANNING_WORKSPACE_ACTION_INVALID" | "PLANNING_CAPABILITY_UNAVAILABLE" | "PLANNING_CAPABILITY_ATOM_UNKNOWN" | "PLANNING_CAPABILITY_SCHEMA_MISMATCH" | "PLANNING_SELECTED_ATOM_LIMIT_EXCEEDED" | "PLANNING_REQUIRED_INPUT_UNAVAILABLE" | "PLANNING_BINDING_SOURCE_OPTIONAL" | "PLANNING_BINDING_AMBIGUOUS" | "PLANNING_BRANCH_RESULT_REQUIRED" | "PLANNING_BRANCH_RESULT_MISMATCH" | "PLANNING_DECISION_NO_EFFECT" | "PLANNING_DRAFT_EMPTY" | "PLANNING_TRANSACTION_INVALID" | "PLANNING_TRANSACTION_LIMIT_EXCEEDED" | "PLANNING_TRANSACTION_VALIDATION_FAILED" | "PLANNING_REVISION_CONFLICT" | "PLANNING_REVISION_LIMIT_EXCEEDED" | "PLANNING_NODE_LIMIT_EXCEEDED" | "PLANNING_OPERATION_CONFLICT" | "PLANNING_BLOCK_DUPLICATE" | "PLANNING_BLOCK_NOT_FOUND" | "PLANNING_FINALIZE_CONFLICT" | "PLANNING_WORKSPACE_NOT_EDITABLE" | "PLANNING_WORKSPACE_NOT_FINALIZABLE" | "PLANNING_ATOM_UNAVAILABLE" | "PLANNING_ATOM_SCHEMA_DESCRIPTION_REQUIRED" | "PLANNING_FINAL_VALIDATION_FAILED" | "PLANNING_WORKFLOW_OUTPUT_REQUIRED" | "PLANNING_REQUIRED_CAPABILITY_NOT_REALIZED" | "PLANNING_FINALIZED_REVISION_MISSING";
478
+ path: string;
479
+ message: string;
480
+ stage?: "json-extract" | "capability-schema" | "capability-resolution" | "draft-schema" | "atom-resolution" | "draft-normalization" | "workflow-schema" | "data-link" | "control-graph" | "runtime-policy" | undefined;
481
+ hint?: string | undefined;
482
+ atomId?: string | undefined;
483
+ expected?: JsonValue | undefined;
484
+ received?: JsonValue | undefined;
485
+ }[];
486
+ };
487
+ recordedAt: string;
488
+ }[];
489
+ gapReport?: {
490
+ schemaVersion: "1.0";
491
+ kind: "missing-atom" | "missing-input";
492
+ code: "PLANNING_CAPABILITY_UNAVAILABLE" | "PLANNING_REQUIRED_INPUT_UNAVAILABLE";
493
+ message: string;
494
+ paths: string[];
495
+ resolution: string;
496
+ requirementId?: string | undefined;
497
+ } | undefined;
498
+ } | import("@atom-workflow-agent/workflow-engine").StoredWorkflowRevision | {
499
+ plan: {
500
+ schemaVersion: "1.0";
501
+ planId: string;
502
+ status: "ready" | "created" | "failed" | "cancelled" | "superseded" | "blocked_missing_atom" | "blocked_missing_input" | "planning";
503
+ request: {
504
+ goal: string;
505
+ cwd: string;
506
+ projectScope: string;
507
+ hostScope: string;
508
+ initialWorkflowInputs: Record<string, JsonValue>;
509
+ context: JsonValue;
510
+ };
511
+ planner: {
512
+ provider: string;
513
+ model: string;
514
+ maxPlanningTurns?: number | undefined;
515
+ };
516
+ catalogHash: string;
517
+ inputRevisions: {
518
+ revision: number;
519
+ patch: Record<string, JsonValue>;
520
+ effectiveInputsHash: string;
521
+ createdAt: string;
522
+ }[];
523
+ hashes: {
524
+ draft?: string | undefined;
525
+ workflowSpec?: string | undefined;
526
+ workflowIr?: string | undefined;
527
+ };
528
+ validationErrors: {
529
+ code: "WORKFLOW_JSON_INVALID" | "WORKFLOW_SCHEMA_INVALID" | "RUNTIME_POLICY_INVALID" | "ATOM_CATALOG_INVALID" | "ATOM_CATALOG_DUPLICATE" | "NODE_LIMIT_EXCEEDED" | "DEPENDENCY_LIMIT_EXCEEDED" | "ATOM_NOT_FOUND" | "ATOM_UNAVAILABLE" | "DEPRECATED_ATOM_FORBIDDEN" | "ATTEMPT_TIMEOUT_LIMIT_EXCEEDED" | "LIFECYCLE_TICK_TIMEOUT_LIMIT_EXCEEDED" | "LIFECYCLE_TICK_LIMIT_EXCEEDED" | "RETRY_LIMIT_EXCEEDED" | "RETRY_DELAY_LIMIT_EXCEEDED" | "RETRY_POLICY_INVALID" | "NON_IDEMPOTENT_RETRY_FORBIDDEN" | "CACHE_TTL_LIMIT_EXCEEDED" | "CACHE_ENABLE_OVERRIDE_FORBIDDEN" | "MAP_LIMIT_EXCEEDED" | "MAP_GROUP_CONFIG_MISMATCH" | "MAP_COMPLETION_CONFLICT" | "AGENT_PROVIDER_FORBIDDEN" | "AGENT_MODEL_FORBIDDEN" | "AGENT_FALLBACK_LIMIT_EXCEEDED" | "AGENT_FALLBACK_DUPLICATE" | "AGENT_CWD_FORBIDDEN" | "DUPLICATE_NODE_ID" | "DUPLICATE_DEPENDENCY" | "SELF_DEPENDENCY" | "DEPENDENCY_NOT_FOUND" | "DEPENDENCY_CYCLE" | "ENTRY_NODE_NOT_FOUND" | "ENTRY_NODE_DUPLICATE" | "ENTRY_DEPENDENCY_INVALID" | "EDGE_TARGET_NOT_FOUND" | "EDGE_TARGET_DUPLICATE" | "EDGE_TERMINAL_WITH_INPUT_FORBIDDEN" | "EDGE_BACK_EDGE_UNBOUNDED" | "EDGE_TRAVERSAL_LIMIT_EXCEEDED" | "DECISION_SELECT_REFERENCE_INVALID" | "DECISION_SELECT_TYPE_MISMATCH" | "DECISION_BRANCH_ENUM_MISMATCH" | "CONTROL_NODE_UNREACHABLE" | "CONTROL_DEAD_END" | "CONTROL_TERMINAL_UNREACHABLE" | "JOIN_CONTROL_PREDECESSOR_MISSING" | "PARALLEL_FANOUT_NOT_JOINED" | "BRANCH_MERGE_INPUT_MISSING" | "BRANCH_MERGE_SOURCE_INVALID" | "REFERENCE_NOT_FOUND" | "REFERENCE_SOURCE_OPTIONAL" | "REFERENCE_NOT_DEPENDENCY" | "MAP_REFERENCE_OUTSIDE_MAP" | "EDGE_REFERENCE_OUTSIDE_EDGE" | "WORKFLOW_OUTPUT_REFERENCE_INVALID" | "REFERENCE_INVALID" | "REFERENCE_TYPE_MISMATCH" | "INPUT_SCHEMA_MISMATCH" | "INPUT_REQUIRED_PROPERTY_MISSING" | "INPUT_ADDITIONAL_PROPERTY_FORBIDDEN" | "MAP_ITEMS_NOT_ARRAY" | "EDGE_INPUT_SCHEMA_MISMATCH" | "AGENT_CWD_TYPE_MISMATCH" | "PLANNER_DRAFT_SCHEMA_INVALID" | "PLANNER_DRAFT_ATOM_NOT_SELECTED" | "PLANNER_DRAFT_ALIAS_DUPLICATE" | "PLANNER_DRAFT_REFERENCE_INVALID" | "PLANNER_DRAFT_REFERENCE_AMBIGUOUS" | "PLANNER_DRAFT_CONTROL_INVALID" | "PLANNER_DRAFT_NORMALIZATION_FAILED" | "PLANNER_TURN_LIMIT_EXCEEDED" | "PLANNER_CAPABILITY_SCHEMA_INVALID" | "PLANNING_WORKSPACE_ACTION_INVALID" | "PLANNING_CAPABILITY_UNAVAILABLE" | "PLANNING_CAPABILITY_ATOM_UNKNOWN" | "PLANNING_CAPABILITY_SCHEMA_MISMATCH" | "PLANNING_SELECTED_ATOM_LIMIT_EXCEEDED" | "PLANNING_REQUIRED_INPUT_UNAVAILABLE" | "PLANNING_BINDING_SOURCE_OPTIONAL" | "PLANNING_BINDING_AMBIGUOUS" | "PLANNING_BRANCH_RESULT_REQUIRED" | "PLANNING_BRANCH_RESULT_MISMATCH" | "PLANNING_DECISION_NO_EFFECT" | "PLANNING_DRAFT_EMPTY" | "PLANNING_TRANSACTION_INVALID" | "PLANNING_TRANSACTION_LIMIT_EXCEEDED" | "PLANNING_TRANSACTION_VALIDATION_FAILED" | "PLANNING_REVISION_CONFLICT" | "PLANNING_REVISION_LIMIT_EXCEEDED" | "PLANNING_NODE_LIMIT_EXCEEDED" | "PLANNING_OPERATION_CONFLICT" | "PLANNING_BLOCK_DUPLICATE" | "PLANNING_BLOCK_NOT_FOUND" | "PLANNING_FINALIZE_CONFLICT" | "PLANNING_WORKSPACE_NOT_EDITABLE" | "PLANNING_WORKSPACE_NOT_FINALIZABLE" | "PLANNING_ATOM_UNAVAILABLE" | "PLANNING_ATOM_SCHEMA_DESCRIPTION_REQUIRED" | "PLANNING_FINAL_VALIDATION_FAILED" | "PLANNING_WORKFLOW_OUTPUT_REQUIRED" | "PLANNING_REQUIRED_CAPABILITY_NOT_REALIZED" | "PLANNING_FINALIZED_REVISION_MISSING";
530
+ path: string;
531
+ message: string;
532
+ stage?: "json-extract" | "capability-schema" | "capability-resolution" | "draft-schema" | "atom-resolution" | "draft-normalization" | "workflow-schema" | "data-link" | "control-graph" | "runtime-policy" | undefined;
533
+ hint?: string | undefined;
534
+ atomId?: string | undefined;
535
+ expected?: JsonValue | undefined;
536
+ received?: JsonValue | undefined;
537
+ }[];
538
+ createdAt: string;
539
+ updatedAt: string;
540
+ workflowRevisionId?: string | undefined;
541
+ endedAt?: string | undefined;
542
+ error?: {
543
+ code: string;
544
+ message: string;
545
+ retryable: boolean;
546
+ } | undefined;
547
+ };
548
+ metrics: {
549
+ readonly catalogAtomCount: number;
550
+ readonly selectedAtomCount: number;
551
+ readonly catalogIndexBytes: number;
552
+ readonly planningCatalogBytes: number;
553
+ readonly promptPayloadBytes: number;
554
+ readonly capabilityTurns: number;
555
+ readonly workspaceTurns: number;
556
+ readonly committedTransactions: number;
557
+ readonly rejectedTransactions: number;
558
+ readonly planningTurns: number;
559
+ readonly maxPlanningTurns: number;
560
+ readonly totalDurationMs: number;
561
+ readonly tokenUsage?: import("@atom-workflow-agent/contracts").PlannerTokenUsage;
562
+ } | undefined;
563
+ eventStats: {
564
+ readonly total: number;
565
+ readonly persisted: number;
566
+ readonly byType: Readonly<Record<string, number>>;
567
+ } | undefined;
568
+ coverage?: never;
569
+ catalog?: never;
570
+ draft?: never;
571
+ validationErrors?: never;
572
+ validationFeedback?: never;
573
+ } | {
574
+ coverage: {
575
+ schemaVersion: "1.1";
576
+ status: "covered";
577
+ catalogHash: string;
578
+ plan: {
579
+ schemaVersion: "1.1";
580
+ kind: "capability-plan";
581
+ requirements: {
582
+ id: string;
583
+ description: string;
584
+ required: boolean;
585
+ resolution: {
586
+ kind: "covered";
587
+ uses: {
588
+ atom: string;
589
+ inputs: {
590
+ role: string;
591
+ field: string;
592
+ }[];
593
+ outputs: {
594
+ role: string;
595
+ field: string;
596
+ }[];
597
+ }[];
598
+ } | {
599
+ kind: "missing";
600
+ desiredInputs: {
601
+ name: string;
602
+ description: string;
603
+ required: boolean;
604
+ acceptedTypes: ("string" | "number" | "boolean" | "object" | "null" | "array" | "integer")[];
605
+ }[];
606
+ desiredOutputs: {
607
+ name: string;
608
+ description: string;
609
+ required: boolean;
610
+ acceptedTypes: ("string" | "number" | "boolean" | "object" | "null" | "array" | "integer")[];
611
+ }[];
612
+ };
613
+ }[];
614
+ };
615
+ selectedAtomKeys: string[];
616
+ } | {
617
+ schemaVersion: "1.1";
618
+ status: "blocked_missing_atom";
619
+ catalogHash: string;
620
+ plan: {
621
+ schemaVersion: "1.1";
622
+ kind: "capability-plan";
623
+ requirements: {
624
+ id: string;
625
+ description: string;
626
+ required: boolean;
627
+ resolution: {
628
+ kind: "covered";
629
+ uses: {
630
+ atom: string;
631
+ inputs: {
632
+ role: string;
633
+ field: string;
634
+ }[];
635
+ outputs: {
636
+ role: string;
637
+ field: string;
638
+ }[];
639
+ }[];
640
+ } | {
641
+ kind: "missing";
642
+ desiredInputs: {
643
+ name: string;
644
+ description: string;
645
+ required: boolean;
646
+ acceptedTypes: ("string" | "number" | "boolean" | "object" | "null" | "array" | "integer")[];
647
+ }[];
648
+ desiredOutputs: {
649
+ name: string;
650
+ description: string;
651
+ required: boolean;
652
+ acceptedTypes: ("string" | "number" | "boolean" | "object" | "null" | "array" | "integer")[];
653
+ }[];
654
+ };
655
+ }[];
656
+ };
657
+ searchedAtomCount: number;
658
+ gaps: {
659
+ requirement: {
660
+ id: string;
661
+ description: string;
662
+ required: boolean;
663
+ resolution: {
664
+ kind: "covered";
665
+ uses: {
666
+ atom: string;
667
+ inputs: {
668
+ role: string;
669
+ field: string;
670
+ }[];
671
+ outputs: {
672
+ role: string;
673
+ field: string;
674
+ }[];
675
+ }[];
676
+ } | {
677
+ kind: "missing";
678
+ desiredInputs: {
679
+ name: string;
680
+ description: string;
681
+ required: boolean;
682
+ acceptedTypes: ("string" | "number" | "boolean" | "object" | "null" | "array" | "integer")[];
683
+ }[];
684
+ desiredOutputs: {
685
+ name: string;
686
+ description: string;
687
+ required: boolean;
688
+ acceptedTypes: ("string" | "number" | "boolean" | "object" | "null" | "array" | "integer")[];
689
+ }[];
690
+ };
691
+ };
692
+ code: "PLANNING_CAPABILITY_UNAVAILABLE" | "PLANNING_CAPABILITY_ATOM_UNKNOWN" | "PLANNING_CAPABILITY_SCHEMA_MISMATCH";
693
+ message: string;
694
+ nearMatches: {
695
+ atomKey: string;
696
+ title: string;
697
+ purpose: string;
698
+ score: number;
699
+ rejectedBecause: string;
700
+ }[];
701
+ suggestedAtomContract: {
702
+ suggestedId: string;
703
+ description: string;
704
+ inputFields: {
705
+ name: string;
706
+ description: string;
707
+ required: boolean;
708
+ acceptedTypes: ("string" | "number" | "boolean" | "object" | "null" | "array" | "integer")[];
709
+ }[];
710
+ outputFields: {
711
+ name: string;
712
+ description: string;
713
+ required: boolean;
714
+ acceptedTypes: ("string" | "number" | "boolean" | "object" | "null" | "array" | "integer")[];
715
+ }[];
716
+ };
717
+ fieldIssues?: {
718
+ atomKey: string;
719
+ direction: "output" | "input";
720
+ field: string;
721
+ reason: "field-not-found" | "required-input-not-declared";
722
+ availableFields: string[];
723
+ }[] | undefined;
724
+ }[];
725
+ } | null;
726
+ catalog: {
727
+ schemaVersion: "1.0";
728
+ hash: string;
729
+ atoms: {
730
+ key: string;
731
+ descriptor: {
732
+ schemaVersion: "1.0";
733
+ hash: string;
734
+ key: string;
735
+ title: string;
736
+ purpose: string;
737
+ inputSchema: Record<string, JsonValue>;
738
+ outputSchema: Record<string, JsonValue>;
739
+ };
740
+ }[];
741
+ } | null;
742
+ plan?: never;
743
+ metrics?: never;
744
+ eventStats?: never;
745
+ draft?: never;
746
+ validationErrors?: never;
747
+ validationFeedback?: never;
748
+ } | {
749
+ draft: {
750
+ schemaVersion: "1.0";
751
+ kind: "workflow-draft";
752
+ name: string;
753
+ flow: import("@atom-workflow-agent/contracts").PlannerDraftStep;
754
+ outputs: Record<string, JsonValue>;
755
+ } | null;
756
+ validationErrors: readonly {
757
+ code: "WORKFLOW_JSON_INVALID" | "WORKFLOW_SCHEMA_INVALID" | "RUNTIME_POLICY_INVALID" | "ATOM_CATALOG_INVALID" | "ATOM_CATALOG_DUPLICATE" | "NODE_LIMIT_EXCEEDED" | "DEPENDENCY_LIMIT_EXCEEDED" | "ATOM_NOT_FOUND" | "ATOM_UNAVAILABLE" | "DEPRECATED_ATOM_FORBIDDEN" | "ATTEMPT_TIMEOUT_LIMIT_EXCEEDED" | "LIFECYCLE_TICK_TIMEOUT_LIMIT_EXCEEDED" | "LIFECYCLE_TICK_LIMIT_EXCEEDED" | "RETRY_LIMIT_EXCEEDED" | "RETRY_DELAY_LIMIT_EXCEEDED" | "RETRY_POLICY_INVALID" | "NON_IDEMPOTENT_RETRY_FORBIDDEN" | "CACHE_TTL_LIMIT_EXCEEDED" | "CACHE_ENABLE_OVERRIDE_FORBIDDEN" | "MAP_LIMIT_EXCEEDED" | "MAP_GROUP_CONFIG_MISMATCH" | "MAP_COMPLETION_CONFLICT" | "AGENT_PROVIDER_FORBIDDEN" | "AGENT_MODEL_FORBIDDEN" | "AGENT_FALLBACK_LIMIT_EXCEEDED" | "AGENT_FALLBACK_DUPLICATE" | "AGENT_CWD_FORBIDDEN" | "DUPLICATE_NODE_ID" | "DUPLICATE_DEPENDENCY" | "SELF_DEPENDENCY" | "DEPENDENCY_NOT_FOUND" | "DEPENDENCY_CYCLE" | "ENTRY_NODE_NOT_FOUND" | "ENTRY_NODE_DUPLICATE" | "ENTRY_DEPENDENCY_INVALID" | "EDGE_TARGET_NOT_FOUND" | "EDGE_TARGET_DUPLICATE" | "EDGE_TERMINAL_WITH_INPUT_FORBIDDEN" | "EDGE_BACK_EDGE_UNBOUNDED" | "EDGE_TRAVERSAL_LIMIT_EXCEEDED" | "DECISION_SELECT_REFERENCE_INVALID" | "DECISION_SELECT_TYPE_MISMATCH" | "DECISION_BRANCH_ENUM_MISMATCH" | "CONTROL_NODE_UNREACHABLE" | "CONTROL_DEAD_END" | "CONTROL_TERMINAL_UNREACHABLE" | "JOIN_CONTROL_PREDECESSOR_MISSING" | "PARALLEL_FANOUT_NOT_JOINED" | "BRANCH_MERGE_INPUT_MISSING" | "BRANCH_MERGE_SOURCE_INVALID" | "REFERENCE_NOT_FOUND" | "REFERENCE_SOURCE_OPTIONAL" | "REFERENCE_NOT_DEPENDENCY" | "MAP_REFERENCE_OUTSIDE_MAP" | "EDGE_REFERENCE_OUTSIDE_EDGE" | "WORKFLOW_OUTPUT_REFERENCE_INVALID" | "REFERENCE_INVALID" | "REFERENCE_TYPE_MISMATCH" | "INPUT_SCHEMA_MISMATCH" | "INPUT_REQUIRED_PROPERTY_MISSING" | "INPUT_ADDITIONAL_PROPERTY_FORBIDDEN" | "MAP_ITEMS_NOT_ARRAY" | "EDGE_INPUT_SCHEMA_MISMATCH" | "AGENT_CWD_TYPE_MISMATCH" | "PLANNER_DRAFT_SCHEMA_INVALID" | "PLANNER_DRAFT_ATOM_NOT_SELECTED" | "PLANNER_DRAFT_ALIAS_DUPLICATE" | "PLANNER_DRAFT_REFERENCE_INVALID" | "PLANNER_DRAFT_REFERENCE_AMBIGUOUS" | "PLANNER_DRAFT_CONTROL_INVALID" | "PLANNER_DRAFT_NORMALIZATION_FAILED" | "PLANNER_TURN_LIMIT_EXCEEDED" | "PLANNER_CAPABILITY_SCHEMA_INVALID" | "PLANNING_WORKSPACE_ACTION_INVALID" | "PLANNING_CAPABILITY_UNAVAILABLE" | "PLANNING_CAPABILITY_ATOM_UNKNOWN" | "PLANNING_CAPABILITY_SCHEMA_MISMATCH" | "PLANNING_SELECTED_ATOM_LIMIT_EXCEEDED" | "PLANNING_REQUIRED_INPUT_UNAVAILABLE" | "PLANNING_BINDING_SOURCE_OPTIONAL" | "PLANNING_BINDING_AMBIGUOUS" | "PLANNING_BRANCH_RESULT_REQUIRED" | "PLANNING_BRANCH_RESULT_MISMATCH" | "PLANNING_DECISION_NO_EFFECT" | "PLANNING_DRAFT_EMPTY" | "PLANNING_TRANSACTION_INVALID" | "PLANNING_TRANSACTION_LIMIT_EXCEEDED" | "PLANNING_TRANSACTION_VALIDATION_FAILED" | "PLANNING_REVISION_CONFLICT" | "PLANNING_REVISION_LIMIT_EXCEEDED" | "PLANNING_NODE_LIMIT_EXCEEDED" | "PLANNING_OPERATION_CONFLICT" | "PLANNING_BLOCK_DUPLICATE" | "PLANNING_BLOCK_NOT_FOUND" | "PLANNING_FINALIZE_CONFLICT" | "PLANNING_WORKSPACE_NOT_EDITABLE" | "PLANNING_WORKSPACE_NOT_FINALIZABLE" | "PLANNING_ATOM_UNAVAILABLE" | "PLANNING_ATOM_SCHEMA_DESCRIPTION_REQUIRED" | "PLANNING_FINAL_VALIDATION_FAILED" | "PLANNING_WORKFLOW_OUTPUT_REQUIRED" | "PLANNING_REQUIRED_CAPABILITY_NOT_REALIZED" | "PLANNING_FINALIZED_REVISION_MISSING";
758
+ path: string;
759
+ message: string;
760
+ stage?: "json-extract" | "capability-schema" | "capability-resolution" | "draft-schema" | "atom-resolution" | "draft-normalization" | "workflow-schema" | "data-link" | "control-graph" | "runtime-policy" | undefined;
761
+ hint?: string | undefined;
762
+ atomId?: string | undefined;
763
+ expected?: JsonValue | undefined;
764
+ received?: JsonValue | undefined;
765
+ }[];
766
+ plan?: never;
767
+ metrics?: never;
768
+ eventStats?: never;
769
+ coverage?: never;
770
+ catalog?: never;
771
+ validationFeedback?: never;
772
+ } | {
773
+ validationErrors: readonly {
774
+ code: "WORKFLOW_JSON_INVALID" | "WORKFLOW_SCHEMA_INVALID" | "RUNTIME_POLICY_INVALID" | "ATOM_CATALOG_INVALID" | "ATOM_CATALOG_DUPLICATE" | "NODE_LIMIT_EXCEEDED" | "DEPENDENCY_LIMIT_EXCEEDED" | "ATOM_NOT_FOUND" | "ATOM_UNAVAILABLE" | "DEPRECATED_ATOM_FORBIDDEN" | "ATTEMPT_TIMEOUT_LIMIT_EXCEEDED" | "LIFECYCLE_TICK_TIMEOUT_LIMIT_EXCEEDED" | "LIFECYCLE_TICK_LIMIT_EXCEEDED" | "RETRY_LIMIT_EXCEEDED" | "RETRY_DELAY_LIMIT_EXCEEDED" | "RETRY_POLICY_INVALID" | "NON_IDEMPOTENT_RETRY_FORBIDDEN" | "CACHE_TTL_LIMIT_EXCEEDED" | "CACHE_ENABLE_OVERRIDE_FORBIDDEN" | "MAP_LIMIT_EXCEEDED" | "MAP_GROUP_CONFIG_MISMATCH" | "MAP_COMPLETION_CONFLICT" | "AGENT_PROVIDER_FORBIDDEN" | "AGENT_MODEL_FORBIDDEN" | "AGENT_FALLBACK_LIMIT_EXCEEDED" | "AGENT_FALLBACK_DUPLICATE" | "AGENT_CWD_FORBIDDEN" | "DUPLICATE_NODE_ID" | "DUPLICATE_DEPENDENCY" | "SELF_DEPENDENCY" | "DEPENDENCY_NOT_FOUND" | "DEPENDENCY_CYCLE" | "ENTRY_NODE_NOT_FOUND" | "ENTRY_NODE_DUPLICATE" | "ENTRY_DEPENDENCY_INVALID" | "EDGE_TARGET_NOT_FOUND" | "EDGE_TARGET_DUPLICATE" | "EDGE_TERMINAL_WITH_INPUT_FORBIDDEN" | "EDGE_BACK_EDGE_UNBOUNDED" | "EDGE_TRAVERSAL_LIMIT_EXCEEDED" | "DECISION_SELECT_REFERENCE_INVALID" | "DECISION_SELECT_TYPE_MISMATCH" | "DECISION_BRANCH_ENUM_MISMATCH" | "CONTROL_NODE_UNREACHABLE" | "CONTROL_DEAD_END" | "CONTROL_TERMINAL_UNREACHABLE" | "JOIN_CONTROL_PREDECESSOR_MISSING" | "PARALLEL_FANOUT_NOT_JOINED" | "BRANCH_MERGE_INPUT_MISSING" | "BRANCH_MERGE_SOURCE_INVALID" | "REFERENCE_NOT_FOUND" | "REFERENCE_SOURCE_OPTIONAL" | "REFERENCE_NOT_DEPENDENCY" | "MAP_REFERENCE_OUTSIDE_MAP" | "EDGE_REFERENCE_OUTSIDE_EDGE" | "WORKFLOW_OUTPUT_REFERENCE_INVALID" | "REFERENCE_INVALID" | "REFERENCE_TYPE_MISMATCH" | "INPUT_SCHEMA_MISMATCH" | "INPUT_REQUIRED_PROPERTY_MISSING" | "INPUT_ADDITIONAL_PROPERTY_FORBIDDEN" | "MAP_ITEMS_NOT_ARRAY" | "EDGE_INPUT_SCHEMA_MISMATCH" | "AGENT_CWD_TYPE_MISMATCH" | "PLANNER_DRAFT_SCHEMA_INVALID" | "PLANNER_DRAFT_ATOM_NOT_SELECTED" | "PLANNER_DRAFT_ALIAS_DUPLICATE" | "PLANNER_DRAFT_REFERENCE_INVALID" | "PLANNER_DRAFT_REFERENCE_AMBIGUOUS" | "PLANNER_DRAFT_CONTROL_INVALID" | "PLANNER_DRAFT_NORMALIZATION_FAILED" | "PLANNER_TURN_LIMIT_EXCEEDED" | "PLANNER_CAPABILITY_SCHEMA_INVALID" | "PLANNING_WORKSPACE_ACTION_INVALID" | "PLANNING_CAPABILITY_UNAVAILABLE" | "PLANNING_CAPABILITY_ATOM_UNKNOWN" | "PLANNING_CAPABILITY_SCHEMA_MISMATCH" | "PLANNING_SELECTED_ATOM_LIMIT_EXCEEDED" | "PLANNING_REQUIRED_INPUT_UNAVAILABLE" | "PLANNING_BINDING_SOURCE_OPTIONAL" | "PLANNING_BINDING_AMBIGUOUS" | "PLANNING_BRANCH_RESULT_REQUIRED" | "PLANNING_BRANCH_RESULT_MISMATCH" | "PLANNING_DECISION_NO_EFFECT" | "PLANNING_DRAFT_EMPTY" | "PLANNING_TRANSACTION_INVALID" | "PLANNING_TRANSACTION_LIMIT_EXCEEDED" | "PLANNING_TRANSACTION_VALIDATION_FAILED" | "PLANNING_REVISION_CONFLICT" | "PLANNING_REVISION_LIMIT_EXCEEDED" | "PLANNING_NODE_LIMIT_EXCEEDED" | "PLANNING_OPERATION_CONFLICT" | "PLANNING_BLOCK_DUPLICATE" | "PLANNING_BLOCK_NOT_FOUND" | "PLANNING_FINALIZE_CONFLICT" | "PLANNING_WORKSPACE_NOT_EDITABLE" | "PLANNING_WORKSPACE_NOT_FINALIZABLE" | "PLANNING_ATOM_UNAVAILABLE" | "PLANNING_ATOM_SCHEMA_DESCRIPTION_REQUIRED" | "PLANNING_FINAL_VALIDATION_FAILED" | "PLANNING_WORKFLOW_OUTPUT_REQUIRED" | "PLANNING_REQUIRED_CAPABILITY_NOT_REALIZED" | "PLANNING_FINALIZED_REVISION_MISSING";
775
+ path: string;
776
+ message: string;
777
+ stage?: "json-extract" | "capability-schema" | "capability-resolution" | "draft-schema" | "atom-resolution" | "draft-normalization" | "workflow-schema" | "data-link" | "control-graph" | "runtime-policy" | undefined;
778
+ hint?: string | undefined;
779
+ atomId?: string | undefined;
780
+ expected?: JsonValue | undefined;
781
+ received?: JsonValue | undefined;
782
+ }[];
783
+ validationFeedback: readonly (readonly {
784
+ code: "WORKFLOW_JSON_INVALID" | "WORKFLOW_SCHEMA_INVALID" | "RUNTIME_POLICY_INVALID" | "ATOM_CATALOG_INVALID" | "ATOM_CATALOG_DUPLICATE" | "NODE_LIMIT_EXCEEDED" | "DEPENDENCY_LIMIT_EXCEEDED" | "ATOM_NOT_FOUND" | "ATOM_UNAVAILABLE" | "DEPRECATED_ATOM_FORBIDDEN" | "ATTEMPT_TIMEOUT_LIMIT_EXCEEDED" | "LIFECYCLE_TICK_TIMEOUT_LIMIT_EXCEEDED" | "LIFECYCLE_TICK_LIMIT_EXCEEDED" | "RETRY_LIMIT_EXCEEDED" | "RETRY_DELAY_LIMIT_EXCEEDED" | "RETRY_POLICY_INVALID" | "NON_IDEMPOTENT_RETRY_FORBIDDEN" | "CACHE_TTL_LIMIT_EXCEEDED" | "CACHE_ENABLE_OVERRIDE_FORBIDDEN" | "MAP_LIMIT_EXCEEDED" | "MAP_GROUP_CONFIG_MISMATCH" | "MAP_COMPLETION_CONFLICT" | "AGENT_PROVIDER_FORBIDDEN" | "AGENT_MODEL_FORBIDDEN" | "AGENT_FALLBACK_LIMIT_EXCEEDED" | "AGENT_FALLBACK_DUPLICATE" | "AGENT_CWD_FORBIDDEN" | "DUPLICATE_NODE_ID" | "DUPLICATE_DEPENDENCY" | "SELF_DEPENDENCY" | "DEPENDENCY_NOT_FOUND" | "DEPENDENCY_CYCLE" | "ENTRY_NODE_NOT_FOUND" | "ENTRY_NODE_DUPLICATE" | "ENTRY_DEPENDENCY_INVALID" | "EDGE_TARGET_NOT_FOUND" | "EDGE_TARGET_DUPLICATE" | "EDGE_TERMINAL_WITH_INPUT_FORBIDDEN" | "EDGE_BACK_EDGE_UNBOUNDED" | "EDGE_TRAVERSAL_LIMIT_EXCEEDED" | "DECISION_SELECT_REFERENCE_INVALID" | "DECISION_SELECT_TYPE_MISMATCH" | "DECISION_BRANCH_ENUM_MISMATCH" | "CONTROL_NODE_UNREACHABLE" | "CONTROL_DEAD_END" | "CONTROL_TERMINAL_UNREACHABLE" | "JOIN_CONTROL_PREDECESSOR_MISSING" | "PARALLEL_FANOUT_NOT_JOINED" | "BRANCH_MERGE_INPUT_MISSING" | "BRANCH_MERGE_SOURCE_INVALID" | "REFERENCE_NOT_FOUND" | "REFERENCE_SOURCE_OPTIONAL" | "REFERENCE_NOT_DEPENDENCY" | "MAP_REFERENCE_OUTSIDE_MAP" | "EDGE_REFERENCE_OUTSIDE_EDGE" | "WORKFLOW_OUTPUT_REFERENCE_INVALID" | "REFERENCE_INVALID" | "REFERENCE_TYPE_MISMATCH" | "INPUT_SCHEMA_MISMATCH" | "INPUT_REQUIRED_PROPERTY_MISSING" | "INPUT_ADDITIONAL_PROPERTY_FORBIDDEN" | "MAP_ITEMS_NOT_ARRAY" | "EDGE_INPUT_SCHEMA_MISMATCH" | "AGENT_CWD_TYPE_MISMATCH" | "PLANNER_DRAFT_SCHEMA_INVALID" | "PLANNER_DRAFT_ATOM_NOT_SELECTED" | "PLANNER_DRAFT_ALIAS_DUPLICATE" | "PLANNER_DRAFT_REFERENCE_INVALID" | "PLANNER_DRAFT_REFERENCE_AMBIGUOUS" | "PLANNER_DRAFT_CONTROL_INVALID" | "PLANNER_DRAFT_NORMALIZATION_FAILED" | "PLANNER_TURN_LIMIT_EXCEEDED" | "PLANNER_CAPABILITY_SCHEMA_INVALID" | "PLANNING_WORKSPACE_ACTION_INVALID" | "PLANNING_CAPABILITY_UNAVAILABLE" | "PLANNING_CAPABILITY_ATOM_UNKNOWN" | "PLANNING_CAPABILITY_SCHEMA_MISMATCH" | "PLANNING_SELECTED_ATOM_LIMIT_EXCEEDED" | "PLANNING_REQUIRED_INPUT_UNAVAILABLE" | "PLANNING_BINDING_SOURCE_OPTIONAL" | "PLANNING_BINDING_AMBIGUOUS" | "PLANNING_BRANCH_RESULT_REQUIRED" | "PLANNING_BRANCH_RESULT_MISMATCH" | "PLANNING_DECISION_NO_EFFECT" | "PLANNING_DRAFT_EMPTY" | "PLANNING_TRANSACTION_INVALID" | "PLANNING_TRANSACTION_LIMIT_EXCEEDED" | "PLANNING_TRANSACTION_VALIDATION_FAILED" | "PLANNING_REVISION_CONFLICT" | "PLANNING_REVISION_LIMIT_EXCEEDED" | "PLANNING_NODE_LIMIT_EXCEEDED" | "PLANNING_OPERATION_CONFLICT" | "PLANNING_BLOCK_DUPLICATE" | "PLANNING_BLOCK_NOT_FOUND" | "PLANNING_FINALIZE_CONFLICT" | "PLANNING_WORKSPACE_NOT_EDITABLE" | "PLANNING_WORKSPACE_NOT_FINALIZABLE" | "PLANNING_ATOM_UNAVAILABLE" | "PLANNING_ATOM_SCHEMA_DESCRIPTION_REQUIRED" | "PLANNING_FINAL_VALIDATION_FAILED" | "PLANNING_WORKFLOW_OUTPUT_REQUIRED" | "PLANNING_REQUIRED_CAPABILITY_NOT_REALIZED" | "PLANNING_FINALIZED_REVISION_MISSING";
785
+ path: string;
786
+ message: string;
787
+ stage?: "json-extract" | "capability-schema" | "capability-resolution" | "draft-schema" | "atom-resolution" | "draft-normalization" | "workflow-schema" | "data-link" | "control-graph" | "runtime-policy" | undefined;
788
+ hint?: string | undefined;
789
+ atomId?: string | undefined;
790
+ expected?: JsonValue | undefined;
791
+ received?: JsonValue | undefined;
792
+ }[])[];
793
+ plan?: never;
794
+ metrics?: never;
795
+ eventStats?: never;
796
+ coverage?: never;
797
+ catalog?: never;
798
+ draft?: never;
799
+ } | null>;
800
+ cancelPlan(planId: string): Promise<{
801
+ status: "cancelled";
802
+ updatedAt: string;
803
+ endedAt: string;
804
+ schemaVersion: "1.0";
805
+ planId: string;
806
+ request: {
807
+ goal: string;
808
+ cwd: string;
809
+ projectScope: string;
810
+ hostScope: string;
811
+ initialWorkflowInputs: Record<string, JsonValue>;
812
+ context: JsonValue;
813
+ };
814
+ planner: {
815
+ provider: string;
816
+ model: string;
817
+ maxPlanningTurns?: number | undefined;
818
+ };
819
+ catalogHash: string;
820
+ inputRevisions: {
821
+ revision: number;
822
+ patch: Record<string, JsonValue>;
823
+ effectiveInputsHash: string;
824
+ createdAt: string;
825
+ }[];
826
+ hashes: {
827
+ draft?: string | undefined;
828
+ workflowSpec?: string | undefined;
829
+ workflowIr?: string | undefined;
830
+ };
831
+ validationErrors: {
832
+ code: "WORKFLOW_JSON_INVALID" | "WORKFLOW_SCHEMA_INVALID" | "RUNTIME_POLICY_INVALID" | "ATOM_CATALOG_INVALID" | "ATOM_CATALOG_DUPLICATE" | "NODE_LIMIT_EXCEEDED" | "DEPENDENCY_LIMIT_EXCEEDED" | "ATOM_NOT_FOUND" | "ATOM_UNAVAILABLE" | "DEPRECATED_ATOM_FORBIDDEN" | "ATTEMPT_TIMEOUT_LIMIT_EXCEEDED" | "LIFECYCLE_TICK_TIMEOUT_LIMIT_EXCEEDED" | "LIFECYCLE_TICK_LIMIT_EXCEEDED" | "RETRY_LIMIT_EXCEEDED" | "RETRY_DELAY_LIMIT_EXCEEDED" | "RETRY_POLICY_INVALID" | "NON_IDEMPOTENT_RETRY_FORBIDDEN" | "CACHE_TTL_LIMIT_EXCEEDED" | "CACHE_ENABLE_OVERRIDE_FORBIDDEN" | "MAP_LIMIT_EXCEEDED" | "MAP_GROUP_CONFIG_MISMATCH" | "MAP_COMPLETION_CONFLICT" | "AGENT_PROVIDER_FORBIDDEN" | "AGENT_MODEL_FORBIDDEN" | "AGENT_FALLBACK_LIMIT_EXCEEDED" | "AGENT_FALLBACK_DUPLICATE" | "AGENT_CWD_FORBIDDEN" | "DUPLICATE_NODE_ID" | "DUPLICATE_DEPENDENCY" | "SELF_DEPENDENCY" | "DEPENDENCY_NOT_FOUND" | "DEPENDENCY_CYCLE" | "ENTRY_NODE_NOT_FOUND" | "ENTRY_NODE_DUPLICATE" | "ENTRY_DEPENDENCY_INVALID" | "EDGE_TARGET_NOT_FOUND" | "EDGE_TARGET_DUPLICATE" | "EDGE_TERMINAL_WITH_INPUT_FORBIDDEN" | "EDGE_BACK_EDGE_UNBOUNDED" | "EDGE_TRAVERSAL_LIMIT_EXCEEDED" | "DECISION_SELECT_REFERENCE_INVALID" | "DECISION_SELECT_TYPE_MISMATCH" | "DECISION_BRANCH_ENUM_MISMATCH" | "CONTROL_NODE_UNREACHABLE" | "CONTROL_DEAD_END" | "CONTROL_TERMINAL_UNREACHABLE" | "JOIN_CONTROL_PREDECESSOR_MISSING" | "PARALLEL_FANOUT_NOT_JOINED" | "BRANCH_MERGE_INPUT_MISSING" | "BRANCH_MERGE_SOURCE_INVALID" | "REFERENCE_NOT_FOUND" | "REFERENCE_SOURCE_OPTIONAL" | "REFERENCE_NOT_DEPENDENCY" | "MAP_REFERENCE_OUTSIDE_MAP" | "EDGE_REFERENCE_OUTSIDE_EDGE" | "WORKFLOW_OUTPUT_REFERENCE_INVALID" | "REFERENCE_INVALID" | "REFERENCE_TYPE_MISMATCH" | "INPUT_SCHEMA_MISMATCH" | "INPUT_REQUIRED_PROPERTY_MISSING" | "INPUT_ADDITIONAL_PROPERTY_FORBIDDEN" | "MAP_ITEMS_NOT_ARRAY" | "EDGE_INPUT_SCHEMA_MISMATCH" | "AGENT_CWD_TYPE_MISMATCH" | "PLANNER_DRAFT_SCHEMA_INVALID" | "PLANNER_DRAFT_ATOM_NOT_SELECTED" | "PLANNER_DRAFT_ALIAS_DUPLICATE" | "PLANNER_DRAFT_REFERENCE_INVALID" | "PLANNER_DRAFT_REFERENCE_AMBIGUOUS" | "PLANNER_DRAFT_CONTROL_INVALID" | "PLANNER_DRAFT_NORMALIZATION_FAILED" | "PLANNER_TURN_LIMIT_EXCEEDED" | "PLANNER_CAPABILITY_SCHEMA_INVALID" | "PLANNING_WORKSPACE_ACTION_INVALID" | "PLANNING_CAPABILITY_UNAVAILABLE" | "PLANNING_CAPABILITY_ATOM_UNKNOWN" | "PLANNING_CAPABILITY_SCHEMA_MISMATCH" | "PLANNING_SELECTED_ATOM_LIMIT_EXCEEDED" | "PLANNING_REQUIRED_INPUT_UNAVAILABLE" | "PLANNING_BINDING_SOURCE_OPTIONAL" | "PLANNING_BINDING_AMBIGUOUS" | "PLANNING_BRANCH_RESULT_REQUIRED" | "PLANNING_BRANCH_RESULT_MISMATCH" | "PLANNING_DECISION_NO_EFFECT" | "PLANNING_DRAFT_EMPTY" | "PLANNING_TRANSACTION_INVALID" | "PLANNING_TRANSACTION_LIMIT_EXCEEDED" | "PLANNING_TRANSACTION_VALIDATION_FAILED" | "PLANNING_REVISION_CONFLICT" | "PLANNING_REVISION_LIMIT_EXCEEDED" | "PLANNING_NODE_LIMIT_EXCEEDED" | "PLANNING_OPERATION_CONFLICT" | "PLANNING_BLOCK_DUPLICATE" | "PLANNING_BLOCK_NOT_FOUND" | "PLANNING_FINALIZE_CONFLICT" | "PLANNING_WORKSPACE_NOT_EDITABLE" | "PLANNING_WORKSPACE_NOT_FINALIZABLE" | "PLANNING_ATOM_UNAVAILABLE" | "PLANNING_ATOM_SCHEMA_DESCRIPTION_REQUIRED" | "PLANNING_FINAL_VALIDATION_FAILED" | "PLANNING_WORKFLOW_OUTPUT_REQUIRED" | "PLANNING_REQUIRED_CAPABILITY_NOT_REALIZED" | "PLANNING_FINALIZED_REVISION_MISSING";
833
+ path: string;
834
+ message: string;
835
+ stage?: "json-extract" | "capability-schema" | "capability-resolution" | "draft-schema" | "atom-resolution" | "draft-normalization" | "workflow-schema" | "data-link" | "control-graph" | "runtime-policy" | undefined;
836
+ hint?: string | undefined;
837
+ atomId?: string | undefined;
838
+ expected?: JsonValue | undefined;
839
+ received?: JsonValue | undefined;
840
+ }[];
841
+ createdAt: string;
842
+ workflowRevisionId?: string | undefined;
843
+ error?: {
844
+ code: string;
845
+ message: string;
846
+ retryable: boolean;
847
+ } | undefined;
848
+ }>;
849
+ resumePlan(planId: string, patch: Readonly<Record<string, JsonValue>>, execution?: WorkflowServiceExecutionOptions): Promise<DurablePlanRecord>;
850
+ listWorkflows(): Promise<readonly {
851
+ schemaVersion: "1.0";
852
+ workflowId: string;
853
+ name: string;
854
+ latestRevisionId: string;
855
+ revisionIds: string[];
856
+ createdAt: string;
857
+ updatedAt: string;
858
+ }[]>;
859
+ inspectWorkflow(reference: string): Promise<import("@atom-workflow-agent/workflow-engine").StoredWorkflowRevision | {
860
+ readonly definition: import("@atom-workflow-agent/contracts").WorkflowDefinition;
861
+ readonly revisions: readonly import("@atom-workflow-agent/contracts").WorkflowRevision[];
862
+ }>;
863
+ exportWorkflow(reference: string): Promise<{
864
+ workflowId: string;
865
+ workflowRevisionId: string;
866
+ revision: number;
867
+ workflowSpec: {
868
+ schemaVersion: "1.2";
869
+ name: string;
870
+ inputs: Record<string, JsonValue>;
871
+ entry: string[];
872
+ nodes: ({
873
+ next: {
874
+ to: string | string[];
875
+ with: Record<string, JsonValue>;
876
+ maxTraversals?: number | undefined;
877
+ };
878
+ id: string;
879
+ atom: string;
880
+ dependsOn: string[];
881
+ input: JsonValue;
882
+ kind: "atom";
883
+ map?: {
884
+ items: {
885
+ $ref: string;
886
+ };
887
+ maxItems: number;
888
+ maxConcurrency: number;
889
+ group?: string | undefined;
890
+ } | undefined;
891
+ policy?: {
892
+ attemptTimeoutMs?: number | undefined;
893
+ lifecycleTickTimeoutMs?: number | undefined;
894
+ maxLifecycleTicks?: number | undefined;
895
+ retry?: {
896
+ maxAttempts?: number | undefined;
897
+ strategy?: "fixed" | "exponential" | undefined;
898
+ baseDelayMs?: number | undefined;
899
+ maxDelayMs?: number | undefined;
900
+ jitter?: boolean | undefined;
901
+ } | undefined;
902
+ cache?: {
903
+ enabled?: boolean | undefined;
904
+ ttlMs?: number | undefined;
905
+ } | undefined;
906
+ } | undefined;
907
+ } | {
908
+ select: {
909
+ $ref: string;
910
+ };
911
+ branches: Record<string, {
912
+ to: string | string[];
913
+ with: Record<string, JsonValue>;
914
+ maxTraversals?: number | undefined;
915
+ }>;
916
+ default: {
917
+ to: string | string[];
918
+ with: Record<string, JsonValue>;
919
+ maxTraversals?: number | undefined;
920
+ };
921
+ id: string;
922
+ atom: string;
923
+ dependsOn: string[];
924
+ input: JsonValue;
925
+ kind: "decision";
926
+ map?: {
927
+ items: {
928
+ $ref: string;
929
+ };
930
+ maxItems: number;
931
+ maxConcurrency: number;
932
+ group?: string | undefined;
933
+ } | undefined;
934
+ policy?: {
935
+ attemptTimeoutMs?: number | undefined;
936
+ lifecycleTickTimeoutMs?: number | undefined;
937
+ maxLifecycleTicks?: number | undefined;
938
+ retry?: {
939
+ maxAttempts?: number | undefined;
940
+ strategy?: "fixed" | "exponential" | undefined;
941
+ baseDelayMs?: number | undefined;
942
+ maxDelayMs?: number | undefined;
943
+ jitter?: boolean | undefined;
944
+ } | undefined;
945
+ cache?: {
946
+ enabled?: boolean | undefined;
947
+ ttlMs?: number | undefined;
948
+ } | undefined;
949
+ } | undefined;
950
+ } | {
951
+ kind: "merge";
952
+ id: string;
953
+ dependsOn: string[];
954
+ outputSchema: Record<string, JsonValue>;
955
+ next: {
956
+ to: string | string[];
957
+ with: Record<string, JsonValue>;
958
+ maxTraversals?: number | undefined;
959
+ };
960
+ })[];
961
+ outputs: Record<string, {
962
+ $ref: string;
963
+ }>;
964
+ };
965
+ }>;
966
+ diffWorkflows(from: string, to: string): Promise<{
967
+ from: string;
968
+ to: string;
969
+ identical: boolean;
970
+ nodes: {
971
+ added: string[];
972
+ removed: string[];
973
+ changed: {
974
+ nodeId: string;
975
+ fromKind: "atom" | "decision" | "merge";
976
+ toKind: "atom" | "decision" | "merge";
977
+ fromAtom: string | null;
978
+ toAtom: string | null;
979
+ }[];
980
+ };
981
+ inputsChanged: boolean;
982
+ outputsChanged: boolean;
983
+ entryChanged: boolean;
984
+ }>;
985
+ topology(reference: string, format?: "json" | "terminal"): Promise<string | {
986
+ schemaVersion: "1.0";
987
+ workflowRevisionId: string;
988
+ irHash: string;
989
+ nodes: {
990
+ id: string;
991
+ kind: "join" | "map" | "atom" | "merge" | "switch";
992
+ atom?: string | undefined;
993
+ mapScope?: string | undefined;
994
+ }[];
995
+ controlEdges: {
996
+ id: string;
997
+ source: string;
998
+ targets: string[];
999
+ kind: string;
1000
+ backEdge: boolean;
1001
+ branch?: string | undefined;
1002
+ terminal?: string | undefined;
1003
+ maxTraversals?: number | undefined;
1004
+ }[];
1005
+ dataEdges: {
1006
+ source: string;
1007
+ target: string;
1008
+ targetPath: string;
1009
+ reference: string;
1010
+ }[];
1011
+ groups: {
1012
+ entries: string[];
1013
+ forks: {
1014
+ edgeId: string;
1015
+ targets: string[];
1016
+ }[];
1017
+ joins: {
1018
+ nodeId: string;
1019
+ dependencies: string[];
1020
+ }[];
1021
+ maps: {
1022
+ nodeId: string;
1023
+ maxItems: number;
1024
+ maxConcurrency: number;
1025
+ bodyNodeIds: string[];
1026
+ }[];
1027
+ switches: {
1028
+ nodeId: string;
1029
+ cases: string[];
1030
+ hasDefault: boolean;
1031
+ }[];
1032
+ };
1033
+ }>;
1034
+ graph(resourceId: string): Promise<{
1035
+ schemaVersion: "1.0";
1036
+ workflowRevisionId: string;
1037
+ irHash: string;
1038
+ lastEventSequence: number;
1039
+ nodes: {
1040
+ id: string;
1041
+ kind: "output" | "input" | "join" | "map" | "atom" | "merge" | "terminal" | "switch";
1042
+ label: string;
1043
+ atom?: string | undefined;
1044
+ capability?: {
1045
+ schemaVersion: "1.0";
1046
+ hash: string;
1047
+ key: string;
1048
+ id: string;
1049
+ version: string;
1050
+ title: string;
1051
+ description: string;
1052
+ inputSchema: Record<string, JsonValue>;
1053
+ outputSchema: Record<string, JsonValue>;
1054
+ } | undefined;
1055
+ mapScope?: string | undefined;
1056
+ runtime?: {
1057
+ status: "ready" | "succeeded" | "failed" | "cancelled" | "running" | "awaiting_signal" | "awaiting_host" | "interrupted" | "unknown_outcome" | "retry_wait";
1058
+ activeDurationMs: number;
1059
+ attemptCount: number;
1060
+ retryCount: number;
1061
+ latestActivation: {
1062
+ activationId: string;
1063
+ activationIndex: number;
1064
+ status: "ready" | "succeeded" | "failed" | "cancelled" | "running" | "awaiting_signal" | "awaiting_host" | "interrupted" | "unknown_outcome" | "retry_wait";
1065
+ attemptCount: number;
1066
+ retryCount: number;
1067
+ activeDurationMs: number;
1068
+ artifacts: {
1069
+ id: string;
1070
+ kind: string;
1071
+ hash?: string | undefined;
1072
+ }[];
1073
+ mapRunId?: string | undefined;
1074
+ mapIndex?: number | undefined;
1075
+ mapItem?: JsonValue | undefined;
1076
+ createdAt?: string | undefined;
1077
+ startedAt?: string | undefined;
1078
+ endedAt?: string | undefined;
1079
+ error?: {
1080
+ code: string;
1081
+ message: string;
1082
+ retryable: boolean;
1083
+ } | undefined;
1084
+ input?: JsonValue | undefined;
1085
+ output?: JsonValue | undefined;
1086
+ };
1087
+ activationCount: number;
1088
+ artifactCount: number;
1089
+ activations: {
1090
+ activationId: string;
1091
+ activationIndex: number;
1092
+ status: "ready" | "succeeded" | "failed" | "cancelled" | "running" | "awaiting_signal" | "awaiting_host" | "interrupted" | "unknown_outcome" | "retry_wait";
1093
+ attemptCount: number;
1094
+ retryCount: number;
1095
+ activeDurationMs: number;
1096
+ artifacts: {
1097
+ id: string;
1098
+ kind: string;
1099
+ hash?: string | undefined;
1100
+ }[];
1101
+ mapRunId?: string | undefined;
1102
+ mapIndex?: number | undefined;
1103
+ mapItem?: JsonValue | undefined;
1104
+ createdAt?: string | undefined;
1105
+ startedAt?: string | undefined;
1106
+ endedAt?: string | undefined;
1107
+ error?: {
1108
+ code: string;
1109
+ message: string;
1110
+ retryable: boolean;
1111
+ } | undefined;
1112
+ input?: JsonValue | undefined;
1113
+ output?: JsonValue | undefined;
1114
+ }[];
1115
+ waitingKind?: "signal" | "host" | undefined;
1116
+ } | undefined;
1117
+ }[];
1118
+ edges: ({
1119
+ id: string;
1120
+ kind: "control";
1121
+ source: string;
1122
+ targets: string[];
1123
+ controlKind: string;
1124
+ backEdge: boolean;
1125
+ branch?: string | undefined;
1126
+ terminal?: string | undefined;
1127
+ maxTraversals?: number | undefined;
1128
+ runtime?: {
1129
+ traversalCount: number;
1130
+ selected: boolean;
1131
+ lastTraversedAt?: string | undefined;
1132
+ } | undefined;
1133
+ } | {
1134
+ id: string;
1135
+ kind: "data";
1136
+ source: string;
1137
+ target: string;
1138
+ targetPath: string;
1139
+ reference: string;
1140
+ })[];
1141
+ groups: {
1142
+ entries: string[];
1143
+ forks: {
1144
+ edgeId: string;
1145
+ targets: string[];
1146
+ }[];
1147
+ joins: {
1148
+ nodeId: string;
1149
+ dependencies: string[];
1150
+ }[];
1151
+ maps: {
1152
+ nodeId: string;
1153
+ maxItems: number;
1154
+ maxConcurrency: number;
1155
+ bodyNodeIds: string[];
1156
+ }[];
1157
+ switches: {
1158
+ nodeId: string;
1159
+ cases: string[];
1160
+ hasDefault: boolean;
1161
+ }[];
1162
+ };
1163
+ decisions: {
1164
+ nodeId: string;
1165
+ activationId: string;
1166
+ selectedBranch: string;
1167
+ matched: boolean;
1168
+ edgeId: string;
1169
+ selectedAt: string;
1170
+ }[];
1171
+ maps: {
1172
+ mapRunId: string;
1173
+ nodeId: string;
1174
+ status: "succeeded" | "failed" | "running";
1175
+ itemCount: number;
1176
+ completedCount: number;
1177
+ activeCount: number;
1178
+ }[];
1179
+ artifacts: {
1180
+ id: string;
1181
+ attemptId: string;
1182
+ kind: string;
1183
+ hash: string;
1184
+ contentKind: "file" | "inline" | "empty";
1185
+ metadata: Record<string, JsonValue>;
1186
+ createdAt: string;
1187
+ activationId?: string | undefined;
1188
+ nodeId?: string | undefined;
1189
+ path?: string | undefined;
1190
+ }[];
1191
+ pending: {
1192
+ signals: number;
1193
+ hostTasks: number;
1194
+ };
1195
+ run?: {
1196
+ runId: string;
1197
+ status: "created" | "succeeded" | "failed" | "cancelled" | "running" | "planning" | "awaiting_signal" | "awaiting_host" | "interrupted" | "unknown_outcome";
1198
+ goal: string;
1199
+ createdAt: string;
1200
+ updatedAt: string;
1201
+ outputs?: JsonValue | undefined;
1202
+ error?: {
1203
+ code: string;
1204
+ message: string;
1205
+ retryable: boolean;
1206
+ } | undefined;
1207
+ startedAt?: string | undefined;
1208
+ endedAt?: string | undefined;
1209
+ } | undefined;
1210
+ }>;
1211
+ startInspector(resourceId: string, options?: {
1212
+ readonly host?: string;
1213
+ readonly port?: number;
1214
+ readonly pollIntervalMs?: number;
1215
+ readonly signal?: AbortSignal;
1216
+ }): Promise<WorkflowInspectorServerHandle>;
1217
+ verifyWorkflowRevision(workflowRevisionId: string, cwd?: string, hostScope?: string): Promise<import("@atom-workflow-agent/workflow-engine").StoredWorkflowRevision>;
1218
+ runWorkflowRevision(workflowRevisionId: string, input?: {
1219
+ runId?: string;
1220
+ goal?: string;
1221
+ cwd?: string;
1222
+ projectScope?: string;
1223
+ hostScope?: string;
1224
+ inputs?: Readonly<Record<string, JsonValue>>;
1225
+ }): Promise<RuntimeSnapshot>;
1226
+ execute(command: RuntimeMachineCommand, execution?: WorkflowServiceExecutionOptions): Promise<unknown>;
1227
+ private withProgress;
1228
+ dispose(): Promise<void>;
1229
+ listAtoms(): JsonValue;
1230
+ listAtomSources(): JsonValue;
1231
+ describeAtom(key: string): JsonValue;
1232
+ runAtom(key: string, input: JsonValue, execution?: AtomDevelopmentExecutionOptions): Promise<import("../atoms/atom-development-service.js").AtomDevelopmentResult>;
1233
+ resumeAtom(attemptId: string, value: JsonValue, execution?: AtomDevelopmentExecutionOptions): Promise<import("../atoms/atom-development-service.js").AtomDevelopmentResult>;
1234
+ inspectAtomAttempt(attemptId: string): Promise<JsonValue>;
1235
+ listAtomAttemptEvents(attemptId: string, after?: number, limit?: number): Promise<readonly import("../atoms/atom-development-store.js").AtomDevelopmentEvent[]>;
1236
+ }
1237
+ //# sourceMappingURL=workflow-service.d.ts.map