@codemation/core 1.0.0 → 1.0.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 (58) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/{EngineRuntimeRegistration.types-BP6tsaNP.d.ts → EngineRuntimeRegistration.types-kxQA5NLt.d.ts} +2 -2
  3. package/dist/{EngineWorkflowRunnerService-DzOCa1BW.d.cts → EngineWorkflowRunnerService-Ba2AvBnL.d.cts} +2 -2
  4. package/dist/{InMemoryRunDataFactory-1iz7_SnO.d.cts → InMemoryRunDataFactory-Ou4tQUOS.d.cts} +2 -2
  5. package/dist/{RunIntentService-S-1lW-gS.d.cts → RunIntentService-Dyh_dH0k.d.cts} +528 -467
  6. package/dist/{RunIntentService-BqhmdoA1.d.ts → RunIntentService-dteLjNiT.d.ts} +568 -462
  7. package/dist/bootstrap/index.cjs +2 -2
  8. package/dist/bootstrap/index.d.cts +3 -3
  9. package/dist/bootstrap/index.d.ts +3 -3
  10. package/dist/bootstrap/index.js +2 -2
  11. package/dist/{bootstrap-jqh1kCNI.js → bootstrap-CL68rqWg.js} +3 -2
  12. package/dist/bootstrap-CL68rqWg.js.map +1 -0
  13. package/dist/{bootstrap-BfZE19lK.cjs → bootstrap-Cko6udwL.cjs} +3 -2
  14. package/dist/bootstrap-Cko6udwL.cjs.map +1 -0
  15. package/dist/{index-CGs3Hnoz.d.ts → index-CyfGTfU1.d.ts} +51 -3
  16. package/dist/index.cjs +10 -11
  17. package/dist/index.cjs.map +1 -1
  18. package/dist/index.d.cts +96 -3
  19. package/dist/index.d.ts +3 -3
  20. package/dist/index.js +2 -11
  21. package/dist/index.js.map +1 -1
  22. package/dist/{runtime-u6O644ST.js → runtime-284ok0cm.js} +200 -30
  23. package/dist/runtime-284ok0cm.js.map +1 -0
  24. package/dist/{runtime-DWKfb0BI.cjs → runtime-B3Og-_St.cjs} +222 -28
  25. package/dist/runtime-B3Og-_St.cjs.map +1 -0
  26. package/dist/testing.cjs +2 -2
  27. package/dist/testing.d.cts +2 -2
  28. package/dist/testing.d.ts +2 -2
  29. package/dist/testing.js +2 -2
  30. package/package.json +1 -1
  31. package/src/ai/AiHost.ts +9 -0
  32. package/src/bootstrap/runtime/EngineRuntimeRegistrar.ts +4 -0
  33. package/src/browser.ts +1 -0
  34. package/src/contracts/CodemationTelemetryAttributeNames.ts +6 -0
  35. package/src/contracts/NoOpNodeExecutionTelemetry.ts +2 -11
  36. package/src/contracts/NoOpTelemetrySpanScope.ts +46 -10
  37. package/src/contracts/executionPersistenceContracts.ts +30 -0
  38. package/src/contracts/runTypes.ts +10 -0
  39. package/src/contracts/runtimeTypes.ts +8 -0
  40. package/src/contracts/telemetryTypes.ts +8 -0
  41. package/src/contracts/workflowTypes.ts +6 -0
  42. package/src/events/ConnectionInvocationEventPublisher.ts +46 -0
  43. package/src/events/index.ts +1 -0
  44. package/src/events/runEvents.ts +25 -0
  45. package/src/execution/ChildExecutionScopeFactory.ts +58 -0
  46. package/src/execution/ExecutionTelemetryCostTrackingDecoratorFactory.ts +18 -0
  47. package/src/execution/NodeExecutor.ts +10 -2
  48. package/src/execution/NodeRunStateWriter.ts +7 -0
  49. package/src/execution/NodeRunStateWriterFactory.ts +7 -0
  50. package/src/execution/index.ts +1 -0
  51. package/src/index.ts +1 -0
  52. package/src/runtime/EngineFactory.ts +1 -0
  53. package/src/workflow/definition/NodeIterationIdFactory.ts +26 -0
  54. package/src/workflow/index.ts +1 -0
  55. package/dist/bootstrap-BfZE19lK.cjs.map +0 -1
  56. package/dist/bootstrap-jqh1kCNI.js.map +0 -1
  57. package/dist/runtime-DWKfb0BI.cjs.map +0 -1
  58. package/dist/runtime-u6O644ST.js.map +0 -1
