@codemation/core 0.6.0 → 0.7.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 +9 -0
- package/dist/{EngineRuntimeRegistration.types-Dm129RJ6.d.ts → EngineRuntimeRegistration.types-_M7KFD3D.d.ts} +2 -2
- package/dist/{EngineWorkflowRunnerService-Bf88QtwB.d.cts → EngineWorkflowRunnerService-D0Cwngv7.d.cts} +2 -2
- package/dist/{InMemoryRunDataFactory-Dyl4p2s8.d.cts → InMemoryRunDataFactory-BIWx6e02.d.cts} +6 -6
- package/dist/{RunIntentService-B1Y3v1H6.d.cts → RunIntentService-5k0p-J67.d.cts} +8 -4
- package/dist/{RunIntentService-BDiodxhf.d.ts → RunIntentService-CuXAIO6_.d.ts} +29 -20
- package/dist/bootstrap/index.cjs +2 -2
- package/dist/bootstrap/index.d.cts +5 -5
- package/dist/bootstrap/index.d.ts +3 -3
- package/dist/bootstrap/index.js +2 -2
- package/dist/{bootstrap-DdeiJ8cd.js → bootstrap-BhYxSivA.js} +3 -3
- package/dist/bootstrap-BhYxSivA.js.map +1 -0
- package/dist/{bootstrap-DVL2ue5v.cjs → bootstrap-D-TDU9Lu.cjs} +3 -3
- package/dist/bootstrap-D-TDU9Lu.cjs.map +1 -0
- package/dist/{index-C2af8ssM.d.ts → index-BnJ7_IrO.d.ts} +11 -10
- package/dist/index.cjs +16 -10
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +27 -21
- package/dist/index.d.ts +3 -3
- package/dist/index.js +11 -6
- package/dist/index.js.map +1 -1
- package/dist/{runtime-DVBwxFvX.cjs → runtime-3YVDd2vY.cjs} +42 -42
- package/dist/runtime-3YVDd2vY.cjs.map +1 -0
- package/dist/{runtime-7Xh9z3dw.js → runtime-CJnObwsU.js} +33 -33
- package/dist/runtime-CJnObwsU.js.map +1 -0
- package/dist/testing.cjs +2 -2
- package/dist/testing.d.cts +2 -2
- package/dist/testing.d.ts +2 -2
- package/dist/testing.js +2 -2
- package/package.json +1 -1
- package/src/ai/AgentConfigInspectorFactory.ts +2 -2
- package/src/ai/AgentMessageConfigNormalizerFactory.ts +3 -3
- package/src/ai/AiHost.ts +2 -2
- package/src/authoring/defineNode.types.ts +35 -9
- package/src/authoring/index.ts +1 -0
- package/src/bootstrap/runtime/EngineRuntimeRegistrar.ts +3 -3
- package/src/contracts/index.ts +2 -1
- package/src/contracts/{itemValue.ts → itemExpr.ts} +31 -32
- package/src/contracts/params.ts +10 -0
- package/src/contracts/workflowTypes.ts +11 -2
- package/src/execution/{ItemValueResolver.ts → ItemExprResolver.ts} +5 -5
- package/src/execution/NodeExecutor.ts +6 -6
- package/src/execution/index.ts +1 -1
- package/src/index.ts +1 -1
- package/src/runStorage/InMemoryRunData.ts +9 -5
- package/src/types/index.ts +2 -1
- package/src/workflowSnapshots/WorkflowSnapshotCodec.ts +1 -1
- package/dist/bootstrap-DVL2ue5v.cjs.map +0 -1
- package/dist/bootstrap-DdeiJ8cd.js.map +0 -1
- package/dist/runtime-7Xh9z3dw.js.map +0 -1
- package/dist/runtime-DVBwxFvX.cjs.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
# @codemation/core
|
|
2
2
|
|
|
3
|
+
## 0.7.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#81](https://github.com/MadeRelevant/codemation/pull/81) [`88844f7`](https://github.com/MadeRelevant/codemation/commit/88844f75a48fe051e4cb895c710408855de14da4) Thanks [@cblokland90](https://github.com/cblokland90)! - Add typed workflow authoring helpers for reusable node params and run-data reads.
|
|
8
|
+
- export `Expr`, `Param`, and `ParamDeep` so helper-defined node params can accept literals or `itemExpr(...)`
|
|
9
|
+
- export `nodeRef<TJson>()` plus generic `RunDataSnapshot` item accessors for typed `ctx.data` reads
|
|
10
|
+
- keep helper-node runtime config resolved while expanding the public authoring surface for expression-style params
|
|
11
|
+
|
|
3
12
|
## 0.6.0
|
|
4
13
|
|
|
5
14
|
### Minor Changes
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Er as WebhookTriggerRoutingDiagnostics, Li as DependencyContainer, lr as TriggerRuntimeDiagnostics, na as EngineExecutionLimitsPolicyConfig, wr as WebhookTriggerMatcher } from "./RunIntentService-CuXAIO6_.js";
|
|
2
2
|
|
|
3
3
|
//#region src/bootstrap/runtime/EngineRuntimeRegistration.types.d.ts
|
|
4
4
|
|
|
@@ -39,4 +39,4 @@ interface EngineRuntimeRegistrationOptions {
|
|
|
39
39
|
}
|
|
40
40
|
//#endregion
|
|
41
41
|
export { TriggerRuntimeDiagnosticsProvider as n, WebhookTriggerMatcherProvider as r, EngineRuntimeRegistrationOptions as t };
|
|
42
|
-
//# sourceMappingURL=EngineRuntimeRegistration.types-
|
|
42
|
+
//# sourceMappingURL=EngineRuntimeRegistration.types-_M7KFD3D.d.ts.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { E as NodeId, F as ParentExecutionRef, Jr as EngineExecutionLimitsPolicyConfig, Ln as PersistedWorkflowSnapshot, Rn as PersistedWorkflowSnapshotNode, Y as WorkflowDefinition, b as NodeConfigBase, f as Items, gn as WebhookTriggerMatcher, kr as DependencyContainer, qn as RunResult, r as Engine, sn as WorkflowRepository, tn as TriggerRuntimeDiagnostics, tt as WorkflowId, vn as WebhookTriggerRoutingDiagnostics, zn as PersistedWorkflowTokenRegistryLike } from "./RunIntentService-5k0p-J67.cjs";
|
|
2
2
|
|
|
3
3
|
//#region src/workflowSnapshots/WorkflowSnapshotCodec.d.ts
|
|
4
4
|
declare class WorkflowSnapshotCodec {
|
|
@@ -70,4 +70,4 @@ declare class EngineWorkflowRunnerService {
|
|
|
70
70
|
}
|
|
71
71
|
//#endregion
|
|
72
72
|
export { WorkflowSnapshotCodec as a, WebhookTriggerMatcherProvider as i, EngineRuntimeRegistrationOptions as n, TriggerRuntimeDiagnosticsProvider as r, EngineWorkflowRunnerService as t };
|
|
73
|
-
//# sourceMappingURL=EngineWorkflowRunnerService-
|
|
73
|
+
//# sourceMappingURL=EngineWorkflowRunnerService-D0Cwngv7.d.cts.map
|
package/dist/{InMemoryRunDataFactory-Dyl4p2s8.d.cts → InMemoryRunDataFactory-BIWx6e02.d.cts}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { A as NodeOutputs, At as ExecutionContext, B as RunId, Bt as NodeBinaryAttachmentService, Ct as BinaryStorageStatResult, E as NodeId, F as ParentExecutionRef, Gt as NodeExecutionStatePublisher, H as RunnableNodeConfig, R as RunDataFactory, St as BinaryStorageReadResult, Tt as BinaryStorageWriteResult, Vt as NodeExecutionContext, a as BinaryAttachment, br as CredentialSessionService, bt as BinaryBody, jt as ExecutionContextFactory, kt as ExecutionBinaryService, tt as WorkflowId, u as Item, v as MutableRunData, vt as RetryPolicySpec, xt as BinaryStorage, y as NodeActivationId, z as RunDataSnapshot } from "./RunIntentService-5k0p-J67.cjs";
|
|
2
2
|
|
|
3
3
|
//#region src/execution/CredentialResolverFactory.d.ts
|
|
4
4
|
declare class CredentialResolverFactory {
|
|
@@ -47,11 +47,11 @@ declare class InProcessRetryRunner {
|
|
|
47
47
|
private static assertMultiplier;
|
|
48
48
|
}
|
|
49
49
|
//#endregion
|
|
50
|
-
//#region src/execution/
|
|
50
|
+
//#region src/execution/ItemExprResolver.d.ts
|
|
51
51
|
/**
|
|
52
|
-
* Resolves {@link import("../contracts/
|
|
52
|
+
* Resolves {@link import("../contracts/itemExpr").ItemExpr} leaves on runnable config before {@link RunnableNode.execute}.
|
|
53
53
|
*/
|
|
54
|
-
declare class
|
|
54
|
+
declare class ItemExprResolver {
|
|
55
55
|
resolveConfigForItem<TConfig extends RunnableNodeConfig<any, any>>(ctx: NodeExecutionContext<TConfig>, item: Item, itemIndex: number, items: ReadonlyArray<Item>): Promise<NodeExecutionContext<TConfig>>;
|
|
56
56
|
}
|
|
57
57
|
//#endregion
|
|
@@ -107,5 +107,5 @@ declare class InMemoryRunDataFactory implements RunDataFactory {
|
|
|
107
107
|
create(initial?: Record<NodeId, NodeOutputs>): MutableRunData;
|
|
108
108
|
}
|
|
109
109
|
//#endregion
|
|
110
|
-
export { RunnableOutputBehavior as a, InProcessRetryRunner as c, AsyncSleeper as d, CredentialResolverFactory as f, UnavailableBinaryStorage as i, DefaultExecutionContextFactory as l, InMemoryBinaryStorage as n, RunnableOutputBehaviorResolver as o, DefaultExecutionBinaryService as r,
|
|
111
|
-
//# sourceMappingURL=InMemoryRunDataFactory-
|
|
110
|
+
export { RunnableOutputBehavior as a, InProcessRetryRunner as c, AsyncSleeper as d, CredentialResolverFactory as f, UnavailableBinaryStorage as i, DefaultExecutionContextFactory as l, InMemoryBinaryStorage as n, RunnableOutputBehaviorResolver as o, DefaultExecutionBinaryService as r, ItemExprResolver as s, InMemoryRunDataFactory as t, DefaultAsyncSleeper as u };
|
|
111
|
+
//# sourceMappingURL=InMemoryRunDataFactory-BIWx6e02.d.cts.map
|
|
@@ -989,6 +989,9 @@ interface ExponentialRetryPolicySpec {
|
|
|
989
989
|
//#region src/contracts/workflowTypes.d.ts
|
|
990
990
|
type WorkflowId = string;
|
|
991
991
|
type NodeId = string;
|
|
992
|
+
type NodeIdRef<TJson = unknown> = NodeId & Readonly<{
|
|
993
|
+
__codemationNodeJson?: TJson;
|
|
994
|
+
}>;
|
|
992
995
|
type OutputPortKey = string;
|
|
993
996
|
type InputPortKey = string;
|
|
994
997
|
type PersistedTokenId = string;
|
|
@@ -1123,6 +1126,7 @@ interface NodeRef {
|
|
|
1123
1126
|
kind: NodeKind;
|
|
1124
1127
|
name?: string;
|
|
1125
1128
|
}
|
|
1129
|
+
declare function nodeRef<TJson>(nodeId: NodeId): NodeIdRef<TJson>;
|
|
1126
1130
|
type PairedItemRef = Readonly<{
|
|
1127
1131
|
nodeId: NodeId;
|
|
1128
1132
|
output: OutputPortKey;
|
|
@@ -1168,8 +1172,8 @@ interface ParentExecutionRef {
|
|
|
1168
1172
|
}
|
|
1169
1173
|
interface RunDataSnapshot {
|
|
1170
1174
|
getOutputs(nodeId: NodeId): NodeOutputs | undefined;
|
|
1171
|
-
getOutputItems(nodeId: NodeId
|
|
1172
|
-
getOutputItem(nodeId: NodeId
|
|
1175
|
+
getOutputItems<TJson = unknown>(nodeId: NodeId | NodeIdRef<TJson>, output?: OutputPortKey): Items<TJson>;
|
|
1176
|
+
getOutputItem<TJson = unknown>(nodeId: NodeId | NodeIdRef<TJson>, itemIndex: number, output?: OutputPortKey): Item<TJson> | undefined;
|
|
1173
1177
|
}
|
|
1174
1178
|
interface MutableRunData extends RunDataSnapshot {
|
|
1175
1179
|
setOutputs(nodeId: NodeId, outputs: NodeOutputs): void;
|
|
@@ -1454,5 +1458,5 @@ declare class RunIntentService {
|
|
|
1454
1458
|
private createWebhookExecutionOptions;
|
|
1455
1459
|
}
|
|
1456
1460
|
//#endregion
|
|
1457
|
-
export {
|
|
1458
|
-
//# sourceMappingURL=RunIntentService-
|
|
1461
|
+
export { WorkflowGraph as $, WorkflowExecutionListingRepository as $n, TriggerCleanupHandle as $t, NodeOutputs as A, NodeInputsByPort as An, Disposable as Ar, ExecutionContext as At, RunId as B, PinnedNodeOutputsByPort as Bn, instanceCachingFactory as Br, NodeBinaryAttachmentService as Bt, NodeErrorHandler as C, ConnectionInvocationRecord as Cn, CredentialTypeDefinition as Cr, BinaryStorageStatResult as Ct, NodeIdRef as D, NodeExecutionError as Dn, OAuth2ProviderFromPublicConfig as Dr, EngineHost as Dt, NodeId as E, ExecutionFrontierPlan as En, CredentialUnboundError as Er, EngineDeps as Et, ParentExecutionRef as F, PersistedRunSchedulingState as Fn, container as Fr, NodeActivationContinuation as Ft, TriggerNodeConfig as G, RunPruneCandidate as Gn, CoreTokens as Gr, NodeExecutionStatePublisher as Gt, RunnableNodeConfig as H, RunCurrentState as Hn, predicateAwareClassFactory as Hr, NodeExecutionRequest as Ht, PersistedRunPolicySnapshot as I, PersistedRunState as In, delay as Ir, NodeActivationReceipt as It, UpstreamRefPlaceholder as J, RunStateResetRequest as Jn, EngineExecutionLimitsPolicyConfig as Jr, PersistedTriggerSetupState as Jt, TriggerNodeOutputJson as K, RunQueueEntry as Kn, ENGINE_EXECUTION_LIMITS_DEFAULTS as Kr, NodeExecutor as Kt, PersistedTokenId as L, PersistedWorkflowSnapshot as Ln, inject as Lr, NodeActivationRequest as Lt, NodeSchedulerDecision as M, PersistedMutableNodeState as Mn, Lifecycle as Mr, ItemNode as Mt, OutputPortKey as N, PersistedMutableRunState as Nn, RegistrationOptions as Nr, LiveWorkflowRepository as Nt, NodeKind as O, NodeExecutionSnapshot as On, Container as Or, ExecutableTriggerNode as Ot, PairedItemRef as P, PersistedRunControlState as Pn, TypeToken as Pr, MultiInputNode as Pt, WorkflowErrorHandlerSpec as Q, WebhookRunResult as Qn, TestableTriggerNode as Qt, RunDataFactory as R, PersistedWorkflowSnapshotNode as Rn, injectAll as Rr, NodeActivationRequestBase as Rt, NodeDefinition as S, ConnectionInvocationId as Sn, CredentialType as Sr, BinaryStorageReadResult as St, NodeErrorHandlerSpec as T, EngineRunCounters as Tn, CredentialTypeRegistry as Tr, BinaryStorageWriteResult as Tt, RunnableNodeInputJson as U, RunEventPublisherDeps as Un, registry as Ur, NodeExecutionRequestHandler as Ut, RunIdFactory as V, RunCompletionNotifier as Vn, instancePerContainerCachingFactory as Vr, NodeExecutionContext as Vt, RunnableNodeOutputJson as W, RunExecutionOptions as Wn, singleton as Wr, NodeExecutionScheduler as Wt, WorkflowErrorContext as X, RunStopCondition as Xn, RunEventBus as Xr, RunnableNode as Xt, WorkflowDefinition as Y, RunStatus as Yn, RunEvent as Yr, PreparedNodeActivationDispatch as Yt, WorkflowErrorHandler as Z, RunSummary as Zn, RunEventSubscription as Zr, RunnableNodeExecuteArgs as Zt, JsonValue as _, WebhookTriggerResolution as _n, CredentialRequirement as _r, NoneRetryPolicySpec as _t, BinaryAttachment as a, TriggerTestItemsContext as an, CredentialBinding as ar, WorkflowStoragePolicyDecisionArgs as at, NodeConfigBase as b, WorkflowActivationPolicy as bn, CredentialSessionService as br, BinaryBody as bt, ExecutionMode as c, WorkflowRunnerResolver as cn, CredentialHealth as cr, WorkflowStoragePolicySpec as ct, ItemBinary as d, WorkflowSnapshotResolver as dn, CredentialInstanceId as dr, runnableNodeInputType as dt, TriggerNode as en, WorkflowExecutionPruneRepository as er, WorkflowGraphFactory as et, Items as f, HttpMethod as fn, CredentialInstanceRecord as fr, runnableNodeOutputType as ft, JsonPrimitive as g, WebhookTriggerMatcher as gn, CredentialOAuth2ScopesFromPublicConfig as gr, FixedRetryPolicySpec as gt, JsonObject as h, WebhookInvocationMatch as hn, CredentialOAuth2AuthDefinition as hr, ExponentialRetryPolicySpec as ht, ActivationIdFactory as i, TriggerSetupStateRepository as in, CredentialAuthDefinition as ir, WorkflowPrunePolicySpec as it, NodeRef as j, PendingNodeExecution as jn, InjectionToken$1 as jr, ExecutionContextFactory as jt, NodeOffloadPolicy as k, NodeExecutionStatus as kn, DependencyContainer$1 as kr, ExecutionBinaryService as kt, InputPortKey as l, WorkflowRunnerService as ln, CredentialHealthStatus as lr, branchRef as lt, JsonNonArray as m, WebhookControlSignal as mn, CredentialMaterialSourceKind as mr, triggerNodeSetupStateType as mt, InMemoryLiveWorkflowRepository as n, TriggerSetupContext as nn, AnyCredentialType as nr, WorkflowNodeConnection as nt, BinaryPreviewKind as o, WorkflowNodeInstanceFactory as on, CredentialBindingKey as or, WorkflowStoragePolicyMode as ot, JsonArray as p, TriggerInstanceId as pn, CredentialJsonRecord as pr, triggerNodeOutputType as pt, TriggerNodeSetupState as q, RunResult as qn, EngineExecutionLimitsPolicy as qr, NodeResolver as qt, Engine as r, TriggerSetupStateFor as rn, CredentialAdvancedSectionPresentation as rr, WorkflowPolicyRuntimeDefaults as rt, Edge as s, WorkflowRepository as sn, CredentialFieldSchema as sr, WorkflowStoragePolicyResolver as st, RunIntentService as t, TriggerRuntimeDiagnostics as tn, WorkflowExecutionRepository as tr, WorkflowId as tt, Item as u, WorkflowSnapshotFactory as un, CredentialHealthTester as ur, nodeRef as ut, MutableRunData as v, WebhookTriggerRoutingDiagnostics as vn, CredentialSessionFactory as vr, RetryPolicySpec as vt, NodeErrorHandlerArgs as w, CurrentStateExecutionRequest as wn, CredentialTypeId as wr, BinaryStorageWriteRequest as wt, NodeConnectionName as x, ConnectionInvocationAppendArgs as xn, CredentialSetupStatus as xr, BinaryStorage as xt, NodeActivationId as y, AllWorkflowsActiveWorkflowActivationPolicy as yn, CredentialSessionFactoryArgs as yr, BinaryAttachmentCreateRequest as yt, RunDataSnapshot as z, PersistedWorkflowTokenRegistryLike as zn, injectable as zr, NodeActivationScheduler as zt };
|
|
1462
|
+
//# sourceMappingURL=RunIntentService-5k0p-J67.d.cts.map
|
|
@@ -990,6 +990,9 @@ interface ExponentialRetryPolicySpec {
|
|
|
990
990
|
//#region src/contracts/workflowTypes.d.ts
|
|
991
991
|
type WorkflowId = string;
|
|
992
992
|
type NodeId = string;
|
|
993
|
+
type NodeIdRef<TJson = unknown> = NodeId & Readonly<{
|
|
994
|
+
__codemationNodeJson?: TJson;
|
|
995
|
+
}>;
|
|
993
996
|
type OutputPortKey = string;
|
|
994
997
|
type InputPortKey = string;
|
|
995
998
|
type PersistedTokenId = string;
|
|
@@ -1124,6 +1127,7 @@ interface NodeRef {
|
|
|
1124
1127
|
kind: NodeKind;
|
|
1125
1128
|
name?: string;
|
|
1126
1129
|
}
|
|
1130
|
+
declare function nodeRef<TJson>(nodeId: NodeId): NodeIdRef<TJson>;
|
|
1127
1131
|
type PairedItemRef = Readonly<{
|
|
1128
1132
|
nodeId: NodeId;
|
|
1129
1133
|
output: OutputPortKey;
|
|
@@ -1169,8 +1173,8 @@ interface ParentExecutionRef {
|
|
|
1169
1173
|
}
|
|
1170
1174
|
interface RunDataSnapshot {
|
|
1171
1175
|
getOutputs(nodeId: NodeId): NodeOutputs | undefined;
|
|
1172
|
-
getOutputItems(nodeId: NodeId
|
|
1173
|
-
getOutputItem(nodeId: NodeId
|
|
1176
|
+
getOutputItems<TJson = unknown>(nodeId: NodeId | NodeIdRef<TJson>, output?: OutputPortKey): Items<TJson>;
|
|
1177
|
+
getOutputItem<TJson = unknown>(nodeId: NodeId | NodeIdRef<TJson>, itemIndex: number, output?: OutputPortKey): Item<TJson> | undefined;
|
|
1174
1178
|
}
|
|
1175
1179
|
interface MutableRunData extends RunDataSnapshot {
|
|
1176
1180
|
setOutputs(nodeId: NodeId, outputs: NodeOutputs): void;
|
|
@@ -1271,9 +1275,9 @@ declare function isUnbrandedPortsEmissionShape(value: unknown): value is Readonl
|
|
|
1271
1275
|
*/
|
|
1272
1276
|
declare function getOriginIndexFromItem(item: Item): number | undefined;
|
|
1273
1277
|
//#endregion
|
|
1274
|
-
//#region src/contracts/
|
|
1275
|
-
declare const
|
|
1276
|
-
type
|
|
1278
|
+
//#region src/contracts/itemExpr.d.ts
|
|
1279
|
+
declare const ITEM_EXPR_BRAND: unique symbol;
|
|
1280
|
+
type ItemExprResolvedContext = Readonly<{
|
|
1277
1281
|
runId: RunId;
|
|
1278
1282
|
workflowId: WorkflowId;
|
|
1279
1283
|
nodeId: NodeId;
|
|
@@ -1283,28 +1287,33 @@ type ItemValueResolvedContext = Readonly<{
|
|
|
1283
1287
|
/**
|
|
1284
1288
|
* Context aligned with former {@link ItemInputMapperContext} — use **`data`** to read any completed upstream node.
|
|
1285
1289
|
*/
|
|
1286
|
-
type
|
|
1287
|
-
type
|
|
1290
|
+
type ItemExprContext = ItemExprResolvedContext;
|
|
1291
|
+
type ItemExprArgs<TItemJson = unknown> = Readonly<{
|
|
1288
1292
|
item: Item<TItemJson>;
|
|
1289
1293
|
itemIndex: number;
|
|
1290
1294
|
items: Items<TItemJson>;
|
|
1291
|
-
ctx:
|
|
1295
|
+
ctx: ItemExprContext;
|
|
1292
1296
|
}>;
|
|
1293
|
-
type
|
|
1294
|
-
type
|
|
1295
|
-
readonly [
|
|
1296
|
-
readonly fn:
|
|
1297
|
+
type ItemExprCallback<T, TItemJson = unknown> = (args: ItemExprArgs<TItemJson>) => T | Promise<T>;
|
|
1298
|
+
type ItemExpr<T, TItemJson = unknown> = Readonly<{
|
|
1299
|
+
readonly [ITEM_EXPR_BRAND]: true;
|
|
1300
|
+
readonly fn: ItemExprCallback<T, TItemJson>;
|
|
1297
1301
|
}>;
|
|
1298
|
-
declare function
|
|
1299
|
-
declare function
|
|
1302
|
+
declare function itemExpr<T, TItemJson = unknown>(fn: ItemExprCallback<T, TItemJson>): ItemExpr<T, TItemJson>;
|
|
1303
|
+
declare function isItemExpr<T, TItemJson = unknown>(value: unknown): value is ItemExpr<T, TItemJson>;
|
|
1300
1304
|
/**
|
|
1301
|
-
* Deep-resolves {@link
|
|
1305
|
+
* Deep-resolves {@link itemExpr} leaves. Returns a new graph (does not mutate the original config object).
|
|
1302
1306
|
*/
|
|
1303
|
-
declare function
|
|
1307
|
+
declare function resolveItemExprsInUnknown(value: unknown, args: ItemExprArgs, seen?: WeakSet<object>): Promise<unknown>;
|
|
1304
1308
|
/**
|
|
1305
|
-
* Clones runnable config (best-effort) so per-item {@link
|
|
1309
|
+
* Clones runnable config (best-effort) so per-item {@link itemExpr} resolution never mutates shared instances.
|
|
1306
1310
|
*/
|
|
1307
|
-
declare function
|
|
1311
|
+
declare function resolveItemExprsForExecution(config: unknown, nodeCtx: NodeExecutionContext, item: Item, itemIndex: number, items: Items): Promise<unknown | undefined>;
|
|
1312
|
+
//#endregion
|
|
1313
|
+
//#region src/contracts/params.d.ts
|
|
1314
|
+
type Expr<T, TItemJson = unknown> = ItemExpr<T, TItemJson>;
|
|
1315
|
+
type Param<T, TItemJson = unknown> = T | Expr<T, TItemJson>;
|
|
1316
|
+
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);
|
|
1308
1317
|
//#endregion
|
|
1309
1318
|
//#region src/contracts/NoRetryPolicy.d.ts
|
|
1310
1319
|
declare class NoRetryPolicy implements NoneRetryPolicySpec {
|
|
@@ -1906,5 +1915,5 @@ declare class RunIntentService {
|
|
|
1906
1915
|
private createWebhookExecutionOptions;
|
|
1907
1916
|
}
|
|
1908
1917
|
//#endregion
|
|
1909
|
-
export {
|
|
1910
|
-
//# sourceMappingURL=RunIntentService-
|
|
1918
|
+
export { ItemExprArgs as $, CoreTokens as $i, NodeExecutionStatePublisher as $n, RunPruneCandidate as $r, TriggerNodeConfig as $t, ExecutionInstanceDto as A, CredentialType as Ai, BinaryStorageReadResult as An, ConnectionInvocationId as Ar, NodeDefinition as At, RunSlotProjectionState as B, Lifecycle as Bi, ItemNode as Bn, PersistedMutableNodeState as Br, NodeSchedulerDecision as Bt, BranchOutputGuard as C, CredentialOAuth2AuthDefinition as Ci, ExponentialRetryPolicySpec as Cn, WebhookInvocationMatch as Cr, JsonObject as Ct, RunFinishedAtFactory as D, CredentialSessionFactoryArgs as Di, BinaryAttachmentCreateRequest as Dn, AllWorkflowsActiveWorkflowActivationPolicy as Dr, NodeActivationId as Dt, ValidStepSequence as E, CredentialSessionFactory as Ei, RetryPolicySpec as En, WebhookTriggerRoutingDiagnostics as Er, MutableRunData as Et, PersistedExecutionInstanceRecord as F, OAuth2ProviderFromPublicConfig as Fi, EngineHost as Fn, NodeExecutionError as Fr, NodeIdRef as Ft, WorkflowRunDetailDto as G, inject as Gi, NodeActivationRequest as Gn, PersistedWorkflowSnapshot as Gr, PersistedTokenId as Gt, WorkItemId as H, TypeToken as Hi, MultiInputNode as Hn, PersistedRunControlState as Hr, PairedItemRef as Ht, PersistedRunSlotProjectionRecord as I, Container as Ii, ExecutableTriggerNode as In, NodeExecutionSnapshot as Ir, NodeKind as It, NoRetryPolicy as J, instanceCachingFactory as Ji, NodeBinaryAttachmentService as Jn, PinnedNodeOutputsByPort as Jr, RunId as Jt, ExpRetryPolicy as K, injectAll as Ki, NodeActivationRequestBase as Kn, PersistedWorkflowSnapshotNode as Kr, RunDataFactory as Kt, PersistedRunWorkItemKind as L, DependencyContainer$1 as Li, ExecutionBinaryService as Ln, NodeExecutionStatus as Lr, NodeOffloadPolicy as Lt, ExecutionPayloadPolicyFields as M, CredentialTypeId as Mi, BinaryStorageWriteRequest as Mn, CurrentStateExecutionRequest as Mr, NodeErrorHandlerArgs as Mt, PayloadStorageKind as N, CredentialTypeRegistry as Ni, BinaryStorageWriteResult as Nn, EngineRunCounters as Nr, NodeErrorHandlerSpec as Nt, BatchId as O, CredentialSessionService as Oi, BinaryBody as On, WorkflowActivationPolicy as Or, NodeConfigBase as Ot, PersistedExecutionInstanceKind as P, CredentialUnboundError as Pi, EngineDeps as Pn, ExecutionFrontierPlan as Pr, NodeId as Pt, ItemExpr as Q, singleton as Qi, NodeExecutionScheduler as Qn, RunExecutionOptions as Qr, RunnableNodeOutputJson as Qt, PersistedRunWorkItemRecord as R, Disposable as Ri, ExecutionContext as Rn, NodeInputsByPort as Rr, NodeOutputs as Rt, BranchMoreArgs as S, CredentialMaterialSourceKind as Si, triggerNodeSetupStateType as Sn, WebhookControlSignal as Sr, JsonNonArray as St, StepSequenceOutput as T, CredentialRequirement as Ti, NoneRetryPolicySpec as Tn, WebhookTriggerResolution as Tr, JsonValue as Tt, WorkItemStatus as U, container$1 as Ui, NodeActivationContinuation as Un, PersistedRunSchedulingState as Ur, ParentExecutionRef as Ut, SlotExecutionStateDto as V, RegistrationOptions as Vi, LiveWorkflowRepository as Vn, PersistedMutableRunState as Vr, OutputPortKey as Vt, WorkflowDetailSelectionState as W, delay as Wi, NodeActivationReceipt as Wn, PersistedRunState as Wr, PersistedRunPolicySnapshot as Wt, Param as X, predicateAwareClassFactory as Xi, NodeExecutionRequest as Xn, RunCurrentState as Xr, RunnableNodeConfig as Xt, Expr as Y, instancePerContainerCachingFactory as Yi, NodeExecutionContext as Yn, RunCompletionNotifier as Yr, RunIdFactory as Yt, ParamDeep as Z, registry as Zi, NodeExecutionRequestHandler as Zn, RunEventPublisherDeps as Zr, RunnableNodeInputJson as Zt, ChainCursor as _, CredentialHealthStatus as _i, branchRef as _n, WorkflowRunnerService as _r, InputPortKey as _t, RunTerminalPersistenceCoordinator as a, RunEventSubscription as aa, RunSummary as ai, WorkflowErrorHandler as an, RunnableNodeExecuteArgs as ar, resolveItemExprsForExecution as at, AnyTriggerNodeConfig as b, CredentialInstanceRecord as bi, runnableNodeOutputType as bn, HttpMethod as br, Items as bt, EngineExecutionLimitsPolicyFactory as c, WorkflowExecutionPruneRepository as ci, WorkflowGraphFactory as cn, TriggerNode as cr, PortsEmission as ct, DefaultWorkflowGraphFactory as d, CredentialAdvancedSectionPresentation as di, WorkflowPolicyRuntimeDefaults as dn, TriggerSetupStateFor as dr, isUnbrandedPortsEmissionShape as dt, ENGINE_EXECUTION_LIMITS_DEFAULTS as ea, RunQueueEntry as ei, TriggerNodeOutputJson as en, NodeExecutor as er, ItemExprCallback as et, WorkflowExecutableNodeClassifierFactory as f, CredentialAuthDefinition as fi, WorkflowPrunePolicySpec as fn, TriggerSetupStateRepository as fr, ActivationIdFactory as ft, WorkflowBuilder as g, CredentialHealth as gi, WorkflowStoragePolicySpec as gn, WorkflowRunnerResolver as gr, ExecutionMode as gt, ConnectionInvocationIdFactory as h, CredentialFieldSchema as hi, WorkflowStoragePolicyResolver as hn, WorkflowRepository as hr, Edge as ht, WorkflowPolicyErrorServices as i, RunEventBus as ia, RunStopCondition as ii, WorkflowErrorContext as in, RunnableNode as ir, itemExpr as it, ExecutionInstanceId as j, CredentialTypeDefinition as ji, BinaryStorageStatResult as jn, ConnectionInvocationRecord as jr, NodeErrorHandler as jt, ConnectionInvocationKind as k, CredentialSetupStatus as ki, BinaryStorage as kn, ConnectionInvocationAppendArgs as kr, NodeConnectionName as kt, WorkflowSnapshotCodec as l, WorkflowExecutionRepository as li, WorkflowId as ln, TriggerRuntimeDiagnostics as lr, emitPorts as lt, ConnectionNodeIdFactory as m, CredentialBindingKey as mi, WorkflowStoragePolicyMode as mn, WorkflowNodeInstanceFactory as mr, BinaryPreviewKind as mt, InMemoryLiveWorkflowRepository as n, EngineExecutionLimitsPolicyConfig as na, RunStateResetRequest as ni, UpstreamRefPlaceholder as nn, PersistedTriggerSetupState as nr, ItemExprResolvedContext as nt, WorkflowStoragePolicyEvaluator as o, WebhookRunResult as oi, WorkflowErrorHandlerSpec as on, TestableTriggerNode as or, resolveItemExprsInUnknown as ot, WorkflowExecutableNodeClassifier as p, CredentialBinding as pi, WorkflowStoragePolicyDecisionArgs as pn, TriggerTestItemsContext as pr, BinaryAttachment as pt, RetryPolicy as q, injectable as qi, NodeActivationScheduler as qn, PersistedWorkflowTokenRegistryLike as qr, RunDataSnapshot as qt, EngineWorkflowRunnerService as r, RunEvent as ra, RunStatus as ri, WorkflowDefinition as rn, PreparedNodeActivationDispatch as rr, isItemExpr as rt, RunPolicySnapshotFactory as s, WorkflowExecutionListingRepository as si, WorkflowGraph as sn, TriggerCleanupHandle as sr, getOriginIndexFromItem as st, RunIntentService as t, EngineExecutionLimitsPolicy as ta, RunResult as ti, TriggerNodeSetupState as tn, NodeResolver as tr, ItemExprContext as tt, Engine as u, AnyCredentialType as ui, WorkflowNodeConnection as un, TriggerSetupContext as ur, isPortsEmission as ut, WhenBuilder as v, CredentialHealthTester as vi, nodeRef as vn, WorkflowSnapshotFactory as vr, Item as vt, BranchStepsArg as w, CredentialOAuth2ScopesFromPublicConfig as wi, FixedRetryPolicySpec as wn, WebhookTriggerMatcher as wr, JsonPrimitive as wt, BooleanWhenOverloads as x, CredentialJsonRecord as xi, triggerNodeOutputType as xn, TriggerInstanceId as xr, JsonArray as xt, AnyRunnableNodeConfig as y, CredentialInstanceId as yi, runnableNodeInputType as yn, WorkflowSnapshotResolver as yr, ItemBinary as yt, RunRevision as z, InjectionToken$1 as zi, ExecutionContextFactory as zn, PendingNodeExecution as zr, NodeRef as zt };
|
|
1919
|
+
//# sourceMappingURL=RunIntentService-CuXAIO6_.d.ts.map
|
package/dist/bootstrap/index.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const require_runtime = require('../runtime-
|
|
2
|
-
const require_bootstrap = require('../bootstrap-
|
|
1
|
+
const require_runtime = require('../runtime-3YVDd2vY.cjs');
|
|
2
|
+
const require_bootstrap = require('../bootstrap-D-TDU9Lu.cjs');
|
|
3
3
|
|
|
4
4
|
exports.ConfigDrivenOffloadPolicy = require_runtime.ConfigDrivenOffloadPolicy;
|
|
5
5
|
exports.CredentialResolverFactory = require_runtime.CredentialResolverFactory;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { $n as
|
|
2
|
-
import { a as WorkflowSnapshotCodec, i as WebhookTriggerMatcherProvider, n as EngineRuntimeRegistrationOptions, r as TriggerRuntimeDiagnosticsProvider, t as EngineWorkflowRunnerService } from "../EngineWorkflowRunnerService-
|
|
3
|
-
import { c as InProcessRetryRunner, d as AsyncSleeper, f as CredentialResolverFactory, i as UnavailableBinaryStorage, l as DefaultExecutionContextFactory, n as InMemoryBinaryStorage, o as RunnableOutputBehaviorResolver, r as DefaultExecutionBinaryService, s as
|
|
1
|
+
import { $n as WorkflowExecutionListingRepository, A as NodeOutputs, B as RunId, C as NodeErrorHandler, E as NodeId, Et as EngineDeps, F as ParentExecutionRef, Fn as PersistedRunSchedulingState, Ft as NodeActivationContinuation, Gn as RunPruneCandidate, Ht as NodeExecutionRequest, I as PersistedRunPolicySnapshot, In as PersistedRunState, Jr as EngineExecutionLimitsPolicyConfig, Kr as ENGINE_EXECUTION_LIMITS_DEFAULTS, L as PersistedTokenId, Lt as NodeActivationRequest, M as NodeSchedulerDecision, Pr as TypeToken, Q as WorkflowErrorHandlerSpec, Rn as PersistedWorkflowSnapshotNode, S as NodeDefinition, T as NodeErrorHandlerSpec, Tn as EngineRunCounters, Wt as NodeExecutionScheduler, Y as WorkflowDefinition, Yt as PreparedNodeActivationDispatch, Z as WorkflowErrorHandler, Zn as RunSummary, at as WorkflowStoragePolicyDecisionArgs, b as NodeConfigBase, bn as WorkflowActivationPolicy, c as ExecutionMode, er as WorkflowExecutionPruneRepository, fn as HttpMethod, gn as WebhookTriggerMatcher, hn as WebhookInvocationMatch, k as NodeOffloadPolicy, kr as DependencyContainer, n as InMemoryLiveWorkflowRepository, on as WorkflowNodeInstanceFactory, qr as EngineExecutionLimitsPolicy, qt as NodeResolver, r as Engine, rt as WorkflowPolicyRuntimeDefaults, sn as WorkflowRepository, t as RunIntentService, tr as WorkflowExecutionRepository, tt as WorkflowId, vn as WebhookTriggerRoutingDiagnostics, zt as NodeActivationScheduler } from "../RunIntentService-5k0p-J67.cjs";
|
|
2
|
+
import { a as WorkflowSnapshotCodec, i as WebhookTriggerMatcherProvider, n as EngineRuntimeRegistrationOptions, r as TriggerRuntimeDiagnosticsProvider, t as EngineWorkflowRunnerService } from "../EngineWorkflowRunnerService-D0Cwngv7.cjs";
|
|
3
|
+
import { c as InProcessRetryRunner, d as AsyncSleeper, f as CredentialResolverFactory, i as UnavailableBinaryStorage, l as DefaultExecutionContextFactory, n as InMemoryBinaryStorage, o as RunnableOutputBehaviorResolver, r as DefaultExecutionBinaryService, s as ItemExprResolver, t as InMemoryRunDataFactory, u as DefaultAsyncSleeper } from "../InMemoryRunDataFactory-BIWx6e02.cjs";
|
|
4
4
|
|
|
5
5
|
//#region src/workflowSnapshots/MissingRuntimeFallbacksFactory.d.ts
|
|
6
6
|
declare class MissingRuntimeFallbacks {
|
|
@@ -51,9 +51,9 @@ declare class NodeExecutor {
|
|
|
51
51
|
private readonly retryRunner;
|
|
52
52
|
private readonly fanInMerger;
|
|
53
53
|
private readonly outputNormalizer;
|
|
54
|
-
private readonly
|
|
54
|
+
private readonly itemExprResolver;
|
|
55
55
|
private readonly outputBehaviorResolver;
|
|
56
|
-
constructor(nodeInstanceFactory: WorkflowNodeInstanceFactory, retryRunner: InProcessRetryRunner,
|
|
56
|
+
constructor(nodeInstanceFactory: WorkflowNodeInstanceFactory, retryRunner: InProcessRetryRunner, itemExprResolver?: ItemExprResolver, outputBehaviorResolver?: RunnableOutputBehaviorResolver);
|
|
57
57
|
execute(request: NodeActivationRequest): Promise<NodeOutputs>;
|
|
58
58
|
private executeMultiInputActivation;
|
|
59
59
|
private executeSingleInputNode;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Gt as
|
|
3
|
-
import { n as TriggerRuntimeDiagnosticsProvider, r as WebhookTriggerMatcherProvider, t as EngineRuntimeRegistrationOptions } from "../EngineRuntimeRegistration.types-
|
|
1
|
+
import { Gt as PersistedTokenId, Hi as TypeToken, Li as DependencyContainer, a as RunTerminalPersistenceCoordinator, c as EngineExecutionLimitsPolicyFactory, ea as ENGINE_EXECUTION_LIMITS_DEFAULTS, i as WorkflowPolicyErrorServices, n as InMemoryLiveWorkflowRepository, na as EngineExecutionLimitsPolicyConfig, o as WorkflowStoragePolicyEvaluator, r as EngineWorkflowRunnerService, rn as WorkflowDefinition, s as RunPolicySnapshotFactory, t as RunIntentService, ta as EngineExecutionLimitsPolicy, u as Engine } from "../RunIntentService-CuXAIO6_.js";
|
|
2
|
+
import { Gt as AsyncSleeper, Ht as InProcessRetryRunner, Jt as EngineCompositionDeps, Kt as CredentialResolverFactory, Lt as NodeInstanceFactory, Rt as NodeExecutor, Ut as DefaultExecutionContextFactory, Wt as DefaultAsyncSleeper, Yt as EngineFactory, a as ConfigDrivenOffloadPolicy, c as InMemoryWorkflowExecutionRepository, d as DefaultExecutionBinaryService, f as UnavailableBinaryStorage, i as InlineDrivingScheduler, l as InMemoryRunDataFactory, n as HintOnlyOffloadPolicy, o as WorkflowRepositoryWebhookTriggerMatcher, r as DefaultDrivingScheduler, s as RunSummaryMapper, t as LocalOnlyScheduler, u as InMemoryBinaryStorage } from "../index-BnJ7_IrO.js";
|
|
3
|
+
import { n as TriggerRuntimeDiagnosticsProvider, r as WebhookTriggerMatcherProvider, t as EngineRuntimeRegistrationOptions } from "../EngineRuntimeRegistration.types-_M7KFD3D.js";
|
|
4
4
|
|
|
5
5
|
//#region src/bootstrap/runtime/EngineRuntimeRegistrar.d.ts
|
|
6
6
|
|
package/dist/bootstrap/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { A as NodeExecutor, B as DefaultAsyncSleeper, C as RunPolicySnapshotFactory, D as PersistedWorkflowTokenRegistry, O as MissingRuntimeTriggerToken, R as InProcessRetryRunner, S as ConfigDrivenOffloadPolicy, T as NodeInstanceFactory, U as DefaultExecutionBinaryService, V as CredentialResolverFactory, W as UnavailableBinaryStorage, _ as EngineExecutionLimitsPolicy, a as InMemoryLiveWorkflowRepository, b as HintOnlyOffloadPolicy, c as EngineFactory, d as InMemoryRunDataFactory, f as InMemoryBinaryStorage, g as ENGINE_EXECUTION_LIMITS_DEFAULTS, h as RunTerminalPersistenceCoordinator, i as RunIntentService, l as Engine, m as WorkflowPolicyErrorServices, n as WorkflowRepositoryWebhookTriggerMatcher, p as WorkflowStoragePolicyEvaluator, s as EngineWorkflowRunnerService, v as LocalOnlyScheduler, x as DefaultDrivingScheduler, y as InlineDrivingScheduler, z as DefaultExecutionContextFactory } from "../runtime-
|
|
2
|
-
import { i as EngineExecutionLimitsPolicyFactory, n as InMemoryWorkflowExecutionRepository, r as RunSummaryMapper, t as EngineRuntimeRegistrar } from "../bootstrap-
|
|
1
|
+
import { A as NodeExecutor, B as DefaultAsyncSleeper, C as RunPolicySnapshotFactory, D as PersistedWorkflowTokenRegistry, O as MissingRuntimeTriggerToken, R as InProcessRetryRunner, S as ConfigDrivenOffloadPolicy, T as NodeInstanceFactory, U as DefaultExecutionBinaryService, V as CredentialResolverFactory, W as UnavailableBinaryStorage, _ as EngineExecutionLimitsPolicy, a as InMemoryLiveWorkflowRepository, b as HintOnlyOffloadPolicy, c as EngineFactory, d as InMemoryRunDataFactory, f as InMemoryBinaryStorage, g as ENGINE_EXECUTION_LIMITS_DEFAULTS, h as RunTerminalPersistenceCoordinator, i as RunIntentService, l as Engine, m as WorkflowPolicyErrorServices, n as WorkflowRepositoryWebhookTriggerMatcher, p as WorkflowStoragePolicyEvaluator, s as EngineWorkflowRunnerService, v as LocalOnlyScheduler, x as DefaultDrivingScheduler, y as InlineDrivingScheduler, z as DefaultExecutionContextFactory } from "../runtime-CJnObwsU.js";
|
|
2
|
+
import { i as EngineExecutionLimitsPolicyFactory, n as InMemoryWorkflowExecutionRepository, r as RunSummaryMapper, t as EngineRuntimeRegistrar } from "../bootstrap-BhYxSivA.js";
|
|
3
3
|
|
|
4
4
|
export { ConfigDrivenOffloadPolicy, CredentialResolverFactory, DefaultAsyncSleeper, DefaultDrivingScheduler, DefaultExecutionBinaryService, DefaultExecutionContextFactory, ENGINE_EXECUTION_LIMITS_DEFAULTS, Engine, EngineExecutionLimitsPolicy, EngineExecutionLimitsPolicyFactory, EngineFactory, EngineRuntimeRegistrar, EngineWorkflowRunnerService, HintOnlyOffloadPolicy, InMemoryBinaryStorage, InMemoryLiveWorkflowRepository, InMemoryRunDataFactory, InMemoryWorkflowExecutionRepository, InProcessRetryRunner, InlineDrivingScheduler, LocalOnlyScheduler, MissingRuntimeTriggerToken, NodeExecutor, NodeInstanceFactory, PersistedWorkflowTokenRegistry, RunIntentService, RunPolicySnapshotFactory, RunSummaryMapper, RunTerminalPersistenceCoordinator, UnavailableBinaryStorage, WorkflowPolicyErrorServices, WorkflowRepositoryWebhookTriggerMatcher, WorkflowStoragePolicyEvaluator };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { A as NodeExecutor, B as DefaultAsyncSleeper, L as
|
|
1
|
+
import { A as NodeExecutor, B as DefaultAsyncSleeper, L as ItemExprResolver, M as RunnableOutputBehaviorResolver, N as NodeOutputNormalizer, _ as EngineExecutionLimitsPolicy, _t as CoreTokens, c as EngineFactory, ft as instanceCachingFactory, g as ENGINE_EXECUTION_LIMITS_DEFAULTS, i as RunIntentService, j as InProcessRetryRunnerFactory, k as NodeExecutorFactory, l as Engine, o as EngineWorkflowRunnerServiceFactory, r as RunIntentServiceFactory, t as WorkflowRepositoryWebhookTriggerMatcherFactory, u as RunFinishedAtFactory, w as NodeInstanceFactoryFactory, y as InlineDrivingScheduler } from "./runtime-CJnObwsU.js";
|
|
2
2
|
|
|
3
3
|
//#region src/policies/executionLimits/EngineExecutionLimitsPolicyFactory.ts
|
|
4
4
|
/**
|
|
@@ -123,7 +123,7 @@ var EngineRuntimeRegistrar = class {
|
|
|
123
123
|
this.registerIntentServices(container);
|
|
124
124
|
}
|
|
125
125
|
registerSupportFactories(container) {
|
|
126
|
-
if (!container.isRegistered(
|
|
126
|
+
if (!container.isRegistered(ItemExprResolver, true)) container.registerSingleton(ItemExprResolver, ItemExprResolver);
|
|
127
127
|
if (!container.isRegistered(NodeOutputNormalizer, true)) container.registerSingleton(NodeOutputNormalizer, NodeOutputNormalizer);
|
|
128
128
|
if (!container.isRegistered(RunnableOutputBehaviorResolver, true)) container.registerSingleton(RunnableOutputBehaviorResolver, RunnableOutputBehaviorResolver);
|
|
129
129
|
container.register(EngineExecutionLimitsPolicyFactory, { useClass: EngineExecutionLimitsPolicyFactory });
|
|
@@ -215,4 +215,4 @@ var EngineRuntimeRegistrar = class {
|
|
|
215
215
|
|
|
216
216
|
//#endregion
|
|
217
217
|
export { EngineExecutionLimitsPolicyFactory as i, InMemoryWorkflowExecutionRepository as n, RunSummaryMapper as r, EngineRuntimeRegistrar as t };
|
|
218
|
-
//# sourceMappingURL=bootstrap-
|
|
218
|
+
//# sourceMappingURL=bootstrap-BhYxSivA.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bootstrap-BhYxSivA.js","names":["out: RunPruneCandidate[]"],"sources":["../src/policies/executionLimits/EngineExecutionLimitsPolicyFactory.ts","../src/runStorage/RunSummaryMapper.ts","../src/runStorage/InMemoryWorkflowExecutionRepository.ts","../src/scheduler/InlineDrivingSchedulerFactory.ts","../src/bootstrap/runtime/EngineRuntimeRegistrar.ts"],"sourcesContent":["import {\n EngineExecutionLimitsPolicy,\n ENGINE_EXECUTION_LIMITS_DEFAULTS,\n type EngineExecutionLimitsPolicyConfig,\n} from \"./EngineExecutionLimitsPolicy\";\n\n/**\n * Builds {@link EngineExecutionLimitsPolicy} by merging {@link ENGINE_EXECUTION_LIMITS_DEFAULTS} with optional `overrides` (e.g. host `runtime.engineExecutionLimits`).\n */\nexport class EngineExecutionLimitsPolicyFactory {\n create(overrides?: Partial<EngineExecutionLimitsPolicyConfig>): EngineExecutionLimitsPolicy {\n return new EngineExecutionLimitsPolicy({ ...ENGINE_EXECUTION_LIMITS_DEFAULTS, ...overrides });\n }\n}\n","import { RunFinishedAtFactory } from \"../contracts/runFinishedAtFactory\";\nimport type { PersistedRunState, RunSummary } from \"../types\";\n\n/** Maps persisted run state to API run summaries for listings. */\nexport class RunSummaryMapper {\n static fromPersistedState(state: PersistedRunState): RunSummary {\n return {\n runId: state.runId,\n workflowId: state.workflowId,\n startedAt: state.startedAt,\n status: state.status,\n finishedAt: RunFinishedAtFactory.resolveIso(state),\n parent: state.parent,\n executionOptions: state.executionOptions,\n };\n }\n}\n","import type {\n EngineRunCounters,\n NodeId,\n NodeOutputs,\n ParentExecutionRef,\n PersistedRunSchedulingState,\n PersistedRunState,\n RunId,\n RunSummary,\n WorkflowExecutionListingRepository,\n WorkflowExecutionPruneRepository,\n WorkflowExecutionRepository,\n RunPruneCandidate,\n WorkflowId,\n} from \"../types\";\nimport { RunFinishedAtFactory } from \"../contracts/runFinishedAtFactory\";\nimport { RunSummaryMapper } from \"./RunSummaryMapper\";\n\nexport class InMemoryWorkflowExecutionRepository\n implements WorkflowExecutionRepository, WorkflowExecutionListingRepository, WorkflowExecutionPruneRepository\n{\n private readonly runs = new Map<RunId, PersistedRunState>();\n\n async createRun(args: {\n runId: RunId;\n workflowId: WorkflowId;\n startedAt: string;\n parent?: ParentExecutionRef;\n executionOptions?: PersistedRunState[\"executionOptions\"];\n control?: PersistedRunState[\"control\"];\n workflowSnapshot?: PersistedRunState[\"workflowSnapshot\"];\n mutableState?: PersistedRunState[\"mutableState\"];\n policySnapshot?: PersistedRunState[\"policySnapshot\"];\n engineCounters?: EngineRunCounters;\n }): Promise<void> {\n this.runs.set(args.runId, {\n runId: args.runId,\n workflowId: args.workflowId,\n startedAt: args.startedAt,\n revision: 0,\n parent: args.parent,\n executionOptions: args.executionOptions,\n control: args.control,\n workflowSnapshot: args.workflowSnapshot,\n mutableState: args.mutableState,\n policySnapshot: args.policySnapshot,\n engineCounters: args.engineCounters,\n status: \"running\",\n queue: [],\n outputsByNode: {} as Record<NodeId, NodeOutputs>,\n nodeSnapshotsByNodeId: {},\n connectionInvocations: [],\n });\n }\n\n async load(runId: RunId): Promise<PersistedRunState | undefined> {\n return this.runs.get(runId);\n }\n\n async loadSchedulingState(runId: RunId): Promise<PersistedRunSchedulingState | undefined> {\n const state = this.runs.get(runId);\n if (!state) {\n return undefined;\n }\n return {\n pending: state.pending ? { ...state.pending } : undefined,\n queue: state.queue.map((entry) => ({ ...entry })),\n };\n }\n\n async save(state: PersistedRunState): Promise<void> {\n this.runs.set(state.runId, { ...state, revision: (state.revision ?? 0) + 1 });\n }\n\n async deleteRun(runId: RunId): Promise<void> {\n this.runs.delete(runId);\n }\n\n async listRuns(args?: Readonly<{ workflowId?: WorkflowId; limit?: number }>): Promise<ReadonlyArray<RunSummary>> {\n const limit = args?.limit ?? 50;\n const summaries = [...this.runs.values()]\n .filter((s) => (args?.workflowId ? s.workflowId === args.workflowId : true))\n .sort((a, b) => b.startedAt.localeCompare(a.startedAt))\n .slice(0, limit)\n .map((s) => RunSummaryMapper.fromPersistedState(s));\n return summaries;\n }\n\n async listRunsOlderThan(\n args: Readonly<{ beforeIso: string; limit?: number }>,\n ): Promise<ReadonlyArray<RunPruneCandidate>> {\n const limit = args.limit ?? 100;\n const out: RunPruneCandidate[] = [];\n for (const s of this.runs.values()) {\n if (s.status !== \"completed\" && s.status !== \"failed\") continue;\n const finishedAt = RunFinishedAtFactory.resolveIso(s);\n if (!finishedAt || finishedAt >= args.beforeIso) continue;\n out.push({\n runId: s.runId,\n workflowId: s.workflowId,\n startedAt: s.startedAt,\n finishedAt,\n });\n }\n out.sort((a, b) => a.finishedAt.localeCompare(b.finishedAt));\n return out.slice(0, limit);\n }\n}\n","import { NodeExecutor } from \"../execution/NodeExecutor\";\n\nimport { InlineDrivingScheduler } from \"./InlineDrivingScheduler\";\n\nexport class InlineDrivingSchedulerFactory {\n create(nodeExecutor: NodeExecutor): InlineDrivingScheduler {\n return new InlineDrivingScheduler(nodeExecutor);\n }\n}\n","import { instanceCachingFactory, type DependencyContainer } from \"../../di\";\nimport { CoreTokens } from \"../../di\";\nimport { EngineExecutionLimitsPolicyFactory } from \"../../policies/executionLimits/EngineExecutionLimitsPolicyFactory\";\nimport {\n DefaultAsyncSleeper,\n InProcessRetryRunnerFactory,\n ItemExprResolver,\n NodeExecutor,\n NodeExecutorFactory,\n NodeInstanceFactoryFactory,\n NodeOutputNormalizer,\n RunnableOutputBehaviorResolver,\n} from \"../../execution\";\nimport {\n EngineFactory,\n EngineWorkflowRunnerServiceFactory,\n RunIntentServiceFactory,\n RunIntentService,\n WorkflowRepositoryWebhookTriggerMatcherFactory,\n} from \"../../runtime\";\nimport { InlineDrivingScheduler } from \"../../scheduler/InlineDrivingScheduler\";\nimport { InlineDrivingSchedulerFactory } from \"../../scheduler/InlineDrivingSchedulerFactory\";\nimport { Engine } from \"../../orchestration/Engine\";\nimport type { EngineRuntimeRegistrationOptions } from \"./EngineRuntimeRegistration.types\";\nimport type { WebhookTriggerMatcherProvider } from \"./EngineRuntimeRegistration.types\";\n\n/**\n * Container-first entry: call on a host/test container **after** workflow, run, node, and credential\n * ports are registered. The registrar owns the default inline scheduler, engine binding,\n * and intent-surface wiring so hosts only override the seams they actually replace.\n */\nexport class EngineRuntimeRegistrar {\n register(container: DependencyContainer, options?: EngineRuntimeRegistrationOptions): void {\n this.registerSupportFactories(container);\n this.registerExecutionLimitsPolicy(container, options);\n this.ensureWorkflowNodeInstanceFactory(container);\n this.ensureNodeExecutor(container);\n this.registerDefaultActivationScheduler(container);\n this.registerEngine(container, options);\n this.registerIntentServices(container);\n }\n\n private registerSupportFactories(container: DependencyContainer): void {\n if (!container.isRegistered(ItemExprResolver, true)) {\n container.registerSingleton(ItemExprResolver, ItemExprResolver);\n }\n if (!container.isRegistered(NodeOutputNormalizer, true)) {\n container.registerSingleton(NodeOutputNormalizer, NodeOutputNormalizer);\n }\n if (!container.isRegistered(RunnableOutputBehaviorResolver, true)) {\n container.registerSingleton(RunnableOutputBehaviorResolver, RunnableOutputBehaviorResolver);\n }\n container.register(EngineExecutionLimitsPolicyFactory, { useClass: EngineExecutionLimitsPolicyFactory });\n container.register(NodeInstanceFactoryFactory, { useClass: NodeInstanceFactoryFactory });\n container.register(DefaultAsyncSleeper, { useClass: DefaultAsyncSleeper });\n container.register(InProcessRetryRunnerFactory, { useClass: InProcessRetryRunnerFactory });\n container.register(NodeExecutorFactory, { useClass: NodeExecutorFactory });\n container.register(InlineDrivingSchedulerFactory, { useClass: InlineDrivingSchedulerFactory });\n container.register(RunIntentServiceFactory, { useClass: RunIntentServiceFactory });\n container.register(EngineWorkflowRunnerServiceFactory, {\n useClass: EngineWorkflowRunnerServiceFactory,\n });\n container.register(WorkflowRepositoryWebhookTriggerMatcherFactory, {\n useClass: WorkflowRepositoryWebhookTriggerMatcherFactory,\n });\n }\n\n private registerExecutionLimitsPolicy(\n container: DependencyContainer,\n options: EngineRuntimeRegistrationOptions | undefined,\n ): void {\n if (container.isRegistered(CoreTokens.EngineExecutionLimitsPolicy, true)) {\n return;\n }\n container.register(CoreTokens.EngineExecutionLimitsPolicy, {\n useFactory: instanceCachingFactory((dependencyContainer) => {\n const fromResolver = options?.resolveEngineExecutionLimits?.();\n const merged = fromResolver ?? options?.engineExecutionLimits;\n return dependencyContainer.resolve(EngineExecutionLimitsPolicyFactory).create(merged);\n }),\n });\n }\n\n private ensureWorkflowNodeInstanceFactory(container: DependencyContainer): void {\n if (container.isRegistered(CoreTokens.WorkflowNodeInstanceFactory, true)) {\n return;\n }\n container.register(CoreTokens.WorkflowNodeInstanceFactory, {\n useFactory: instanceCachingFactory((dependencyContainer) => {\n return dependencyContainer\n .resolve(NodeInstanceFactoryFactory)\n .create(dependencyContainer.resolve(CoreTokens.NodeResolver));\n }),\n });\n }\n\n private ensureNodeExecutor(container: DependencyContainer): void {\n if (container.isRegistered(NodeExecutor, true)) {\n return;\n }\n container.register(NodeExecutor, {\n useFactory: instanceCachingFactory((dependencyContainer) => {\n const retryRunner = dependencyContainer\n .resolve(InProcessRetryRunnerFactory)\n .create(dependencyContainer.resolve(DefaultAsyncSleeper));\n return dependencyContainer\n .resolve(NodeExecutorFactory)\n .create(\n dependencyContainer.resolve(CoreTokens.WorkflowNodeInstanceFactory),\n retryRunner,\n dependencyContainer.resolve(RunnableOutputBehaviorResolver),\n );\n }),\n });\n }\n\n private registerDefaultActivationScheduler(container: DependencyContainer): void {\n if (container.isRegistered(CoreTokens.NodeActivationScheduler, true)) {\n return;\n }\n container.register(InlineDrivingScheduler, {\n useFactory: instanceCachingFactory((dependencyContainer) => {\n return dependencyContainer\n .resolve(InlineDrivingSchedulerFactory)\n .create(dependencyContainer.resolve(NodeExecutor));\n }),\n });\n container.register(CoreTokens.NodeActivationScheduler, {\n useFactory: instanceCachingFactory((dependencyContainer) => {\n return dependencyContainer.resolve(InlineDrivingScheduler);\n }),\n });\n }\n\n private registerEngine(container: DependencyContainer, options: EngineRuntimeRegistrationOptions | undefined): void {\n container.register(EngineFactory, { useClass: EngineFactory });\n const matcherProvider = this.resolveMatcherProvider(options);\n container.register(Engine, {\n useFactory: instanceCachingFactory((dependencyContainer) => {\n const liveWorkflowRepository = dependencyContainer.resolve(CoreTokens.LiveWorkflowRepository);\n const nodeResolver = dependencyContainer.resolve(CoreTokens.NodeResolver);\n const tokenRegistryLike = dependencyContainer.resolve(CoreTokens.PersistedWorkflowTokenRegistry);\n const workflowActivationPolicy = dependencyContainer.resolve(CoreTokens.WorkflowActivationPolicy);\n const webhookTriggerMatcher = matcherProvider.createMatcher(dependencyContainer);\n const workflowNodeInstanceFactory = dependencyContainer.resolve(CoreTokens.WorkflowNodeInstanceFactory);\n const triggerRuntimeDiagnostics = options?.triggerRuntimeDiagnosticsProvider?.create(dependencyContainer);\n return dependencyContainer.resolve(EngineFactory).create({\n credentialSessions: dependencyContainer.resolve(CoreTokens.CredentialSessionService),\n liveWorkflowRepository,\n workflowRepository: dependencyContainer.resolve(CoreTokens.WorkflowRepository),\n workflowActivationPolicy,\n nodeResolver,\n triggerSetupStateRepository: dependencyContainer.resolve(CoreTokens.TriggerSetupStateRepository),\n webhookTriggerMatcher,\n runIdFactory: dependencyContainer.resolve(CoreTokens.RunIdFactory),\n activationIdFactory: dependencyContainer.resolve(CoreTokens.ActivationIdFactory),\n workflowExecutionRepository: dependencyContainer.resolve(CoreTokens.WorkflowExecutionRepository),\n activationScheduler: dependencyContainer.resolve(CoreTokens.NodeActivationScheduler),\n runDataFactory: dependencyContainer.resolve(CoreTokens.RunDataFactory),\n executionContextFactory: dependencyContainer.resolve(CoreTokens.ExecutionContextFactory),\n nodeExecutor: dependencyContainer.resolve(NodeExecutor),\n eventBus: dependencyContainer.resolve(CoreTokens.RunEventBus),\n tokenRegistry: tokenRegistryLike,\n workflowNodeInstanceFactory,\n executionLimitsPolicy: dependencyContainer.resolve(CoreTokens.EngineExecutionLimitsPolicy),\n triggerRuntimeDiagnostics,\n });\n }),\n });\n }\n\n private registerIntentServices(container: DependencyContainer): void {\n container.register(RunIntentService, {\n useFactory: instanceCachingFactory((dependencyContainer) => {\n return dependencyContainer\n .resolve(RunIntentServiceFactory)\n .create(dependencyContainer.resolve(Engine), dependencyContainer.resolve(CoreTokens.WorkflowRepository));\n }),\n });\n container.register(CoreTokens.WorkflowRunnerService, {\n useFactory: instanceCachingFactory((dependencyContainer) => {\n return dependencyContainer\n .resolve(EngineWorkflowRunnerServiceFactory)\n .create(dependencyContainer.resolve(Engine), dependencyContainer.resolve(CoreTokens.WorkflowRepository));\n }),\n });\n }\n\n private resolveMatcherProvider(options: EngineRuntimeRegistrationOptions | undefined): WebhookTriggerMatcherProvider {\n if (options?.webhookTriggerMatcherProvider) {\n return options.webhookTriggerMatcherProvider;\n }\n return {\n createMatcher: (container) =>\n container\n .resolve(WorkflowRepositoryWebhookTriggerMatcherFactory)\n .create(\n container.resolve(CoreTokens.WorkflowRepository),\n container.resolve(CoreTokens.WorkflowActivationPolicy),\n options?.webhookTriggerRoutingDiagnostics,\n ),\n };\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const require_runtime = require('./runtime-
|
|
1
|
+
const require_runtime = require('./runtime-3YVDd2vY.cjs');
|
|
2
2
|
let tsyringe = require("tsyringe");
|
|
3
3
|
tsyringe = require_runtime.__toESM(tsyringe);
|
|
4
4
|
|
|
@@ -125,7 +125,7 @@ var EngineRuntimeRegistrar = class {
|
|
|
125
125
|
this.registerIntentServices(container);
|
|
126
126
|
}
|
|
127
127
|
registerSupportFactories(container) {
|
|
128
|
-
if (!container.isRegistered(require_runtime.
|
|
128
|
+
if (!container.isRegistered(require_runtime.ItemExprResolver, true)) container.registerSingleton(require_runtime.ItemExprResolver, require_runtime.ItemExprResolver);
|
|
129
129
|
if (!container.isRegistered(require_runtime.NodeOutputNormalizer, true)) container.registerSingleton(require_runtime.NodeOutputNormalizer, require_runtime.NodeOutputNormalizer);
|
|
130
130
|
if (!container.isRegistered(require_runtime.RunnableOutputBehaviorResolver, true)) container.registerSingleton(require_runtime.RunnableOutputBehaviorResolver, require_runtime.RunnableOutputBehaviorResolver);
|
|
131
131
|
container.register(EngineExecutionLimitsPolicyFactory, { useClass: EngineExecutionLimitsPolicyFactory });
|
|
@@ -240,4 +240,4 @@ Object.defineProperty(exports, 'RunSummaryMapper', {
|
|
|
240
240
|
return RunSummaryMapper;
|
|
241
241
|
}
|
|
242
242
|
});
|
|
243
|
-
//# sourceMappingURL=bootstrap-
|
|
243
|
+
//# sourceMappingURL=bootstrap-D-TDU9Lu.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bootstrap-D-TDU9Lu.cjs","names":["EngineExecutionLimitsPolicy","ENGINE_EXECUTION_LIMITS_DEFAULTS","RunFinishedAtFactory","out: RunPruneCandidate[]","RunFinishedAtFactory","InlineDrivingScheduler","ItemExprResolver","NodeOutputNormalizer","RunnableOutputBehaviorResolver","NodeInstanceFactoryFactory","DefaultAsyncSleeper","InProcessRetryRunnerFactory","NodeExecutorFactory","RunIntentServiceFactory","EngineWorkflowRunnerServiceFactory","WorkflowRepositoryWebhookTriggerMatcherFactory","CoreTokens","NodeExecutor","InlineDrivingScheduler","EngineFactory","Engine","RunIntentService"],"sources":["../src/policies/executionLimits/EngineExecutionLimitsPolicyFactory.ts","../src/runStorage/RunSummaryMapper.ts","../src/runStorage/InMemoryWorkflowExecutionRepository.ts","../src/scheduler/InlineDrivingSchedulerFactory.ts","../src/bootstrap/runtime/EngineRuntimeRegistrar.ts"],"sourcesContent":["import {\n EngineExecutionLimitsPolicy,\n ENGINE_EXECUTION_LIMITS_DEFAULTS,\n type EngineExecutionLimitsPolicyConfig,\n} from \"./EngineExecutionLimitsPolicy\";\n\n/**\n * Builds {@link EngineExecutionLimitsPolicy} by merging {@link ENGINE_EXECUTION_LIMITS_DEFAULTS} with optional `overrides` (e.g. host `runtime.engineExecutionLimits`).\n */\nexport class EngineExecutionLimitsPolicyFactory {\n create(overrides?: Partial<EngineExecutionLimitsPolicyConfig>): EngineExecutionLimitsPolicy {\n return new EngineExecutionLimitsPolicy({ ...ENGINE_EXECUTION_LIMITS_DEFAULTS, ...overrides });\n }\n}\n","import { RunFinishedAtFactory } from \"../contracts/runFinishedAtFactory\";\nimport type { PersistedRunState, RunSummary } from \"../types\";\n\n/** Maps persisted run state to API run summaries for listings. */\nexport class RunSummaryMapper {\n static fromPersistedState(state: PersistedRunState): RunSummary {\n return {\n runId: state.runId,\n workflowId: state.workflowId,\n startedAt: state.startedAt,\n status: state.status,\n finishedAt: RunFinishedAtFactory.resolveIso(state),\n parent: state.parent,\n executionOptions: state.executionOptions,\n };\n }\n}\n","import type {\n EngineRunCounters,\n NodeId,\n NodeOutputs,\n ParentExecutionRef,\n PersistedRunSchedulingState,\n PersistedRunState,\n RunId,\n RunSummary,\n WorkflowExecutionListingRepository,\n WorkflowExecutionPruneRepository,\n WorkflowExecutionRepository,\n RunPruneCandidate,\n WorkflowId,\n} from \"../types\";\nimport { RunFinishedAtFactory } from \"../contracts/runFinishedAtFactory\";\nimport { RunSummaryMapper } from \"./RunSummaryMapper\";\n\nexport class InMemoryWorkflowExecutionRepository\n implements WorkflowExecutionRepository, WorkflowExecutionListingRepository, WorkflowExecutionPruneRepository\n{\n private readonly runs = new Map<RunId, PersistedRunState>();\n\n async createRun(args: {\n runId: RunId;\n workflowId: WorkflowId;\n startedAt: string;\n parent?: ParentExecutionRef;\n executionOptions?: PersistedRunState[\"executionOptions\"];\n control?: PersistedRunState[\"control\"];\n workflowSnapshot?: PersistedRunState[\"workflowSnapshot\"];\n mutableState?: PersistedRunState[\"mutableState\"];\n policySnapshot?: PersistedRunState[\"policySnapshot\"];\n engineCounters?: EngineRunCounters;\n }): Promise<void> {\n this.runs.set(args.runId, {\n runId: args.runId,\n workflowId: args.workflowId,\n startedAt: args.startedAt,\n revision: 0,\n parent: args.parent,\n executionOptions: args.executionOptions,\n control: args.control,\n workflowSnapshot: args.workflowSnapshot,\n mutableState: args.mutableState,\n policySnapshot: args.policySnapshot,\n engineCounters: args.engineCounters,\n status: \"running\",\n queue: [],\n outputsByNode: {} as Record<NodeId, NodeOutputs>,\n nodeSnapshotsByNodeId: {},\n connectionInvocations: [],\n });\n }\n\n async load(runId: RunId): Promise<PersistedRunState | undefined> {\n return this.runs.get(runId);\n }\n\n async loadSchedulingState(runId: RunId): Promise<PersistedRunSchedulingState | undefined> {\n const state = this.runs.get(runId);\n if (!state) {\n return undefined;\n }\n return {\n pending: state.pending ? { ...state.pending } : undefined,\n queue: state.queue.map((entry) => ({ ...entry })),\n };\n }\n\n async save(state: PersistedRunState): Promise<void> {\n this.runs.set(state.runId, { ...state, revision: (state.revision ?? 0) + 1 });\n }\n\n async deleteRun(runId: RunId): Promise<void> {\n this.runs.delete(runId);\n }\n\n async listRuns(args?: Readonly<{ workflowId?: WorkflowId; limit?: number }>): Promise<ReadonlyArray<RunSummary>> {\n const limit = args?.limit ?? 50;\n const summaries = [...this.runs.values()]\n .filter((s) => (args?.workflowId ? s.workflowId === args.workflowId : true))\n .sort((a, b) => b.startedAt.localeCompare(a.startedAt))\n .slice(0, limit)\n .map((s) => RunSummaryMapper.fromPersistedState(s));\n return summaries;\n }\n\n async listRunsOlderThan(\n args: Readonly<{ beforeIso: string; limit?: number }>,\n ): Promise<ReadonlyArray<RunPruneCandidate>> {\n const limit = args.limit ?? 100;\n const out: RunPruneCandidate[] = [];\n for (const s of this.runs.values()) {\n if (s.status !== \"completed\" && s.status !== \"failed\") continue;\n const finishedAt = RunFinishedAtFactory.resolveIso(s);\n if (!finishedAt || finishedAt >= args.beforeIso) continue;\n out.push({\n runId: s.runId,\n workflowId: s.workflowId,\n startedAt: s.startedAt,\n finishedAt,\n });\n }\n out.sort((a, b) => a.finishedAt.localeCompare(b.finishedAt));\n return out.slice(0, limit);\n }\n}\n","import { NodeExecutor } from \"../execution/NodeExecutor\";\n\nimport { InlineDrivingScheduler } from \"./InlineDrivingScheduler\";\n\nexport class InlineDrivingSchedulerFactory {\n create(nodeExecutor: NodeExecutor): InlineDrivingScheduler {\n return new InlineDrivingScheduler(nodeExecutor);\n }\n}\n","import { instanceCachingFactory, type DependencyContainer } from \"../../di\";\nimport { CoreTokens } from \"../../di\";\nimport { EngineExecutionLimitsPolicyFactory } from \"../../policies/executionLimits/EngineExecutionLimitsPolicyFactory\";\nimport {\n DefaultAsyncSleeper,\n InProcessRetryRunnerFactory,\n ItemExprResolver,\n NodeExecutor,\n NodeExecutorFactory,\n NodeInstanceFactoryFactory,\n NodeOutputNormalizer,\n RunnableOutputBehaviorResolver,\n} from \"../../execution\";\nimport {\n EngineFactory,\n EngineWorkflowRunnerServiceFactory,\n RunIntentServiceFactory,\n RunIntentService,\n WorkflowRepositoryWebhookTriggerMatcherFactory,\n} from \"../../runtime\";\nimport { InlineDrivingScheduler } from \"../../scheduler/InlineDrivingScheduler\";\nimport { InlineDrivingSchedulerFactory } from \"../../scheduler/InlineDrivingSchedulerFactory\";\nimport { Engine } from \"../../orchestration/Engine\";\nimport type { EngineRuntimeRegistrationOptions } from \"./EngineRuntimeRegistration.types\";\nimport type { WebhookTriggerMatcherProvider } from \"./EngineRuntimeRegistration.types\";\n\n/**\n * Container-first entry: call on a host/test container **after** workflow, run, node, and credential\n * ports are registered. The registrar owns the default inline scheduler, engine binding,\n * and intent-surface wiring so hosts only override the seams they actually replace.\n */\nexport class EngineRuntimeRegistrar {\n register(container: DependencyContainer, options?: EngineRuntimeRegistrationOptions): void {\n this.registerSupportFactories(container);\n this.registerExecutionLimitsPolicy(container, options);\n this.ensureWorkflowNodeInstanceFactory(container);\n this.ensureNodeExecutor(container);\n this.registerDefaultActivationScheduler(container);\n this.registerEngine(container, options);\n this.registerIntentServices(container);\n }\n\n private registerSupportFactories(container: DependencyContainer): void {\n if (!container.isRegistered(ItemExprResolver, true)) {\n container.registerSingleton(ItemExprResolver, ItemExprResolver);\n }\n if (!container.isRegistered(NodeOutputNormalizer, true)) {\n container.registerSingleton(NodeOutputNormalizer, NodeOutputNormalizer);\n }\n if (!container.isRegistered(RunnableOutputBehaviorResolver, true)) {\n container.registerSingleton(RunnableOutputBehaviorResolver, RunnableOutputBehaviorResolver);\n }\n container.register(EngineExecutionLimitsPolicyFactory, { useClass: EngineExecutionLimitsPolicyFactory });\n container.register(NodeInstanceFactoryFactory, { useClass: NodeInstanceFactoryFactory });\n container.register(DefaultAsyncSleeper, { useClass: DefaultAsyncSleeper });\n container.register(InProcessRetryRunnerFactory, { useClass: InProcessRetryRunnerFactory });\n container.register(NodeExecutorFactory, { useClass: NodeExecutorFactory });\n container.register(InlineDrivingSchedulerFactory, { useClass: InlineDrivingSchedulerFactory });\n container.register(RunIntentServiceFactory, { useClass: RunIntentServiceFactory });\n container.register(EngineWorkflowRunnerServiceFactory, {\n useClass: EngineWorkflowRunnerServiceFactory,\n });\n container.register(WorkflowRepositoryWebhookTriggerMatcherFactory, {\n useClass: WorkflowRepositoryWebhookTriggerMatcherFactory,\n });\n }\n\n private registerExecutionLimitsPolicy(\n container: DependencyContainer,\n options: EngineRuntimeRegistrationOptions | undefined,\n ): void {\n if (container.isRegistered(CoreTokens.EngineExecutionLimitsPolicy, true)) {\n return;\n }\n container.register(CoreTokens.EngineExecutionLimitsPolicy, {\n useFactory: instanceCachingFactory((dependencyContainer) => {\n const fromResolver = options?.resolveEngineExecutionLimits?.();\n const merged = fromResolver ?? options?.engineExecutionLimits;\n return dependencyContainer.resolve(EngineExecutionLimitsPolicyFactory).create(merged);\n }),\n });\n }\n\n private ensureWorkflowNodeInstanceFactory(container: DependencyContainer): void {\n if (container.isRegistered(CoreTokens.WorkflowNodeInstanceFactory, true)) {\n return;\n }\n container.register(CoreTokens.WorkflowNodeInstanceFactory, {\n useFactory: instanceCachingFactory((dependencyContainer) => {\n return dependencyContainer\n .resolve(NodeInstanceFactoryFactory)\n .create(dependencyContainer.resolve(CoreTokens.NodeResolver));\n }),\n });\n }\n\n private ensureNodeExecutor(container: DependencyContainer): void {\n if (container.isRegistered(NodeExecutor, true)) {\n return;\n }\n container.register(NodeExecutor, {\n useFactory: instanceCachingFactory((dependencyContainer) => {\n const retryRunner = dependencyContainer\n .resolve(InProcessRetryRunnerFactory)\n .create(dependencyContainer.resolve(DefaultAsyncSleeper));\n return dependencyContainer\n .resolve(NodeExecutorFactory)\n .create(\n dependencyContainer.resolve(CoreTokens.WorkflowNodeInstanceFactory),\n retryRunner,\n dependencyContainer.resolve(RunnableOutputBehaviorResolver),\n );\n }),\n });\n }\n\n private registerDefaultActivationScheduler(container: DependencyContainer): void {\n if (container.isRegistered(CoreTokens.NodeActivationScheduler, true)) {\n return;\n }\n container.register(InlineDrivingScheduler, {\n useFactory: instanceCachingFactory((dependencyContainer) => {\n return dependencyContainer\n .resolve(InlineDrivingSchedulerFactory)\n .create(dependencyContainer.resolve(NodeExecutor));\n }),\n });\n container.register(CoreTokens.NodeActivationScheduler, {\n useFactory: instanceCachingFactory((dependencyContainer) => {\n return dependencyContainer.resolve(InlineDrivingScheduler);\n }),\n });\n }\n\n private registerEngine(container: DependencyContainer, options: EngineRuntimeRegistrationOptions | undefined): void {\n container.register(EngineFactory, { useClass: EngineFactory });\n const matcherProvider = this.resolveMatcherProvider(options);\n container.register(Engine, {\n useFactory: instanceCachingFactory((dependencyContainer) => {\n const liveWorkflowRepository = dependencyContainer.resolve(CoreTokens.LiveWorkflowRepository);\n const nodeResolver = dependencyContainer.resolve(CoreTokens.NodeResolver);\n const tokenRegistryLike = dependencyContainer.resolve(CoreTokens.PersistedWorkflowTokenRegistry);\n const workflowActivationPolicy = dependencyContainer.resolve(CoreTokens.WorkflowActivationPolicy);\n const webhookTriggerMatcher = matcherProvider.createMatcher(dependencyContainer);\n const workflowNodeInstanceFactory = dependencyContainer.resolve(CoreTokens.WorkflowNodeInstanceFactory);\n const triggerRuntimeDiagnostics = options?.triggerRuntimeDiagnosticsProvider?.create(dependencyContainer);\n return dependencyContainer.resolve(EngineFactory).create({\n credentialSessions: dependencyContainer.resolve(CoreTokens.CredentialSessionService),\n liveWorkflowRepository,\n workflowRepository: dependencyContainer.resolve(CoreTokens.WorkflowRepository),\n workflowActivationPolicy,\n nodeResolver,\n triggerSetupStateRepository: dependencyContainer.resolve(CoreTokens.TriggerSetupStateRepository),\n webhookTriggerMatcher,\n runIdFactory: dependencyContainer.resolve(CoreTokens.RunIdFactory),\n activationIdFactory: dependencyContainer.resolve(CoreTokens.ActivationIdFactory),\n workflowExecutionRepository: dependencyContainer.resolve(CoreTokens.WorkflowExecutionRepository),\n activationScheduler: dependencyContainer.resolve(CoreTokens.NodeActivationScheduler),\n runDataFactory: dependencyContainer.resolve(CoreTokens.RunDataFactory),\n executionContextFactory: dependencyContainer.resolve(CoreTokens.ExecutionContextFactory),\n nodeExecutor: dependencyContainer.resolve(NodeExecutor),\n eventBus: dependencyContainer.resolve(CoreTokens.RunEventBus),\n tokenRegistry: tokenRegistryLike,\n workflowNodeInstanceFactory,\n executionLimitsPolicy: dependencyContainer.resolve(CoreTokens.EngineExecutionLimitsPolicy),\n triggerRuntimeDiagnostics,\n });\n }),\n });\n }\n\n private registerIntentServices(container: DependencyContainer): void {\n container.register(RunIntentService, {\n useFactory: instanceCachingFactory((dependencyContainer) => {\n return dependencyContainer\n .resolve(RunIntentServiceFactory)\n .create(dependencyContainer.resolve(Engine), dependencyContainer.resolve(CoreTokens.WorkflowRepository));\n }),\n });\n container.register(CoreTokens.WorkflowRunnerService, {\n useFactory: instanceCachingFactory((dependencyContainer) => {\n return dependencyContainer\n .resolve(EngineWorkflowRunnerServiceFactory)\n .create(dependencyContainer.resolve(Engine), dependencyContainer.resolve(CoreTokens.WorkflowRepository));\n }),\n });\n }\n\n private resolveMatcherProvider(options: EngineRuntimeRegistrationOptions | undefined): WebhookTriggerMatcherProvider {\n if (options?.webhookTriggerMatcherProvider) {\n return options.webhookTriggerMatcherProvider;\n }\n return {\n createMatcher: (container) =>\n container\n .resolve(WorkflowRepositoryWebhookTriggerMatcherFactory)\n .create(\n container.resolve(CoreTokens.WorkflowRepository),\n container.resolve(CoreTokens.WorkflowActivationPolicy),\n options?.webhookTriggerRoutingDiagnostics,\n ),\n };\n }\n}\n"],"mappings":"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"}
|