@codemation/core 0.11.0 → 0.12.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 +16 -0
- package/dist/CostCatalogContract-DD7fQ4FF.d.cts +19 -0
- package/dist/{EngineRuntimeRegistration.types-MPYWsEM0.d.cts → EngineRuntimeRegistration.types-DTV5_7Jw.d.cts} +3 -2
- package/dist/{EngineRuntimeRegistration.types-BZ_1XWAJ.d.ts → EngineRuntimeRegistration.types-Dl92Hdoi.d.ts} +2 -2
- package/dist/InMemoryRunDataFactory-qMiYjhCK.d.cts +202 -0
- package/dist/{InMemoryRunEventBusRegistry-sM4z4n_i.js → InMemoryRunEventBusRegistry-Bwunvt1T.js} +1 -1
- package/dist/{InMemoryRunEventBusRegistry-sM4z4n_i.js.map → InMemoryRunEventBusRegistry-Bwunvt1T.js.map} +1 -1
- package/dist/{InMemoryRunEventBusRegistry-VM3OWnHo.cjs → InMemoryRunEventBusRegistry-Sa86VxuV.cjs} +1 -1
- package/dist/{InMemoryRunEventBusRegistry-VM3OWnHo.cjs.map → InMemoryRunEventBusRegistry-Sa86VxuV.cjs.map} +1 -1
- package/dist/ItemsInputNormalizer-BhuxvZh5.js +36 -0
- package/dist/ItemsInputNormalizer-BhuxvZh5.js.map +1 -0
- package/dist/ItemsInputNormalizer-C09a7iFP.d.ts +321 -0
- package/dist/ItemsInputNormalizer-DLaD6rTl.d.cts +407 -0
- package/dist/ItemsInputNormalizer-Div-fb6a.cjs +43 -0
- package/dist/ItemsInputNormalizer-Div-fb6a.cjs.map +1 -0
- package/dist/RunIntentService-BOSGwmqn.d.ts +299 -0
- package/dist/RunIntentService-CWMMrAP4.d.cts +220 -0
- package/dist/{RunIntentService-MUHJ1bhO.d.cts → agentMcpTypes-DUmniLOY.d.cts} +183 -206
- package/dist/bootstrap/index.cjs +4 -2
- package/dist/bootstrap/index.d.cts +63 -5
- package/dist/bootstrap/index.d.ts +5 -4
- package/dist/bootstrap/index.js +4 -2
- package/dist/{bootstrap-Dgzsjoj7.js → bootstrap-CKTMMNmL.js} +174 -3
- package/dist/bootstrap-CKTMMNmL.js.map +1 -0
- package/dist/{bootstrap-dVmpU1ju.cjs → bootstrap-D460dCgS.cjs} +209 -36
- package/dist/bootstrap-D460dCgS.cjs.map +1 -0
- package/dist/browser.cjs +17 -0
- package/dist/browser.d.cts +4 -0
- package/dist/browser.d.ts +3 -0
- package/dist/browser.js +4 -0
- package/dist/contracts-CK0x6w_G.cjs +74 -0
- package/dist/contracts-CK0x6w_G.cjs.map +1 -0
- package/dist/contracts-DXdfTdpW.js +50 -0
- package/dist/contracts-DXdfTdpW.js.map +1 -0
- package/dist/contracts.cjs +6 -0
- package/dist/contracts.d.cts +5 -0
- package/dist/contracts.d.ts +2 -0
- package/dist/contracts.js +3 -0
- package/dist/di-DdsgWfVy.js +405 -0
- package/dist/di-DdsgWfVy.js.map +1 -0
- package/dist/di-tO6R7VJV.cjs +524 -0
- package/dist/di-tO6R7VJV.cjs.map +1 -0
- package/dist/executionPersistenceContracts-DenJJK2T.d.cts +275 -0
- package/dist/{index-Bes88mxT.d.ts → index-BZDhEQ6W.d.ts} +278 -415
- package/dist/{RunIntentService-BrEq6Jm6.d.ts → index-CSKKuK60.d.ts} +441 -286
- package/dist/index.cjs +97 -250
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +395 -803
- package/dist/index.d.ts +5 -3
- package/dist/index.js +58 -224
- package/dist/index.js.map +1 -1
- package/dist/params-DqRvku2h.d.cts +44 -0
- package/dist/{runtime-Duf3ClPw.js → runtime-BPZgnZ9G.js} +591 -382
- package/dist/runtime-BPZgnZ9G.js.map +1 -0
- package/dist/{runtime-vH0EeZzH.cjs → runtime-CyW9c9XM.cjs} +651 -500
- package/dist/runtime-CyW9c9XM.cjs.map +1 -0
- package/dist/testing.cjs +23 -21
- package/dist/testing.cjs.map +1 -1
- package/dist/testing.d.cts +3 -2
- package/dist/testing.d.ts +3 -2
- package/dist/testing.js +5 -3
- package/dist/testing.js.map +1 -1
- package/package.json +9 -5
- package/src/ai/AgentConnectionNodeCollector.ts +1 -1
- package/src/authoring/defineHumanApprovalNode.types.ts +379 -0
- package/src/authoring/index.ts +6 -0
- package/src/bootstrap/runtime/EngineRuntimeRegistrar.ts +29 -0
- package/src/contracts/CodemationTelemetryAttributeNames.ts +10 -0
- package/src/contracts/credentialTypes.ts +10 -0
- package/src/contracts/hitlSeamTypes.ts +34 -0
- package/src/contracts/humanTaskStoreTypes.ts +48 -0
- package/src/contracts/inboxChannelTypes.ts +58 -0
- package/src/contracts/index.ts +3 -0
- package/src/contracts/runTypes.ts +61 -3
- package/src/contracts/runtimeTypes.ts +112 -0
- package/src/credentials/CredentialMaterialProvider.types.ts +61 -0
- package/src/credentials/ManagedCredentialMaterialWriteError.ts +14 -0
- package/src/credentials/ManagedMaterialFetchError.ts +16 -0
- package/src/execution/ActivationEnqueueService.ts +16 -0
- package/src/execution/DefaultExecutionContextFactory.ts +11 -0
- package/src/execution/NodeExecutionSnapshotFactory.ts +7 -1
- package/src/execution/NodeExecutor.ts +60 -1
- package/src/execution/NodeExecutorFactory.ts +12 -2
- package/src/execution/NodeSuspensionHandler.ts +220 -0
- package/src/execution/PersistedRunStateTerminalBuilder.ts +5 -2
- package/src/execution/RunStateSemantics.ts +5 -0
- package/src/execution/RunSuspendedError.ts +21 -0
- package/src/index.ts +40 -0
- package/src/orchestration/Engine.ts +12 -2
- package/src/orchestration/EngineWaiters.ts +1 -1
- package/src/orchestration/NodeExecutionRequestHandlerService.ts +25 -2
- package/src/orchestration/RunContinuationService.ts +226 -2
- package/src/orchestration/TestSuiteOrchestrator.ts +5 -4
- package/src/runtime/RunIntentService.ts +3 -0
- package/src/workflow/dsl/ChainCursorResolver.ts +36 -0
- package/tsdown.config.ts +1 -1
- package/dist/InMemoryRunDataFactory-hmkh0lzR.d.cts +0 -138
- package/dist/bootstrap-Dgzsjoj7.js.map +0 -1
- package/dist/bootstrap-dVmpU1ju.cjs.map +0 -1
- package/dist/runtime-Duf3ClPw.js.map +0 -1
- package/dist/runtime-vH0EeZzH.cjs.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import "reflect-metadata";
|
|
2
2
|
import { DependencyContainer as Container, DependencyContainer as DependencyContainer$1, Disposable, InjectionToken as InjectionToken$1, InjectionToken as TypeToken, Lifecycle, RegistrationOptions, container as container$1, delay, inject, injectAll, injectable, instanceCachingFactory, instancePerContainerCachingFactory, predicateAwareClassFactory, registry, singleton } from "tsyringe";
|
|
3
|
-
import { ZodType } from "zod";
|
|
3
|
+
import { ZodType, z } from "zod";
|
|
4
4
|
import { ReadableStream } from "node:stream/web";
|
|
5
5
|
|
|
6
6
|
//#region src/contracts/baseTypes.d.ts
|
|
@@ -190,6 +190,19 @@ type CredentialInstanceRecord<TPublicConfig extends CredentialJsonRecord = Crede
|
|
|
190
190
|
setupStatus: CredentialSetupStatus;
|
|
191
191
|
createdAt: string;
|
|
192
192
|
updatedAt: string;
|
|
193
|
+
/**
|
|
194
|
+
* Pointer to where the credential material bytes live. For OSS / standalone
|
|
195
|
+
* rows this is `{source: "local", ref: instanceId}` and the bytes co-locate
|
|
196
|
+
* with the row in the workspace DB. For managed-mode rows this is
|
|
197
|
+
* `{source: "control-plane", ref: <cp_id>}` and the bytes live at CP.
|
|
198
|
+
*
|
|
199
|
+
* The seam is read through `CredentialMaterialProvider`. See
|
|
200
|
+
* `docs/design/credentials-oauth-unification.md` ("Material provider seam").
|
|
201
|
+
*/
|
|
202
|
+
material: Readonly<{
|
|
203
|
+
source: "local" | "control-plane";
|
|
204
|
+
ref: string;
|
|
205
|
+
}>;
|
|
193
206
|
}>;
|
|
194
207
|
/**
|
|
195
208
|
* Arguments passed to `CredentialType.createSession` and `CredentialType.test`.
|
|
@@ -397,6 +410,16 @@ declare class CodemationTelemetryAttributeNames {
|
|
|
397
410
|
static readonly mcpServerId = "mcp.server_id";
|
|
398
411
|
/** MCP tool name on spans created for callTool invocations. */
|
|
399
412
|
static readonly mcpToolName = "mcp.tool_name";
|
|
413
|
+
/** Terminal node-execution status (e.g. `"hitl-approved"`, `"hitl-rejected"`) on HITL outcome spans. */
|
|
414
|
+
static readonly nodeExecutionStatus = "codemation.node.execution_status";
|
|
415
|
+
/** Populated on run-halted spans; discriminates the halt reason (e.g. `"hitl-rejected"`). */
|
|
416
|
+
static readonly runHaltReason = "codemation.run.halt_reason";
|
|
417
|
+
/** Human task ID on `hitl.task.*` span events. */
|
|
418
|
+
static readonly hitlTaskId = "codemation.hitl.task_id";
|
|
419
|
+
/** HITL channel name (e.g. `"inbox"`, `"control-plane-inbox"`) on `hitl.task.*` span events. */
|
|
420
|
+
static readonly hitlChannel = "codemation.hitl.channel";
|
|
421
|
+
/** Decision outcome (e.g. `"approved"`, `"rejected"`) on `hitl.task.decided` span events. */
|
|
422
|
+
static readonly hitlDecisionStatus = "codemation.hitl.decision_status";
|
|
400
423
|
}
|
|
401
424
|
//#endregion
|
|
402
425
|
//#region src/contracts/GenAiTelemetryAttributeNames.d.ts
|
|
@@ -573,6 +596,100 @@ interface WebhookTriggerMatcher {
|
|
|
573
596
|
}
|
|
574
597
|
//#endregion
|
|
575
598
|
//#region src/contracts/runtimeTypes.d.ts
|
|
599
|
+
/** Opaque unique identifier for a single HumanTask instance. */
|
|
600
|
+
type HumanTaskId = string;
|
|
601
|
+
/**
|
|
602
|
+
* Duration string — ISO 8601 duration ("PT24H") or shorthand ("24h").
|
|
603
|
+
* Parsed by the timeout job; stored as-is in the suspension record.
|
|
604
|
+
*/
|
|
605
|
+
type Duration = string;
|
|
606
|
+
/**
|
|
607
|
+
* Minimal handle handed to the `deliver` callback so it can route to the correct
|
|
608
|
+
* inbox channel.
|
|
609
|
+
*/
|
|
610
|
+
interface HumanTaskHandle {
|
|
611
|
+
readonly taskId: HumanTaskId;
|
|
612
|
+
readonly runId: string;
|
|
613
|
+
readonly nodeId: string;
|
|
614
|
+
readonly expiresAt: Date;
|
|
615
|
+
/** TODO: real signed URL; placeholder empty string for now. */
|
|
616
|
+
readonly resumeUrl: string;
|
|
617
|
+
/**
|
|
618
|
+
* Arbitrary JSON metadata copied from `SuspensionRequest.request.metadata` at suspension time.
|
|
619
|
+
* Used by the agent runtime to round-trip the `agentCheckpoint` back to the
|
|
620
|
+
* resumed node via `ctx.resumeContext.task.metadata`.
|
|
621
|
+
*/
|
|
622
|
+
readonly metadata?: Readonly<Record<string, JsonValue>>;
|
|
623
|
+
}
|
|
624
|
+
/** Human-readable description surface shown to the reviewer. */
|
|
625
|
+
interface HumanTaskSubject {
|
|
626
|
+
readonly title: string;
|
|
627
|
+
readonly summary: string;
|
|
628
|
+
readonly attributes?: JsonValue;
|
|
629
|
+
}
|
|
630
|
+
/** Identity of the person who made a decision on the task. */
|
|
631
|
+
interface HumanTaskActor {
|
|
632
|
+
readonly actorId: string;
|
|
633
|
+
readonly displayName?: string;
|
|
634
|
+
}
|
|
635
|
+
/**
|
|
636
|
+
* Resume context injected into `NodeExecutionContext` when the engine re-activates
|
|
637
|
+
* a previously suspended node. `defineHumanApprovalNode` wraps this with parsed
|
|
638
|
+
* `TDecision`; at the engine layer `decision.value` is `unknown`.
|
|
639
|
+
*/
|
|
640
|
+
interface ResumeContext {
|
|
641
|
+
readonly decision: Readonly<{
|
|
642
|
+
kind: "decided";
|
|
643
|
+
value: unknown;
|
|
644
|
+
actor: HumanTaskActor;
|
|
645
|
+
decidedAt: Date;
|
|
646
|
+
}> | Readonly<{
|
|
647
|
+
kind: "timed_out";
|
|
648
|
+
at: Date;
|
|
649
|
+
}> | Readonly<{
|
|
650
|
+
kind: "auto_accepted";
|
|
651
|
+
at: Date;
|
|
652
|
+
}>;
|
|
653
|
+
readonly delivery: JsonValue;
|
|
654
|
+
readonly task: HumanTaskHandle;
|
|
655
|
+
}
|
|
656
|
+
/**
|
|
657
|
+
* Thrown by a node's `execute()` to request durable suspension of the current item.
|
|
658
|
+
* The engine catches this, persists the suspension entry, calls `deliver`, and
|
|
659
|
+
* continues to the next item (per-item semantics).
|
|
660
|
+
*
|
|
661
|
+
* @example
|
|
662
|
+
* ```ts
|
|
663
|
+
* throw new SuspensionRequest({
|
|
664
|
+
* decisionSchema: z.object({ approved: z.boolean() }),
|
|
665
|
+
* timeout: "PT24H",
|
|
666
|
+
* onTimeout: "halt",
|
|
667
|
+
* subject: { title: "Approve invoice", summary: "Invoice #1234 needs approval" },
|
|
668
|
+
* deliver: async (handle) => {
|
|
669
|
+
* await notifySlack(handle);
|
|
670
|
+
* return { channel: "slack", ts: "..." };
|
|
671
|
+
* },
|
|
672
|
+
* });
|
|
673
|
+
* ```
|
|
674
|
+
*/
|
|
675
|
+
declare class SuspensionRequest<TDecision = unknown, TDelivery extends JsonValue = JsonValue> extends Error {
|
|
676
|
+
readonly request: Readonly<{
|
|
677
|
+
decisionSchema: ZodType<TDecision>;
|
|
678
|
+
timeout: Duration;
|
|
679
|
+
onTimeout: "halt" | "auto-accept";
|
|
680
|
+
subject: HumanTaskSubject;
|
|
681
|
+
metadata?: Readonly<Record<string, JsonValue>>;
|
|
682
|
+
deliver: (handle: HumanTaskHandle) => Promise<TDelivery>;
|
|
683
|
+
}>;
|
|
684
|
+
constructor(request: Readonly<{
|
|
685
|
+
decisionSchema: ZodType<TDecision>;
|
|
686
|
+
timeout: Duration;
|
|
687
|
+
onTimeout: "halt" | "auto-accept";
|
|
688
|
+
subject: HumanTaskSubject;
|
|
689
|
+
metadata?: Readonly<Record<string, JsonValue>>;
|
|
690
|
+
deliver: (handle: HumanTaskHandle) => Promise<TDelivery>;
|
|
691
|
+
}>);
|
|
692
|
+
}
|
|
576
693
|
interface WorkflowRunnerService {
|
|
577
694
|
runById(args: {
|
|
578
695
|
workflowId: WorkflowId;
|
|
@@ -706,6 +823,14 @@ interface ExecutionContext {
|
|
|
706
823
|
* Collections registered in the codemation config, keyed by collection name.
|
|
707
824
|
*/
|
|
708
825
|
readonly collections?: CollectionsContext;
|
|
826
|
+
/**
|
|
827
|
+
* Resolve a DI token from the host container.
|
|
828
|
+
* Allows nodes to reach host-side services (e.g. `InboxChannelResolverToken`)
|
|
829
|
+
* without importing host code. Wired by `DefaultExecutionContextFactory`; throws
|
|
830
|
+
* a clear error when no resolver is configured (e.g. in unit tests that don't
|
|
831
|
+
* set up the full container).
|
|
832
|
+
*/
|
|
833
|
+
resolve<T>(token: TypeToken<T>): T;
|
|
709
834
|
}
|
|
710
835
|
interface ExecutionContextFactory {
|
|
711
836
|
create(args: {
|
|
@@ -729,6 +854,11 @@ interface NodeExecutionContext<TConfig extends NodeConfigBase = NodeConfigBase>
|
|
|
729
854
|
config: TConfig;
|
|
730
855
|
telemetry: NodeExecutionTelemetry;
|
|
731
856
|
binary: NodeBinaryAttachmentService;
|
|
857
|
+
/**
|
|
858
|
+
* Present when this node activation is a HITL resume.
|
|
859
|
+
* The node checks `ctx.resumeContext !== undefined` and takes the resume branch.
|
|
860
|
+
*/
|
|
861
|
+
resumeContext?: ResumeContext;
|
|
732
862
|
}
|
|
733
863
|
interface PollingTriggerHandle {
|
|
734
864
|
/**
|
|
@@ -1635,7 +1765,7 @@ interface RunQueueEntry {
|
|
|
1635
1765
|
received: Readonly<Record<InputPortKey, Items>>;
|
|
1636
1766
|
}>;
|
|
1637
1767
|
}
|
|
1638
|
-
type NodeExecutionStatus = "pending" | "queued" | "running" | "completed" | "failed" | "skipped";
|
|
1768
|
+
type NodeExecutionStatus = "pending" | "queued" | "running" | "completed" | "failed" | "skipped" | "hitl-approved" | "hitl-rejected" | "hitl-timeout" | "hitl-auto-accepted" | "hitl-cancelled";
|
|
1639
1769
|
interface NodeExecutionError {
|
|
1640
1770
|
message: string;
|
|
1641
1771
|
name?: string;
|
|
@@ -1743,7 +1873,9 @@ interface ExecutionFrontierPlan {
|
|
|
1743
1873
|
clearedNodeIds: ReadonlyArray<NodeId>;
|
|
1744
1874
|
preservedPinnedNodeIds: ReadonlyArray<NodeId>;
|
|
1745
1875
|
}
|
|
1746
|
-
type RunStatus = "running" | "pending" | "completed" | "failed";
|
|
1876
|
+
type RunStatus = "running" | "pending" | "completed" | "failed" | "suspended" | "halted";
|
|
1877
|
+
/** Reason a run transitioned to {@link RunStatus} `"halted"`. */
|
|
1878
|
+
type RunHaltReason = "hitl-rejected" | "hitl-timeout" | "hitl-cancelled";
|
|
1747
1879
|
interface RunSummary {
|
|
1748
1880
|
runId: RunId;
|
|
1749
1881
|
workflowId: WorkflowId;
|
|
@@ -1777,6 +1909,35 @@ interface PersistedRunSchedulingState {
|
|
|
1777
1909
|
pending?: PendingNodeExecution;
|
|
1778
1910
|
queue: RunQueueEntry[];
|
|
1779
1911
|
}
|
|
1912
|
+
/** One persisted suspension entry per suspended item. */
|
|
1913
|
+
interface PersistedSuspensionEntry {
|
|
1914
|
+
/** Opaque task identifier (UUID v4). */
|
|
1915
|
+
readonly taskId: string;
|
|
1916
|
+
readonly nodeId: NodeId;
|
|
1917
|
+
readonly activationId: NodeActivationId;
|
|
1918
|
+
readonly itemIndex: number;
|
|
1919
|
+
/** SHA-256 hex digest of the decision schema JSON (for schema-drift detection). */
|
|
1920
|
+
readonly decisionSchemaHash: string;
|
|
1921
|
+
/** Serialized return value from `SuspensionRequest.deliver` (stored on the HumanTask row). */
|
|
1922
|
+
readonly deliveryRef: JsonValue;
|
|
1923
|
+
/** ISO timestamp when the task expires. */
|
|
1924
|
+
readonly timeoutAt: string;
|
|
1925
|
+
readonly onTimeout: "halt" | "auto-accept";
|
|
1926
|
+
}
|
|
1927
|
+
/**
|
|
1928
|
+
* When a node is re-activated after suspension, the engine writes the resume context here
|
|
1929
|
+
* so `NodeExecutionRequestHandlerService` can splice `resumeContext` into ctx.
|
|
1930
|
+
* Cleared once the re-activation is consumed.
|
|
1931
|
+
*/
|
|
1932
|
+
interface PendingResumeEntry {
|
|
1933
|
+
readonly activationId: NodeActivationId;
|
|
1934
|
+
readonly nodeId: NodeId;
|
|
1935
|
+
/**
|
|
1936
|
+
* Typed as `unknown` here to avoid a circular import between runTypes ↔ runtimeTypes.
|
|
1937
|
+
* `NodeExecutionRequestHandlerService` casts this to `ResumeContext` from runtimeTypes.
|
|
1938
|
+
*/
|
|
1939
|
+
readonly resumeContext: unknown;
|
|
1940
|
+
}
|
|
1780
1941
|
interface PersistedRunState {
|
|
1781
1942
|
runId: RunId;
|
|
1782
1943
|
workflowId: WorkflowId;
|
|
@@ -1795,12 +1956,24 @@ interface PersistedRunState {
|
|
|
1795
1956
|
/** Successful node completions so far (for activation budget). */
|
|
1796
1957
|
engineCounters?: EngineRunCounters;
|
|
1797
1958
|
status: RunStatus;
|
|
1959
|
+
/** Populated when `status === "halted"` to discriminate why the run was halted. */
|
|
1960
|
+
reason?: RunHaltReason;
|
|
1798
1961
|
pending?: PendingNodeExecution;
|
|
1799
1962
|
queue: RunQueueEntry[];
|
|
1800
1963
|
outputsByNode: Record<NodeId, NodeOutputs>;
|
|
1801
1964
|
nodeSnapshotsByNodeId: Record<NodeId, NodeExecutionSnapshot>;
|
|
1802
1965
|
/** Append-only history of connection invocations (LLM/tool) nested under owning nodes. */
|
|
1803
1966
|
connectionInvocations?: ReadonlyArray<ConnectionInvocationRecord>;
|
|
1967
|
+
/**
|
|
1968
|
+
* One entry per outstanding HITL suspension (per-item).
|
|
1969
|
+
* Present and non-empty iff `status === "suspended"`.
|
|
1970
|
+
*/
|
|
1971
|
+
suspension?: ReadonlyArray<PersistedSuspensionEntry>;
|
|
1972
|
+
/**
|
|
1973
|
+
* Written by `resumeRun()` so `NodeExecutionRequestHandlerService` can splice `resumeContext`
|
|
1974
|
+
* into the ctx when re-executing the suspended node. Cleared once consumed.
|
|
1975
|
+
*/
|
|
1976
|
+
pendingResume?: PendingResumeEntry;
|
|
1804
1977
|
}
|
|
1805
1978
|
interface WorkflowExecutionRepository {
|
|
1806
1979
|
createRun(args: {
|
|
@@ -1860,6 +2033,12 @@ type RunResult = {
|
|
|
1860
2033
|
error: {
|
|
1861
2034
|
message: string;
|
|
1862
2035
|
};
|
|
2036
|
+
} | {
|
|
2037
|
+
runId: RunId;
|
|
2038
|
+
workflowId: WorkflowId;
|
|
2039
|
+
startedAt: string;
|
|
2040
|
+
status: "halted";
|
|
2041
|
+
reason: RunHaltReason;
|
|
1863
2042
|
};
|
|
1864
2043
|
type WebhookRunResult = Readonly<{
|
|
1865
2044
|
runId: RunId;
|
|
@@ -2367,6 +2546,244 @@ declare class RunFinishedAtFactory {
|
|
|
2367
2546
|
static resolveIso(state: RunFinishedAtSource): string | undefined;
|
|
2368
2547
|
}
|
|
2369
2548
|
//#endregion
|
|
2549
|
+
//#region src/authoring/defineNode.types.d.ts
|
|
2550
|
+
type MaybePromise<TValue> = TValue | Promise<TValue>;
|
|
2551
|
+
type ResolvableCredentialType = AnyCredentialType | CredentialTypeId;
|
|
2552
|
+
type SessionForCredentialType<TCredential extends ResolvableCredentialType> = TCredential extends AnyCredentialType ? Awaited<ReturnType<TCredential["createSession"]>> : unknown;
|
|
2553
|
+
type DefinedNodeCredentialBinding = ResolvableCredentialType | Readonly<{
|
|
2554
|
+
readonly type: ResolvableCredentialType | ReadonlyArray<ResolvableCredentialType>;
|
|
2555
|
+
readonly label?: string;
|
|
2556
|
+
readonly optional?: true;
|
|
2557
|
+
readonly helpText?: string;
|
|
2558
|
+
readonly helpUrl?: string;
|
|
2559
|
+
}>;
|
|
2560
|
+
type DefinedNodeCredentialBindings = Readonly<Record<string, DefinedNodeCredentialBinding>>;
|
|
2561
|
+
type SessionForBinding<TBinding extends DefinedNodeCredentialBinding> = TBinding extends Readonly<{
|
|
2562
|
+
type: infer TType;
|
|
2563
|
+
}> ? TType extends ReadonlyArray<infer TEntry> ? SessionForCredentialType<TEntry & ResolvableCredentialType> : SessionForCredentialType<TType & ResolvableCredentialType> : SessionForCredentialType<TBinding & ResolvableCredentialType>;
|
|
2564
|
+
type DefinedNodeCredentialAccessors<TBindings extends DefinedNodeCredentialBindings | undefined> = TBindings extends DefinedNodeCredentialBindings ? Readonly<{ [TKey in keyof TBindings]: () => Promise<SessionForBinding<TBindings[TKey]>> }> : Readonly<Record<string, never>>;
|
|
2565
|
+
interface DefinedNodeRunContext<TConfig extends CredentialJsonRecord, TBindings extends DefinedNodeCredentialBindings | undefined> {
|
|
2566
|
+
readonly config: TConfig;
|
|
2567
|
+
readonly credentials: DefinedNodeCredentialAccessors<TBindings>;
|
|
2568
|
+
readonly execution: NodeExecutionContext<RunnableNodeConfig<TConfig, unknown>>;
|
|
2569
|
+
}
|
|
2570
|
+
/**
|
|
2571
|
+
* Arguments for {@link defineNode} `execute` (engine `ctx` matches {@link RunnableNode.execute};
|
|
2572
|
+
* the second callback parameter adds {@link DefinedNodeRunContext} for credential accessors).
|
|
2573
|
+
*/
|
|
2574
|
+
type DefineNodeExecuteArgs<TConfig extends CredentialJsonRecord, TInputJson$1> = Readonly<{
|
|
2575
|
+
input: TInputJson$1;
|
|
2576
|
+
item: Item;
|
|
2577
|
+
itemIndex: number;
|
|
2578
|
+
items: Items;
|
|
2579
|
+
ctx: NodeExecutionContext<RunnableNodeConfig<TInputJson$1, unknown> & Readonly<{
|
|
2580
|
+
config: TConfig;
|
|
2581
|
+
}>>;
|
|
2582
|
+
}>;
|
|
2583
|
+
type DefinedNodeConfigInput<TConfigResolved extends CredentialJsonRecord, TItemJson> = ParamDeep<TConfigResolved, TItemJson>;
|
|
2584
|
+
interface DefinedNode<TKey$1 extends string, TConfig extends CredentialJsonRecord, TInputJson$1, TOutputJson$1, _TBindings extends DefinedNodeCredentialBindings | undefined = undefined> {
|
|
2585
|
+
readonly kind: "defined-node";
|
|
2586
|
+
readonly key: TKey$1;
|
|
2587
|
+
readonly title: string;
|
|
2588
|
+
readonly description?: string;
|
|
2589
|
+
create<TConfigItemJson = TInputJson$1>(config: DefinedNodeConfigInput<TConfig, TConfigItemJson>, name?: string, id?: string): RunnableNodeConfig<TInputJson$1, TOutputJson$1>;
|
|
2590
|
+
register(context: {
|
|
2591
|
+
registerNode<TValue>(token: TypeToken<TValue>, implementation?: TypeToken<TValue>): void;
|
|
2592
|
+
}): void;
|
|
2593
|
+
}
|
|
2594
|
+
/**
|
|
2595
|
+
* Plugin / DSL-friendly node: per-item `execute` with optional {@link RunnableNodeConfig.inputSchema}.
|
|
2596
|
+
*/
|
|
2597
|
+
interface DefineNodeOptions<TKey$1 extends string, TConfig extends CredentialJsonRecord, TInputJson$1, TOutputJson$1, TBindings extends DefinedNodeCredentialBindings | undefined = undefined> {
|
|
2598
|
+
readonly key: TKey$1;
|
|
2599
|
+
readonly title: string;
|
|
2600
|
+
readonly description?: string;
|
|
2601
|
+
/**
|
|
2602
|
+
* Canvas icon for this node (same contract as `NodeConfigBase.icon` on runnable configs).
|
|
2603
|
+
* The Next host resolves Lucide (`lucide:…`), built-in SVGs (`builtin:…`), Simple Icons (`si:…`), and image URLs (`https:`, `data:`, `/…`).
|
|
2604
|
+
*/
|
|
2605
|
+
readonly icon?: string;
|
|
2606
|
+
/** Default values / form hints for **static** node configuration (credentials, retry, IDs), not per-item payload. */
|
|
2607
|
+
readonly input?: Readonly<Record<keyof TConfig & string, unknown>>;
|
|
2608
|
+
readonly configSchema?: z.ZodType<TConfig>;
|
|
2609
|
+
readonly credentials?: TBindings;
|
|
2610
|
+
/**
|
|
2611
|
+
* Validates **`input`** (engine also accepts `inputSchema` on the node class).
|
|
2612
|
+
*/
|
|
2613
|
+
readonly inputSchema?: ZodType<TInputJson$1>;
|
|
2614
|
+
/** Preserve inbound `item.binary` when `execute` returns plain JSON or item-shaped results without `binary`. */
|
|
2615
|
+
readonly keepBinaries?: boolean;
|
|
2616
|
+
/**
|
|
2617
|
+
* Static configuration summary surfaced in the workflow inspector — see
|
|
2618
|
+
* {@link import("../contracts/workflowTypes").NodeConfigBase.inspectorSummary}.
|
|
2619
|
+
*
|
|
2620
|
+
* Receives the static config; returns 2–6 short label/value pairs (or `undefined` to skip).
|
|
2621
|
+
*/
|
|
2622
|
+
readonly inspectorSummary?: (args: Readonly<{
|
|
2623
|
+
config: TConfig;
|
|
2624
|
+
}>) => ReadonlyArray<NodeInspectorSummaryRow> | undefined;
|
|
2625
|
+
execute(args: DefineNodeExecuteArgs<TConfig, TInputJson$1>, context: DefinedNodeRunContext<TConfig, TBindings>): MaybePromise<TOutputJson$1>;
|
|
2626
|
+
}
|
|
2627
|
+
/**
|
|
2628
|
+
* Batch-oriented defined node: `run` receives all item JSON once (last item in activation); emits one output per input row.
|
|
2629
|
+
*/
|
|
2630
|
+
interface DefineBatchNodeOptions<TKey$1 extends string, TConfig extends CredentialJsonRecord, TInputJson$1, TOutputJson$1, TBindings extends DefinedNodeCredentialBindings | undefined = undefined> {
|
|
2631
|
+
readonly key: TKey$1;
|
|
2632
|
+
readonly title: string;
|
|
2633
|
+
readonly description?: string;
|
|
2634
|
+
readonly icon?: string;
|
|
2635
|
+
readonly input?: Readonly<Record<keyof TConfig & string, unknown>>;
|
|
2636
|
+
readonly configSchema?: z.ZodType<TConfig>;
|
|
2637
|
+
readonly credentials?: TBindings;
|
|
2638
|
+
readonly inspectorSummary?: (args: Readonly<{
|
|
2639
|
+
config: TConfig;
|
|
2640
|
+
}>) => ReadonlyArray<NodeInspectorSummaryRow> | undefined;
|
|
2641
|
+
run(items: ReadonlyArray<TInputJson$1>, context: DefinedNodeRunContext<TConfig, TBindings>): MaybePromise<ReadonlyArray<TOutputJson$1>>;
|
|
2642
|
+
}
|
|
2643
|
+
declare function defineNode<TKey$1 extends string, TConfig extends CredentialJsonRecord, TInputJson$1, TOutputJson$1, TBindings extends DefinedNodeCredentialBindings | undefined = undefined>(options: DefineNodeOptions<TKey$1, TConfig, TInputJson$1, TOutputJson$1, TBindings>): DefinedNode<TKey$1, TConfig, TInputJson$1, TOutputJson$1, TBindings>;
|
|
2644
|
+
declare function defineBatchNode<TKey$1 extends string, TConfig extends CredentialJsonRecord, TInputJson$1, TOutputJson$1, TBindings extends DefinedNodeCredentialBindings | undefined = undefined>(options: DefineBatchNodeOptions<TKey$1, TConfig, TInputJson$1, TOutputJson$1, TBindings>): DefinedNode<TKey$1, TConfig, TInputJson$1, TOutputJson$1, TBindings>;
|
|
2645
|
+
//#endregion
|
|
2646
|
+
//#region src/authoring/defineHumanApprovalNode.types.d.ts
|
|
2647
|
+
/**
|
|
2648
|
+
* Decision shape merged into `item.json` after a HITL approval task resolves.
|
|
2649
|
+
*
|
|
2650
|
+
* - `"approved"` / `"rejected"` — from a human decision (uses `approvedPredicate`).
|
|
2651
|
+
* - `"timed-out"` — timeout fired with `onTimeout: "halt"`.
|
|
2652
|
+
* - `"auto-accepted"` — timeout fired with `onTimeout: "auto-accept"`.
|
|
2653
|
+
*/
|
|
2654
|
+
interface HumanApprovalDecisionResult {
|
|
2655
|
+
readonly status: "approved" | "rejected" | "timed-out" | "auto-accepted";
|
|
2656
|
+
/** Identity of the person who decided; absent for automated outcomes. */
|
|
2657
|
+
readonly actor?: HumanTaskActor;
|
|
2658
|
+
/** ISO 8601 timestamp of the decision. */
|
|
2659
|
+
readonly decidedAt?: Date;
|
|
2660
|
+
/** Optional free-text note from the reviewer. */
|
|
2661
|
+
readonly note?: string;
|
|
2662
|
+
/**
|
|
2663
|
+
* Full raw decision payload (only present for `"approved"` / `"rejected"`).
|
|
2664
|
+
* Shape is determined by the channel's `decisionSchema`.
|
|
2665
|
+
*/
|
|
2666
|
+
readonly payload?: Record<string, unknown>;
|
|
2667
|
+
}
|
|
2668
|
+
/**
|
|
2669
|
+
* Output item shape emitted by a `defineHumanApprovalNode`-based node.
|
|
2670
|
+
* Original `item.json` fields are preserved and `decision` is merged in.
|
|
2671
|
+
* If the input `item.json` already contained a `decision` key it is **overwritten**.
|
|
2672
|
+
*/
|
|
2673
|
+
type HumanApprovalOutputJson<TInputJson$1 extends Record<string, unknown>> = TInputJson$1 & {
|
|
2674
|
+
readonly decision: HumanApprovalDecisionResult;
|
|
2675
|
+
};
|
|
2676
|
+
/**
|
|
2677
|
+
* Extends {@link DefinedNode} with the `humanApprovalToolBehavior` metadata marker.
|
|
2678
|
+
* Story 10 reads this field when attaching the node as an agent tool.
|
|
2679
|
+
*/
|
|
2680
|
+
interface DefinedHumanApprovalNode<TKey$1 extends string, TConfig extends CredentialJsonRecord, TInputJson$1 extends Record<string, unknown>, TBindings extends DefinedNodeCredentialBindings | undefined = undefined> extends DefinedNode<TKey$1, TConfig, TInputJson$1, HumanApprovalOutputJson<TInputJson$1>, TBindings> {
|
|
2681
|
+
/**
|
|
2682
|
+
* Behavior hint consumed by the agent runtime (story 10) when this node is attached as a tool.
|
|
2683
|
+
* `"return"` (default) — return the rejection to the agent as a tool result.
|
|
2684
|
+
* `"halt"` — halt the agent run on rejection.
|
|
2685
|
+
*
|
|
2686
|
+
* Standalone DSL usage ignores this field.
|
|
2687
|
+
*/
|
|
2688
|
+
readonly humanApprovalToolBehavior: {
|
|
2689
|
+
onRejected: "return" | "halt";
|
|
2690
|
+
};
|
|
2691
|
+
}
|
|
2692
|
+
/**
|
|
2693
|
+
* Returns `true` when `node` was created by {@link defineHumanApprovalNode}.
|
|
2694
|
+
* Uses the `humanApprovalToolBehavior` typed field as the discriminant.
|
|
2695
|
+
*/
|
|
2696
|
+
declare function isHumanApprovalNode(node: unknown): node is DefinedHumanApprovalNode<string, Record<string, unknown>, Record<string, unknown>, undefined>;
|
|
2697
|
+
/**
|
|
2698
|
+
* Authoring helper that compiles a HITL approval channel down to a regular
|
|
2699
|
+
* {@link defineNode}-backed node with `SuspensionRequest` semantics.
|
|
2700
|
+
*
|
|
2701
|
+
* **Fast-forward decision semantics:**
|
|
2702
|
+
* - On the first `execute` call (no `ctx.resumeContext`): throws a `SuspensionRequest`
|
|
2703
|
+
* that calls the author's `deliver`. The engine persists the suspension and continues.
|
|
2704
|
+
* - On resume (`ctx.resumeContext` set): calls `onDecision`/`onTimeout` as appropriate,
|
|
2705
|
+
* merges a `decision` key into `item.json`, and returns an item with the original
|
|
2706
|
+
* `binary` map passed by reference (no copy).
|
|
2707
|
+
*
|
|
2708
|
+
* **Output shape per item:**
|
|
2709
|
+
* ```ts
|
|
2710
|
+
* // Input: { json: { invoiceId: 42 }, binary?: {...} }
|
|
2711
|
+
* // Output: { json: { invoiceId: 42, decision: { status: "approved", actor, decidedAt } }, binary: <unchanged> }
|
|
2712
|
+
* ```
|
|
2713
|
+
* If `item.json` already has a `decision` key it is **overwritten**. Namespace as
|
|
2714
|
+
* needed if your schema reserves that key for another purpose.
|
|
2715
|
+
*
|
|
2716
|
+
* **Predicate persistence:**
|
|
2717
|
+
* The `approvedPredicate` function is NOT serialized to the suspension record (except
|
|
2718
|
+
* as an audit-only string via `toString()`). On resume, the workflow definition is
|
|
2719
|
+
* reloaded from code at process start and the predicate closure is rebuilt naturally.
|
|
2720
|
+
* If a deploy ships a changed predicate between suspend and resume, the *new* predicate
|
|
2721
|
+
* runs — document this in your runbook when the predicate carries business logic that
|
|
2722
|
+
* may change across deploys.
|
|
2723
|
+
*
|
|
2724
|
+
* @example
|
|
2725
|
+
* ```ts
|
|
2726
|
+
* export const slackApprovalNode = defineHumanApprovalNode({
|
|
2727
|
+
* key: "my-plugin.slackApproval",
|
|
2728
|
+
* title: "Slack Approval",
|
|
2729
|
+
* channel: "slack",
|
|
2730
|
+
* configSchema: z.object({ channel: z.string(), message: z.string() }),
|
|
2731
|
+
* decisionSchema: z.object({ approved: z.boolean(), note: z.string().optional() }),
|
|
2732
|
+
*
|
|
2733
|
+
* async deliver({ task, config, item }, ctx) {
|
|
2734
|
+
* const ts = await postSlackMessage(config.channel, `Approve? <${task.resumeUrl}>`);
|
|
2735
|
+
* return { channel: config.channel, ts };
|
|
2736
|
+
* },
|
|
2737
|
+
*
|
|
2738
|
+
* async onDecision({ decision, actor, delivery }, ctx) {
|
|
2739
|
+
* await updateSlackMessage(delivery.channel, delivery.ts, decision.approved ? "✅" : "❌");
|
|
2740
|
+
* },
|
|
2741
|
+
* });
|
|
2742
|
+
* ```
|
|
2743
|
+
*/
|
|
2744
|
+
declare function defineHumanApprovalNode<TKey$1 extends string, TConfig extends CredentialJsonRecord, TInputJson$1 extends Record<string, unknown>, TDecision extends Record<string, unknown>, TDelivery extends JsonValue, TBindings extends DefinedNodeCredentialBindings | undefined = undefined>(opts: {
|
|
2745
|
+
key: TKey$1;
|
|
2746
|
+
title: string;
|
|
2747
|
+
description?: string;
|
|
2748
|
+
icon?: string;
|
|
2749
|
+
channel: string;
|
|
2750
|
+
configSchema: ZodType<TConfig>;
|
|
2751
|
+
inputSchema?: ZodType<TInputJson$1>;
|
|
2752
|
+
decisionSchema: ZodType<TDecision>;
|
|
2753
|
+
credentials?: TBindings;
|
|
2754
|
+
/**
|
|
2755
|
+
* Custom predicate that decides whether a decision counts as "approved".
|
|
2756
|
+
* When omitted, the helper checks if `decisionSchema` is a Zod object with an
|
|
2757
|
+
* `approved: boolean` field; if so it uses `decision.approved === true`.
|
|
2758
|
+
* If neither holds, `defineHumanApprovalNode` throws at **definition time** (not runtime).
|
|
2759
|
+
*/
|
|
2760
|
+
approvedPredicate?: (decision: TDecision) => boolean;
|
|
2761
|
+
/** Default suspension timeout. Defaults to `"24h"`. */
|
|
2762
|
+
defaultTimeout?: Duration;
|
|
2763
|
+
/** What to do when the task times out. Defaults to `"halt"`. */
|
|
2764
|
+
defaultOnTimeout?: "halt" | "auto-accept";
|
|
2765
|
+
inspectorSummary?: (config: TConfig) => ReadonlyArray<NodeInspectorSummaryRow> | undefined;
|
|
2766
|
+
deliver: (args: {
|
|
2767
|
+
task: HumanTaskHandle;
|
|
2768
|
+
config: TConfig;
|
|
2769
|
+
input: TInputJson$1;
|
|
2770
|
+
item: Item;
|
|
2771
|
+
}, ctx: ExecutionContext) => Promise<TDelivery>;
|
|
2772
|
+
onDecision?: (args: {
|
|
2773
|
+
decision: TDecision;
|
|
2774
|
+
actor: HumanTaskActor;
|
|
2775
|
+
task: HumanTaskHandle;
|
|
2776
|
+
delivery: TDelivery;
|
|
2777
|
+
item: Item;
|
|
2778
|
+
}, ctx: ExecutionContext) => Promise<void>;
|
|
2779
|
+
onTimeout?: (args: {
|
|
2780
|
+
task: HumanTaskHandle;
|
|
2781
|
+
delivery: TDelivery;
|
|
2782
|
+
item: Item;
|
|
2783
|
+
policy: "halt" | "auto-accept";
|
|
2784
|
+
}, ctx: ExecutionContext) => Promise<void>;
|
|
2785
|
+
}): DefinedHumanApprovalNode<TKey$1, TConfig, TInputJson$1, TBindings>;
|
|
2786
|
+
//#endregion
|
|
2370
2787
|
//#region src/workflow/dsl/workflowBuilderTypes.d.ts
|
|
2371
2788
|
type AnyRunnableNodeConfig = RunnableNodeConfig<any, any>;
|
|
2372
2789
|
type AnyTriggerNodeConfig = TriggerNodeConfig<any>;
|
|
@@ -2412,6 +2829,25 @@ declare class ChainCursor<TCurrentJson> {
|
|
|
2412
2829
|
thenIntoInputHints<TOutputJson$1, TConfig extends RunnableNodeConfig<any, TOutputJson$1>>(config: TConfig): ChainCursor<RunnableNodeOutputJson<TConfig>>;
|
|
2413
2830
|
readonly when: ChainCursorWhenOverloads<TCurrentJson>;
|
|
2414
2831
|
route<TNextJson$1>(branches: Readonly<Record<OutputPortKey, (branch: ChainCursor<TCurrentJson>) => ChainCursor<TNextJson$1> | undefined>>): ChainCursor<TNextJson$1>;
|
|
2832
|
+
/**
|
|
2833
|
+
* Chainable shorthand for `.then(node.create(config, metadata?.name, metadata?.nodeId))`.
|
|
2834
|
+
*
|
|
2835
|
+
* Signals to readers that this step suspends the run and waits for a human decision.
|
|
2836
|
+
* Throws at workflow-build time if `node` was not created via `defineHumanApprovalNode`.
|
|
2837
|
+
*
|
|
2838
|
+
* @example
|
|
2839
|
+
* ```ts
|
|
2840
|
+
* workflow
|
|
2841
|
+
* .trigger(...)
|
|
2842
|
+
* .humanApproval(inboxApproval, { title: "Approve?", body: "...", priority: "normal" })
|
|
2843
|
+
* .then(nextStep.create(...))
|
|
2844
|
+
* .build();
|
|
2845
|
+
* ```
|
|
2846
|
+
*/
|
|
2847
|
+
humanApproval<TKey$1 extends string, TConfig extends Record<string, unknown>, TBindings extends DefinedNodeCredentialBindings | undefined = undefined>(node: DefinedHumanApprovalNode<TKey$1, TConfig, TCurrentJson & Record<string, unknown>, TBindings>, config: TConfig, metadata?: {
|
|
2848
|
+
name?: string;
|
|
2849
|
+
nodeId?: string;
|
|
2850
|
+
}): ChainCursor<HumanApprovalOutputJson<TCurrentJson & Record<string, unknown>>>;
|
|
2415
2851
|
build(): WorkflowDefinition;
|
|
2416
2852
|
private resolveSharedInputPortHint;
|
|
2417
2853
|
}
|
|
@@ -2554,286 +2990,5 @@ declare class DefaultWorkflowGraphFactory implements WorkflowGraphFactory {
|
|
|
2554
2990
|
create(def: WorkflowDefinition): WorkflowGraph;
|
|
2555
2991
|
}
|
|
2556
2992
|
//#endregion
|
|
2557
|
-
|
|
2558
|
-
|
|
2559
|
-
startTriggers(): Promise<void>;
|
|
2560
|
-
stop(): Promise<void>;
|
|
2561
|
-
syncWorkflowTriggersForActivation(workflowId: WorkflowId): Promise<void>;
|
|
2562
|
-
createTriggerTestItems(args: {
|
|
2563
|
-
workflow: WorkflowDefinition;
|
|
2564
|
-
nodeId: NodeId;
|
|
2565
|
-
}): Promise<Items | undefined>;
|
|
2566
|
-
}
|
|
2567
|
-
interface EngineRunStartService {
|
|
2568
|
-
runWorkflow(wf: WorkflowDefinition, startAt: NodeId, items: Items, parent?: ParentExecutionRef, executionOptions?: RunExecutionOptions, persistedStateOverrides?: Readonly<{
|
|
2569
|
-
workflowSnapshot?: NonNullable<Awaited<ReturnType<WorkflowExecutionRepository["load"]>>>["workflowSnapshot"];
|
|
2570
|
-
mutableState?: NonNullable<Awaited<ReturnType<WorkflowExecutionRepository["load"]>>>["mutableState"];
|
|
2571
|
-
}>): Promise<RunResult>;
|
|
2572
|
-
runWorkflowFromState(request: CurrentStateExecutionRequest): Promise<RunResult>;
|
|
2573
|
-
}
|
|
2574
|
-
interface EngineRunContinuationService {
|
|
2575
|
-
markNodeRunning(args: {
|
|
2576
|
-
runId: RunId;
|
|
2577
|
-
activationId: NodeActivationId;
|
|
2578
|
-
nodeId: NodeId;
|
|
2579
|
-
inputsByPort: NodeInputsByPort;
|
|
2580
|
-
}): Promise<void>;
|
|
2581
|
-
resumeFromNodeResult(args: {
|
|
2582
|
-
runId: RunId;
|
|
2583
|
-
activationId: NodeActivationId;
|
|
2584
|
-
nodeId: NodeId;
|
|
2585
|
-
outputs: NodeOutputs;
|
|
2586
|
-
}): Promise<RunResult>;
|
|
2587
|
-
resumeFromNodeError(args: {
|
|
2588
|
-
runId: RunId;
|
|
2589
|
-
activationId: NodeActivationId;
|
|
2590
|
-
nodeId: NodeId;
|
|
2591
|
-
error: Error;
|
|
2592
|
-
}): Promise<RunResult>;
|
|
2593
|
-
resumeFromStepResult(args: {
|
|
2594
|
-
runId: RunId;
|
|
2595
|
-
activationId: NodeActivationId;
|
|
2596
|
-
nodeId: NodeId;
|
|
2597
|
-
outputs: NodeOutputs;
|
|
2598
|
-
}): Promise<RunResult>;
|
|
2599
|
-
resumeFromStepError(args: {
|
|
2600
|
-
runId: RunId;
|
|
2601
|
-
activationId: NodeActivationId;
|
|
2602
|
-
nodeId: NodeId;
|
|
2603
|
-
error: Error;
|
|
2604
|
-
}): Promise<RunResult>;
|
|
2605
|
-
waitForCompletion(runId: RunId): Promise<Extract<RunResult, {
|
|
2606
|
-
status: "completed" | "failed";
|
|
2607
|
-
}>>;
|
|
2608
|
-
waitForWebhookResponse(runId: RunId): Promise<WebhookRunResult>;
|
|
2609
|
-
}
|
|
2610
|
-
interface EngineNodeExecutionRequestHandler {
|
|
2611
|
-
handleNodeExecutionRequest(request: NodeExecutionRequest): Promise<void>;
|
|
2612
|
-
}
|
|
2613
|
-
interface EngineFacadeDeps {
|
|
2614
|
-
liveWorkflowRepository: LiveWorkflowRepository;
|
|
2615
|
-
tokenRegistry: PersistedWorkflowTokenRegistryLike;
|
|
2616
|
-
webhookTriggerMatcher: WebhookTriggerMatcher;
|
|
2617
|
-
workflowSnapshotResolver: WorkflowSnapshotResolver;
|
|
2618
|
-
triggerRuntime: EngineTriggerRuntime;
|
|
2619
|
-
runStartService: EngineRunStartService;
|
|
2620
|
-
runContinuationService: EngineRunContinuationService;
|
|
2621
|
-
nodeExecutionRequestHandler: EngineNodeExecutionRequestHandler;
|
|
2622
|
-
}
|
|
2623
|
-
/**
|
|
2624
|
-
* Runtime facade for orchestration, continuation, triggers, and webhook routing.
|
|
2625
|
-
* Prefer {@link import("../intents/RunIntentService").RunIntentService} for host/HTTP invocation boundaries.
|
|
2626
|
-
* The class token is exported from `@codemation/core/bootstrap` (not the main `@codemation/core` barrel).
|
|
2627
|
-
*/
|
|
2628
|
-
declare class Engine implements NodeActivationContinuation, NodeExecutionRequestHandler {
|
|
2629
|
-
private readonly deps;
|
|
2630
|
-
constructor(deps: EngineFacadeDeps);
|
|
2631
|
-
loadWorkflows(workflows: ReadonlyArray<WorkflowDefinition>): void;
|
|
2632
|
-
getTokenRegistry(): EngineFacadeDeps["tokenRegistry"];
|
|
2633
|
-
resolveWorkflowSnapshot(args: {
|
|
2634
|
-
workflowId: WorkflowId;
|
|
2635
|
-
workflowSnapshot?: NonNullable<Awaited<ReturnType<WorkflowExecutionRepository["load"]>>>["workflowSnapshot"];
|
|
2636
|
-
}): WorkflowDefinition | undefined;
|
|
2637
|
-
startTriggers(): Promise<void>;
|
|
2638
|
-
syncWorkflowTriggersForActivation(workflowId: WorkflowId): Promise<void>;
|
|
2639
|
-
start(workflows: WorkflowDefinition[]): Promise<void>;
|
|
2640
|
-
stop(): Promise<void>;
|
|
2641
|
-
resolveWebhookTrigger(args: {
|
|
2642
|
-
endpointPath: string;
|
|
2643
|
-
method: HttpMethod;
|
|
2644
|
-
}): WebhookTriggerResolution;
|
|
2645
|
-
createTriggerTestItems(args: {
|
|
2646
|
-
workflow: WorkflowDefinition;
|
|
2647
|
-
nodeId: NodeId;
|
|
2648
|
-
}): Promise<Items | undefined>;
|
|
2649
|
-
runWorkflow(wf: WorkflowDefinition, startAt: NodeId, items: Items, parent?: ParentExecutionRef, executionOptions?: RunExecutionOptions, persistedStateOverrides?: Readonly<{
|
|
2650
|
-
workflowSnapshot?: NonNullable<Awaited<ReturnType<WorkflowExecutionRepository["load"]>>>["workflowSnapshot"];
|
|
2651
|
-
mutableState?: NonNullable<Awaited<ReturnType<WorkflowExecutionRepository["load"]>>>["mutableState"];
|
|
2652
|
-
}>): Promise<RunResult>;
|
|
2653
|
-
runWorkflowFromState(request: CurrentStateExecutionRequest): Promise<RunResult>;
|
|
2654
|
-
markNodeRunning(args: {
|
|
2655
|
-
runId: RunId;
|
|
2656
|
-
activationId: NodeActivationId;
|
|
2657
|
-
nodeId: NodeId;
|
|
2658
|
-
inputsByPort: NodeInputsByPort;
|
|
2659
|
-
}): Promise<void>;
|
|
2660
|
-
resumeFromNodeResult(args: {
|
|
2661
|
-
runId: RunId;
|
|
2662
|
-
activationId: NodeActivationId;
|
|
2663
|
-
nodeId: NodeId;
|
|
2664
|
-
outputs: NodeOutputs;
|
|
2665
|
-
}): Promise<RunResult>;
|
|
2666
|
-
resumeFromNodeError(args: {
|
|
2667
|
-
runId: RunId;
|
|
2668
|
-
activationId: NodeActivationId;
|
|
2669
|
-
nodeId: NodeId;
|
|
2670
|
-
error: Error;
|
|
2671
|
-
}): Promise<RunResult>;
|
|
2672
|
-
resumeFromStepResult(args: {
|
|
2673
|
-
runId: RunId;
|
|
2674
|
-
activationId: NodeActivationId;
|
|
2675
|
-
nodeId: NodeId;
|
|
2676
|
-
outputs: NodeOutputs;
|
|
2677
|
-
}): Promise<RunResult>;
|
|
2678
|
-
resumeFromStepError(args: {
|
|
2679
|
-
runId: RunId;
|
|
2680
|
-
activationId: NodeActivationId;
|
|
2681
|
-
nodeId: NodeId;
|
|
2682
|
-
error: Error;
|
|
2683
|
-
}): Promise<RunResult>;
|
|
2684
|
-
waitForCompletion(runId: RunId): Promise<Extract<RunResult, {
|
|
2685
|
-
status: "completed" | "failed";
|
|
2686
|
-
}>>;
|
|
2687
|
-
waitForWebhookResponse(runId: RunId): Promise<WebhookRunResult>;
|
|
2688
|
-
handleNodeExecutionRequest(request: NodeExecutionRequest): Promise<void>;
|
|
2689
|
-
}
|
|
2690
|
-
//#endregion
|
|
2691
|
-
//#region src/policies/storage/WorkflowStoragePolicyEvaluator.d.ts
|
|
2692
|
-
declare class WorkflowStoragePolicyEvaluator {
|
|
2693
|
-
private readonly nodeResolver;
|
|
2694
|
-
constructor(nodeResolver: NodeResolver);
|
|
2695
|
-
shouldPersist(workflow: WorkflowDefinition, snapshot: PersistedRunPolicySnapshot | undefined, args: WorkflowStoragePolicyDecisionArgs): Promise<boolean>;
|
|
2696
|
-
private modeMatches;
|
|
2697
|
-
}
|
|
2698
|
-
//#endregion
|
|
2699
|
-
//#region src/policies/storage/RunTerminalPersistenceCoordinator.d.ts
|
|
2700
|
-
declare class RunTerminalPersistenceCoordinator {
|
|
2701
|
-
private readonly runRepository;
|
|
2702
|
-
private readonly storageEvaluator;
|
|
2703
|
-
constructor(runRepository: WorkflowExecutionRepository, storageEvaluator: WorkflowStoragePolicyEvaluator);
|
|
2704
|
-
maybeDeleteAfterTerminalState(args: {
|
|
2705
|
-
workflow: WorkflowDefinition;
|
|
2706
|
-
state: PersistedRunState;
|
|
2707
|
-
finalStatus: "completed" | "failed";
|
|
2708
|
-
finishedAt: string;
|
|
2709
|
-
}): Promise<void>;
|
|
2710
|
-
}
|
|
2711
|
-
//#endregion
|
|
2712
|
-
//#region src/policies/WorkflowPolicyErrorServices.d.ts
|
|
2713
|
-
declare class WorkflowPolicyErrorServices {
|
|
2714
|
-
private readonly nodeResolver;
|
|
2715
|
-
constructor(nodeResolver: NodeResolver);
|
|
2716
|
-
resolveNodeErrorHandler(spec: NodeErrorHandlerSpec | undefined): NodeErrorHandler | undefined;
|
|
2717
|
-
resolveWorkflowErrorHandler(spec: WorkflowErrorHandlerSpec | undefined): WorkflowErrorHandler | undefined;
|
|
2718
|
-
}
|
|
2719
|
-
//#endregion
|
|
2720
|
-
//#region src/policies/executionLimits/EngineExecutionLimitsPolicyFactory.d.ts
|
|
2721
|
-
/**
|
|
2722
|
-
* Builds {@link EngineExecutionLimitsPolicy} by merging {@link ENGINE_EXECUTION_LIMITS_DEFAULTS} with optional `overrides` (e.g. host `runtime.engineExecutionLimits`).
|
|
2723
|
-
*/
|
|
2724
|
-
declare class EngineExecutionLimitsPolicyFactory {
|
|
2725
|
-
create(overrides?: Partial<EngineExecutionLimitsPolicyConfig>): EngineExecutionLimitsPolicy;
|
|
2726
|
-
}
|
|
2727
|
-
//#endregion
|
|
2728
|
-
//#region src/policies/storage/RunPolicySnapshotFactory.d.ts
|
|
2729
|
-
declare class RunPolicySnapshotFactory {
|
|
2730
|
-
static create(workflow: WorkflowDefinition, defaults?: WorkflowPolicyRuntimeDefaults): PersistedRunPolicySnapshot;
|
|
2731
|
-
}
|
|
2732
|
-
//#endregion
|
|
2733
|
-
//#region src/workflowSnapshots/WorkflowSnapshotCodec.d.ts
|
|
2734
|
-
declare class WorkflowSnapshotCodec {
|
|
2735
|
-
private readonly tokenRegistry;
|
|
2736
|
-
constructor(tokenRegistry: PersistedWorkflowTokenRegistryLike);
|
|
2737
|
-
create(workflow: WorkflowDefinition): PersistedWorkflowSnapshot;
|
|
2738
|
-
hydrate(snapshotNode: PersistedWorkflowSnapshotNode, liveConfig: NodeConfigBase): NodeConfigBase;
|
|
2739
|
-
private serializeConfig;
|
|
2740
|
-
/**
|
|
2741
|
-
* Safely call `config.inspectorSummary()` and return a plain JSON-safe array, or undefined.
|
|
2742
|
-
* Returns undefined if the method is absent, throws, or produces no valid rows.
|
|
2743
|
-
*/
|
|
2744
|
-
private safeInspectorSummary;
|
|
2745
|
-
private injectTokenIds;
|
|
2746
|
-
private mergeValue;
|
|
2747
|
-
private mergeNestedValue;
|
|
2748
|
-
private restoreNonSerializableProperties;
|
|
2749
|
-
private restoreTypeProperty;
|
|
2750
|
-
private resolveTokenId;
|
|
2751
|
-
private resolveTokenName;
|
|
2752
|
-
private asTypeToken;
|
|
2753
|
-
private asRecord;
|
|
2754
|
-
}
|
|
2755
|
-
//#endregion
|
|
2756
|
-
//#region src/runtime/EngineWorkflowRunnerService.d.ts
|
|
2757
|
-
declare class EngineWorkflowRunnerService {
|
|
2758
|
-
private readonly engine;
|
|
2759
|
-
private readonly workflowRepository;
|
|
2760
|
-
constructor(engine: Engine, workflowRepository: WorkflowRepository);
|
|
2761
|
-
runById(args: {
|
|
2762
|
-
workflowId: WorkflowId;
|
|
2763
|
-
startAt?: NodeId;
|
|
2764
|
-
items: Items;
|
|
2765
|
-
parent?: ParentExecutionRef;
|
|
2766
|
-
}): Promise<RunResult>;
|
|
2767
|
-
private findDefaultStartNodeId;
|
|
2768
|
-
}
|
|
2769
|
-
//#endregion
|
|
2770
|
-
//#region src/runtime/InMemoryLiveWorkflowRepository.d.ts
|
|
2771
|
-
declare class InMemoryLiveWorkflowRepository implements LiveWorkflowRepository {
|
|
2772
|
-
private readonly workflowsById;
|
|
2773
|
-
setWorkflows(workflows: ReadonlyArray<WorkflowDefinition>): void;
|
|
2774
|
-
list(): ReadonlyArray<WorkflowDefinition>;
|
|
2775
|
-
get(workflowId: WorkflowId): WorkflowDefinition | undefined;
|
|
2776
|
-
}
|
|
2777
|
-
//#endregion
|
|
2778
|
-
//#region src/runtime/RunIntentService.d.ts
|
|
2779
|
-
type StartWorkflowIntent = {
|
|
2780
|
-
workflow: WorkflowDefinition;
|
|
2781
|
-
startAt?: string;
|
|
2782
|
-
items: Items;
|
|
2783
|
-
synthesizeTriggerItems?: boolean;
|
|
2784
|
-
parent?: CurrentStateExecutionRequest["parent"];
|
|
2785
|
-
executionOptions?: RunExecutionOptions;
|
|
2786
|
-
workflowSnapshot?: CurrentStateExecutionRequest["workflowSnapshot"];
|
|
2787
|
-
mutableState?: CurrentStateExecutionRequest["mutableState"];
|
|
2788
|
-
currentState?: RunCurrentState;
|
|
2789
|
-
stopCondition?: RunStopCondition;
|
|
2790
|
-
reset?: CurrentStateExecutionRequest["reset"];
|
|
2791
|
-
};
|
|
2792
|
-
type RerunFromNodeIntent = {
|
|
2793
|
-
workflow: WorkflowDefinition;
|
|
2794
|
-
nodeId: NodeId;
|
|
2795
|
-
currentState: RunCurrentState;
|
|
2796
|
-
items?: Items;
|
|
2797
|
-
synthesizeTriggerItems?: boolean;
|
|
2798
|
-
parent?: CurrentStateExecutionRequest["parent"];
|
|
2799
|
-
executionOptions?: RunExecutionOptions;
|
|
2800
|
-
workflowSnapshot?: CurrentStateExecutionRequest["workflowSnapshot"];
|
|
2801
|
-
mutableState?: CurrentStateExecutionRequest["mutableState"];
|
|
2802
|
-
};
|
|
2803
|
-
type MatchedWebhookRunIntent = {
|
|
2804
|
-
endpointPath: string;
|
|
2805
|
-
method: HttpMethod;
|
|
2806
|
-
requestItem: Items[number];
|
|
2807
|
-
};
|
|
2808
|
-
type WebhookMatchRunIntent = {
|
|
2809
|
-
match: WebhookInvocationMatch;
|
|
2810
|
-
requestItem: Items[number];
|
|
2811
|
-
};
|
|
2812
|
-
declare class RunIntentService {
|
|
2813
|
-
private readonly engine;
|
|
2814
|
-
private readonly workflowRepository;
|
|
2815
|
-
constructor(engine: Engine, workflowRepository: WorkflowRepository);
|
|
2816
|
-
startWorkflow(args: StartWorkflowIntent): Promise<RunResult>;
|
|
2817
|
-
rerunFromNode(args: RerunFromNodeIntent): Promise<RunResult>;
|
|
2818
|
-
private resolveStartWorkflowItems;
|
|
2819
|
-
private resolveRerunItems;
|
|
2820
|
-
private resolveStartWorkflowTriggerNodeId;
|
|
2821
|
-
private resolveRerunTriggerNodeId;
|
|
2822
|
-
private firstTriggerNodeId;
|
|
2823
|
-
private isTriggerNode;
|
|
2824
|
-
private hasNonEmptyItems;
|
|
2825
|
-
resolveWebhookTrigger(args: {
|
|
2826
|
-
endpointPath: string;
|
|
2827
|
-
method: HttpMethod;
|
|
2828
|
-
}): WebhookTriggerResolution;
|
|
2829
|
-
runMatchedWebhook(args: MatchedWebhookRunIntent): Promise<WebhookRunResult>;
|
|
2830
|
-
runWebhookMatch(args: WebhookMatchRunIntent): Promise<WebhookRunResult>;
|
|
2831
|
-
/**
|
|
2832
|
-
* Webhook-triggered runs always force inline execution first.
|
|
2833
|
-
* This is the highest-precedence scheduler override: it wins over node hints and container defaults.
|
|
2834
|
-
*/
|
|
2835
|
-
private createWebhookExecutionOptions;
|
|
2836
|
-
}
|
|
2837
|
-
//#endregion
|
|
2838
|
-
export { PersistedRunWorkItemRecord as $, CredentialTypeDefinition as $a, WebhookTriggerRoutingDiagnostics as $i, JsonPrimitive as $n, BinaryAttachmentCreateRequest as $r, RunEventPublisherDeps as $t, RunFinishedAtFactory as A, CollectionStore as Aa, PreparedNodeActivationDispatch as Ai, CoreTokens as An, WorkflowDefinition as Ar, NeedsReconsentEvent as At, isUnbrandedPortsEmissionShape as B, CredentialHealthTester as Ba, TriggerTestItemsContext as Bi, TestTriggerNodeConfig as Bn, WorkflowStoragePolicyMode as Br, NodeInputsByPort as Bt, AnyTriggerNodeConfig as C, CostTrackingComponent as Ca, NodeExecutionRequestHandler as Ci, injectAll as Cn, RunnableNodeConfig as Cr, AssertionResultProvenance as Ct, BranchStepsArg as D, CostTrackingTelemetryFactory as Da, NodeResolver as Di, predicateAwareClassFactory as Dn, TriggerNodeOutputJson as Dr, AgentBindError as Dt, BranchOutputGuard as E, CostTrackingTelemetryAttributeNames as Ea, NodeExecutor as Ei, instancePerContainerCachingFactory as En, TriggerNodeConfig as Er, NoOpAgentMcpIntegration as Et, NoRetryPolicy as F, CredentialBinding as Fa, TriggerNode as Fi, RunEventBus as Fn, WorkflowGraphFactory as Fr, EngineRunCounters as Ft, ExecutionInstanceDto as G, CredentialOAuth2AuthDefinition as Ga, WorkflowSnapshotFactory as Gi, Edge as Gn, runnableNodeInputType as Gr, PersistedRunSchedulingState as Gt, McpServerTransport as H, CredentialInstanceRecord as Ha, WorkflowRepository as Hi, ActivationIdFactory as Hn, WorkflowStoragePolicySpec as Hr, PersistedMutableNodeState as Ht, getOriginIndexFromItem as I, CredentialBindingKey as Ia, TriggerRuntimeDiagnostics as Ii, RunEventSubscription as In, WorkflowNodeConnection as Ir, ExecutionFrontierPlan as It, PayloadStorageKind as J, CredentialSessionFactory as Ja, TriggerInstanceId as Ji, ItemBinary as Jn, triggerNodeSetupStateType as Jr, PersistedWorkflowSnapshotNode as Jt, ExecutionInstanceId as K, CredentialOAuth2ScopesFromPublicConfig as Ka, WorkflowSnapshotResolver as Ki, ExecutionMode as Kn, runnableNodeOutputType as Kr, PersistedRunState as Kt, PortsEmission as L, CredentialFieldSchema as La, TriggerSetupContext as Li, TestCaseRunStatus as Ln, WorkflowPolicyRuntimeDefaults as Lr, NodeExecutionError as Lt, NoOpCostTrackingTelemetry as M, AnyCredentialType as Ma, RunnableNodeExecuteArgs as Mi, EngineExecutionLimitsPolicy as Mn, WorkflowErrorHandler as Mr, ConnectionInvocationId as Mt, ExpRetryPolicy as N, CredentialAdvancedSectionPresentation as Na, TestableTriggerNode as Ni, EngineExecutionLimitsPolicyConfig as Nn, WorkflowErrorHandlerSpec as Nr, ConnectionInvocationRecord as Nt, StepSequenceOutput as O, CostTrackingTelemetryMetricNames as Oa, PersistedTriggerSetupState as Oi, registry as On, TriggerNodeSetupState as Or, AgentMcpIntegration as Ot, RetryPolicy as P, CredentialAuthDefinition as Pa, TriggerCleanupHandle as Pi, RunEvent as Pn, WorkflowGraph as Pr, CurrentStateExecutionRequest as Pt, PersistedRunWorkItemKind as Q, CredentialType as Qa, WebhookTriggerResolution as Qi, JsonObject as Qn, RetryPolicySpec as Qr, RunCurrentState as Qt, emitPorts as R, CredentialHealth as Ra, TriggerSetupStateFor as Ri, TestSuiteRunStatus as Rn, WorkflowPrunePolicySpec as Rr, NodeExecutionSnapshot as Rt, AnyRunnableNodeConfig as S, NoOpTelemetryArtifactReference as Sa, NodeExecutionRequest as Si, inject as Sn, RunIdFactory as Sr, AssertionResult as St, BranchMoreArgs as T, CostTrackingTelemetry as Ta, NodeExecutionStatePublisher as Ti, instanceCachingFactory as Tn, RunnableNodeOutputJson as Tr, deriveAssertionPassed as Tt, BatchId as U, CredentialJsonRecord as Ua, WorkflowRunnerResolver as Ui, BinaryAttachment as Un, branchRef as Ur, PersistedMutableRunState as Ut, McpServerDeclaration as V, CredentialInstanceId as Va, WorkflowNodeInstanceFactory as Vi, TestTriggerSetupContext as Vn, WorkflowStoragePolicyResolver as Vr, PendingNodeExecution as Vt, ConnectionInvocationKind as W, CredentialMaterialSourceKind as Wa, WorkflowRunnerService as Wi, BinaryPreviewKind as Wn, nodeRef as Wr, PersistedRunControlState as Wt, PersistedExecutionInstanceRecord as X, CredentialSessionService as Xa, WebhookInvocationMatch as Xi, JsonArray as Xn, FixedRetryPolicySpec as Xr, PinnedNodeOutputsByPort as Xt, PersistedExecutionInstanceKind as Y, CredentialSessionFactoryArgs as Ya, WebhookControlSignal as Yi, Items as Yn, ExponentialRetryPolicySpec as Yr, PersistedWorkflowTokenRegistryLike as Yt, PersistedRunSlotProjectionRecord as Z, CredentialSetupStatus as Za, WebhookTriggerMatcher as Zi, JsonNonArray as Zn, NoneRetryPolicySpec as Zr, RunCompletionNotifier as Zt, NodeIdSlugifier as _, CodemationTelemetryAttributeNames as _a, NodeActivationRequest as _i, Lifecycle as _n, ParentExecutionRef as _r, ItemExprResolvedContext as _t, RunPolicySnapshotFactory as a, TelemetryArtifactAttachment as aa, BinaryStorageWriteResult as ai, RunStatus as an, PollingTriggerLogger as ao, NodeErrorHandler as ar, WorkItemStatus as at, ChainCursor as b, NoOpNodeExecutionTelemetry as ba, NodeBinaryAttachmentService as bi, container$1 as bn, RunDataSnapshot as br, resolveItemExprsForExecution as bt, RunTerminalPersistenceCoordinator as c, TelemetryAttributes as ca, ExecutableTriggerNode as ci, RunTestContext as cn, NodeConnectionName as co, NodeIdRef as cr, CostCatalog as ct, DefaultWorkflowGraphFactory as d, TelemetryScope as da, ExecutionContextFactory as di, WorkflowExecutionPruneRepository as dn, PersistedTokenId as do, NodeKind as dr, Param as dt, AllWorkflowsActiveWorkflowActivationPolicy as ea, BinaryBody as ei, RunExecutionOptions as en, CredentialTypeId as eo, JsonValue as er, RunIterationDto as et, WorkflowExecutableNodeClassifierFactory as f, TelemetrySpanEnd as fa, ItemNode as fi, WorkflowExecutionRepository as fn, WorkflowId as fo, NodeOffloadPolicy as fr, ParamDeep as ft, ConnectionInvocationIdFactory as g, GenAiTelemetryAttributeNames as ga, NodeActivationReceipt as gi, InjectionToken$1 as gn, PairedItemRef as gr, ItemExprContext as gt, ConnectionNodeIdFactory as h, CodemationTelemetryMetricNames as ha, NodeActivationContinuation as hi, Disposable as hn, NodeSchedulerDecision as hr, ItemExprCallback as ht, WorkflowSnapshotCodec as i, NodeExecutionTelemetry as ia, BinaryStorageWriteRequest as ii, RunStateResetRequest as in, NoOpPollingTriggerLogger as io, NodeDefinition as ir, WorkItemId as it, NoOpCostTrackingTelemetryFactory as j, CollectionsContext as ja, RunnableNode as ji, ENGINE_EXECUTION_LIMITS_DEFAULTS as jn, WorkflowErrorContext as jr, ConnectionInvocationAppendArgs as jt, ValidStepSequence as k, CostTrackingUsageRecord as ka, PollingTriggerHandle as ki, singleton as kn, UpstreamRefPlaceholder as kr, AgentMcpToolMap as kt, WorkflowStoragePolicyEvaluator as l, TelemetryChildSpanStart as la, ExecutionBinaryService as li, WebhookRunResult as ln, NodeId as lo, NodeInspectorSummaryRow as lr, CostCatalogEntry as lt, NodeIterationIdFactory as m, TelemetrySpanScope as ma, MultiInputNode as mi, DependencyContainer$1 as mn, NodeRef as mr, ItemExprArgs as mt, InMemoryLiveWorkflowRepository as n, ExecutionTelemetry as na, BinaryStorageReadResult as ni, RunQueueEntry as nn, CredentialUnboundError as no, NodeActivationId as nr, RunSlotProjectionState as nt, EngineExecutionLimitsPolicyFactory as o, TelemetryArtifactReference as oa, EngineDeps as oi, RunStopCondition as on, PollingTriggerDedupWindow as oo, NodeErrorHandlerArgs as or, WorkflowDetailSelectionState as ot, WorkflowExecutableNodeClassifier as p, TelemetrySpanEventRecord as pa, LiveWorkflowRepository as pi, Container as pn, NodeOutputs as pr, ItemExpr as pt, ExecutionPayloadPolicyFields as q, CredentialRequirement as qa, HttpMethod as qi, Item as qn, triggerNodeOutputType as qr, PersistedWorkflowSnapshot as qt, EngineWorkflowRunnerService as r, ExecutionTelemetryFactory as ra, BinaryStorageStatResult as ri, RunResult as rn, OAuth2ProviderFromPublicConfig as ro, NodeConfigBase as rr, SlotExecutionStateDto as rt, WorkflowPolicyErrorServices as s, TelemetryAttributePrimitive as sa, EngineHost as si, RunSummary as sn, InputPortKey as so, NodeErrorHandlerSpec as sr, WorkflowRunDetailDto as st, RunIntentService as t, WorkflowActivationPolicy as ta, BinaryStorage as ti, RunPruneCandidate as tn, CredentialTypeRegistry as to, MutableRunData as tr, RunRevision as tt, Engine as u, TelemetryMetricRecord as ua, ExecutionContext as ui, WorkflowExecutionListingRepository as un, OutputPortKey as uo, NodeIterationId as ur, Expr as ut, WorkflowDefinitionError as v, NoOpExecutionTelemetryFactory as va, NodeActivationRequestBase as vi, RegistrationOptions as vn, PersistedRunPolicySnapshot as vr, isItemExpr as vt, BooleanWhenOverloads as w, CostTrackingPriceQuote as wa, NodeExecutionScheduler as wi, injectable as wn, RunnableNodeInputJson as wr, DEFAULT_ASSERTION_PASS_THRESHOLD as wt, WhenBuilder as x, NoOpTelemetrySpanScope as xa, NodeExecutionContext as xi, delay as xn, RunId as xr, resolveItemExprsInUnknown as xt, WorkflowBuilder as y, NoOpExecutionTelemetry as ya, NodeActivationScheduler as yi, TypeToken as yn, RunDataFactory as yr, itemExpr as yt, isPortsEmission as z, CredentialHealthStatus as za, TriggerSetupStateRepository as zi, TestSuiteRunId as zn, WorkflowStoragePolicyDecisionArgs as zr, NodeExecutionStatus as zt };
|
|
2839
|
-
//# sourceMappingURL=RunIntentService-BrEq6Jm6.d.ts.map
|
|
2993
|
+
export { ExecutionPayloadPolicyFields as $, CredentialFieldSchema as $a, TriggerSetupContext as $i, BinaryPreviewKind as $n, nodeRef as $r, PersistedRunState as $t, DefinedNodeCredentialAccessors as A, TelemetrySpanScope as Aa, NodeActivationReceipt as Ai, delay as An, RunId as Ar, DEFAULT_ASSERTION_PASS_THRESHOLD as At, RetryPolicy as B, CostTrackingPriceQuote as Ba, NodeExecutor as Bi, ENGINE_EXECUTION_LIMITS_DEFAULTS as Bn, WorkflowErrorContext as Br, CurrentStateExecutionRequest as Bt, defineHumanApprovalNode as C, TelemetryAttributePrimitive as Ca, HumanTaskHandle as Ci, DependencyContainer$1 as Cn, InputPortKey as Co, NodeRef as Cr, ItemExprResolvedContext as Ct, DefineNodeOptions as D, TelemetryScope as Da, LiveWorkflowRepository as Di, RegistrationOptions as Dn, PersistedTokenId as Do, PersistedRunPolicySnapshot as Dr, resolveItemExprsInUnknown as Dt, DefineNodeExecuteArgs as E, TelemetryMetricRecord as Ea, ItemNode as Ei, Lifecycle as En, OutputPortKey as Eo, ParentExecutionRef as Er, resolveItemExprsForExecution as Et, defineNode as F, NoOpExecutionTelemetry as Fa, NodeExecutionContext as Fi, instancePerContainerCachingFactory as Fn, TriggerNodeConfig as Fr, AgentMcpToolMap as Ft, isPortsEmission as G, CostTrackingUsageRecord as Ga, ResumeContext as Gi, RunEventSubscription as Gn, WorkflowNodeConnection as Gr, NodeExecutionStatus as Gt, getOriginIndexFromItem as H, CostTrackingTelemetryAttributeNames as Ha, PersistedTriggerSetupState as Hi, EngineExecutionLimitsPolicyConfig as Hn, WorkflowErrorHandlerSpec as Hr, ExecutionFrontierPlan as Ht, RunFinishedAtFactory as I, NoOpNodeExecutionTelemetry as Ia, NodeExecutionRequest as Ii, predicateAwareClassFactory as In, TriggerNodeOutputJson as Ir, NeedsReconsentEvent as It, McpServerTransport as J, AnyCredentialType as Ja, SuspensionRequest as Ji, TestSuiteRunId as Jn, WorkflowStoragePolicyDecisionArgs as Jr, PendingResumeEntry as Jt, isUnbrandedPortsEmissionShape as K, CollectionStore as Ka, RunnableNode as Ki, TestCaseRunStatus as Kn, WorkflowPolicyRuntimeDefaults as Kr, NodeInputsByPort as Kt, NoOpCostTrackingTelemetryFactory as L, NoOpTelemetrySpanScope as La, NodeExecutionRequestHandler as Li, registry as Ln, TriggerNodeSetupState as Lr, ConnectionInvocationAppendArgs as Lt, DefinedNodeCredentialBindings as M, GenAiTelemetryAttributeNames as Ma, NodeActivationRequestBase as Mi, injectAll as Mn, RunnableNodeConfig as Mr, NoOpAgentMcpIntegration as Mt, DefinedNodeRunContext as N, CodemationTelemetryAttributeNames as Na, NodeActivationScheduler as Ni, injectable as Nn, RunnableNodeInputJson as Nr, AgentBindError as Nt, DefinedNode as O, TelemetrySpanEnd as Oa, MultiInputNode as Oi, TypeToken as On, WorkflowId as Oo, RunDataFactory as Or, AssertionResult as Ot, defineBatchNode as P, NoOpExecutionTelemetryFactory as Pa, NodeBinaryAttachmentService as Pi, instanceCachingFactory as Pn, RunnableNodeOutputJson as Pr, AgentMcpIntegration as Pt, ExecutionInstanceId as Q, CredentialBindingKey as Qa, TriggerRuntimeDiagnostics as Qi, BinaryAttachment as Qn, branchRef as Qr, PersistedRunSchedulingState as Qt, NoOpCostTrackingTelemetry as R, NoOpTelemetryArtifactReference as Ra, NodeExecutionScheduler as Ri, singleton as Rn, UpstreamRefPlaceholder as Rr, ConnectionInvocationId as Rt, HumanApprovalOutputJson as S, TelemetryArtifactReference as Sa, HumanTaskActor as Si, Container as Sn, PollingTriggerDedupWindow as So, NodeOutputs as Sr, ItemExprContext as St, DefineBatchNodeOptions as T, TelemetryChildSpanStart as Ta, HumanTaskSubject as Ti, InjectionToken$1 as Tn, NodeId as To, PairedItemRef as Tr, itemExpr as Tt, PortsEmission as U, CostTrackingTelemetryFactory as Ua, PollingTriggerHandle as Ui, RunEvent as Un, WorkflowGraph as Ur, NodeExecutionError as Ut, NoRetryPolicy as V, CostTrackingTelemetry as Va, NodeResolver as Vi, EngineExecutionLimitsPolicy as Vn, WorkflowErrorHandler as Vr, EngineRunCounters as Vt, emitPorts as W, CostTrackingTelemetryMetricNames as Wa, PreparedNodeActivationDispatch as Wi, RunEventBus as Wn, WorkflowGraphFactory as Wr, NodeExecutionSnapshot as Wt, ConnectionInvocationKind as X, CredentialAuthDefinition as Xa, TriggerCleanupHandle as Xi, TestTriggerSetupContext as Xn, WorkflowStoragePolicyResolver as Xr, PersistedMutableRunState as Xt, BatchId as Y, CredentialAdvancedSectionPresentation as Ya, TestableTriggerNode as Yi, TestTriggerNodeConfig as Yn, WorkflowStoragePolicyMode as Yr, PersistedMutableNodeState as Yt, ExecutionInstanceDto as Z, CredentialBinding as Za, TriggerNode as Zi, ActivationIdFactory as Zn, WorkflowStoragePolicySpec as Zr, PersistedRunControlState as Zt, BranchStepsArg as _, WorkflowActivationPolicy as _a, EngineHost as _i, RunTestContext as _n, CredentialTypeRegistry as _o, NodeIdRef as _r, Param as _t, ConnectionNodeIdFactory as a, WorkflowRunnerResolver as aa, FixedRetryPolicySpec as ai, RunCompletionNotifier as an, CredentialJsonRecord as ao, JsonArray as ar, PersistedRunWorkItemRecord as at, DefinedHumanApprovalNode as b, NodeExecutionTelemetry as ba, ExecutionContext as bi, WorkflowExecutionPruneRepository as bn, NoOpPollingTriggerLogger as bo, NodeKind as br, ItemExprArgs as bt, WorkflowDefinitionError as c, WorkflowSnapshotResolver as ca, BinaryAttachmentCreateRequest as ci, RunExecutionOptions as cn, CredentialOAuth2ScopesFromPublicConfig as co, JsonPrimitive as cr, RunSlotProjectionState as ct, WhenBuilder as d, WebhookControlSignal as da, BinaryStorageReadResult as di, RunQueueEntry as dn, CredentialSessionFactoryArgs as do, NodeActivationId as dr, WorkItemStatus as dt, TriggerSetupStateFor as ea, runnableNodeInputType as ei, PersistedSuspensionEntry as en, CredentialHealth as eo, Edge as er, PayloadStorageKind as et, AnyRunnableNodeConfig as f, WebhookInvocationMatch as fa, BinaryStorageStatResult as fi, RunResult as fn, CredentialSessionService as fo, NodeConfigBase as fr, WorkflowDetailSelectionState as ft, BranchOutputGuard as g, AllWorkflowsActiveWorkflowActivationPolicy as ga, EngineDeps as gi, RunSummary as gn, CredentialTypeId as go, NodeErrorHandlerSpec as gr, Expr as gt, BranchMoreArgs as h, WebhookTriggerRoutingDiagnostics as ha, Duration as hi, RunStopCondition as hn, CredentialTypeDefinition as ho, NodeErrorHandlerArgs as hr, CostCatalogEntry as ht, NodeIterationIdFactory as i, WorkflowRepository as ia, ExponentialRetryPolicySpec as ii, PinnedNodeOutputsByPort as in, CredentialInstanceRecord as io, Items as ir, PersistedRunWorkItemKind as it, DefinedNodeCredentialBinding as j, CodemationTelemetryMetricNames as ja, NodeActivationRequest as ji, inject as jn, RunIdFactory as jr, deriveAssertionPassed as jt, DefinedNodeConfigInput as k, TelemetrySpanEventRecord as ka, NodeActivationContinuation as ki, container$1 as kn, RunDataSnapshot as kr, AssertionResultProvenance as kt, WorkflowBuilder as l, HttpMethod as la, BinaryBody as li, RunHaltReason as ln, CredentialRequirement as lo, JsonValue as lr, SlotExecutionStateDto as lt, BooleanWhenOverloads as m, WebhookTriggerResolution as ma, BinaryStorageWriteResult as mi, RunStatus as mn, CredentialType as mo, NodeErrorHandler as mr, CostCatalog as mt, WorkflowExecutableNodeClassifierFactory as n, TriggerTestItemsContext as na, triggerNodeOutputType as ni, PersistedWorkflowSnapshotNode as nn, CredentialHealthTester as no, Item as nr, PersistedExecutionInstanceRecord as nt, ConnectionInvocationIdFactory as o, WorkflowRunnerService as oa, NoneRetryPolicySpec as oi, RunCurrentState as on, CredentialMaterialSourceKind as oo, JsonNonArray as or, RunIterationDto as ot, AnyTriggerNodeConfig as p, WebhookTriggerMatcher as pa, BinaryStorageWriteRequest as pi, RunStateResetRequest as pn, CredentialSetupStatus as po, NodeDefinition as pr, WorkflowRunDetailDto as pt, McpServerDeclaration as q, CollectionsContext as qa, RunnableNodeExecuteArgs as qi, TestSuiteRunStatus as qn, WorkflowPrunePolicySpec as qr, PendingNodeExecution as qt, WorkflowExecutableNodeClassifier as r, WorkflowNodeInstanceFactory as ra, triggerNodeSetupStateType as ri, PersistedWorkflowTokenRegistryLike as rn, CredentialInstanceId as ro, ItemBinary as rr, PersistedRunSlotProjectionRecord as rt, NodeIdSlugifier as s, WorkflowSnapshotFactory as sa, RetryPolicySpec as si, RunEventPublisherDeps as sn, CredentialOAuth2AuthDefinition as so, JsonObject as sr, RunRevision as st, DefaultWorkflowGraphFactory as t, TriggerSetupStateRepository as ta, runnableNodeOutputType as ti, PersistedWorkflowSnapshot as tn, CredentialHealthStatus as to, ExecutionMode as tr, PersistedExecutionInstanceKind as tt, ChainCursor as u, TriggerInstanceId as ua, BinaryStorage as ui, RunPruneCandidate as un, CredentialSessionFactory as uo, MutableRunData as ur, WorkItemId as ut, StepSequenceOutput as v, ExecutionTelemetry as va, ExecutableTriggerNode as vi, WebhookRunResult as vn, CredentialUnboundError as vo, NodeInspectorSummaryRow as vr, ParamDeep as vt, isHumanApprovalNode as w, TelemetryAttributes as wa, HumanTaskId as wi, Disposable as wn, NodeConnectionName as wo, NodeSchedulerDecision as wr, isItemExpr as wt, HumanApprovalDecisionResult as x, TelemetryArtifactAttachment as xa, ExecutionContextFactory as xi, WorkflowExecutionRepository as xn, PollingTriggerLogger as xo, NodeOffloadPolicy as xr, ItemExprCallback as xt, ValidStepSequence as y, ExecutionTelemetryFactory as ya, ExecutionBinaryService as yi, WorkflowExecutionListingRepository as yn, OAuth2ProviderFromPublicConfig as yo, NodeIterationId as yr, ItemExpr as yt, ExpRetryPolicy as z, CostTrackingComponent as za, NodeExecutionStatePublisher as zi, CoreTokens as zn, WorkflowDefinition as zr, ConnectionInvocationRecord as zt };
|
|
2994
|
+
//# sourceMappingURL=index-CSKKuK60.d.ts.map
|