@@ -3,56 +3,383 @@ import { DependencyContainer as Container, DependencyContainer as DependencyCont
3
3
  import { ZodType } from "zod";
4
4
  import { ReadableStream } from "node:stream/web";
5
5
 
6
- //#region src/events/runEvents.d.ts
7
- type RunEvent = Readonly<{
8
- kind: "runCreated";
9
- runId: RunId;
10
- workflowId: WorkflowId;
11
- parent?: ParentExecutionRef;
12
- at: string;
6
+ //#region src/contracts/runTypes.d.ts
7
+ interface RunExecutionOptions {
8
+ /** Run-intent override: force the inline scheduler and bypass node-level offload decisions. */
9
+ localOnly?: boolean;
10
+ /** Marks runs started from webhook handling so orchestration can apply webhook-specific continuation rules. */
11
+ webhook?: boolean;
12
+ mode?: "manual" | "debug";
13
+ sourceWorkflowId?: WorkflowId;
14
+ sourceRunId?: RunId;
15
+ derivedFromRunId?: RunId;
16
+ isMutable?: boolean;
17
+ /** Set by the engine for this run: 0 = root, 1 = first child subworkflow, … */
18
+ subworkflowDepth?: number;
19
+ /** Effective cap after engine policy merge (successful node completions per run). */
20
+ maxNodeActivations?: number;
21
+ /** Effective cap after engine policy merge (subworkflow nesting). */
22
+ maxSubworkflowDepth?: number;
23
+ }
24
+ /** Engine-owned counters persisted with the run (worker-safe). */
25
+ interface EngineRunCounters {
26
+ completedNodeActivations: number;
27
+ }
28
+ type RunStopCondition = Readonly<{
29
+ kind: "workflowCompleted";
13
30
  }> | Readonly<{
14
- kind: "runSaved";
31
+ kind: "nodeCompleted";
32
+ nodeId: NodeId;
33
+ }>;
34
+ interface RunStateResetRequest {
35
+ clearFromNodeId: NodeId;
36
+ }
37
+ interface PersistedRunControlState {
38
+ stopCondition?: RunStopCondition;
39
+ }
40
+ interface PersistedWorkflowSnapshotNode {
41
+ id: NodeId;
42
+ kind: NodeKind;
43
+ name?: string;
44
+ nodeTokenId: PersistedTokenId;
45
+ configTokenId: PersistedTokenId;
46
+ tokenName?: string;
47
+ configTokenName?: string;
48
+ config: unknown;
49
+ }
50
+ interface PersistedWorkflowSnapshot {
51
+ id: WorkflowId;
52
+ name: string;
53
+ nodes: ReadonlyArray<PersistedWorkflowSnapshotNode>;
54
+ edges: ReadonlyArray<Edge>;
55
+ /** When the snapshot was built from a live workflow definition that configured a workflow error handler. */
56
+ workflowErrorHandlerConfigured?: boolean;
57
+ /** Connection metadata for child nodes not in the execution graph (e.g. AI agent attachments). */
58
+ connections?: ReadonlyArray<WorkflowNodeConnection>;
59
+ }
60
+ type PinnedNodeOutputsByPort = Readonly<Record<OutputPortKey, Items>>;
61
+ interface PersistedMutableNodeState {
62
+ pinnedOutputsByPort?: PinnedNodeOutputsByPort;
63
+ lastDebugInput?: Items;
64
+ }
65
+ interface PersistedMutableRunState {
66
+ nodesById: Readonly<Record<NodeId, PersistedMutableNodeState>>;
67
+ }
68
+ type NodeInputsByPort = Readonly<Record<InputPortKey, Items>>;
69
+ interface RunQueueEntry {
70
+ nodeId: NodeId;
71
+ input: Items;
72
+ toInput?: InputPortKey;
73
+ batchId?: string;
74
+ from?: Readonly<{
75
+ nodeId: NodeId;
76
+ output: OutputPortKey;
77
+ }>;
78
+ collect?: Readonly<{
79
+ expectedInputs: ReadonlyArray<InputPortKey>;
80
+ received: Readonly<Record<InputPortKey, Items>>;
81
+ }>;
82
+ }
83
+ type NodeExecutionStatus = "pending" | "queued" | "running" | "completed" | "failed" | "skipped";
84
+ interface NodeExecutionError {
85
+ message: string;
86
+ name?: string;
87
+ stack?: string;
88
+ details?: JsonValue;
89
+ }
90
+ interface NodeExecutionSnapshot {
15
91
  runId: RunId;
16
92
  workflowId: WorkflowId;
93
+ nodeId: NodeId;
94
+ activationId?: NodeActivationId;
17
95
  parent?: ParentExecutionRef;
18
- at: string;
19
- state: PersistedRunState;
20
- }> | Readonly<{
21
- kind: "nodeQueued";
22
- runId: RunId;
23
- workflowId: WorkflowId;
96
+ status: NodeExecutionStatus;
97
+ usedPinnedOutput?: boolean;
98
+ queuedAt?: string;
99
+ startedAt?: string;
100
+ finishedAt?: string;
101
+ updatedAt: string;
102
+ inputsByPort?: NodeInputsByPort;
103
+ outputs?: NodeOutputs;
104
+ error?: NodeExecutionError;
105
+ }
106
+ /** Stable id for a single connection invocation row in {@link ConnectionInvocationRecord}. */
107
+ type ConnectionInvocationId = string;
108
+ /**
109
+ * One logical LLM or tool call under an owning workflow node (e.g. AI agent).
110
+ * The owning node defines what {@link managedInput} and {@link managedOutput} contain.
111
+ */
112
+ interface ConnectionInvocationRecord {
113
+ readonly invocationId: ConnectionInvocationId;
114
+ readonly runId: RunId;
115
+ readonly workflowId: WorkflowId;
116
+ readonly connectionNodeId: NodeId;
117
+ readonly parentAgentNodeId: NodeId;
118
+ readonly parentAgentActivationId: NodeActivationId;
119
+ readonly status: NodeExecutionStatus;
120
+ readonly managedInput?: JsonValue;
121
+ readonly managedOutput?: JsonValue;
122
+ readonly error?: NodeExecutionError;
123
+ readonly queuedAt?: string;
124
+ readonly startedAt?: string;
125
+ readonly finishedAt?: string;
126
+ readonly updatedAt: string;
127
+ /** Per-item iteration id minted by the engine when this invocation occurred inside a runnable node's per-item loop. */
128
+ readonly iterationId?: NodeIterationId;
129
+ /** Item index (0-based) of the iteration that produced this invocation. */
130
+ readonly itemIndex?: number;
131
+ /** When set, this invocation was produced inside a sub-agent triggered by the named parent invocation. */
132
+ readonly parentInvocationId?: ConnectionInvocationId;
133
+ }
134
+ /** Arguments for appending a {@link ConnectionInvocationRecord} (engine fills run/workflow ids and timestamps). */
135
+ type ConnectionInvocationAppendArgs = Readonly<{
136
+ invocationId: ConnectionInvocationId;
137
+ connectionNodeId: NodeId;
138
+ parentAgentNodeId: NodeId;
139
+ parentAgentActivationId: NodeActivationId;
140
+ status: NodeExecutionStatus;
141
+ managedInput?: JsonValue;
142
+ managedOutput?: JsonValue;
143
+ error?: NodeExecutionError;
144
+ queuedAt?: string;
145
+ startedAt?: string;
146
+ finishedAt?: string;
147
+ iterationId?: NodeIterationId;
148
+ itemIndex?: number;
149
+ parentInvocationId?: ConnectionInvocationId;
150
+ }>;
151
+ interface RunCurrentState {
152
+ outputsByNode: Record<NodeId, NodeOutputs>;
153
+ nodeSnapshotsByNodeId: Record<NodeId, NodeExecutionSnapshot>;
154
+ /** Append-only history of connection-scoped invocations (LLM/tool) for inspector and canvas. */
155
+ connectionInvocations?: ReadonlyArray<ConnectionInvocationRecord>;
156
+ mutableState?: PersistedMutableRunState;
157
+ }
158
+ interface CurrentStateExecutionRequest {
159
+ workflow: WorkflowDefinition;
160
+ items?: Items;
24
161
  parent?: ParentExecutionRef;
25
- at: string;
26
- snapshot: NodeExecutionSnapshot;
27
- }> | Readonly<{
28
- kind: "nodeStarted";
162
+ executionOptions?: RunExecutionOptions;
163
+ workflowSnapshot?: PersistedWorkflowSnapshot;
164
+ mutableState?: PersistedMutableRunState;
165
+ currentState?: RunCurrentState;
166
+ stopCondition?: RunStopCondition;
167
+ reset?: RunStateResetRequest;
168
+ }
169
+ interface ExecutionFrontierPlan {
170
+ rootNodeId?: NodeId;
171
+ rootNodeInput?: Items;
172
+ queue: RunQueueEntry[];
173
+ currentState: RunCurrentState;
174
+ stopCondition: RunStopCondition;
175
+ satisfiedNodeIds: ReadonlyArray<NodeId>;
176
+ skippedNodeIds: ReadonlyArray<NodeId>;
177
+ clearedNodeIds: ReadonlyArray<NodeId>;
178
+ preservedPinnedNodeIds: ReadonlyArray<NodeId>;
179
+ }
180
+ type RunStatus = "running" | "pending" | "completed" | "failed";
181
+ interface RunSummary {
29
182
  runId: RunId;
30
183
  workflowId: WorkflowId;
184
+ startedAt: string;
185
+ status: RunStatus;
186
+ /** ISO timestamp when the run finished (derived from node snapshots or store `updatedAt`); omit while running/pending. */
187
+ finishedAt?: string;
31
188
  parent?: ParentExecutionRef;
32
- at: string;
33
- snapshot: NodeExecutionSnapshot;
34
- }> | Readonly<{
35
- kind: "nodeCompleted";
189
+ executionOptions?: RunExecutionOptions;
190
+ }
191
+ interface PendingNodeExecution {
36
192
  runId: RunId;
193
+ activationId: NodeActivationId;
37
194
  workflowId: WorkflowId;
38
- parent?: ParentExecutionRef;
39
- at: string;
40
- snapshot: NodeExecutionSnapshot;
41
- }> | Readonly<{
42
- kind: "nodeFailed";
195
+ nodeId: NodeId;
196
+ itemsIn: number;
197
+ inputsByPort: NodeInputsByPort;
198
+ receiptId: string;
199
+ queue?: string;
200
+ batchId?: string;
201
+ enqueuedAt: string;
202
+ }
203
+ interface PersistedRunSchedulingState {
204
+ pending?: PendingNodeExecution;
205
+ queue: RunQueueEntry[];
206
+ }
207
+ interface PersistedRunState {
43
208
  runId: RunId;
44
209
  workflowId: WorkflowId;
210
+ startedAt: string;
211
+ /** Canonical terminal time for listings and retention when persisted on the run root. */
212
+ finishedAt?: string;
213
+ /** Optimistic concurrency / CAS on the run aggregate (repository may increment on save). */
214
+ revision?: number;
45
215
  parent?: ParentExecutionRef;
46
- at: string;
47
- snapshot: NodeExecutionSnapshot;
48
- }>;
49
- interface RunEventSubscription {
50
- close(): Promise<void>;
216
+ executionOptions?: RunExecutionOptions;
217
+ control?: PersistedRunControlState;
218
+ workflowSnapshot?: PersistedWorkflowSnapshot;
219
+ mutableState?: PersistedMutableRunState;
220
+ /** Frozen at createRun from workflow + runtime defaults for prune/storage decisions. */
221
+ policySnapshot?: PersistedRunPolicySnapshot;
222
+ /** Successful node completions so far (for activation budget). */
223
+ engineCounters?: EngineRunCounters;
224
+ status: RunStatus;
225
+ pending?: PendingNodeExecution;
226
+ queue: RunQueueEntry[];
227
+ outputsByNode: Record<NodeId, NodeOutputs>;
228
+ nodeSnapshotsByNodeId: Record<NodeId, NodeExecutionSnapshot>;
229
+ /** Append-only history of connection invocations (LLM/tool) nested under owning nodes. */
230
+ connectionInvocations?: ReadonlyArray<ConnectionInvocationRecord>;
51
231
  }
52
- interface RunEventBus {
53
- publish(event: RunEvent): Promise<void>;
54
- subscribe(onEvent: (event: RunEvent) => void): Promise<RunEventSubscription>;
55
- subscribeToWorkflow(workflowId: WorkflowId, onEvent: (event: RunEvent) => void): Promise<RunEventSubscription>;
232
+ interface WorkflowExecutionRepository {
233
+ createRun(args: {
234
+ runId: RunId;
235
+ workflowId: WorkflowId;
236
+ startedAt: string;
237
+ parent?: ParentExecutionRef;
238
+ executionOptions?: RunExecutionOptions;
239
+ control?: PersistedRunControlState;
240
+ workflowSnapshot?: PersistedWorkflowSnapshot;
241
+ mutableState?: PersistedMutableRunState;
242
+ policySnapshot?: PersistedRunPolicySnapshot;
243
+ engineCounters?: EngineRunCounters;
244
+ }): Promise<void>;
245
+ load(runId: RunId): Promise<PersistedRunState | undefined>;
246
+ loadSchedulingState(runId: RunId): Promise<PersistedRunSchedulingState | undefined>;
247
+ save(state: PersistedRunState): Promise<void>;
248
+ deleteRun?(runId: RunId): Promise<void>;
249
+ }
250
+ interface WorkflowExecutionListingRepository {
251
+ listRuns(args?: Readonly<{
252
+ workflowId?: WorkflowId;
253
+ limit?: number;
254
+ }>): Promise<ReadonlyArray<RunSummary>>;
255
+ }
256
+ /** Runs eligible for retention-based pruning (completed or failed, older than cutoff). */
257
+ interface RunPruneCandidate {
258
+ readonly runId: RunId;
259
+ readonly workflowId: WorkflowId;
260
+ readonly startedAt: string;
261
+ readonly finishedAt: string;
262
+ }
263
+ interface WorkflowExecutionPruneRepository {
264
+ listRunsOlderThan(args: Readonly<{
265
+ nowIso: string;
266
+ defaultRetentionSeconds: number;
267
+ limit?: number;
268
+ }>): Promise<ReadonlyArray<RunPruneCandidate>>;
269
+ }
270
+ type RunResult = {
271
+ runId: RunId;
272
+ workflowId: WorkflowId;
273
+ startedAt: string;
274
+ status: "completed";
275
+ outputs: Items;
276
+ } | {
277
+ runId: RunId;
278
+ workflowId: WorkflowId;
279
+ startedAt: string;
280
+ status: "pending";
281
+ pending: PendingNodeExecution;
282
+ } | {
283
+ runId: RunId;
284
+ workflowId: WorkflowId;
285
+ startedAt: string;
286
+ status: "failed";
287
+ error: {
288
+ message: string;
289
+ };
290
+ };
291
+ type WebhookRunResult = Readonly<{
292
+ runId: RunId;
293
+ workflowId: WorkflowId;
294
+ startedAt: string;
295
+ runStatus: "pending" | "completed";
296
+ response: Items;
297
+ }>;
298
+ interface PersistedWorkflowTokenRegistryLike {
299
+ register(type: TypeToken<unknown>, packageId: string, persistedNameOverride?: string): string;
300
+ getTokenId(type: TypeToken<unknown>): string | undefined;
301
+ resolve(tokenId: string): TypeToken<unknown> | undefined;
302
+ registerFromWorkflows?(workflows: ReadonlyArray<WorkflowDefinition>): void;
303
+ }
304
+ interface RunCompletionNotifier {
305
+ resolveRunCompletion(result: RunResult): void;
306
+ resolveWebhookResponse(result: WebhookRunResult): void;
307
+ }
308
+ interface RunEventPublisherDeps {
309
+ eventBus?: RunEventBus;
310
+ }
311
+ //#endregion
312
+ //#region src/events/runEvents.d.ts
313
+ type RunEvent = Readonly<{
314
+ kind: "runCreated";
315
+ runId: RunId;
316
+ workflowId: WorkflowId;
317
+ parent?: ParentExecutionRef;
318
+ at: string;
319
+ }> | Readonly<{
320
+ kind: "runSaved";
321
+ runId: RunId;
322
+ workflowId: WorkflowId;
323
+ parent?: ParentExecutionRef;
324
+ at: string;
325
+ state: PersistedRunState;
326
+ }> | Readonly<{
327
+ kind: "nodeQueued";
328
+ runId: RunId;
329
+ workflowId: WorkflowId;
330
+ parent?: ParentExecutionRef;
331
+ at: string;
332
+ snapshot: NodeExecutionSnapshot;
333
+ }> | Readonly<{
334
+ kind: "nodeStarted";
335
+ runId: RunId;
336
+ workflowId: WorkflowId;
337
+ parent?: ParentExecutionRef;
338
+ at: string;
339
+ snapshot: NodeExecutionSnapshot;
340
+ }> | Readonly<{
341
+ kind: "nodeCompleted";
342
+ runId: RunId;
343
+ workflowId: WorkflowId;
344
+ parent?: ParentExecutionRef;
345
+ at: string;
346
+ snapshot: NodeExecutionSnapshot;
347
+ }> | Readonly<{
348
+ kind: "nodeFailed";
349
+ runId: RunId;
350
+ workflowId: WorkflowId;
351
+ parent?: ParentExecutionRef;
352
+ at: string;
353
+ snapshot: NodeExecutionSnapshot;
354
+ }> | Readonly<{
355
+ kind: "connectionInvocationStarted";
356
+ runId: RunId;
357
+ workflowId: WorkflowId;
358
+ parent?: ParentExecutionRef;
359
+ at: string;
360
+ record: ConnectionInvocationRecord;
361
+ }> | Readonly<{
362
+ kind: "connectionInvocationCompleted";
363
+ runId: RunId;
364
+ workflowId: WorkflowId;
365
+ parent?: ParentExecutionRef;
366
+ at: string;
367
+ record: ConnectionInvocationRecord;
368
+ }> | Readonly<{
369
+ kind: "connectionInvocationFailed";
370
+ runId: RunId;
371
+ workflowId: WorkflowId;
372
+ parent?: ParentExecutionRef;
373
+ at: string;
374
+ record: ConnectionInvocationRecord;
375
+ }>;
376
+ interface RunEventSubscription {
377
+ close(): Promise<void>;
378
+ }
379
+ interface RunEventBus {
380
+ publish(event: RunEvent): Promise<void>;
381
+ subscribe(onEvent: (event: RunEvent) => void): Promise<RunEventSubscription>;
382
+ subscribeToWorkflow(workflowId: WorkflowId, onEvent: (event: RunEvent) => void): Promise<RunEventSubscription>;
56
383
  }
57
384
  //#endregion
58
385
  //#region src/policies/executionLimits/EngineExecutionLimitsPolicy.d.ts
@@ -315,444 +642,166 @@ interface CostTrackingTelemetryFactory {
315
642
  telemetry: ExecutionTelemetry;
316
643
  }>): CostTrackingTelemetry;
317
644
  }
318
- //#endregion
319
- //#region src/contracts/NoOpTelemetryArtifactReference.d.ts
320
- declare class NoOpTelemetryArtifactReference {
321
- static readonly value: TelemetryArtifactReference;
322
- }
323
- //#endregion
324
- //#region src/contracts/NoOpTelemetrySpanScope.d.ts
325
- declare class NoOpTelemetrySpanScope {
326
- static readonly value: TelemetrySpanScope;
327
- }
328
- //#endregion
329
- //#region src/contracts/NoOpNodeExecutionTelemetry.d.ts
330
- declare class NoOpNodeExecutionTelemetry {
331
- static readonly value: NodeExecutionTelemetry;
332
- }
333
- //#endregion
334
- //#region src/contracts/NoOpExecutionTelemetry.d.ts
335
- declare class NoOpExecutionTelemetry {
336
- static readonly value: ExecutionTelemetry;
337
- }
338
- //#endregion
339
- //#region src/contracts/NoOpExecutionTelemetryFactory.d.ts
340
- declare class NoOpExecutionTelemetryFactory implements ExecutionTelemetryFactory {
341
- create(_: Readonly<{
342
- runId: RunId;
343
- workflowId: WorkflowId;
344
- parent?: ParentExecutionRef;
345
- policySnapshot?: PersistedRunPolicySnapshot;
346
- }>): ExecutionTelemetry;
347
- }
348
- //#endregion
349
- //#region src/contracts/CodemationTelemetryAttributeNames.d.ts
350
- declare class CodemationTelemetryAttributeNames {
351
- static readonly workflowId = "codemation.workflow.id";
352
- static readonly runId = "codemation.run.id";
353
- static readonly nodeId = "codemation.node.id";
354
- static readonly activationId = "codemation.activation.id";
355
- static readonly nodeType = "codemation.node.type";
356
- static readonly nodeRole = "codemation.node.role";
357
- static readonly workflowFolder = "codemation.workflow.folder";
358
- static readonly connectionInvocationId = "codemation.connection.invocation_id";
359
- static readonly toolName = "codemation.tool.name";
360
- static readonly traceParentRunId = "codemation.parent.run.id";
361
- }
362
- //#endregion
363
- //#region src/contracts/GenAiTelemetryAttributeNames.d.ts
364
- declare class GenAiTelemetryAttributeNames {
365
- static readonly operationName = "gen_ai.operation.name";
366
- static readonly requestModel = "gen_ai.request.model";
367
- static readonly usageInputTokens = "gen_ai.usage.input_tokens";
368
- static readonly usageOutputTokens = "gen_ai.usage.output_tokens";
369
- static readonly usageTotalTokens = "gen_ai.usage.total_tokens";
370
- static readonly usageCacheReadInputTokens = "gen_ai.usage.cache_read.input_tokens";
371
- static readonly usageCacheCreationInputTokens = "gen_ai.usage.cache_creation.input_tokens";
372
- static readonly usageReasoningTokens = "codemation.gen_ai.usage.reasoning_tokens";
373
- }
374
- //#endregion
375
- //#region src/contracts/CodemationTelemetryMetricNames.d.ts
376
- declare class CodemationTelemetryMetricNames {
377
- static readonly agentTurns = "codemation.ai.turns";
378
- static readonly agentToolCalls = "codemation.ai.tool_calls";
379
- static readonly gmailMessagesEmitted = "codemation.gmail.messages_emitted";
380
- static readonly gmailAttachments = "codemation.gmail.attachments";
381
- static readonly gmailAttachmentBytes = "codemation.gmail.attachment_bytes";
382
- }
383
- //#endregion
384
- //#region src/contracts/telemetryTypes.d.ts
385
- type TelemetryAttributePrimitive = string | number | boolean | null;
386
- interface TelemetryAttributes {
387
- readonly [key: string]: TelemetryAttributePrimitive | undefined;
388
- }
389
- interface TelemetryMetricRecord {
390
- readonly name: string;
391
- readonly value: number;
392
- readonly unit?: string;
393
- readonly attributes?: TelemetryAttributes;
394
- }
395
- interface TelemetrySpanEventRecord {
396
- readonly name: string;
397
- readonly occurredAt?: Date;
398
- readonly attributes?: TelemetryAttributes;
399
- }
400
- interface TelemetryArtifactAttachment {
401
- readonly kind: string;
402
- readonly contentType: string;
403
- readonly previewText?: string;
404
- readonly previewJson?: JsonValue;
405
- readonly payloadText?: string;
406
- readonly payloadJson?: JsonValue;
407
- readonly bytes?: number;
408
- readonly truncated?: boolean;
409
- readonly expiresAt?: Date;
410
- }
411
- interface TelemetryArtifactReference {
412
- readonly artifactId: string;
413
- readonly traceId?: string;
414
- readonly spanId?: string;
415
- }
416
- interface TelemetrySpanEnd {
417
- readonly status?: "ok" | "error";
418
- readonly statusMessage?: string;
419
- readonly endedAt?: Date;
420
- readonly attributes?: TelemetryAttributes;
421
- }
422
- interface TelemetryChildSpanStart {
423
- readonly name: string;
424
- readonly kind?: "internal" | "client";
425
- readonly startedAt?: Date;
426
- readonly attributes?: TelemetryAttributes;
427
- }
428
- interface TelemetryScope {
429
- readonly traceId?: string;
430
- readonly spanId?: string;
431
- readonly costTracking?: CostTrackingTelemetry;
432
- addSpanEvent(args: TelemetrySpanEventRecord): Promise<void> | void;
433
- recordMetric(args: TelemetryMetricRecord): Promise<void> | void;
434
- attachArtifact(args: TelemetryArtifactAttachment): Promise<TelemetryArtifactReference> | TelemetryArtifactReference;
435
- }
436
- interface TelemetrySpanScope extends TelemetryScope {
437
- readonly traceId: string;
438
- readonly spanId: string;
439
- end(args?: TelemetrySpanEnd): Promise<void> | void;
440
- }
441
- interface NodeExecutionTelemetry extends ExecutionTelemetry, TelemetrySpanScope {
442
- startChildSpan(args: TelemetryChildSpanStart): TelemetrySpanScope;
443
- }
444
- interface ExecutionTelemetry extends TelemetryScope {
445
- readonly traceId: string;
446
- readonly spanId: string;
447
- forNode(args: Readonly<{
448
- nodeId: NodeId;
449
- activationId: NodeActivationId;
450
- }>): NodeExecutionTelemetry;
451
- }
452
- interface ExecutionTelemetryFactory {
453
- create(args: Readonly<{
454
- runId: RunId;
455
- workflowId: WorkflowId;
456
- parent?: ParentExecutionRef;
457
- policySnapshot?: PersistedRunPolicySnapshot;
458
- }>): ExecutionTelemetry;
459
- }
460
- //#endregion
461
- //#region src/contracts/runTypes.d.ts
462
- interface RunExecutionOptions {
463
- /** Run-intent override: force the inline scheduler and bypass node-level offload decisions. */
464
- localOnly?: boolean;
465
- /** Marks runs started from webhook handling so orchestration can apply webhook-specific continuation rules. */
466
- webhook?: boolean;
467
- mode?: "manual" | "debug";
468
- sourceWorkflowId?: WorkflowId;
469
- sourceRunId?: RunId;
470
- derivedFromRunId?: RunId;
471
- isMutable?: boolean;
472
- /** Set by the engine for this run: 0 = root, 1 = first child subworkflow, … */
473
- subworkflowDepth?: number;
474
- /** Effective cap after engine policy merge (successful node completions per run). */
475
- maxNodeActivations?: number;
476
- /** Effective cap after engine policy merge (subworkflow nesting). */
477
- maxSubworkflowDepth?: number;
478
- }
479
- /** Engine-owned counters persisted with the run (worker-safe). */
480
- interface EngineRunCounters {
481
- completedNodeActivations: number;
482
- }
483
- type RunStopCondition = Readonly<{
484
- kind: "workflowCompleted";
485
- }> | Readonly<{
486
- kind: "nodeCompleted";
487
- nodeId: NodeId;
488
- }>;
489
- interface RunStateResetRequest {
490
- clearFromNodeId: NodeId;
491
- }
492
- interface PersistedRunControlState {
493
- stopCondition?: RunStopCondition;
494
- }
495
- interface PersistedWorkflowSnapshotNode {
496
- id: NodeId;
497
- kind: NodeKind;
498
- name?: string;
499
- nodeTokenId: PersistedTokenId;
500
- configTokenId: PersistedTokenId;
501
- tokenName?: string;
502
- configTokenName?: string;
503
- config: unknown;
504
- }
505
- interface PersistedWorkflowSnapshot {
506
- id: WorkflowId;
507
- name: string;
508
- nodes: ReadonlyArray<PersistedWorkflowSnapshotNode>;
509
- edges: ReadonlyArray<Edge>;
510
- /** When the snapshot was built from a live workflow definition that configured a workflow error handler. */
511
- workflowErrorHandlerConfigured?: boolean;
512
- /** Connection metadata for child nodes not in the execution graph (e.g. AI agent attachments). */
513
- connections?: ReadonlyArray<WorkflowNodeConnection>;
514
- }
515
- type PinnedNodeOutputsByPort = Readonly<Record<OutputPortKey, Items>>;
516
- interface PersistedMutableNodeState {
517
- pinnedOutputsByPort?: PinnedNodeOutputsByPort;
518
- lastDebugInput?: Items;
519
- }
520
- interface PersistedMutableRunState {
521
- nodesById: Readonly<Record<NodeId, PersistedMutableNodeState>>;
522
- }
523
- type NodeInputsByPort = Readonly<Record<InputPortKey, Items>>;
524
- interface RunQueueEntry {
525
- nodeId: NodeId;
526
- input: Items;
527
- toInput?: InputPortKey;
528
- batchId?: string;
529
- from?: Readonly<{
530
- nodeId: NodeId;
531
- output: OutputPortKey;
532
- }>;
533
- collect?: Readonly<{
534
- expectedInputs: ReadonlyArray<InputPortKey>;
535
- received: Readonly<Record<InputPortKey, Items>>;
536
- }>;
537
- }
538
- type NodeExecutionStatus = "pending" | "queued" | "running" | "completed" | "failed" | "skipped";
539
- interface NodeExecutionError {
540
- message: string;
541
- name?: string;
542
- stack?: string;
543
- details?: JsonValue;
544
- }
545
- interface NodeExecutionSnapshot {
546
- runId: RunId;
547
- workflowId: WorkflowId;
548
- nodeId: NodeId;
549
- activationId?: NodeActivationId;
550
- parent?: ParentExecutionRef;
551
- status: NodeExecutionStatus;
552
- usedPinnedOutput?: boolean;
553
- queuedAt?: string;
554
- startedAt?: string;
555
- finishedAt?: string;
556
- updatedAt: string;
557
- inputsByPort?: NodeInputsByPort;
558
- outputs?: NodeOutputs;
559
- error?: NodeExecutionError;
560
- }
561
- /** Stable id for a single connection invocation row in {@link ConnectionInvocationRecord}. */
562
- type ConnectionInvocationId = string;
563
- /**
564
- * One logical LLM or tool call under an owning workflow node (e.g. AI agent).
565
- * The owning node defines what {@link managedInput} and {@link managedOutput} contain.
566
- */
567
- interface ConnectionInvocationRecord {
568
- readonly invocationId: ConnectionInvocationId;
569
- readonly runId: RunId;
570
- readonly workflowId: WorkflowId;
571
- readonly connectionNodeId: NodeId;
572
- readonly parentAgentNodeId: NodeId;
573
- readonly parentAgentActivationId: NodeActivationId;
574
- readonly status: NodeExecutionStatus;
575
- readonly managedInput?: JsonValue;
576
- readonly managedOutput?: JsonValue;
577
- readonly error?: NodeExecutionError;
578
- readonly queuedAt?: string;
579
- readonly startedAt?: string;
580
- readonly finishedAt?: string;
581
- readonly updatedAt: string;
582
- }
583
- /** Arguments for appending a {@link ConnectionInvocationRecord} (engine fills run/workflow ids and timestamps). */
584
- type ConnectionInvocationAppendArgs = Readonly<{
585
- invocationId: ConnectionInvocationId;
586
- connectionNodeId: NodeId;
587
- parentAgentNodeId: NodeId;
588
- parentAgentActivationId: NodeActivationId;
589
- status: NodeExecutionStatus;
590
- managedInput?: JsonValue;
591
- managedOutput?: JsonValue;
592
- error?: NodeExecutionError;
593
- queuedAt?: string;
594
- startedAt?: string;
595
- finishedAt?: string;
596
- }>;
597
- interface RunCurrentState {
598
- outputsByNode: Record<NodeId, NodeOutputs>;
599
- nodeSnapshotsByNodeId: Record<NodeId, NodeExecutionSnapshot>;
600
- /** Append-only history of connection-scoped invocations (LLM/tool) for inspector and canvas. */
601
- connectionInvocations?: ReadonlyArray<ConnectionInvocationRecord>;
602
- mutableState?: PersistedMutableRunState;
603
- }
604
- interface CurrentStateExecutionRequest {
605
- workflow: WorkflowDefinition;
606
- items?: Items;
607
- parent?: ParentExecutionRef;
608
- executionOptions?: RunExecutionOptions;
609
- workflowSnapshot?: PersistedWorkflowSnapshot;
610
- mutableState?: PersistedMutableRunState;
611
- currentState?: RunCurrentState;
612
- stopCondition?: RunStopCondition;
613
- reset?: RunStateResetRequest;
614
- }
615
- interface ExecutionFrontierPlan {
616
- rootNodeId?: NodeId;
617
- rootNodeInput?: Items;
618
- queue: RunQueueEntry[];
619
- currentState: RunCurrentState;
620
- stopCondition: RunStopCondition;
621
- satisfiedNodeIds: ReadonlyArray<NodeId>;
622
- skippedNodeIds: ReadonlyArray<NodeId>;
623
- clearedNodeIds: ReadonlyArray<NodeId>;
624
- preservedPinnedNodeIds: ReadonlyArray<NodeId>;
625
- }
626
- type RunStatus = "running" | "pending" | "completed" | "failed";
627
- interface RunSummary {
628
- runId: RunId;
629
- workflowId: WorkflowId;
630
- startedAt: string;
631
- status: RunStatus;
632
- /** ISO timestamp when the run finished (derived from node snapshots or store `updatedAt`); omit while running/pending. */
633
- finishedAt?: string;
634
- parent?: ParentExecutionRef;
635
- executionOptions?: RunExecutionOptions;
645
+ //#endregion
646
+ //#region src/contracts/NoOpTelemetryArtifactReference.d.ts
647
+ declare class NoOpTelemetryArtifactReference {
648
+ static readonly value: TelemetryArtifactReference;
636
649
  }
637
- interface PendingNodeExecution {
638
- runId: RunId;
639
- activationId: NodeActivationId;
640
- workflowId: WorkflowId;
641
- nodeId: NodeId;
642
- itemsIn: number;
643
- inputsByPort: NodeInputsByPort;
644
- receiptId: string;
645
- queue?: string;
646
- batchId?: string;
647
- enqueuedAt: string;
650
+ //#endregion
651
+ //#region src/contracts/NoOpTelemetrySpanScope.d.ts
652
+ declare class NoOpTelemetrySpanScope {
653
+ static readonly value: TelemetrySpanScope;
654
+ /** Internal: the shared no-op {@link NodeExecutionTelemetry} that {@link NoOpNodeExecutionTelemetry} re-exposes. */
655
+ static readonly nodeExecutionTelemetryValue: NodeExecutionTelemetry;
648
656
  }
649
- interface PersistedRunSchedulingState {
650
- pending?: PendingNodeExecution;
651
- queue: RunQueueEntry[];
657
+ //#endregion
658
+ //#region src/contracts/NoOpNodeExecutionTelemetry.d.ts
659
+ declare class NoOpNodeExecutionTelemetry {
660
+ static readonly value: NodeExecutionTelemetry;
652
661
  }
653
- interface PersistedRunState {
654
- runId: RunId;
655
- workflowId: WorkflowId;
656
- startedAt: string;
657
- /** Canonical terminal time for listings and retention when persisted on the run root. */
658
- finishedAt?: string;
659
- /** Optimistic concurrency / CAS on the run aggregate (repository may increment on save). */
660
- revision?: number;
661
- parent?: ParentExecutionRef;
662
- executionOptions?: RunExecutionOptions;
663
- control?: PersistedRunControlState;
664
- workflowSnapshot?: PersistedWorkflowSnapshot;
665
- mutableState?: PersistedMutableRunState;
666
- /** Frozen at createRun from workflow + runtime defaults for prune/storage decisions. */
667
- policySnapshot?: PersistedRunPolicySnapshot;
668
- /** Successful node completions so far (for activation budget). */
669
- engineCounters?: EngineRunCounters;
670
- status: RunStatus;
671
- pending?: PendingNodeExecution;
672
- queue: RunQueueEntry[];
673
- outputsByNode: Record<NodeId, NodeOutputs>;
674
- nodeSnapshotsByNodeId: Record<NodeId, NodeExecutionSnapshot>;
675
- /** Append-only history of connection invocations (LLM/tool) nested under owning nodes. */
676
- connectionInvocations?: ReadonlyArray<ConnectionInvocationRecord>;
662
+ //#endregion
663
+ //#region src/contracts/NoOpExecutionTelemetry.d.ts
664
+ declare class NoOpExecutionTelemetry {
665
+ static readonly value: ExecutionTelemetry;
677
666
  }
678
- interface WorkflowExecutionRepository {
679
- createRun(args: {
667
+ //#endregion
668
+ //#region src/contracts/NoOpExecutionTelemetryFactory.d.ts
669
+ declare class NoOpExecutionTelemetryFactory implements ExecutionTelemetryFactory {
670
+ create(_: Readonly<{
680
671
  runId: RunId;
681
672
  workflowId: WorkflowId;
682
- startedAt: string;
683
673
  parent?: ParentExecutionRef;
684
- executionOptions?: RunExecutionOptions;
685
- control?: PersistedRunControlState;
686
- workflowSnapshot?: PersistedWorkflowSnapshot;
687
- mutableState?: PersistedMutableRunState;
688
674
  policySnapshot?: PersistedRunPolicySnapshot;
689
- engineCounters?: EngineRunCounters;
690
- }): Promise<void>;
691
- load(runId: RunId): Promise<PersistedRunState | undefined>;
692
- loadSchedulingState(runId: RunId): Promise<PersistedRunSchedulingState | undefined>;
693
- save(state: PersistedRunState): Promise<void>;
694
- deleteRun?(runId: RunId): Promise<void>;
675
+ }>): ExecutionTelemetry;
695
676
  }
696
- interface WorkflowExecutionListingRepository {
697
- listRuns(args?: Readonly<{
698
- workflowId?: WorkflowId;
699
- limit?: number;
700
- }>): Promise<ReadonlyArray<RunSummary>>;
677
+ //#endregion
678
+ //#region src/contracts/CodemationTelemetryAttributeNames.d.ts
679
+ declare class CodemationTelemetryAttributeNames {
680
+ static readonly workflowId = "codemation.workflow.id";
681
+ static readonly runId = "codemation.run.id";
682
+ static readonly nodeId = "codemation.node.id";
683
+ static readonly activationId = "codemation.activation.id";
684
+ static readonly nodeType = "codemation.node.type";
685
+ static readonly nodeRole = "codemation.node.role";
686
+ static readonly workflowFolder = "codemation.workflow.folder";
687
+ static readonly connectionInvocationId = "codemation.connection.invocation_id";
688
+ static readonly toolName = "codemation.tool.name";
689
+ static readonly traceParentRunId = "codemation.parent.run.id";
690
+ /** Per-item iteration that emitted this span/metric. Set on spans recorded inside a runnable per-item loop. */
691
+ static readonly iterationId = "codemation.iteration.id";
692
+ /** Item index (0-based) of the iteration. */
693
+ static readonly iterationIndex = "codemation.iteration.index";
694
+ /** Set when this span/metric was recorded under a sub-agent triggered by an outer LLM/tool call. */
695
+ static readonly parentInvocationId = "codemation.parent.invocation_id";
701
696
  }
702
- /** Runs eligible for retention-based pruning (completed or failed, older than cutoff). */
703
- interface RunPruneCandidate {
704
- readonly runId: RunId;
705
- readonly workflowId: WorkflowId;
706
- readonly startedAt: string;
707
- readonly finishedAt: string;
697
+ //#endregion
698
+ //#region src/contracts/GenAiTelemetryAttributeNames.d.ts
699
+ declare class GenAiTelemetryAttributeNames {
700
+ static readonly operationName = "gen_ai.operation.name";
701
+ static readonly requestModel = "gen_ai.request.model";
702
+ static readonly usageInputTokens = "gen_ai.usage.input_tokens";
703
+ static readonly usageOutputTokens = "gen_ai.usage.output_tokens";
704
+ static readonly usageTotalTokens = "gen_ai.usage.total_tokens";
705
+ static readonly usageCacheReadInputTokens = "gen_ai.usage.cache_read.input_tokens";
706
+ static readonly usageCacheCreationInputTokens = "gen_ai.usage.cache_creation.input_tokens";
707
+ static readonly usageReasoningTokens = "codemation.gen_ai.usage.reasoning_tokens";
708
708
  }
709
- interface WorkflowExecutionPruneRepository {
710
- listRunsOlderThan(args: Readonly<{
711
- nowIso: string;
712
- defaultRetentionSeconds: number;
713
- limit?: number;
714
- }>): Promise<ReadonlyArray<RunPruneCandidate>>;
709
+ //#endregion
710
+ //#region src/contracts/CodemationTelemetryMetricNames.d.ts
711
+ declare class CodemationTelemetryMetricNames {
712
+ static readonly agentTurns = "codemation.ai.turns";
713
+ static readonly agentToolCalls = "codemation.ai.tool_calls";
714
+ static readonly gmailMessagesEmitted = "codemation.gmail.messages_emitted";
715
+ static readonly gmailAttachments = "codemation.gmail.attachments";
716
+ static readonly gmailAttachmentBytes = "codemation.gmail.attachment_bytes";
715
717
  }
716
- type RunResult = {
717
- runId: RunId;
718
- workflowId: WorkflowId;
719
- startedAt: string;
720
- status: "completed";
721
- outputs: Items;
722
- } | {
723
- runId: RunId;
724
- workflowId: WorkflowId;
725
- startedAt: string;
726
- status: "pending";
727
- pending: PendingNodeExecution;
728
- } | {
729
- runId: RunId;
730
- workflowId: WorkflowId;
731
- startedAt: string;
732
- status: "failed";
733
- error: {
734
- message: string;
735
- };
736
- };
737
- type WebhookRunResult = Readonly<{
738
- runId: RunId;
739
- workflowId: WorkflowId;
740
- startedAt: string;
741
- runStatus: "pending" | "completed";
742
- response: Items;
743
- }>;
744
- interface PersistedWorkflowTokenRegistryLike {
745
- register(type: TypeToken<unknown>, packageId: string, persistedNameOverride?: string): string;
746
- getTokenId(type: TypeToken<unknown>): string | undefined;
747
- resolve(tokenId: string): TypeToken<unknown> | undefined;
748
- registerFromWorkflows?(workflows: ReadonlyArray<WorkflowDefinition>): void;
718
+ //#endregion
719
+ //#region src/contracts/telemetryTypes.d.ts
720
+ type TelemetryAttributePrimitive = string | number | boolean | null;
721
+ interface TelemetryAttributes {
722
+ readonly [key: string]: TelemetryAttributePrimitive | undefined;
749
723
  }
750
- interface RunCompletionNotifier {
751
- resolveRunCompletion(result: RunResult): void;
752
- resolveWebhookResponse(result: WebhookRunResult): void;
724
+ interface TelemetryMetricRecord {
725
+ readonly name: string;
726
+ readonly value: number;
727
+ readonly unit?: string;
728
+ readonly attributes?: TelemetryAttributes;
753
729
  }
754
- interface RunEventPublisherDeps {
755
- eventBus?: RunEventBus;
730
+ interface TelemetrySpanEventRecord {
731
+ readonly name: string;
732
+ readonly occurredAt?: Date;
733
+ readonly attributes?: TelemetryAttributes;
734
+ }
735
+ interface TelemetryArtifactAttachment {
736
+ readonly kind: string;
737
+ readonly contentType: string;
738
+ readonly previewText?: string;
739
+ readonly previewJson?: JsonValue;
740
+ readonly payloadText?: string;
741
+ readonly payloadJson?: JsonValue;
742
+ readonly bytes?: number;
743
+ readonly truncated?: boolean;
744
+ readonly expiresAt?: Date;
745
+ }
746
+ interface TelemetryArtifactReference {
747
+ readonly artifactId: string;
748
+ readonly traceId?: string;
749
+ readonly spanId?: string;
750
+ }
751
+ interface TelemetrySpanEnd {
752
+ readonly status?: "ok" | "error";
753
+ readonly statusMessage?: string;
754
+ readonly endedAt?: Date;
755
+ readonly attributes?: TelemetryAttributes;
756
+ }
757
+ interface TelemetryChildSpanStart {
758
+ readonly name: string;
759
+ readonly kind?: "internal" | "client";
760
+ readonly startedAt?: Date;
761
+ readonly attributes?: TelemetryAttributes;
762
+ }
763
+ interface TelemetryScope {
764
+ readonly traceId?: string;
765
+ readonly spanId?: string;
766
+ readonly costTracking?: CostTrackingTelemetry;
767
+ addSpanEvent(args: TelemetrySpanEventRecord): Promise<void> | void;
768
+ recordMetric(args: TelemetryMetricRecord): Promise<void> | void;
769
+ attachArtifact(args: TelemetryArtifactAttachment): Promise<TelemetryArtifactReference> | TelemetryArtifactReference;
770
+ }
771
+ interface TelemetrySpanScope extends TelemetryScope {
772
+ readonly traceId: string;
773
+ readonly spanId: string;
774
+ end(args?: TelemetrySpanEnd): Promise<void> | void;
775
+ /**
776
+ * Lift this span into a {@link NodeExecutionTelemetry} scoped to a different (nodeId, activationId).
777
+ * Children created via the returned telemetry's `startChildSpan` get this span as their parent.
778
+ *
779
+ * Used at the sub-agent boundary so that nested runtime telemetry parents under the agent.tool.call
780
+ * span instead of the orchestrator's node-level span.
781
+ */
782
+ asNodeTelemetry(args: Readonly<{
783
+ nodeId: NodeId;
784
+ activationId: NodeActivationId;
785
+ }>): NodeExecutionTelemetry;
786
+ }
787
+ interface NodeExecutionTelemetry extends ExecutionTelemetry, TelemetrySpanScope {
788
+ startChildSpan(args: TelemetryChildSpanStart): TelemetrySpanScope;
789
+ }
790
+ interface ExecutionTelemetry extends TelemetryScope {
791
+ readonly traceId: string;
792
+ readonly spanId: string;
793
+ forNode(args: Readonly<{
794
+ nodeId: NodeId;
795
+ activationId: NodeActivationId;
796
+ }>): NodeExecutionTelemetry;
797
+ }
798
+ interface ExecutionTelemetryFactory {
799
+ create(args: Readonly<{
800
+ runId: RunId;
801
+ workflowId: WorkflowId;
802
+ parent?: ParentExecutionRef;
803
+ policySnapshot?: PersistedRunPolicySnapshot;
804
+ }>): ExecutionTelemetry;
756
805
  }
757
806
  //#endregion
758
807
  //#region src/contracts/workflowActivationPolicy.d.ts
@@ -925,6 +974,12 @@ interface ExecutionContext {
925
974
  telemetry: ExecutionTelemetry;
926
975
  binary: ExecutionBinaryService;
927
976
  getCredential<TSession = unknown>(slotKey: string): Promise<TSession>;
977
+ /** Per-item iteration id, set by {@link NodeExecutor} on the ctx passed into runnable `execute`. */
978
+ iterationId?: NodeIterationId;
979
+ /** Item index (0-based) within the current activation's batch; set alongside {@link iterationId}. */
980
+ itemIndex?: number;
981
+ /** When set, this ctx is executing inside a sub-agent triggered by the named parent invocation. */
982
+ parentInvocationId?: ConnectionInvocationId;
928
983
  }
929
984
  interface ExecutionContextFactory {
930
985
  create(args: {
@@ -1351,6 +1406,12 @@ type Items<TJson = unknown> = ReadonlyArray<Item<TJson>>;
1351
1406
  type NodeOutputs = Partial<Record<OutputPortKey, Items>>;
1352
1407
  type RunId = string;
1353
1408
  type NodeActivationId = string;
1409
+ /**
1410
+ * One per-item iteration of a runnable node's execute loop. Refines `NodeActivationId` for
1411
+ * per-item connection invocations and telemetry. Undefined when the executing node is a batch
1412
+ * node or trigger that does not iterate items.
1413
+ */
1414
+ type NodeIterationId = string;
1354
1415
  interface ParentExecutionRef {
1355
1416
  runId: RunId;
1356
1417
  workflowId: WorkflowId;
@@ -1696,6 +1757,29 @@ interface WorkflowRunDetailDto {
1696
1757
  readonly mutableState?: PersistedMutableRunState;
1697
1758
  readonly slotStates: ReadonlyArray<SlotExecutionStateDto>;
1698
1759
  readonly executionInstances: ReadonlyArray<ExecutionInstanceDto>;
1760
+ readonly iterations?: ReadonlyArray<RunIterationDto>;
1761
+ }
1762
+ /**
1763
+ * Per-item iteration projected from connection invocations and node activations.
1764
+ *
1765
+ * One iteration = one item processed by an agent within an activation. Multiple invocations
1766
+ * (LLM rounds, tool calls) belonging to the same iteration share the iterationId.
1767
+ */
1768
+ interface RunIterationDto {
1769
+ readonly iterationId: string;
1770
+ readonly agentNodeId: NodeId;
1771
+ readonly activationId: NodeActivationId;
1772
+ readonly itemIndex: number;
1773
+ readonly itemSummary?: string;
1774
+ readonly status: NodeExecutionStatus;
1775
+ readonly startedAt?: string;
1776
+ readonly finishedAt?: string;
1777
+ readonly invocationIds: ReadonlyArray<string>;
1778
+ readonly parentInvocationId?: string;
1779
+ /** Estimated cost rolled up from telemetry cost metric points, keyed by ISO currency code (e.g. "USD"). Values are minor units (cents-of-cents per the metric's `cost.currency_scale`). */
1780
+ readonly estimatedCostMinorByCurrency?: Readonly<Record<string, number>>;
1781
+ /** Currency scale (denominator) per currency, when present on the metric points. Joined with `estimatedCostMinorByCurrency` to format human-readable amounts. */
1782
+ readonly estimatedCostCurrencyScaleByCurrency?: Readonly<Record<string, number>>;
1699
1783
  }
1700
1784
  interface SlotExecutionStateDto {
1701
1785
  readonly slotNodeId: NodeId;
@@ -1724,6 +1808,12 @@ interface ExecutionInstanceDto {
1724
1808
  readonly inputJson?: JsonValue;
1725
1809
  readonly outputJson?: JsonValue;
1726
1810
  readonly error?: Readonly<NodeExecutionError>;
1811
+ /** Per-item iteration that produced this instance. Set on connectionInvocation rows produced inside per-item runnable loops. */
1812
+ readonly iterationId?: string;
1813
+ /** Item index (0-based) of the iteration. */
1814
+ readonly itemIndex?: number;
1815
+ /** Parent invocation id when this instance was emitted by a sub-agent triggered by an outer LLM/tool call. */
1816
+ readonly parentInvocationId?: string;
1727
1817
  }
1728
1818
  interface WorkflowDetailSelectionState {
1729
1819
  readonly selectedSlotNodeId: NodeId | null;
@@ -1838,6 +1928,22 @@ declare class ConnectionNodeIdFactory {
1838
1928
  static normalizeToolName(toolName: string): string;
1839
1929
  }
1840
1930
  //#endregion
1931
+ //#region src/workflow/definition/NodeIterationIdFactory.d.ts
1932
+ /**
1933
+ * Unique ids for one per-item iteration of a runnable node's execute loop.
1934
+ *
1935
+ * Activations are per-batch (one scheduled execution of a node, possibly with N items).
1936
+ * Iterations refine that to one identifier per item-index inside the batch loop, so per-item
1937
+ * connection invocations and telemetry can be grouped without time-window heuristics.
1938
+ */
1939
+ declare class NodeIterationIdFactory {
1940
+ static create(): string;
1941
+ /** Deterministic id for tests when a stable sequence is needed. */
1942
+ static createForTest(seed: string, sequence: number): string;
1943
+ /** Deterministic id derived from a connection node id (for sub-agent / tool-call scopes). */
1944
+ static createForConnection(connectionNodeId: NodeId, sequence: number): string;
1945
+ }
1946
+ //#endregion
1841
1947
  //#region src/workflow/definition/WorkflowExecutableNodeClassifier.d.ts
1842
1948
  /**
1843
1949
  * Derives which workflow nodes participate in the main execution graph vs connection-only children.
@@ -2143,5 +2249,5 @@ declare class RunIntentService {
2143
2249
  private createWebhookExecutionOptions;
2144
2250
  }
2145
2251
  //#endregion
2146
- export { Expr as $, CredentialJsonRecord as $i, NodeExecutionContext as $n, RunCompletionNotifier as $r, RunIdFactory as $t, ExecutionInstanceDto as A, singleton as Aa, NoOpExecutionTelemetryFactory as Ai, RetryPolicySpec as An, WebhookTriggerRoutingDiagnostics as Ar, MutableRunData as At, RunSlotProjectionState as B, CostTrackingTelemetryMetricNames as Bi, ExecutableTriggerNode as Bn, NodeExecutionSnapshot as Br, NodeKind as Bt, BranchOutputGuard as C, inject as Ca, TelemetryScope as Ci, runnableNodeInputType as Cn, WorkflowSnapshotResolver as Cr, ItemBinary as Ct, RunFinishedAtFactory as D, instancePerContainerCachingFactory as Da, CodemationTelemetryMetricNames as Di, ExponentialRetryPolicySpec as Dn, WebhookInvocationMatch as Dr, JsonObject as Dt, ValidStepSequence as E, instanceCachingFactory as Ea, TelemetrySpanScope as Ei, triggerNodeSetupStateType as En, WebhookControlSignal as Er, JsonNonArray as Et, PersistedExecutionInstanceRecord as F, RunEvent as Fa, CostTrackingComponent as Fi, BinaryStorageStatResult as Fn, ConnectionInvocationRecord as Fr, NodeErrorHandler as Ft, WorkflowRunDetailDto as G, CredentialBinding as Gi, LiveWorkflowRepository as Gn, PersistedMutableRunState as Gr, OutputPortKey as Gt, WorkItemId as H, AnyCredentialType as Hi, ExecutionContext as Hn, NodeInputsByPort as Hr, NodeOutputs as Ht, PersistedRunSlotProjectionRecord as I, RunEventBus as Ia, CostTrackingPriceQuote as Ii, BinaryStorageWriteRequest as In, CurrentStateExecutionRequest as Ir, NodeErrorHandlerArgs as It, CostCatalog as J, CredentialHealth as Ji, NodeActivationReceipt as Jn, PersistedRunState as Jr, PersistedRunPolicySnapshot as Jt, NoOpCostTrackingTelemetryFactory as K, CredentialBindingKey as Ki, MultiInputNode as Kn, PersistedRunControlState as Kr, PairedItemRef as Kt, PersistedRunWorkItemKind as L, RunEventSubscription as La, CostTrackingTelemetry as Li, BinaryStorageWriteResult as Ln, EngineRunCounters as Lr, NodeErrorHandlerSpec as Lt, ExecutionPayloadPolicyFields as M, ENGINE_EXECUTION_LIMITS_DEFAULTS as Ma, NoOpNodeExecutionTelemetry as Mi, BinaryBody as Mn, WorkflowActivationPolicy as Mr, NodeConfigBase as Mt, PayloadStorageKind as N, EngineExecutionLimitsPolicy as Na, NoOpTelemetrySpanScope as Ni, BinaryStorage as Nn, ConnectionInvocationAppendArgs as Nr, NodeConnectionName as Nt, BatchId as O, predicateAwareClassFactory as Oa, GenAiTelemetryAttributeNames as Oi, FixedRetryPolicySpec as On, WebhookTriggerMatcher as Or, JsonPrimitive as Ot, PersistedExecutionInstanceKind as P, EngineExecutionLimitsPolicyConfig as Pa, NoOpTelemetryArtifactReference as Pi, BinaryStorageReadResult as Pn, ConnectionInvocationId as Pr, NodeDefinition as Pt, NoRetryPolicy as Q, CredentialInstanceRecord as Qi, NodeBinaryAttachmentService as Qn, PinnedNodeOutputsByPort as Qr, RunId as Qt, PersistedRunWorkItemRecord as R, CostTrackingTelemetryAttributeNames as Ri, EngineDeps as Rn, ExecutionFrontierPlan as Rr, NodeId as Rt, BranchMoreArgs as S, delay as Sa, TelemetryMetricRecord as Si, nodeRef as Sn, WorkflowSnapshotFactory as Sr, Item as St, StepSequenceOutput as T, injectable as Ta, TelemetrySpanEventRecord as Ti, triggerNodeOutputType as Tn, TriggerInstanceId as Tr, JsonArray as Tt, WorkItemStatus as U, CredentialAdvancedSectionPresentation as Ui, ExecutionContextFactory as Un, PendingNodeExecution as Ur, NodeRef as Ut, SlotExecutionStateDto as V, CostTrackingUsageRecord as Vi, ExecutionBinaryService as Vn, NodeExecutionStatus as Vr, NodeOffloadPolicy as Vt, WorkflowDetailSelectionState as W, CredentialAuthDefinition as Wi, ItemNode as Wn, PersistedMutableNodeState as Wr, NodeSchedulerDecision as Wt, ExpRetryPolicy as X, CredentialHealthTester as Xi, NodeActivationRequestBase as Xn, PersistedWorkflowSnapshotNode as Xr, RunDataFactory as Xt, CostCatalogEntry as Y, CredentialHealthStatus as Yi, NodeActivationRequest as Yn, PersistedWorkflowSnapshot as Yr, PersistedTokenId as Yt, RetryPolicy as Z, CredentialInstanceId as Zi, NodeActivationScheduler as Zn, PersistedWorkflowTokenRegistryLike as Zr, RunDataSnapshot as Zt, ChainCursor as _, InjectionToken$1 as _a, TelemetryArtifactAttachment as _i, WorkflowStoragePolicyDecisionArgs as _n, TriggerTestItemsContext as _r, BinaryAttachment as _t, RunTerminalPersistenceCoordinator as a, CredentialSessionFactoryArgs as aa, RunResult as ai, TriggerNodeSetupState as an, NodeResolver as ar, ItemExprContext as at, AnyTriggerNodeConfig as b, TypeToken as ba, TelemetryAttributes as bi, WorkflowStoragePolicySpec as bn, WorkflowRunnerResolver as br, ExecutionMode as bt, EngineExecutionLimitsPolicyFactory as c, CredentialType as ca, RunStopCondition as ci, WorkflowErrorContext as cn, RunnableNode as cr, itemExpr as ct, DefaultWorkflowGraphFactory as d, CredentialTypeRegistry as da, WorkflowExecutionListingRepository as di, WorkflowGraph as dn, TriggerCleanupHandle as dr, getOriginIndexFromItem as dt, CredentialMaterialSourceKind as ea, RunCurrentState as ei, RunnableNodeConfig as en, NodeExecutionRequest as er, Param as et, WorkflowExecutableNodeClassifierFactory as f, CredentialUnboundError as fa, WorkflowExecutionPruneRepository as fi, WorkflowGraphFactory as fn, TriggerNode as fr, PortsEmission as ft, WorkflowBuilder as g, Disposable as ga, NodeExecutionTelemetry as gi, WorkflowPrunePolicySpec as gn, TriggerSetupStateRepository as gr, ActivationIdFactory as gt, ConnectionInvocationIdFactory as h, DependencyContainer$1 as ha, ExecutionTelemetryFactory as hi, WorkflowPolicyRuntimeDefaults as hn, TriggerSetupStateFor as hr, isUnbrandedPortsEmissionShape as ht, WorkflowPolicyErrorServices as i, CredentialSessionFactory as ia, RunQueueEntry as ii, TriggerNodeOutputJson as in, NodeExecutor as ir, ItemExprCallback as it, ExecutionInstanceId as j, CoreTokens as ja, NoOpExecutionTelemetry as ji, BinaryAttachmentCreateRequest as jn, AllWorkflowsActiveWorkflowActivationPolicy as jr, NodeActivationId as jt, ConnectionInvocationKind as k, registry as ka, CodemationTelemetryAttributeNames as ki, NoneRetryPolicySpec as kn, WebhookTriggerResolution as kr, JsonValue as kt, WorkflowSnapshotCodec as l, CredentialTypeDefinition as la, RunSummary as li, WorkflowErrorHandler as ln, RunnableNodeExecuteArgs as lr, resolveItemExprsForExecution as lt, ConnectionNodeIdFactory as m, Container as ma, ExecutionTelemetry as mi, WorkflowNodeConnection as mn, TriggerSetupContext as mr, isPortsEmission as mt, InMemoryLiveWorkflowRepository as n, CredentialOAuth2ScopesFromPublicConfig as na, RunExecutionOptions as ni, RunnableNodeOutputJson as nn, NodeExecutionScheduler as nr, ItemExpr as nt, WorkflowStoragePolicyEvaluator as o, CredentialSessionService as oa, RunStateResetRequest as oi, UpstreamRefPlaceholder as on, PersistedTriggerSetupState as or, ItemExprResolvedContext as ot, WorkflowExecutableNodeClassifier as p, OAuth2ProviderFromPublicConfig as pa, WorkflowExecutionRepository as pi, WorkflowId as pn, TriggerRuntimeDiagnostics as pr, emitPorts as pt, NoOpCostTrackingTelemetry as q, CredentialFieldSchema as qi, NodeActivationContinuation as qn, PersistedRunSchedulingState as qr, ParentExecutionRef as qt, EngineWorkflowRunnerService as r, CredentialRequirement as ra, RunPruneCandidate as ri, TriggerNodeConfig as rn, NodeExecutionStatePublisher as rr, ItemExprArgs as rt, RunPolicySnapshotFactory as s, CredentialSetupStatus as sa, RunStatus as si, WorkflowDefinition as sn, PreparedNodeActivationDispatch as sr, isItemExpr as st, RunIntentService as t, CredentialOAuth2AuthDefinition as ta, RunEventPublisherDeps as ti, RunnableNodeInputJson as tn, NodeExecutionRequestHandler as tr, ParamDeep as tt, Engine as u, CredentialTypeId as ua, WebhookRunResult as ui, WorkflowErrorHandlerSpec as un, TestableTriggerNode as ur, resolveItemExprsInUnknown as ut, WhenBuilder as v, Lifecycle as va, TelemetryArtifactReference as vi, WorkflowStoragePolicyMode as vn, WorkflowNodeInstanceFactory as vr, BinaryPreviewKind as vt, BranchStepsArg as w, injectAll as wa, TelemetrySpanEnd as wi, runnableNodeOutputType as wn, HttpMethod as wr, Items as wt, BooleanWhenOverloads as x, container$1 as xa, TelemetryChildSpanStart as xi, branchRef as xn, WorkflowRunnerService as xr, InputPortKey as xt, AnyRunnableNodeConfig as y, RegistrationOptions as ya, TelemetryAttributePrimitive as yi, WorkflowStoragePolicyResolver as yn, WorkflowRepository as yr, Edge as yt, RunRevision as z, CostTrackingTelemetryFactory as zi, EngineHost as zn, NodeExecutionError as zr, NodeIdRef as zt };
2147
- //# sourceMappingURL=RunIntentService-BqhmdoA1.d.ts.map
2252
+ export { RetryPolicy as $, CoreTokens as $i, NodeActivationRequestBase as $n, NoOpExecutionTelemetry as $r, RunDataFactory as $t, ConnectionInvocationKind as A, RunPruneCandidate as Aa, CredentialType as Ai, ExponentialRetryPolicySpec as An, WebhookInvocationMatch as Ar, JsonPrimitive as At, RunIterationDto as B, WorkflowExecutionRepository as Ba, Lifecycle as Bi, BinaryStorageWriteResult as Bn, TelemetryArtifactReference as Br, NodeId as Bt, BranchMoreArgs as C, PersistedWorkflowSnapshotNode as Ca, CredentialOAuth2AuthDefinition as Ci, WorkflowStoragePolicySpec as Cn, WorkflowRunnerResolver as Cr, InputPortKey as Ct, ValidStepSequence as D, RunCurrentState as Da, CredentialSessionFactoryArgs as Di, runnableNodeOutputType as Dn, HttpMethod as Dr, JsonArray as Dt, StepSequenceOutput as E, RunCompletionNotifier as Ea, CredentialSessionFactory as Ei, runnableNodeInputType as En, WorkflowSnapshotResolver as Er, Items as Et, PersistedExecutionInstanceKind as F, RunStopCondition as Fa, OAuth2ProviderFromPublicConfig as Fi, BinaryBody as Fn, WorkflowActivationPolicy as Fr, NodeConnectionName as Ft, WorkItemStatus as G, inject as Gi, ExecutionContext as Gn, TelemetryScope as Gr, NodeOutputs as Gt, RunSlotProjectionState as H, TypeToken as Hi, EngineHost as Hn, TelemetryAttributes as Hr, NodeIterationId as Ht, PersistedExecutionInstanceRecord as I, RunSummary as Ia, Container as Ii, BinaryStorage as In, ExecutionTelemetry as Ir, NodeDefinition as It, NoOpCostTrackingTelemetryFactory as J, instanceCachingFactory as Ji, LiveWorkflowRepository as Jn, TelemetrySpanScope as Jr, OutputPortKey as Jt, WorkflowDetailSelectionState as K, injectAll as Ki, ExecutionContextFactory as Kn, TelemetrySpanEnd as Kr, NodeRef as Kt, PersistedRunSlotProjectionRecord as L, WebhookRunResult as La, DependencyContainer$1 as Li, BinaryStorageReadResult as Ln, ExecutionTelemetryFactory as Lr, NodeErrorHandler as Lt, ExecutionInstanceId as M, RunResult as Ma, CredentialTypeId as Mi, NoneRetryPolicySpec as Mn, WebhookTriggerResolution as Mr, MutableRunData as Mt, ExecutionPayloadPolicyFields as N, RunStateResetRequest as Na, CredentialTypeRegistry as Ni, RetryPolicySpec as Nn, WebhookTriggerRoutingDiagnostics as Nr, NodeActivationId as Nt, RunFinishedAtFactory as O, RunEventPublisherDeps as Oa, CredentialSessionService as Oi, triggerNodeOutputType as On, TriggerInstanceId as Or, JsonNonArray as Ot, PayloadStorageKind as P, RunStatus as Pa, CredentialUnboundError as Pi, BinaryAttachmentCreateRequest as Pn, AllWorkflowsActiveWorkflowActivationPolicy as Pr, NodeConfigBase as Pt, ExpRetryPolicy as Q, singleton as Qi, NodeActivationRequest as Qn, NoOpExecutionTelemetryFactory as Qr, PersistedTokenId as Qt, PersistedRunWorkItemKind as R, WorkflowExecutionListingRepository as Ra, Disposable as Ri, BinaryStorageStatResult as Rn, NodeExecutionTelemetry as Rr, NodeErrorHandlerArgs as Rt, BooleanWhenOverloads as S, PersistedWorkflowSnapshot as Sa, CredentialMaterialSourceKind as Si, WorkflowStoragePolicyResolver as Sn, WorkflowRepository as Sr, ExecutionMode as St, BranchStepsArg as T, PinnedNodeOutputsByPort as Ta, CredentialRequirement as Ti, nodeRef as Tn, WorkflowSnapshotFactory as Tr, ItemBinary as Tt, SlotExecutionStateDto as U, container$1 as Ui, ExecutableTriggerNode as Un, TelemetryChildSpanStart as Ur, NodeKind as Ut, RunRevision as V, RegistrationOptions as Vi, EngineDeps as Vn, TelemetryAttributePrimitive as Vr, NodeIdRef as Vt, WorkItemId as W, delay as Wi, ExecutionBinaryService as Wn, TelemetryMetricRecord as Wr, NodeOffloadPolicy as Wt, CostCatalog as X, predicateAwareClassFactory as Xi, NodeActivationContinuation as Xn, GenAiTelemetryAttributeNames as Xr, ParentExecutionRef as Xt, NoOpCostTrackingTelemetry as Y, instancePerContainerCachingFactory as Yi, MultiInputNode as Yn, CodemationTelemetryMetricNames as Yr, PairedItemRef as Yt, CostCatalogEntry as Z, registry as Zi, NodeActivationReceipt as Zn, CodemationTelemetryAttributeNames as Zr, PersistedRunPolicySnapshot as Zt, WorkflowBuilder as _, PersistedMutableNodeState as _a, CredentialHealthStatus as _i, WorkflowNodeConnection as _n, TriggerSetupContext as _r, isUnbrandedPortsEmissionShape as _t, RunTerminalPersistenceCoordinator as a, RunEventSubscription as aa, CostTrackingTelemetry as ai, RunnableNodeOutputJson as an, NodeExecutionScheduler as ar, ItemExprArgs as at, AnyRunnableNodeConfig as b, PersistedRunSchedulingState as ba, CredentialInstanceRecord as bi, WorkflowStoragePolicyDecisionArgs as bn, TriggerTestItemsContext as br, BinaryPreviewKind as bt, EngineExecutionLimitsPolicyFactory as c, ConnectionInvocationRecord as ca, CostTrackingTelemetryMetricNames as ci, TriggerNodeSetupState as cn, NodeResolver as cr, ItemExprResolvedContext as ct, DefaultWorkflowGraphFactory as d, ExecutionFrontierPlan as da, CredentialAdvancedSectionPresentation as di, WorkflowErrorContext as dn, RunnableNode as dr, resolveItemExprsForExecution as dt, ENGINE_EXECUTION_LIMITS_DEFAULTS as ea, NoOpNodeExecutionTelemetry as ei, RunDataSnapshot as en, NodeActivationScheduler as er, NoRetryPolicy as et, WorkflowExecutableNodeClassifierFactory as f, NodeExecutionError as fa, CredentialAuthDefinition as fi, WorkflowErrorHandler as fn, RunnableNodeExecuteArgs as fr, resolveItemExprsInUnknown as ft, ConnectionInvocationIdFactory as g, PendingNodeExecution as ga, CredentialHealth as gi, WorkflowId as gn, TriggerRuntimeDiagnostics as gr, isPortsEmission as gt, ConnectionNodeIdFactory as h, NodeInputsByPort as ha, CredentialFieldSchema as hi, WorkflowGraphFactory as hn, TriggerNode as hr, emitPorts as ht, WorkflowPolicyErrorServices as i, RunEventBus as ia, CostTrackingPriceQuote as ii, RunnableNodeInputJson as in, NodeExecutionRequestHandler as ir, ItemExpr as it, ExecutionInstanceDto as j, RunQueueEntry as ja, CredentialTypeDefinition as ji, FixedRetryPolicySpec as jn, WebhookTriggerMatcher as jr, JsonValue as jt, BatchId as k, RunExecutionOptions as ka, CredentialSetupStatus as ki, triggerNodeSetupStateType as kn, WebhookControlSignal as kr, JsonObject as kt, WorkflowSnapshotCodec as l, CurrentStateExecutionRequest as la, CostTrackingUsageRecord as li, UpstreamRefPlaceholder as ln, PersistedTriggerSetupState as lr, isItemExpr as lt, NodeIterationIdFactory as m, NodeExecutionStatus as ma, CredentialBindingKey as mi, WorkflowGraph as mn, TriggerCleanupHandle as mr, PortsEmission as mt, InMemoryLiveWorkflowRepository as n, EngineExecutionLimitsPolicyConfig as na, NoOpTelemetryArtifactReference as ni, RunIdFactory as nn, NodeExecutionContext as nr, Param as nt, WorkflowStoragePolicyEvaluator as o, ConnectionInvocationAppendArgs as oa, CostTrackingTelemetryAttributeNames as oi, TriggerNodeConfig as on, NodeExecutionStatePublisher as or, ItemExprCallback as ot, WorkflowExecutableNodeClassifier as p, NodeExecutionSnapshot as pa, CredentialBinding as pi, WorkflowErrorHandlerSpec as pn, TestableTriggerNode as pr, getOriginIndexFromItem as pt, WorkflowRunDetailDto as q, injectable as qi, ItemNode as qn, TelemetrySpanEventRecord as qr, NodeSchedulerDecision as qt, EngineWorkflowRunnerService as r, RunEvent as ra, CostTrackingComponent as ri, RunnableNodeConfig as rn, NodeExecutionRequest as rr, ParamDeep as rt, RunPolicySnapshotFactory as s, ConnectionInvocationId as sa, CostTrackingTelemetryFactory as si, TriggerNodeOutputJson as sn, NodeExecutor as sr, ItemExprContext as st, RunIntentService as t, EngineExecutionLimitsPolicy as ta, NoOpTelemetrySpanScope as ti, RunId as tn, NodeBinaryAttachmentService as tr, Expr as tt, Engine as u, EngineRunCounters as ua, AnyCredentialType as ui, WorkflowDefinition as un, PreparedNodeActivationDispatch as ur, itemExpr as ut, ChainCursor as v, PersistedMutableRunState as va, CredentialHealthTester as vi, WorkflowPolicyRuntimeDefaults as vn, TriggerSetupStateFor as vr, ActivationIdFactory as vt, BranchOutputGuard as w, PersistedWorkflowTokenRegistryLike as wa, CredentialOAuth2ScopesFromPublicConfig as wi, branchRef as wn, WorkflowRunnerService as wr, Item as wt, AnyTriggerNodeConfig as x, PersistedRunState as xa, CredentialJsonRecord as xi, WorkflowStoragePolicyMode as xn, WorkflowNodeInstanceFactory as xr, Edge as xt, WhenBuilder as y, PersistedRunControlState as ya, CredentialInstanceId as yi, WorkflowPrunePolicySpec as yn, TriggerSetupStateRepository as yr, BinaryAttachment as yt, PersistedRunWorkItemRecord as z, WorkflowExecutionPruneRepository as za, InjectionToken$1 as zi, BinaryStorageWriteRequest as zn, TelemetryArtifactAttachment as zr, NodeErrorHandlerSpec as zt };
2253
+ //# sourceMappingURL=RunIntentService-dteLjNiT.d.ts.map