@codemation/core 1.0.1 → 2.0.0
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.
- package/CHANGELOG.md +293 -0
- package/dist/{EngineRuntimeRegistration.types-kxQA5NLt.d.ts → EngineRuntimeRegistration.types-D1fyApMI.d.ts} +2 -2
- package/dist/{EngineWorkflowRunnerService-Ba2AvBnL.d.cts → EngineRuntimeRegistration.types-pB3FnzqR.d.cts} +17 -17
- package/dist/{InMemoryRunDataFactory-Ou4tQUOS.d.cts → InMemoryRunDataFactory-Xw7v4-sj.d.cts} +31 -29
- package/dist/InMemoryRunEventBusRegistry-VM3OWnHo.cjs +47 -0
- package/dist/InMemoryRunEventBusRegistry-VM3OWnHo.cjs.map +1 -0
- package/dist/InMemoryRunEventBusRegistry-sM4z4n_i.js +41 -0
- package/dist/InMemoryRunEventBusRegistry-sM4z4n_i.js.map +1 -0
- package/dist/{RunIntentService-dteLjNiT.d.ts → RunIntentService-BE9CAkbf.d.ts} +602 -213
- package/dist/{RunIntentService-Dyh_dH0k.d.cts → RunIntentService-siBSjaaY.d.cts} +430 -125
- package/dist/bootstrap/index.cjs +5 -2
- package/dist/bootstrap/index.d.cts +212 -135
- package/dist/bootstrap/index.d.ts +4 -4
- package/dist/bootstrap/index.js +3 -3
- package/dist/{bootstrap-Cko6udwL.cjs → bootstrap-Cm5ruQxx.cjs} +253 -3
- package/dist/bootstrap-Cm5ruQxx.cjs.map +1 -0
- package/dist/{bootstrap-CL68rqWg.js → bootstrap-D3r505ko.js} +236 -4
- package/dist/bootstrap-D3r505ko.js.map +1 -0
- package/dist/{index-CyfGTfU1.d.ts → index-DeLl1Tne.d.ts} +574 -242
- package/dist/index.cjs +328 -180
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +441 -103
- package/dist/index.d.ts +3 -3
- package/dist/index.js +305 -163
- package/dist/index.js.map +1 -1
- package/dist/{runtime-284ok0cm.js → runtime-BGNbRnqs.js} +764 -75
- package/dist/runtime-BGNbRnqs.js.map +1 -0
- package/dist/{runtime-B3Og-_St.cjs → runtime-DKXJwTNv.cjs} +841 -80
- package/dist/runtime-DKXJwTNv.cjs.map +1 -0
- package/dist/testing.cjs +4 -4
- package/dist/testing.cjs.map +1 -1
- package/dist/testing.d.cts +2 -2
- package/dist/testing.d.ts +2 -2
- package/dist/testing.js +3 -3
- package/package.json +7 -2
- package/src/authoring/DefinedCollectionRegistry.ts +17 -0
- package/src/authoring/defineCollection.types.ts +181 -0
- package/src/authoring/definePollingTrigger.types.ts +396 -0
- package/src/authoring/definePollingTriggerInternals.ts +74 -0
- package/src/authoring/index.ts +19 -0
- package/src/bootstrap/index.ts +9 -0
- package/src/bootstrap/runtime/EngineRuntimeRegistrar.ts +5 -1
- package/src/contracts/assertionTypes.ts +63 -0
- package/src/contracts/baseTypes.ts +12 -0
- package/src/contracts/collectionTypes.ts +44 -0
- package/src/contracts/credentialTypes.ts +23 -1
- package/src/contracts/index.ts +4 -0
- package/src/contracts/runTypes.ts +27 -1
- package/src/contracts/runtimeTypes.ts +34 -0
- package/src/contracts/testTriggerTypes.ts +66 -0
- package/src/contracts/workflowTypes.ts +30 -7
- package/src/contracts.ts +59 -0
- package/src/events/runEvents.ts +49 -0
- package/src/execution/ChildExecutionScopeFactory.ts +4 -7
- package/src/execution/DefaultExecutionContextFactory.ts +6 -0
- package/src/execution/NodeInstanceFactory.ts +13 -1
- package/src/execution/NodeInstantiationError.ts +16 -0
- package/src/execution/WorkflowRunExecutionContextFactory.ts +3 -0
- package/src/execution/index.ts +1 -0
- package/src/index.ts +7 -0
- package/src/orchestration/AbortControllerFactory.ts +9 -0
- package/src/orchestration/NodeExecutionRequestHandlerService.ts +1 -0
- package/src/orchestration/RunContinuationService.ts +3 -0
- package/src/orchestration/RunStartService.ts +114 -2
- package/src/orchestration/TestSuiteOrchestrator.ts +350 -0
- package/src/orchestration/TestSuiteRunIdFactory.ts +11 -0
- package/src/orchestration/TriggerRuntimeService.ts +34 -7
- package/src/orchestration/index.ts +9 -0
- package/src/runtime/EngineFactory.ts +11 -0
- package/src/triggers/polling/PollingTriggerDedupWindow.ts +23 -0
- package/src/triggers/polling/PollingTriggerLogger.ts +18 -0
- package/src/triggers/polling/PollingTriggerRuntime.ts +122 -0
- package/src/triggers/polling/index.ts +5 -0
- package/src/types/index.ts +12 -9
- package/src/workflow/dsl/NodeIdSlugifier.ts +18 -0
- package/src/workflow/dsl/WorkflowBuilder.ts +71 -3
- package/src/workflow/dsl/WorkflowDefinitionError.ts +15 -0
- package/src/workflow/index.ts +2 -0
- package/dist/InMemoryRunEventBusRegistry-B0_C4OnP.cjs +0 -262
- package/dist/InMemoryRunEventBusRegistry-B0_C4OnP.cjs.map +0 -1
- package/dist/InMemoryRunEventBusRegistry-C2U83Hmv.js +0 -238
- package/dist/InMemoryRunEventBusRegistry-C2U83Hmv.js.map +0 -1
- package/dist/bootstrap-CL68rqWg.js.map +0 -1
- package/dist/bootstrap-Cko6udwL.cjs.map +0 -1
- package/dist/runtime-284ok0cm.js.map +0 -1
- package/dist/runtime-B3Og-_St.cjs.map +0 -1
|
@@ -3,7 +3,262 @@ 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/contracts/baseTypes.d.ts
|
|
7
|
+
/**
|
|
8
|
+
* Minimal base types that have no dependencies on other contracts.
|
|
9
|
+
* Used by credentialTypes, workflowTypes, and other contract layers
|
|
10
|
+
* to avoid circular dependencies.
|
|
11
|
+
*/
|
|
12
|
+
type WorkflowId = string;
|
|
13
|
+
type NodeId = string;
|
|
14
|
+
type OutputPortKey = string;
|
|
15
|
+
type InputPortKey = string;
|
|
16
|
+
type PersistedTokenId = string;
|
|
17
|
+
type NodeConnectionName = string;
|
|
18
|
+
//#endregion
|
|
19
|
+
//#region src/contracts/testTriggerTypes.d.ts
|
|
20
|
+
/**
|
|
21
|
+
* Identifier minted by the host (or in-memory test runner) for one execution of a test suite.
|
|
22
|
+
* One TestSuiteRun produces N child workflow runs, one per item yielded by `generateItems`.
|
|
23
|
+
*/
|
|
24
|
+
type TestSuiteRunId = string;
|
|
25
|
+
/**
|
|
26
|
+
* Setup context passed to a {@link TestTriggerNodeConfig.generateItems} callback. Distinct from
|
|
27
|
+
* {@link import("./runtimeTypes").TriggerSetupContext} on purpose: test triggers are not
|
|
28
|
+
* activated by the live trigger lifecycle (webhooks, cron, polling) and never call `emit` —
|
|
29
|
+
* the orchestrator pulls from the iterable they return and dispatches one run per item.
|
|
30
|
+
*/
|
|
31
|
+
interface TestTriggerSetupContext<TConfig extends TestTriggerNodeConfig<unknown> = TestTriggerNodeConfig<unknown>> {
|
|
32
|
+
readonly workflowId: WorkflowId;
|
|
33
|
+
readonly nodeId: NodeId;
|
|
34
|
+
readonly config: TConfig;
|
|
35
|
+
readonly testSuiteRunId: TestSuiteRunId;
|
|
36
|
+
/**
|
|
37
|
+
* Resolves a credential session for a slot declared on this trigger's
|
|
38
|
+
* {@link import("./workflowTypes").NodeConfigBase.getCredentialRequirements}. Same contract as
|
|
39
|
+
* {@link import("./runtimeTypes").ExecutionContext.getCredential}.
|
|
40
|
+
*/
|
|
41
|
+
getCredential<TSession = unknown>(slotKey: string): Promise<TSession>;
|
|
42
|
+
/** AbortSignal raised when the suite is cancelled — long-running pulls should bail out. */
|
|
43
|
+
readonly signal: AbortSignal;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* A trigger config that emits **test cases**. Each item yielded by {@link generateItems}
|
|
47
|
+
* becomes one workflow run (with `executionOptions.testContext` set), so 10 yielded items
|
|
48
|
+
* → 10 runs marked under the same TestSuiteRun.
|
|
49
|
+
*
|
|
50
|
+
* The trigger is otherwise a normal {@link TriggerNodeConfig} (so the canvas treats it like
|
|
51
|
+
* any other trigger), but its `triggerKind` is `"test"` so the live activation policy skips it.
|
|
52
|
+
*/
|
|
53
|
+
interface TestTriggerNodeConfig<TOutputJson$1 = unknown> extends TriggerNodeConfig<TOutputJson$1, undefined> {
|
|
54
|
+
readonly triggerKind: "test";
|
|
55
|
+
/**
|
|
56
|
+
* Author-supplied async iterable of items, evaluated lazily. Implementations may fetch from
|
|
57
|
+
* credentialed APIs, read fixture files, or yield hard-coded items. The orchestrator iterates
|
|
58
|
+
* and dispatches one run per item, with concurrency capped by {@link concurrency} (default 4).
|
|
59
|
+
*/
|
|
60
|
+
generateItems(ctx: TestTriggerSetupContext<TestTriggerNodeConfig<TOutputJson$1>>): AsyncIterable<Item<TOutputJson$1>>;
|
|
61
|
+
/** Per-suite-run cap on simultaneously-executing test cases. Default: 4. */
|
|
62
|
+
readonly concurrency?: number;
|
|
63
|
+
/**
|
|
64
|
+
* Free-form description of where the test cases come from — surfaced in the node properties
|
|
65
|
+
* panel and the suite-detail header so authors revisiting the workflow six months later
|
|
66
|
+
* remember which mailbox / folder / fixture file the cases originate from.
|
|
67
|
+
*
|
|
68
|
+
* Example: `"All emails in the Gmail label \"test/triage-fixtures\" — 14 messages as of 2026-05-03."`
|
|
69
|
+
*/
|
|
70
|
+
readonly description?: string;
|
|
71
|
+
/**
|
|
72
|
+
* Resolves a human-readable label for one yielded test case (e.g. email subject). The
|
|
73
|
+
* orchestrator calls this once per yielded item, persists the result on the run, and the
|
|
74
|
+
* Tests-tab UI uses it to render the case row instead of the opaque runId. Return
|
|
75
|
+
* `undefined` to fall back to "Case #N".
|
|
76
|
+
*/
|
|
77
|
+
caseLabel?(item: Item<TOutputJson$1>): string | undefined;
|
|
78
|
+
}
|
|
79
|
+
//#endregion
|
|
80
|
+
//#region src/events/runEvents.d.ts
|
|
81
|
+
/**
|
|
82
|
+
* Outcome of a single test case (one workflow run dispatched by the test-suite orchestrator).
|
|
83
|
+
* - `running`: workflow still in flight
|
|
84
|
+
* - `succeeded`: workflow completed AND all assertions passed (or no assertions)
|
|
85
|
+
* - `failed`: workflow failed OR (workflow completed but ≥1 assertion failed)
|
|
86
|
+
* - `errored` / `cancelled`: workflow itself errored or was cancelled
|
|
87
|
+
*/
|
|
88
|
+
type TestCaseRunStatus = "running" | "succeeded" | "failed" | "errored" | "cancelled";
|
|
89
|
+
/** Aggregate outcome of a TestSuiteRun. */
|
|
90
|
+
type TestSuiteRunStatus = "succeeded" | "failed" | "partial" | "errored" | "cancelled";
|
|
91
|
+
type RunEvent = Readonly<{
|
|
92
|
+
kind: "runCreated";
|
|
93
|
+
runId: RunId;
|
|
94
|
+
workflowId: WorkflowId;
|
|
95
|
+
parent?: ParentExecutionRef;
|
|
96
|
+
at: string;
|
|
97
|
+
}> | Readonly<{
|
|
98
|
+
kind: "runSaved";
|
|
99
|
+
runId: RunId;
|
|
100
|
+
workflowId: WorkflowId;
|
|
101
|
+
parent?: ParentExecutionRef;
|
|
102
|
+
at: string;
|
|
103
|
+
state: PersistedRunState;
|
|
104
|
+
}> | Readonly<{
|
|
105
|
+
kind: "nodeQueued";
|
|
106
|
+
runId: RunId;
|
|
107
|
+
workflowId: WorkflowId;
|
|
108
|
+
parent?: ParentExecutionRef;
|
|
109
|
+
at: string;
|
|
110
|
+
snapshot: NodeExecutionSnapshot;
|
|
111
|
+
}> | Readonly<{
|
|
112
|
+
kind: "nodeStarted";
|
|
113
|
+
runId: RunId;
|
|
114
|
+
workflowId: WorkflowId;
|
|
115
|
+
parent?: ParentExecutionRef;
|
|
116
|
+
at: string;
|
|
117
|
+
snapshot: NodeExecutionSnapshot;
|
|
118
|
+
}> | Readonly<{
|
|
119
|
+
kind: "nodeCompleted";
|
|
120
|
+
runId: RunId;
|
|
121
|
+
workflowId: WorkflowId;
|
|
122
|
+
parent?: ParentExecutionRef;
|
|
123
|
+
at: string;
|
|
124
|
+
snapshot: NodeExecutionSnapshot;
|
|
125
|
+
}> | Readonly<{
|
|
126
|
+
kind: "nodeFailed";
|
|
127
|
+
runId: RunId;
|
|
128
|
+
workflowId: WorkflowId;
|
|
129
|
+
parent?: ParentExecutionRef;
|
|
130
|
+
at: string;
|
|
131
|
+
snapshot: NodeExecutionSnapshot;
|
|
132
|
+
}> | Readonly<{
|
|
133
|
+
kind: "connectionInvocationStarted";
|
|
134
|
+
runId: RunId;
|
|
135
|
+
workflowId: WorkflowId;
|
|
136
|
+
parent?: ParentExecutionRef;
|
|
137
|
+
at: string;
|
|
138
|
+
record: ConnectionInvocationRecord;
|
|
139
|
+
}> | Readonly<{
|
|
140
|
+
kind: "connectionInvocationCompleted";
|
|
141
|
+
runId: RunId;
|
|
142
|
+
workflowId: WorkflowId;
|
|
143
|
+
parent?: ParentExecutionRef;
|
|
144
|
+
at: string;
|
|
145
|
+
record: ConnectionInvocationRecord;
|
|
146
|
+
}> | Readonly<{
|
|
147
|
+
kind: "connectionInvocationFailed";
|
|
148
|
+
runId: RunId;
|
|
149
|
+
workflowId: WorkflowId;
|
|
150
|
+
parent?: ParentExecutionRef;
|
|
151
|
+
at: string;
|
|
152
|
+
record: ConnectionInvocationRecord;
|
|
153
|
+
}> | Readonly<{
|
|
154
|
+
kind: "testSuiteStarted";
|
|
155
|
+
testSuiteRunId: TestSuiteRunId;
|
|
156
|
+
workflowId: WorkflowId;
|
|
157
|
+
triggerNodeId: string;
|
|
158
|
+
triggerNodeName?: string;
|
|
159
|
+
concurrency: number;
|
|
160
|
+
at: string;
|
|
161
|
+
}> | Readonly<{
|
|
162
|
+
kind: "testSuiteFinished";
|
|
163
|
+
testSuiteRunId: TestSuiteRunId;
|
|
164
|
+
workflowId: WorkflowId;
|
|
165
|
+
status: TestSuiteRunStatus;
|
|
166
|
+
totalCases: number;
|
|
167
|
+
passedCases: number;
|
|
168
|
+
failedCases: number;
|
|
169
|
+
at: string;
|
|
170
|
+
}> | Readonly<{
|
|
171
|
+
kind: "testCaseStarted";
|
|
172
|
+
testSuiteRunId: TestSuiteRunId;
|
|
173
|
+
testCaseIndex: number;
|
|
174
|
+
runId: RunId;
|
|
175
|
+
workflowId: WorkflowId;
|
|
176
|
+
testCaseLabel?: string;
|
|
177
|
+
at: string;
|
|
178
|
+
}> | Readonly<{
|
|
179
|
+
kind: "testCaseCompleted";
|
|
180
|
+
testSuiteRunId: TestSuiteRunId;
|
|
181
|
+
testCaseIndex: number;
|
|
182
|
+
runId: RunId;
|
|
183
|
+
workflowId: WorkflowId;
|
|
184
|
+
status: TestCaseRunStatus;
|
|
185
|
+
at: string;
|
|
186
|
+
}>;
|
|
187
|
+
interface RunEventSubscription {
|
|
188
|
+
close(): Promise<void>;
|
|
189
|
+
}
|
|
190
|
+
interface RunEventBus {
|
|
191
|
+
publish(event: RunEvent): Promise<void>;
|
|
192
|
+
subscribe(onEvent: (event: RunEvent) => void): Promise<RunEventSubscription>;
|
|
193
|
+
subscribeToWorkflow(workflowId: WorkflowId, onEvent: (event: RunEvent) => void): Promise<RunEventSubscription>;
|
|
194
|
+
}
|
|
195
|
+
//#endregion
|
|
196
|
+
//#region src/policies/executionLimits/EngineExecutionLimitsPolicy.d.ts
|
|
197
|
+
interface EngineExecutionLimitsPolicyConfig {
|
|
198
|
+
readonly defaultMaxNodeActivations: number;
|
|
199
|
+
readonly hardMaxNodeActivations: number;
|
|
200
|
+
readonly defaultMaxSubworkflowDepth: number;
|
|
201
|
+
readonly hardMaxSubworkflowDepth: number;
|
|
202
|
+
}
|
|
203
|
+
/** Framework defaults for {@link EngineExecutionLimitsPolicy} (merged with host `runtime.engineExecutionLimits`). */
|
|
204
|
+
declare const ENGINE_EXECUTION_LIMITS_DEFAULTS: EngineExecutionLimitsPolicyConfig;
|
|
205
|
+
/**
|
|
206
|
+
* Resolves per-run execution limits: defaults, hard ceilings, and subworkflow depth for new runs.
|
|
207
|
+
*/
|
|
208
|
+
declare class EngineExecutionLimitsPolicy {
|
|
209
|
+
private readonly config;
|
|
210
|
+
constructor(config?: EngineExecutionLimitsPolicyConfig);
|
|
211
|
+
/**
|
|
212
|
+
* Effective options for a new root run (depth 0): defaults merged with engine ceilings.
|
|
213
|
+
* Replaces a separate one-method factory for root-run bootstrap.
|
|
214
|
+
*/
|
|
215
|
+
createRootExecutionOptions(): RunExecutionOptions;
|
|
216
|
+
mergeExecutionOptionsForNewRun(parent: ParentExecutionRef | undefined, user: RunExecutionOptions | undefined): RunExecutionOptions;
|
|
217
|
+
private capNumber;
|
|
218
|
+
}
|
|
219
|
+
//#endregion
|
|
220
|
+
//#region src/di/CoreTokens.d.ts
|
|
221
|
+
declare const CoreTokens: {
|
|
222
|
+
readonly PersistedWorkflowTokenRegistry: TypeToken<PersistedWorkflowTokenRegistryLike>;
|
|
223
|
+
readonly CredentialSessionService: TypeToken<CredentialSessionService>;
|
|
224
|
+
readonly CredentialTypeRegistry: TypeToken<CredentialTypeRegistry>;
|
|
225
|
+
readonly WorkflowRunnerService: TypeToken<WorkflowRunnerService>;
|
|
226
|
+
readonly LiveWorkflowRepository: TypeToken<LiveWorkflowRepository>;
|
|
227
|
+
readonly WorkflowRepository: TypeToken<WorkflowRepository>;
|
|
228
|
+
readonly NodeResolver: TypeToken<NodeResolver>;
|
|
229
|
+
readonly WorkflowNodeInstanceFactory: TypeToken<WorkflowNodeInstanceFactory>;
|
|
230
|
+
readonly RunIdFactory: TypeToken<RunIdFactory>;
|
|
231
|
+
readonly ActivationIdFactory: TypeToken<ActivationIdFactory>;
|
|
232
|
+
readonly WorkflowExecutionRepository: TypeToken<WorkflowExecutionRepository>;
|
|
233
|
+
readonly TriggerSetupStateRepository: TypeToken<TriggerSetupStateRepository>;
|
|
234
|
+
readonly NodeActivationScheduler: TypeToken<NodeActivationScheduler>;
|
|
235
|
+
readonly RunDataFactory: TypeToken<RunDataFactory>;
|
|
236
|
+
readonly ExecutionContextFactory: TypeToken<ExecutionContextFactory>;
|
|
237
|
+
readonly RunEventBus: TypeToken<RunEventBus>;
|
|
238
|
+
readonly BinaryStorage: TypeToken<BinaryStorage>;
|
|
239
|
+
readonly WebhookBasePath: TypeToken<string>;
|
|
240
|
+
/** Engine execution limits (defaults + optional host overrides). Consumers may bind a custom instance to override. */
|
|
241
|
+
readonly EngineExecutionLimitsPolicy: TypeToken<EngineExecutionLimitsPolicy>;
|
|
242
|
+
readonly WorkflowActivationPolicy: TypeToken<WorkflowActivationPolicy>;
|
|
243
|
+
};
|
|
244
|
+
//#endregion
|
|
6
245
|
//#region src/contracts/runTypes.d.ts
|
|
246
|
+
/**
|
|
247
|
+
* Test-suite linkage for a run. When set, this run was started by a TestSuiteOrchestrator
|
|
248
|
+
* as one test case inside a TestSuiteRun. The `IsTestRun` node and host-side persisters key
|
|
249
|
+
* off the presence of this field. Subworkflow runs inherit it from their parent run.
|
|
250
|
+
*/
|
|
251
|
+
interface RunTestContext {
|
|
252
|
+
readonly testSuiteRunId: string;
|
|
253
|
+
readonly testCaseIndex: number;
|
|
254
|
+
/**
|
|
255
|
+
* Optional human-friendly label for this test case (e.g. an email subject when fixtures
|
|
256
|
+
* are loaded from a mailbox). Resolved per item by `TestTrigger.caseLabel(item)` if set,
|
|
257
|
+
* persisted on `Run.test_case_label` so the Tests-tab tree-table can show "RFQ for batch 14"
|
|
258
|
+
* instead of "run_1777755971399_bbb86beac1396".
|
|
259
|
+
*/
|
|
260
|
+
readonly testCaseLabel?: string;
|
|
261
|
+
}
|
|
7
262
|
interface RunExecutionOptions {
|
|
8
263
|
/** Run-intent override: force the inline scheduler and bypass node-level offload decisions. */
|
|
9
264
|
localOnly?: boolean;
|
|
@@ -20,6 +275,8 @@ interface RunExecutionOptions {
|
|
|
20
275
|
maxNodeActivations?: number;
|
|
21
276
|
/** Effective cap after engine policy merge (subworkflow nesting). */
|
|
22
277
|
maxSubworkflowDepth?: number;
|
|
278
|
+
/** Present iff started by a TestSuiteOrchestrator; propagates to subworkflow runs via {@link ParentExecutionRef.testContext}. */
|
|
279
|
+
testContext?: RunTestContext;
|
|
23
280
|
}
|
|
24
281
|
/** Engine-owned counters persisted with the run (worker-safe). */
|
|
25
282
|
interface EngineRunCounters {
|
|
@@ -183,6 +440,13 @@ interface RunSummary {
|
|
|
183
440
|
workflowId: WorkflowId;
|
|
184
441
|
startedAt: string;
|
|
185
442
|
status: RunStatus;
|
|
443
|
+
/**
|
|
444
|
+
* Test-case status for runs dispatched as part of a TestSuiteRun. Carries the
|
|
445
|
+
* assertion-rollup-corrected outcome the test orchestrator persists onto the row, so the
|
|
446
|
+
* executions list can show "failed" for a run whose workflow completed cleanly but whose
|
|
447
|
+
* assertions caught regressions. Absent for non-test runs and legacy rows.
|
|
448
|
+
*/
|
|
449
|
+
testCaseStatus?: TestCaseRunStatus;
|
|
186
450
|
/** ISO timestamp when the run finished (derived from node snapshots or store `updatedAt`); omit while running/pending. */
|
|
187
451
|
finishedAt?: string;
|
|
188
452
|
parent?: ParentExecutionRef;
|
|
@@ -309,127 +573,34 @@ interface RunEventPublisherDeps {
|
|
|
309
573
|
eventBus?: RunEventBus;
|
|
310
574
|
}
|
|
311
575
|
//#endregion
|
|
312
|
-
//#region src/
|
|
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>;
|
|
383
|
-
}
|
|
384
|
-
//#endregion
|
|
385
|
-
//#region src/policies/executionLimits/EngineExecutionLimitsPolicy.d.ts
|
|
386
|
-
interface EngineExecutionLimitsPolicyConfig {
|
|
387
|
-
readonly defaultMaxNodeActivations: number;
|
|
388
|
-
readonly hardMaxNodeActivations: number;
|
|
389
|
-
readonly defaultMaxSubworkflowDepth: number;
|
|
390
|
-
readonly hardMaxSubworkflowDepth: number;
|
|
391
|
-
}
|
|
392
|
-
/** Framework defaults for {@link EngineExecutionLimitsPolicy} (merged with host `runtime.engineExecutionLimits`). */
|
|
393
|
-
declare const ENGINE_EXECUTION_LIMITS_DEFAULTS: EngineExecutionLimitsPolicyConfig;
|
|
576
|
+
//#region src/triggers/polling/PollingTriggerDedupWindow.d.ts
|
|
394
577
|
/**
|
|
395
|
-
*
|
|
578
|
+
* Merges processed-ID windows for polling triggers, capping the total to avoid unbounded growth.
|
|
579
|
+
* Plugin code receives an instance of this class via {@link PollingTriggerHandle.dedup}.
|
|
396
580
|
*/
|
|
397
|
-
declare class
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
/**
|
|
401
|
-
* Effective options for a new root run (depth 0): defaults merged with engine ceilings.
|
|
402
|
-
* Replaces a separate one-method factory for root-run bootstrap.
|
|
403
|
-
*/
|
|
404
|
-
createRootExecutionOptions(): RunExecutionOptions;
|
|
405
|
-
mergeExecutionOptionsForNewRun(parent: ParentExecutionRef | undefined, user: RunExecutionOptions | undefined): RunExecutionOptions;
|
|
406
|
-
private capNumber;
|
|
581
|
+
declare class PollingTriggerDedupWindow {
|
|
582
|
+
static readonly defaultCapN = 2000;
|
|
583
|
+
merge(previous: ReadonlyArray<string>, incoming: ReadonlyArray<string>, capN?: number): ReadonlyArray<string>;
|
|
407
584
|
}
|
|
408
585
|
//#endregion
|
|
409
|
-
//#region src/
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
readonly BinaryStorage: TypeToken<BinaryStorage>;
|
|
428
|
-
readonly WebhookBasePath: TypeToken<string>;
|
|
429
|
-
/** Engine execution limits (defaults + optional host overrides). Consumers may bind a custom instance to override. */
|
|
430
|
-
readonly EngineExecutionLimitsPolicy: TypeToken<EngineExecutionLimitsPolicy>;
|
|
431
|
-
readonly WorkflowActivationPolicy: TypeToken<WorkflowActivationPolicy>;
|
|
432
|
-
};
|
|
586
|
+
//#region src/triggers/polling/PollingTriggerLogger.d.ts
|
|
587
|
+
/**
|
|
588
|
+
* Minimal logger surface for the polling-trigger runtime.
|
|
589
|
+
* Hosts supply this via {@link EngineDeps.pollingTriggerLogger};
|
|
590
|
+
* when absent the runtime is silent.
|
|
591
|
+
*/
|
|
592
|
+
interface PollingTriggerLogger {
|
|
593
|
+
info(message: string): void;
|
|
594
|
+
warn(message: string): void;
|
|
595
|
+
error(message: string, exception?: Error): void;
|
|
596
|
+
debug(message: string): void;
|
|
597
|
+
}
|
|
598
|
+
declare class NoOpPollingTriggerLogger implements PollingTriggerLogger {
|
|
599
|
+
info(): void;
|
|
600
|
+
warn(): void;
|
|
601
|
+
error(): void;
|
|
602
|
+
debug(): void;
|
|
603
|
+
}
|
|
433
604
|
//#endregion
|
|
434
605
|
//#region src/contracts/credentialTypes.d.ts
|
|
435
606
|
type CredentialTypeId = string;
|
|
@@ -511,6 +682,27 @@ type CredentialOAuth2AuthDefinition = Readonly<{
|
|
|
511
682
|
scopesFromPublicConfig?: CredentialOAuth2ScopesFromPublicConfig;
|
|
512
683
|
clientIdFieldKey?: string;
|
|
513
684
|
clientSecretFieldKey?: string;
|
|
685
|
+
} | {
|
|
686
|
+
kind: "oauth2";
|
|
687
|
+
/**
|
|
688
|
+
* Free-form provider identifier for telemetry, DB rows, and Better Auth provider naming.
|
|
689
|
+
* Not used for any registry lookup — URLs come from {@link authorizeUrl} / {@link tokenUrl}.
|
|
690
|
+
*/
|
|
691
|
+
providerId: string;
|
|
692
|
+
/**
|
|
693
|
+
* Authorization endpoint. May contain `{publicFieldKey}` placeholders that the runtime
|
|
694
|
+
* substitutes from the credential's resolved public config (URL-encoded).
|
|
695
|
+
* Example: `https://login.microsoftonline.com/{tenantId}/oauth2/v2.0/authorize`
|
|
696
|
+
*/
|
|
697
|
+
authorizeUrl: string;
|
|
698
|
+
/** Token endpoint. Same templating rules as {@link authorizeUrl}. */
|
|
699
|
+
tokenUrl: string;
|
|
700
|
+
/** Optional userinfo endpoint. Same templating rules as {@link authorizeUrl}. */
|
|
701
|
+
userInfoUrl?: string;
|
|
702
|
+
scopes: ReadonlyArray<string>;
|
|
703
|
+
scopesFromPublicConfig?: CredentialOAuth2ScopesFromPublicConfig;
|
|
704
|
+
clientIdFieldKey?: string;
|
|
705
|
+
clientSecretFieldKey?: string;
|
|
514
706
|
}>;
|
|
515
707
|
type CredentialAuthDefinition = CredentialOAuth2AuthDefinition;
|
|
516
708
|
type CredentialAdvancedSectionPresentation = Readonly<{
|
|
@@ -601,6 +793,71 @@ declare class CredentialUnboundError extends Error {
|
|
|
601
793
|
private static createMessage;
|
|
602
794
|
}
|
|
603
795
|
//#endregion
|
|
796
|
+
//#region src/contracts/collectionTypes.d.ts
|
|
797
|
+
/**
|
|
798
|
+
* Represents a typed store for a single collection.
|
|
799
|
+
* All rows include auto-managed id, created_at, and updated_at fields.
|
|
800
|
+
*/
|
|
801
|
+
interface CollectionStore<TRow extends Record<string, unknown> = Record<string, unknown>> {
|
|
802
|
+
/**
|
|
803
|
+
* Insert a new row. id, created_at, and updated_at are auto-populated.
|
|
804
|
+
*/
|
|
805
|
+
insert(row: TRow): Promise<TRow & {
|
|
806
|
+
id: string;
|
|
807
|
+
created_at: Date;
|
|
808
|
+
updated_at: Date;
|
|
809
|
+
}>;
|
|
810
|
+
/**
|
|
811
|
+
* Get a single row by id.
|
|
812
|
+
*/
|
|
813
|
+
get(id: string): Promise<(TRow & {
|
|
814
|
+
id: string;
|
|
815
|
+
created_at: Date;
|
|
816
|
+
updated_at: Date;
|
|
817
|
+
}) | null>;
|
|
818
|
+
/**
|
|
819
|
+
* Find a single row matching the provided filter.
|
|
820
|
+
*/
|
|
821
|
+
findOne(filter: Partial<TRow>): Promise<(TRow & {
|
|
822
|
+
id: string;
|
|
823
|
+
created_at: Date;
|
|
824
|
+
updated_at: Date;
|
|
825
|
+
}) | null>;
|
|
826
|
+
/**
|
|
827
|
+
* List rows with optional pagination and filtering.
|
|
828
|
+
*/
|
|
829
|
+
list(opts?: {
|
|
830
|
+
limit?: number;
|
|
831
|
+
offset?: number;
|
|
832
|
+
where?: Partial<TRow>;
|
|
833
|
+
}): Promise<{
|
|
834
|
+
rows: ReadonlyArray<TRow & {
|
|
835
|
+
id: string;
|
|
836
|
+
created_at: Date;
|
|
837
|
+
updated_at: Date;
|
|
838
|
+
}>;
|
|
839
|
+
total: number;
|
|
840
|
+
}>;
|
|
841
|
+
/**
|
|
842
|
+
* Update a row by id with partial data.
|
|
843
|
+
*/
|
|
844
|
+
update(id: string, patch: Partial<TRow>): Promise<TRow & {
|
|
845
|
+
id: string;
|
|
846
|
+
created_at: Date;
|
|
847
|
+
updated_at: Date;
|
|
848
|
+
}>;
|
|
849
|
+
/**
|
|
850
|
+
* Delete a row by id. Hard delete only (no soft delete).
|
|
851
|
+
*/
|
|
852
|
+
delete(id: string): Promise<{
|
|
853
|
+
deleted: boolean;
|
|
854
|
+
}>;
|
|
855
|
+
}
|
|
856
|
+
/**
|
|
857
|
+
* Runtime collections context: keyed by collection name.
|
|
858
|
+
*/
|
|
859
|
+
type CollectionsContext = Readonly<Record<string, CollectionStore>>;
|
|
860
|
+
//#endregion
|
|
604
861
|
//#region src/contracts/CostTrackingTelemetryContract.d.ts
|
|
605
862
|
type CostTrackingComponent = "chat" | "ocr" | "rag";
|
|
606
863
|
declare const CostTrackingTelemetryMetricNames: {
|
|
@@ -980,6 +1237,15 @@ interface ExecutionContext {
|
|
|
980
1237
|
itemIndex?: number;
|
|
981
1238
|
/** When set, this ctx is executing inside a sub-agent triggered by the named parent invocation. */
|
|
982
1239
|
parentInvocationId?: ConnectionInvocationId;
|
|
1240
|
+
/**
|
|
1241
|
+
* Present iff the run was started by a TestSuiteOrchestrator. The {@link IsTestRunNode}
|
|
1242
|
+
* branches on this; assertion-emitting nodes use it to decide whether to record results.
|
|
1243
|
+
*/
|
|
1244
|
+
testContext?: RunTestContext;
|
|
1245
|
+
/**
|
|
1246
|
+
* Collections registered in the codemation config, keyed by collection name.
|
|
1247
|
+
*/
|
|
1248
|
+
readonly collections?: CollectionsContext;
|
|
983
1249
|
}
|
|
984
1250
|
interface ExecutionContextFactory {
|
|
985
1251
|
create(args: {
|
|
@@ -994,6 +1260,7 @@ interface ExecutionContextFactory {
|
|
|
994
1260
|
nodeState?: NodeExecutionStatePublisher;
|
|
995
1261
|
telemetry?: ExecutionTelemetry;
|
|
996
1262
|
getCredential<TSession = unknown>(slotKey: string): Promise<TSession>;
|
|
1263
|
+
testContext?: RunTestContext;
|
|
997
1264
|
}): ExecutionContext;
|
|
998
1265
|
}
|
|
999
1266
|
interface NodeExecutionContext<TConfig extends NodeConfigBase = NodeConfigBase> extends ExecutionContext {
|
|
@@ -1003,12 +1270,34 @@ interface NodeExecutionContext<TConfig extends NodeConfigBase = NodeConfigBase>
|
|
|
1003
1270
|
telemetry: NodeExecutionTelemetry;
|
|
1004
1271
|
binary: NodeBinaryAttachmentService;
|
|
1005
1272
|
}
|
|
1273
|
+
interface PollingTriggerHandle {
|
|
1274
|
+
/**
|
|
1275
|
+
* Start the polling loop. The runtime registers its own cleanup handle so callers do not need to
|
|
1276
|
+
* call {@link TriggerSetupContext.registerCleanup} for the loop.
|
|
1277
|
+
* @returns The state returned by the first cycle (or `undefined` when the overlap guard fired).
|
|
1278
|
+
*/
|
|
1279
|
+
start<TState, TItem>(args: {
|
|
1280
|
+
intervalMs: number;
|
|
1281
|
+
seedState?: TState;
|
|
1282
|
+
runCycle: (cycleCtx: {
|
|
1283
|
+
previousState: TState | undefined;
|
|
1284
|
+
signal: AbortSignal;
|
|
1285
|
+
}) => Promise<{
|
|
1286
|
+
items: Items<TItem>;
|
|
1287
|
+
nextState: TState;
|
|
1288
|
+
}>;
|
|
1289
|
+
}): Promise<TState | undefined>;
|
|
1290
|
+
/** Convenience dedup-window helper. */
|
|
1291
|
+
readonly dedup: PollingTriggerDedupWindow;
|
|
1292
|
+
}
|
|
1006
1293
|
interface TriggerSetupContext<TConfig extends TriggerNodeConfig<any, any> = TriggerNodeConfig<any, any>, TSetupState$1 extends JsonValue | undefined = TriggerNodeSetupState<TConfig>> extends ExecutionContext {
|
|
1007
1294
|
trigger: TriggerInstanceId;
|
|
1008
1295
|
config: TConfig;
|
|
1009
1296
|
previousState: TSetupState$1;
|
|
1010
1297
|
registerCleanup(cleanup: TriggerCleanupHandle): void;
|
|
1011
1298
|
emit(items: Items): Promise<void>;
|
|
1299
|
+
/** Generic polling-trigger surface. Pre-binds trigger id, emit, and registerCleanup. */
|
|
1300
|
+
readonly polling: PollingTriggerHandle;
|
|
1012
1301
|
}
|
|
1013
1302
|
interface TriggerTestItemsContext<TConfig extends TriggerNodeConfig<any, any> = TriggerNodeConfig<any, any>, TSetupState$1 extends JsonValue | undefined = TriggerNodeSetupState<TConfig>> extends ExecutionContext {
|
|
1014
1303
|
trigger: TriggerInstanceId;
|
|
@@ -1203,6 +1492,8 @@ interface EngineDeps {
|
|
|
1203
1492
|
workflowPolicyRuntimeDefaults?: WorkflowPolicyRuntimeDefaults;
|
|
1204
1493
|
/** When set, logs inactive-workflow skips at boot and trigger start/stop on activation changes. */
|
|
1205
1494
|
triggerRuntimeDiagnostics?: TriggerRuntimeDiagnostics;
|
|
1495
|
+
/** When set, the polling-trigger runtime uses this logger for cycle info/debug/error. */
|
|
1496
|
+
pollingTriggerLogger?: PollingTriggerLogger;
|
|
1206
1497
|
}
|
|
1207
1498
|
//#endregion
|
|
1208
1499
|
//#region src/contracts/retryPolicySpec.types.d.ts
|
|
@@ -1234,14 +1525,9 @@ interface ExponentialRetryPolicySpec {
|
|
|
1234
1525
|
}
|
|
1235
1526
|
//#endregion
|
|
1236
1527
|
//#region src/contracts/workflowTypes.d.ts
|
|
1237
|
-
type WorkflowId = string;
|
|
1238
|
-
type NodeId = string;
|
|
1239
1528
|
type NodeIdRef<TJson = unknown> = NodeId & Readonly<{
|
|
1240
1529
|
__codemationNodeJson?: TJson;
|
|
1241
1530
|
}>;
|
|
1242
|
-
type OutputPortKey = string;
|
|
1243
|
-
type InputPortKey = string;
|
|
1244
|
-
type PersistedTokenId = string;
|
|
1245
1531
|
type NodeKind = "trigger" | "node";
|
|
1246
1532
|
type JsonPrimitive = string | number | boolean | null;
|
|
1247
1533
|
interface JsonObject {
|
|
@@ -1261,7 +1547,6 @@ interface Edge {
|
|
|
1261
1547
|
input: InputPortKey;
|
|
1262
1548
|
};
|
|
1263
1549
|
}
|
|
1264
|
-
type NodeConnectionName = string;
|
|
1265
1550
|
/**
|
|
1266
1551
|
* Named connection from a parent node to child nodes that exist in {@link WorkflowDefinition.nodes}
|
|
1267
1552
|
* but are not traversed by the main execution graph. Parents are commonly executable nodes, but may
|
|
@@ -1327,6 +1612,14 @@ interface NodeConfigBase {
|
|
|
1327
1612
|
readonly declaredOutputPorts?: ReadonlyArray<OutputPortKey>;
|
|
1328
1613
|
readonly declaredInputPorts?: ReadonlyArray<InputPortKey>;
|
|
1329
1614
|
getCredentialRequirements?(): ReadonlyArray<CredentialRequirement>;
|
|
1615
|
+
/**
|
|
1616
|
+
* Marker: this node emits {@link import("./assertionTypes").AssertionResult}-shaped items on its
|
|
1617
|
+
* `main` port. The TestSuiteOrchestrator (and host-side TestAssertionPersister) listen for
|
|
1618
|
+
* `nodeCompleted` events from nodes with this flag set, and persist their output items as
|
|
1619
|
+
* TestAssertion records (only when the run carries a `testContext`). Set on assertion node
|
|
1620
|
+
* configs (e.g. `AssertionNodeConfig`, `StringEqualsAssertionNodeConfig`).
|
|
1621
|
+
*/
|
|
1622
|
+
readonly emitsAssertions?: true;
|
|
1330
1623
|
}
|
|
1331
1624
|
declare const runnableNodeInputType: unique symbol;
|
|
1332
1625
|
declare const runnableNodeOutputType: unique symbol;
|
|
@@ -1356,6 +1649,12 @@ interface TriggerNodeConfig<TOutputJson$1 = unknown, TSetupState$1 extends JsonV
|
|
|
1356
1649
|
readonly kind: "trigger";
|
|
1357
1650
|
readonly [triggerNodeOutputType]?: TOutputJson$1;
|
|
1358
1651
|
readonly [triggerNodeSetupStateType]?: TSetupState$1;
|
|
1652
|
+
/**
|
|
1653
|
+
* Distinguishes triggers driven by the live activation policy (webhooks, cron, polling) from
|
|
1654
|
+
* triggers driven only by the {@link TestSuiteOrchestrator}. `WorkflowActivation` skips
|
|
1655
|
+
* `"test"` triggers; the orchestrator skips `"live"` triggers. Defaults to `"live"` when omitted.
|
|
1656
|
+
*/
|
|
1657
|
+
readonly triggerKind?: "live" | "test";
|
|
1359
1658
|
}
|
|
1360
1659
|
type RunnableNodeInputJson<TConfig extends RunnableNodeConfig<any, any>> = TConfig extends RunnableNodeConfig<infer TInputJson, any> ? TInputJson : never;
|
|
1361
1660
|
type RunnableNodeOutputJson<TConfig extends RunnableNodeConfig<any, any>> = TConfig extends RunnableNodeConfig<any, infer TOutputJson> ? TOutputJson : never;
|
|
@@ -1422,6 +1721,12 @@ interface ParentExecutionRef {
|
|
|
1422
1721
|
engineMaxNodeActivations?: number;
|
|
1423
1722
|
/** Effective max subworkflow depth from the parent run (propagated to child policy merge). */
|
|
1424
1723
|
engineMaxSubworkflowDepth?: number;
|
|
1724
|
+
/**
|
|
1725
|
+
* Test-suite linkage inherited by the child subworkflow run. Set by whichever node
|
|
1726
|
+
* spawns the subworkflow when its own `ctx.testContext` is present, so assertions
|
|
1727
|
+
* emitted inside a subworkflow land under the correct parent test case.
|
|
1728
|
+
*/
|
|
1729
|
+
testContext?: RunTestContext;
|
|
1425
1730
|
}
|
|
1426
1731
|
interface RunDataSnapshot {
|
|
1427
1732
|
getOutputs(nodeId: NodeId): NodeOutputs | undefined;
|
|
@@ -1518,23 +1823,61 @@ interface WorkflowPolicyRuntimeDefaults {
|
|
|
1518
1823
|
readonly storagePolicy?: WorkflowStoragePolicyMode;
|
|
1519
1824
|
}
|
|
1520
1825
|
//#endregion
|
|
1521
|
-
//#region src/contracts/
|
|
1522
|
-
declare const EMIT_PORTS_BRAND: unique symbol;
|
|
1523
|
-
type PortsEmission = Readonly<{
|
|
1524
|
-
readonly [EMIT_PORTS_BRAND]: true;
|
|
1525
|
-
readonly ports: Readonly<Partial<Record<OutputPortKey, Items | ReadonlyArray<JsonNonArray>>>>;
|
|
1526
|
-
}>;
|
|
1527
|
-
declare function emitPorts(ports: Readonly<Partial<Record<OutputPortKey, Items | ReadonlyArray<JsonNonArray>>>>): PortsEmission;
|
|
1528
|
-
declare function isPortsEmission(value: unknown): value is PortsEmission;
|
|
1529
|
-
declare function isUnbrandedPortsEmissionShape(value: unknown): value is Readonly<{
|
|
1530
|
-
ports: unknown;
|
|
1531
|
-
}>;
|
|
1532
|
-
//#endregion
|
|
1533
|
-
//#region src/contracts/itemMeta.d.ts
|
|
1826
|
+
//#region src/contracts/assertionTypes.d.ts
|
|
1534
1827
|
/**
|
|
1535
|
-
*
|
|
1828
|
+
* One assertion emitted by an assertion-emitting node (a node whose config sets
|
|
1829
|
+
* `emitsAssertions: true`). Each emitted item on `main` carries one of these as `item.json`.
|
|
1830
|
+
*
|
|
1831
|
+
* Pass/fail is derived from `score >= (passThreshold ?? 0.5)` — see {@link deriveAssertionPassed}.
|
|
1832
|
+
* The `errored` marker is for cases where the assertion code itself threw (distinct from
|
|
1833
|
+
* "the assertion was evaluated and the score was low") and is treated as a hard fail in rollups
|
|
1834
|
+
* regardless of `score`.
|
|
1536
1835
|
*/
|
|
1537
|
-
|
|
1836
|
+
interface AssertionResult {
|
|
1837
|
+
readonly name: string;
|
|
1838
|
+
/** 0..1 score. Source of truth for pass/fail (compared against `passThreshold`). */
|
|
1839
|
+
readonly score: number;
|
|
1840
|
+
/** 0..1 threshold for "passed". When omitted, consumers default to 0.5. */
|
|
1841
|
+
readonly passThreshold?: number;
|
|
1842
|
+
/** True when evaluating the assertion threw — treated as fail regardless of `score`. */
|
|
1843
|
+
readonly errored?: true;
|
|
1844
|
+
/** What the assertion expected. Free-form JSON; UIs render with a JSON viewer. */
|
|
1845
|
+
readonly expected?: JsonValue;
|
|
1846
|
+
/** What the workflow actually produced. */
|
|
1847
|
+
readonly actual?: JsonValue;
|
|
1848
|
+
/** Short human-readable explanation, especially for fails / errors. */
|
|
1849
|
+
readonly message?: string;
|
|
1850
|
+
/** Bag of supplemental fields (e.g. judge prompt, judge raw response, comparison method). */
|
|
1851
|
+
readonly details?: Readonly<Record<string, JsonValue>>;
|
|
1852
|
+
}
|
|
1853
|
+
/**
|
|
1854
|
+
* Default {@link AssertionResult.passThreshold} when authors omit it. Boolean-style assertions
|
|
1855
|
+
* (assertEqual / contains / etc.) emit `score: 1` or `score: 0` so this default works for them;
|
|
1856
|
+
* AI-judge assertions are expected to set their own threshold.
|
|
1857
|
+
*/
|
|
1858
|
+
declare const DEFAULT_ASSERTION_PASS_THRESHOLD = 0.5;
|
|
1859
|
+
/**
|
|
1860
|
+
* Derive whether an assertion result is considered "passing" using the score-based contract:
|
|
1861
|
+
* `errored` always fails, otherwise `score >= (passThreshold ?? 0.5)`. This is the canonical
|
|
1862
|
+
* derivation — UI and rollup code should call it rather than inlining the comparison so future
|
|
1863
|
+
* tweaks (e.g. NaN handling) land in one place.
|
|
1864
|
+
*/
|
|
1865
|
+
declare function deriveAssertionPassed(result: {
|
|
1866
|
+
readonly score: number;
|
|
1867
|
+
readonly passThreshold?: number;
|
|
1868
|
+
readonly errored?: true;
|
|
1869
|
+
}): boolean;
|
|
1870
|
+
/**
|
|
1871
|
+
* Provenance for a persisted {@link AssertionResult}: which node produced it and where in the
|
|
1872
|
+
* per-item iteration tree it landed. Filled in by the host-side persister, not the node itself.
|
|
1873
|
+
*/
|
|
1874
|
+
interface AssertionResultProvenance {
|
|
1875
|
+
readonly nodeId: NodeId;
|
|
1876
|
+
/** Per-item iteration id when the emitting node ran inside a per-item loop. */
|
|
1877
|
+
readonly iterationId?: string;
|
|
1878
|
+
/** Item index (0-based) within the activation that produced this assertion. */
|
|
1879
|
+
readonly itemIndex?: number;
|
|
1880
|
+
}
|
|
1538
1881
|
//#endregion
|
|
1539
1882
|
//#region src/contracts/itemExpr.d.ts
|
|
1540
1883
|
declare const ITEM_EXPR_BRAND: unique symbol;
|
|
@@ -1576,34 +1919,6 @@ type Expr<T, TItemJson = unknown> = ItemExpr<T, TItemJson>;
|
|
|
1576
1919
|
type Param<T, TItemJson = unknown> = T | Expr<T, TItemJson>;
|
|
1577
1920
|
type ParamDeep<T, TItemJson = unknown> = Expr<T, TItemJson> | (T extends readonly (infer U)[] ? ReadonlyArray<ParamDeep<U, TItemJson>> : never) | (T extends object ? { [K in keyof T]: ParamDeep<T[K], TItemJson> } : T);
|
|
1578
1921
|
//#endregion
|
|
1579
|
-
//#region src/contracts/NoRetryPolicy.d.ts
|
|
1580
|
-
declare class NoRetryPolicy implements NoneRetryPolicySpec {
|
|
1581
|
-
readonly kind: "none";
|
|
1582
|
-
}
|
|
1583
|
-
//#endregion
|
|
1584
|
-
//#region src/contracts/RetryPolicy.d.ts
|
|
1585
|
-
declare class RetryPolicy implements FixedRetryPolicySpec {
|
|
1586
|
-
readonly maxAttempts: number;
|
|
1587
|
-
readonly delayMs: number;
|
|
1588
|
-
readonly kind: "fixed";
|
|
1589
|
-
constructor(maxAttempts: number, delayMs: number);
|
|
1590
|
-
/** Default for HTTP-style transient failures: 3 tries, 1s between attempts. */
|
|
1591
|
-
static readonly defaultForHttp: FixedRetryPolicySpec;
|
|
1592
|
-
/** Default for LLM / agent calls: 3 tries, 2s fixed backoff. */
|
|
1593
|
-
static readonly defaultForAiAgent: FixedRetryPolicySpec;
|
|
1594
|
-
}
|
|
1595
|
-
//#endregion
|
|
1596
|
-
//#region src/contracts/ExpRetryPolicy.d.ts
|
|
1597
|
-
declare class ExpRetryPolicy implements ExponentialRetryPolicySpec {
|
|
1598
|
-
readonly maxAttempts: number;
|
|
1599
|
-
readonly initialDelayMs: number;
|
|
1600
|
-
readonly multiplier: number;
|
|
1601
|
-
readonly maxDelayMs?: number | undefined;
|
|
1602
|
-
readonly jitter?: boolean | undefined;
|
|
1603
|
-
readonly kind: "exponential";
|
|
1604
|
-
constructor(maxAttempts: number, initialDelayMs: number, multiplier: number, maxDelayMs?: number | undefined, jitter?: boolean | undefined);
|
|
1605
|
-
}
|
|
1606
|
-
//#endregion
|
|
1607
1922
|
//#region src/contracts/CostCatalogContract.d.ts
|
|
1608
1923
|
interface CostCatalogEntry {
|
|
1609
1924
|
readonly component: CostTrackingUsageRecord["component"];
|
|
@@ -1619,19 +1934,6 @@ interface CostCatalog {
|
|
|
1619
1934
|
findEntry(args: CostTrackingUsageRecord): CostCatalogEntry | undefined;
|
|
1620
1935
|
}
|
|
1621
1936
|
//#endregion
|
|
1622
|
-
//#region src/contracts/NoOpCostTrackingTelemetry.d.ts
|
|
1623
|
-
declare class NoOpCostTrackingTelemetry implements CostTrackingTelemetry {
|
|
1624
|
-
captureUsage(_: CostTrackingUsageRecord): Promise<CostTrackingPriceQuote | undefined>;
|
|
1625
|
-
forScope(_: TelemetryScope): CostTrackingTelemetry;
|
|
1626
|
-
}
|
|
1627
|
-
//#endregion
|
|
1628
|
-
//#region src/contracts/NoOpCostTrackingTelemetryFactory.d.ts
|
|
1629
|
-
declare class NoOpCostTrackingTelemetryFactory implements CostTrackingTelemetryFactory {
|
|
1630
|
-
create(_: Readonly<{
|
|
1631
|
-
telemetry: ExecutionTelemetry;
|
|
1632
|
-
}>): CostTrackingTelemetry;
|
|
1633
|
-
}
|
|
1634
|
-
//#endregion
|
|
1635
1937
|
//#region src/contracts/executionPersistenceContracts.d.ts
|
|
1636
1938
|
/** Canonical id for persisted execution rows (activation or connection invocation). */
|
|
1637
1939
|
type ExecutionInstanceId = string;
|
|
@@ -1820,6 +2122,65 @@ interface WorkflowDetailSelectionState {
|
|
|
1820
2122
|
readonly selectedInstanceId: ExecutionInstanceId | null;
|
|
1821
2123
|
}
|
|
1822
2124
|
//#endregion
|
|
2125
|
+
//#region src/contracts/emitPorts.d.ts
|
|
2126
|
+
declare const EMIT_PORTS_BRAND: unique symbol;
|
|
2127
|
+
type PortsEmission = Readonly<{
|
|
2128
|
+
readonly [EMIT_PORTS_BRAND]: true;
|
|
2129
|
+
readonly ports: Readonly<Partial<Record<OutputPortKey, Items | ReadonlyArray<JsonNonArray>>>>;
|
|
2130
|
+
}>;
|
|
2131
|
+
declare function emitPorts(ports: Readonly<Partial<Record<OutputPortKey, Items | ReadonlyArray<JsonNonArray>>>>): PortsEmission;
|
|
2132
|
+
declare function isPortsEmission(value: unknown): value is PortsEmission;
|
|
2133
|
+
declare function isUnbrandedPortsEmissionShape(value: unknown): value is Readonly<{
|
|
2134
|
+
ports: unknown;
|
|
2135
|
+
}>;
|
|
2136
|
+
//#endregion
|
|
2137
|
+
//#region src/contracts/itemMeta.d.ts
|
|
2138
|
+
/**
|
|
2139
|
+
* Reads `meta._cm.originIndex` when present (used for fan-in merge-by-origin and Merge routing).
|
|
2140
|
+
*/
|
|
2141
|
+
declare function getOriginIndexFromItem(item: Item): number | undefined;
|
|
2142
|
+
//#endregion
|
|
2143
|
+
//#region src/contracts/NoRetryPolicy.d.ts
|
|
2144
|
+
declare class NoRetryPolicy implements NoneRetryPolicySpec {
|
|
2145
|
+
readonly kind: "none";
|
|
2146
|
+
}
|
|
2147
|
+
//#endregion
|
|
2148
|
+
//#region src/contracts/RetryPolicy.d.ts
|
|
2149
|
+
declare class RetryPolicy implements FixedRetryPolicySpec {
|
|
2150
|
+
readonly maxAttempts: number;
|
|
2151
|
+
readonly delayMs: number;
|
|
2152
|
+
readonly kind: "fixed";
|
|
2153
|
+
constructor(maxAttempts: number, delayMs: number);
|
|
2154
|
+
/** Default for HTTP-style transient failures: 3 tries, 1s between attempts. */
|
|
2155
|
+
static readonly defaultForHttp: FixedRetryPolicySpec;
|
|
2156
|
+
/** Default for LLM / agent calls: 3 tries, 2s fixed backoff. */
|
|
2157
|
+
static readonly defaultForAiAgent: FixedRetryPolicySpec;
|
|
2158
|
+
}
|
|
2159
|
+
//#endregion
|
|
2160
|
+
//#region src/contracts/ExpRetryPolicy.d.ts
|
|
2161
|
+
declare class ExpRetryPolicy implements ExponentialRetryPolicySpec {
|
|
2162
|
+
readonly maxAttempts: number;
|
|
2163
|
+
readonly initialDelayMs: number;
|
|
2164
|
+
readonly multiplier: number;
|
|
2165
|
+
readonly maxDelayMs?: number | undefined;
|
|
2166
|
+
readonly jitter?: boolean | undefined;
|
|
2167
|
+
readonly kind: "exponential";
|
|
2168
|
+
constructor(maxAttempts: number, initialDelayMs: number, multiplier: number, maxDelayMs?: number | undefined, jitter?: boolean | undefined);
|
|
2169
|
+
}
|
|
2170
|
+
//#endregion
|
|
2171
|
+
//#region src/contracts/NoOpCostTrackingTelemetry.d.ts
|
|
2172
|
+
declare class NoOpCostTrackingTelemetry implements CostTrackingTelemetry {
|
|
2173
|
+
captureUsage(_: CostTrackingUsageRecord): Promise<CostTrackingPriceQuote | undefined>;
|
|
2174
|
+
forScope(_: TelemetryScope): CostTrackingTelemetry;
|
|
2175
|
+
}
|
|
2176
|
+
//#endregion
|
|
2177
|
+
//#region src/contracts/NoOpCostTrackingTelemetryFactory.d.ts
|
|
2178
|
+
declare class NoOpCostTrackingTelemetryFactory implements CostTrackingTelemetryFactory {
|
|
2179
|
+
create(_: Readonly<{
|
|
2180
|
+
telemetry: ExecutionTelemetry;
|
|
2181
|
+
}>): CostTrackingTelemetry;
|
|
2182
|
+
}
|
|
2183
|
+
//#endregion
|
|
1823
2184
|
//#region src/contracts/runFinishedAtFactory.d.ts
|
|
1824
2185
|
type RunFinishedAtSource = Pick<PersistedRunState, "status" | "nodeSnapshotsByNodeId" | "finishedAt">;
|
|
1825
2186
|
/** Derives workflow end time from persisted run root or node snapshots for run listings. */
|
|
@@ -1882,7 +2243,6 @@ declare class WorkflowBuilder {
|
|
|
1882
2243
|
private readonly options?;
|
|
1883
2244
|
private readonly nodes;
|
|
1884
2245
|
private readonly edges;
|
|
1885
|
-
private seq;
|
|
1886
2246
|
constructor(meta: {
|
|
1887
2247
|
id: WorkflowId;
|
|
1888
2248
|
name: string;
|
|
@@ -1892,8 +2252,37 @@ declare class WorkflowBuilder {
|
|
|
1892
2252
|
trigger<TConfig extends AnyTriggerNodeConfig>(config: TConfig): ChainCursor<TriggerNodeOutputJson<TConfig>>;
|
|
1893
2253
|
start<TConfig extends AnyRunnableNodeConfig>(config: TConfig): ChainCursor<RunnableNodeOutputJson<TConfig>>;
|
|
1894
2254
|
build(): WorkflowDefinition;
|
|
2255
|
+
private validateNodeIds;
|
|
2256
|
+
}
|
|
2257
|
+
//#endregion
|
|
2258
|
+
//#region src/workflow/dsl/WorkflowDefinitionError.d.ts
|
|
2259
|
+
/**
|
|
2260
|
+
* Thrown by {@link WorkflowBuilder.build} when the workflow definition is structurally invalid.
|
|
2261
|
+
*
|
|
2262
|
+
* Common causes:
|
|
2263
|
+
* - A node has an empty effective id (label is blank and no explicit `id` was given).
|
|
2264
|
+
* - Two or more nodes share the same effective id (label slugs collide or explicit ids clash).
|
|
2265
|
+
*
|
|
2266
|
+
* Fix: provide an explicit `id:` on the offending node configs.
|
|
2267
|
+
*/
|
|
2268
|
+
declare class WorkflowDefinitionError extends Error {
|
|
2269
|
+
constructor(message: string);
|
|
1895
2270
|
}
|
|
1896
2271
|
//#endregion
|
|
2272
|
+
//#region src/workflow/dsl/NodeIdSlugifier.d.ts
|
|
2273
|
+
/**
|
|
2274
|
+
* Converts a human-readable node label into a stable, URL-safe identifier segment.
|
|
2275
|
+
*
|
|
2276
|
+
* Rules:
|
|
2277
|
+
* - Lowercase the entire string.
|
|
2278
|
+
* - Replace every run of characters outside `[a-z0-9]` with a single `-`.
|
|
2279
|
+
* - Strip any leading or trailing `-` characters.
|
|
2280
|
+
* - Return `""` for blank/empty input.
|
|
2281
|
+
*/
|
|
2282
|
+
declare const NodeIdSlugifier: {
|
|
2283
|
+
slugify(label: string): string;
|
|
2284
|
+
};
|
|
2285
|
+
//#endregion
|
|
1897
2286
|
//#region src/workflow/definition/ConnectionInvocationIdFactory.d.ts
|
|
1898
2287
|
/**
|
|
1899
2288
|
* Unique ids for persisted connection invocation history rows (LLM/tool calls under an owning node).
|
|
@@ -2107,37 +2496,6 @@ declare class Engine implements NodeActivationContinuation, NodeExecutionRequest
|
|
|
2107
2496
|
handleNodeExecutionRequest(request: NodeExecutionRequest): Promise<void>;
|
|
2108
2497
|
}
|
|
2109
2498
|
//#endregion
|
|
2110
|
-
//#region src/workflowSnapshots/WorkflowSnapshotCodec.d.ts
|
|
2111
|
-
declare class WorkflowSnapshotCodec {
|
|
2112
|
-
private readonly tokenRegistry;
|
|
2113
|
-
constructor(tokenRegistry: PersistedWorkflowTokenRegistryLike);
|
|
2114
|
-
create(workflow: WorkflowDefinition): PersistedWorkflowSnapshot;
|
|
2115
|
-
hydrate(snapshotNode: PersistedWorkflowSnapshotNode, liveConfig: NodeConfigBase): NodeConfigBase;
|
|
2116
|
-
private serializeConfig;
|
|
2117
|
-
private injectTokenIds;
|
|
2118
|
-
private mergeValue;
|
|
2119
|
-
private mergeNestedValue;
|
|
2120
|
-
private restoreNonSerializableProperties;
|
|
2121
|
-
private restoreTypeProperty;
|
|
2122
|
-
private resolveTokenId;
|
|
2123
|
-
private resolveTokenName;
|
|
2124
|
-
private asTypeToken;
|
|
2125
|
-
private asRecord;
|
|
2126
|
-
}
|
|
2127
|
-
//#endregion
|
|
2128
|
-
//#region src/policies/executionLimits/EngineExecutionLimitsPolicyFactory.d.ts
|
|
2129
|
-
/**
|
|
2130
|
-
* Builds {@link EngineExecutionLimitsPolicy} by merging {@link ENGINE_EXECUTION_LIMITS_DEFAULTS} with optional `overrides` (e.g. host `runtime.engineExecutionLimits`).
|
|
2131
|
-
*/
|
|
2132
|
-
declare class EngineExecutionLimitsPolicyFactory {
|
|
2133
|
-
create(overrides?: Partial<EngineExecutionLimitsPolicyConfig>): EngineExecutionLimitsPolicy;
|
|
2134
|
-
}
|
|
2135
|
-
//#endregion
|
|
2136
|
-
//#region src/policies/storage/RunPolicySnapshotFactory.d.ts
|
|
2137
|
-
declare class RunPolicySnapshotFactory {
|
|
2138
|
-
static create(workflow: WorkflowDefinition, defaults?: WorkflowPolicyRuntimeDefaults): PersistedRunPolicySnapshot;
|
|
2139
|
-
}
|
|
2140
|
-
//#endregion
|
|
2141
2499
|
//#region src/policies/storage/WorkflowStoragePolicyEvaluator.d.ts
|
|
2142
2500
|
declare class WorkflowStoragePolicyEvaluator {
|
|
2143
2501
|
private readonly nodeResolver;
|
|
@@ -2167,6 +2525,37 @@ declare class WorkflowPolicyErrorServices {
|
|
|
2167
2525
|
resolveWorkflowErrorHandler(spec: WorkflowErrorHandlerSpec | undefined): WorkflowErrorHandler | undefined;
|
|
2168
2526
|
}
|
|
2169
2527
|
//#endregion
|
|
2528
|
+
//#region src/policies/executionLimits/EngineExecutionLimitsPolicyFactory.d.ts
|
|
2529
|
+
/**
|
|
2530
|
+
* Builds {@link EngineExecutionLimitsPolicy} by merging {@link ENGINE_EXECUTION_LIMITS_DEFAULTS} with optional `overrides` (e.g. host `runtime.engineExecutionLimits`).
|
|
2531
|
+
*/
|
|
2532
|
+
declare class EngineExecutionLimitsPolicyFactory {
|
|
2533
|
+
create(overrides?: Partial<EngineExecutionLimitsPolicyConfig>): EngineExecutionLimitsPolicy;
|
|
2534
|
+
}
|
|
2535
|
+
//#endregion
|
|
2536
|
+
//#region src/policies/storage/RunPolicySnapshotFactory.d.ts
|
|
2537
|
+
declare class RunPolicySnapshotFactory {
|
|
2538
|
+
static create(workflow: WorkflowDefinition, defaults?: WorkflowPolicyRuntimeDefaults): PersistedRunPolicySnapshot;
|
|
2539
|
+
}
|
|
2540
|
+
//#endregion
|
|
2541
|
+
//#region src/workflowSnapshots/WorkflowSnapshotCodec.d.ts
|
|
2542
|
+
declare class WorkflowSnapshotCodec {
|
|
2543
|
+
private readonly tokenRegistry;
|
|
2544
|
+
constructor(tokenRegistry: PersistedWorkflowTokenRegistryLike);
|
|
2545
|
+
create(workflow: WorkflowDefinition): PersistedWorkflowSnapshot;
|
|
2546
|
+
hydrate(snapshotNode: PersistedWorkflowSnapshotNode, liveConfig: NodeConfigBase): NodeConfigBase;
|
|
2547
|
+
private serializeConfig;
|
|
2548
|
+
private injectTokenIds;
|
|
2549
|
+
private mergeValue;
|
|
2550
|
+
private mergeNestedValue;
|
|
2551
|
+
private restoreNonSerializableProperties;
|
|
2552
|
+
private restoreTypeProperty;
|
|
2553
|
+
private resolveTokenId;
|
|
2554
|
+
private resolveTokenName;
|
|
2555
|
+
private asTypeToken;
|
|
2556
|
+
private asRecord;
|
|
2557
|
+
}
|
|
2558
|
+
//#endregion
|
|
2170
2559
|
//#region src/runtime/EngineWorkflowRunnerService.d.ts
|
|
2171
2560
|
declare class EngineWorkflowRunnerService {
|
|
2172
2561
|
private readonly engine;
|
|
@@ -2249,5 +2638,5 @@ declare class RunIntentService {
|
|
|
2249
2638
|
private createWebhookExecutionOptions;
|
|
2250
2639
|
}
|
|
2251
2640
|
//#endregion
|
|
2252
|
-
export {
|
|
2253
|
-
//# sourceMappingURL=RunIntentService-
|
|
2641
|
+
export { RunRevision as $, InputPortKey as $a, PersistedMutableNodeState as $i, NodeActivationRequestBase as $n, NoOpExecutionTelemetryFactory as $r, PersistedRunPolicySnapshot as $t, RunFinishedAtFactory as A, TypeToken as Aa, CredentialSessionFactoryArgs as Ai, ExponentialRetryPolicySpec as An, WebhookControlSignal as Ar, ItemBinary as At, isUnbrandedPortsEmissionShape as B, singleton as Ba, PollingTriggerLogger as Bi, BinaryStorageWriteResult as Bn, TelemetryArtifactAttachment as Br, NodeDefinition as Bt, AnyTriggerNodeConfig as C, WorkflowExecutionRepository as Ca, CredentialInstanceRecord as Ci, WorkflowStoragePolicySpec as Cn, WorkflowRepository as Cr, deriveAssertionPassed as Ct, BranchStepsArg as D, InjectionToken$1 as Da, CredentialOAuth2ScopesFromPublicConfig as Di, runnableNodeOutputType as Dn, WorkflowSnapshotResolver as Dr, Edge as Dt, BranchOutputGuard as E, Disposable as Ea, CredentialOAuth2AuthDefinition as Ei, runnableNodeInputType as En, WorkflowSnapshotFactory as Er, BinaryPreviewKind as Et, NoRetryPolicy as F, injectable as Fa, CredentialTypeId as Fi, BinaryBody as Fn, AllWorkflowsActiveWorkflowActivationPolicy as Fr, JsonPrimitive as Ft, ExecutionPayloadPolicyFields as G, RunEvent as Ga, CurrentStateExecutionRequest as Gi, ExecutionContext as Gn, TelemetryMetricRecord as Gr, NodeIterationId as Gt, ConnectionInvocationKind as H, ENGINE_EXECUTION_LIMITS_DEFAULTS as Ha, ConnectionInvocationAppendArgs as Hi, EngineHost as Hn, TelemetryAttributePrimitive as Hr, NodeErrorHandlerArgs as Ht, getOriginIndexFromItem as I, instanceCachingFactory as Ia, CredentialTypeRegistry as Ii, BinaryStorage as In, WorkflowActivationPolicy as Ir, JsonValue as It, PersistedExecutionInstanceRecord as J, TestCaseRunStatus as Ja, NodeExecutionError as Ji, LiveWorkflowRepository as Jn, TelemetrySpanEventRecord as Jr, NodeOutputs as Jt, PayloadStorageKind as K, RunEventBus as Ka, EngineRunCounters as Ki, ExecutionContextFactory as Kn, TelemetryScope as Kr, NodeKind as Kt, PortsEmission as L, instancePerContainerCachingFactory as La, CredentialUnboundError as Li, BinaryStorageReadResult as Ln, ExecutionTelemetry as Lr, MutableRunData as Lt, NoOpCostTrackingTelemetry as M, delay as Ma, CredentialSetupStatus as Mi, NoneRetryPolicySpec as Mn, WebhookTriggerMatcher as Mr, JsonArray as Mt, ExpRetryPolicy as N, inject as Na, CredentialType as Ni, RetryPolicySpec as Nn, WebhookTriggerResolution as Nr, JsonNonArray as Nt, StepSequenceOutput as O, Lifecycle as Oa, CredentialRequirement as Oi, triggerNodeOutputType as On, HttpMethod as Or, ExecutionMode as Ot, RetryPolicy as P, injectAll as Pa, CredentialTypeDefinition as Pi, BinaryAttachmentCreateRequest as Pn, WebhookTriggerRoutingDiagnostics as Pr, JsonObject as Pt, RunIterationDto as Q, TestTriggerSetupContext as Qa, PendingNodeExecution as Qi, NodeActivationRequest as Qn, CodemationTelemetryAttributeNames as Qr, ParentExecutionRef as Qt, emitPorts as R, predicateAwareClassFactory as Ra, OAuth2ProviderFromPublicConfig as Ri, BinaryStorageStatResult as Rn, ExecutionTelemetryFactory as Rr, NodeActivationId as Rt, AnyRunnableNodeConfig as S, WorkflowExecutionPruneRepository as Sa, CredentialInstanceId as Si, WorkflowStoragePolicyResolver as Sn, WorkflowNodeInstanceFactory as Sr, DEFAULT_ASSERTION_PASS_THRESHOLD as St, BranchMoreArgs as T, DependencyContainer$1 as Ta, CredentialMaterialSourceKind as Ti, nodeRef as Tn, WorkflowRunnerService as Tr, BinaryAttachment as Tt, ExecutionInstanceDto as U, EngineExecutionLimitsPolicy as Ua, ConnectionInvocationId as Ui, ExecutableTriggerNode as Un, TelemetryAttributes as Ur, NodeErrorHandlerSpec as Ut, BatchId as V, CoreTokens as Va, PollingTriggerDedupWindow as Vi, EngineDeps as Vn, TelemetryArtifactReference as Vr, NodeErrorHandler as Vt, ExecutionInstanceId as W, EngineExecutionLimitsPolicyConfig as Wa, ConnectionInvocationRecord as Wi, ExecutionBinaryService as Wn, TelemetryChildSpanStart as Wr, NodeIdRef as Wt, PersistedRunWorkItemKind as X, TestSuiteRunId as Xa, NodeExecutionStatus as Xi, NodeActivationContinuation as Xn, CodemationTelemetryMetricNames as Xr, NodeSchedulerDecision as Xt, PersistedRunSlotProjectionRecord as Y, TestSuiteRunStatus as Ya, NodeExecutionSnapshot as Yi, MultiInputNode as Yn, TelemetrySpanScope as Yr, NodeRef as Yt, PersistedRunWorkItemRecord as Z, TestTriggerNodeConfig as Za, NodeInputsByPort as Zi, NodeActivationReceipt as Zn, GenAiTelemetryAttributeNames as Zr, PairedItemRef as Zt, NodeIdSlugifier as _, RunStopCondition as _a, CredentialBindingKey as _i, WorkflowNodeConnection as _n, TriggerRuntimeDiagnostics as _r, itemExpr as _t, RunPolicySnapshotFactory as a, PersistedWorkflowSnapshotNode as aa, CostTrackingPriceQuote as ai, RunnableNodeInputJson as an, NodeExecutionScheduler as ar, WorkflowRunDetailDto as at, ChainCursor as b, WebhookRunResult as ba, CredentialHealthStatus as bi, WorkflowStoragePolicyDecisionArgs as bn, TriggerSetupStateRepository as br, AssertionResult as bt, RunTerminalPersistenceCoordinator as c, RunCompletionNotifier as ca, CostTrackingTelemetryFactory as ci, TriggerNodeOutputJson as cn, NodeResolver as cr, Expr as ct, DefaultWorkflowGraphFactory as d, RunExecutionOptions as da, CollectionStore as di, WorkflowDefinition as dn, PreparedNodeActivationDispatch as dr, ItemExpr as dt, PersistedMutableRunState as ea, NoOpExecutionTelemetry as ei, RunDataFactory as en, NodeConnectionName as eo, NodeActivationScheduler as er, RunSlotProjectionState as et, WorkflowExecutableNodeClassifierFactory as f, RunPruneCandidate as fa, CollectionsContext as fi, WorkflowErrorContext as fn, RunnableNode as fr, ItemExprArgs as ft, ConnectionInvocationIdFactory as g, RunStatus as ga, CredentialBinding as gi, WorkflowGraphFactory as gn, TriggerNode as gr, isItemExpr as gt, ConnectionNodeIdFactory as h, RunStateResetRequest as ha, CredentialAuthDefinition as hi, WorkflowGraph as hn, TriggerCleanupHandle as hr, ItemExprResolvedContext as ht, WorkflowSnapshotCodec as i, PersistedWorkflowSnapshot as ia, CostTrackingComponent as ii, RunnableNodeConfig as in, WorkflowId as io, NodeExecutionRequestHandler as ir, WorkflowDetailSelectionState as it, NoOpCostTrackingTelemetryFactory as j, container$1 as ja, CredentialSessionService as ji, FixedRetryPolicySpec as jn, WebhookInvocationMatch as jr, Items as jt, ValidStepSequence as k, RegistrationOptions as ka, CredentialSessionFactory as ki, triggerNodeSetupStateType as kn, TriggerInstanceId as kr, Item as kt, WorkflowStoragePolicyEvaluator as l, RunCurrentState as la, CostTrackingTelemetryMetricNames as li, TriggerNodeSetupState as ln, PersistedTriggerSetupState as lr, Param as lt, NodeIterationIdFactory as m, RunResult as ma, CredentialAdvancedSectionPresentation as mi, WorkflowErrorHandlerSpec as mn, TestableTriggerNode as mr, ItemExprContext as mt, InMemoryLiveWorkflowRepository as n, PersistedRunSchedulingState as na, NoOpTelemetrySpanScope as ni, RunId as nn, OutputPortKey as no, NodeExecutionContext as nr, WorkItemId as nt, EngineExecutionLimitsPolicyFactory as o, PersistedWorkflowTokenRegistryLike as oa, CostTrackingTelemetry as oi, RunnableNodeOutputJson as on, NodeExecutionStatePublisher as or, CostCatalog as ot, WorkflowExecutableNodeClassifier as p, RunQueueEntry as pa, AnyCredentialType as pi, WorkflowErrorHandler as pn, RunnableNodeExecuteArgs as pr, ItemExprCallback as pt, PersistedExecutionInstanceKind as q, RunEventSubscription as qa, ExecutionFrontierPlan as qi, ItemNode as qn, TelemetrySpanEnd as qr, NodeOffloadPolicy as qt, EngineWorkflowRunnerService as r, PersistedRunState as ra, NoOpTelemetryArtifactReference as ri, RunIdFactory as rn, PersistedTokenId as ro, NodeExecutionRequest as rr, WorkItemStatus as rt, WorkflowPolicyErrorServices as s, PinnedNodeOutputsByPort as sa, CostTrackingTelemetryAttributeNames as si, TriggerNodeConfig as sn, NodeExecutor as sr, CostCatalogEntry as st, RunIntentService as t, PersistedRunControlState as ta, NoOpNodeExecutionTelemetry as ti, RunDataSnapshot as tn, NodeId as to, NodeBinaryAttachmentService as tr, SlotExecutionStateDto as tt, Engine as u, RunEventPublisherDeps as ua, CostTrackingUsageRecord as ui, UpstreamRefPlaceholder as un, PollingTriggerHandle as ur, ParamDeep as ut, WorkflowDefinitionError as v, RunSummary as va, CredentialFieldSchema as vi, WorkflowPolicyRuntimeDefaults as vn, TriggerSetupContext as vr, resolveItemExprsForExecution as vt, BooleanWhenOverloads as w, Container as wa, CredentialJsonRecord as wi, branchRef as wn, WorkflowRunnerResolver as wr, ActivationIdFactory as wt, WhenBuilder as x, WorkflowExecutionListingRepository as xa, CredentialHealthTester as xi, WorkflowStoragePolicyMode as xn, TriggerTestItemsContext as xr, AssertionResultProvenance as xt, WorkflowBuilder as y, RunTestContext as ya, CredentialHealth as yi, WorkflowPrunePolicySpec as yn, TriggerSetupStateFor as yr, resolveItemExprsInUnknown as yt, isPortsEmission as z, registry as za, NoOpPollingTriggerLogger as zi, BinaryStorageWriteRequest as zn, NodeExecutionTelemetry as zr, NodeConfigBase as zt };
|
|
2642
|
+
//# sourceMappingURL=RunIntentService-BE9CAkbf.d.ts.map
|