@codemation/core 0.3.0 → 0.5.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 +23 -0
- package/dist/{EngineRuntimeRegistration.types-Bjeo7Sfq.d.ts → EngineRuntimeRegistration.types-BtTZolK0.d.ts} +2 -2
- package/dist/{EngineWorkflowRunnerService-Dd4yD31l.d.cts → EngineWorkflowRunnerService-Ddl0fekp.d.cts} +2 -2
- package/dist/{InMemoryRunDataFactory-OUzDmAHt.d.cts → InMemoryRunDataFactory-i-u2yngD.d.cts} +11 -3
- package/dist/{RunIntentService-Bkg4oYrM.d.cts → RunIntentService-Cjx-glgz.d.cts} +232 -237
- package/dist/{RunIntentService-BAKikN8h.d.ts → RunIntentService-Dkr4YwN8.d.ts} +313 -259
- package/dist/bootstrap/index.cjs +2 -2
- package/dist/bootstrap/index.d.cts +19 -7
- package/dist/bootstrap/index.d.ts +3 -3
- package/dist/bootstrap/index.js +2 -2
- package/dist/{bootstrap-DwS5S7s9.cjs → bootstrap-DHH2uo-W.cjs} +4 -2
- package/dist/bootstrap-DHH2uo-W.cjs.map +1 -0
- package/dist/{bootstrap-BD6CobHl.js → bootstrap-DbUlOl11.js} +4 -2
- package/dist/bootstrap-DbUlOl11.js.map +1 -0
- package/dist/{index-uCm9l0nw.d.ts → index-B2v4wtys.d.ts} +62 -34
- package/dist/index.cjs +22 -15
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +108 -42
- package/dist/index.d.ts +3 -3
- package/dist/index.js +13 -16
- package/dist/index.js.map +1 -1
- package/dist/{runtime-Cy-3FTI_.js → runtime-BdH94eBR.js} +502 -123
- package/dist/runtime-BdH94eBR.js.map +1 -0
- package/dist/{runtime-ZJUpWmPH.cjs → runtime-feFn8OmG.cjs} +561 -122
- package/dist/runtime-feFn8OmG.cjs.map +1 -0
- package/dist/testing.cjs +40 -36
- package/dist/testing.cjs.map +1 -1
- package/dist/testing.d.cts +17 -26
- package/dist/testing.d.ts +17 -26
- package/dist/testing.js +40 -36
- package/dist/testing.js.map +1 -1
- package/dist/{workflowActivationPolicy-BzyzXLa_.cjs → workflowActivationPolicy-6V3OJD3N.cjs} +65 -19
- package/dist/workflowActivationPolicy-6V3OJD3N.cjs.map +1 -0
- package/dist/{workflowActivationPolicy-B8HzTk3o.js → workflowActivationPolicy-Td9HTOuD.js} +65 -19
- package/dist/workflowActivationPolicy-Td9HTOuD.js.map +1 -0
- package/package.json +2 -1
- package/src/ai/AgentConfigInspectorFactory.ts +4 -0
- package/src/ai/AgentMessageConfigNormalizerFactory.ts +7 -0
- package/src/ai/AgentToolFactory.ts +2 -2
- package/src/ai/AiHost.ts +11 -10
- package/src/ai/NodeBackedToolConfig.ts +1 -1
- package/src/authoring/defineNode.types.ts +48 -72
- package/src/authoring/index.ts +1 -1
- package/src/bootstrap/runtime/EngineRuntimeRegistrar.ts +8 -0
- package/src/contracts/credentialTypes.ts +9 -0
- package/src/contracts/emitPorts.ts +27 -0
- package/src/contracts/index.ts +3 -0
- package/src/contracts/itemMeta.ts +11 -0
- package/src/contracts/itemValue.ts +147 -0
- package/src/contracts/runtimeTypes.ts +39 -22
- package/src/contracts/workflowTypes.ts +26 -56
- package/src/execution/FanInMergeByOriginMerger.ts +67 -0
- package/src/execution/ItemValueResolver.ts +27 -0
- package/src/execution/NodeActivationRequestComposer.ts +25 -0
- package/src/execution/NodeActivationRequestInputPreparer.ts +57 -25
- package/src/execution/NodeExecutor.ts +199 -30
- package/src/execution/NodeOutputNormalizer.ts +90 -0
- package/src/execution/index.ts +2 -0
- package/src/index.ts +2 -0
- package/src/orchestration/NodeExecutionRequestHandlerService.ts +39 -18
- package/src/orchestration/RunContinuationService.ts +11 -17
- package/src/planning/CurrentStateFrontierPlanner.ts +20 -20
- package/src/planning/RunQueuePlanner.ts +56 -19
- package/src/planning/WorkflowTopologyPlanner.ts +57 -33
- package/src/testing/ItemHarnessNode.ts +4 -10
- package/src/testing/ItemHarnessNodeConfig.ts +7 -16
- package/src/testing/RegistrarEngineTestKitFactory.ts +2 -0
- package/src/testing/SubWorkflowRunnerTestNode.ts +28 -43
- package/src/testing/SwitchHarnessNode.ts +54 -0
- package/src/types/index.ts +3 -0
- package/src/workflow/dsl/ChainCursorResolver.ts +68 -23
- package/src/workflow/dsl/WorkflowBuilder.ts +3 -5
- package/src/workflow/dsl/workflowBuilderTypes.ts +5 -8
- package/src/workflowSnapshots/MissingRuntimeNode.ts +4 -4
- package/src/workflowSnapshots/MissingRuntimeNodeConfig.ts +2 -2
- package/src/workflowSnapshots/WorkflowSnapshotCodec.ts +16 -7
- package/dist/bootstrap-BD6CobHl.js.map +0 -1
- package/dist/bootstrap-DwS5S7s9.cjs.map +0 -1
- package/dist/runtime-Cy-3FTI_.js.map +0 -1
- package/dist/runtime-ZJUpWmPH.cjs.map +0 -1
- package/dist/workflowActivationPolicy-B8HzTk3o.js.map +0 -1
- package/dist/workflowActivationPolicy-BzyzXLa_.cjs.map +0 -1
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-feFn8OmG.cjs');
|
|
2
|
+
const require_bootstrap = require('../bootstrap-DHH2uo-W.cjs');
|
|
3
3
|
|
|
4
4
|
exports.ConfigDrivenOffloadPolicy = require_runtime.ConfigDrivenOffloadPolicy;
|
|
5
5
|
exports.CredentialResolverFactory = require_runtime.CredentialResolverFactory;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { a as WorkflowSnapshotCodec, i as WebhookTriggerMatcherProvider, n as EngineRuntimeRegistrationOptions, r as TriggerRuntimeDiagnosticsProvider, t as EngineWorkflowRunnerService } from "../EngineWorkflowRunnerService-
|
|
3
|
-
import { a as
|
|
1
|
+
import { $n as WorkflowExecutionPruneRepository, A as NodeOutputs, B as RunId, C as NodeDefinition, D as NodeId, Dr as DependencyContainer, E as NodeErrorHandlerSpec, F as ParentExecutionRef, Fn as PersistedRunState, Gr as EngineExecutionLimitsPolicy, I as PersistedRunPolicySnapshot, It as NodeActivationRequest, Jt as PreparedNodeActivationDispatch, Kr as EngineExecutionLimitsPolicyConfig, Kt as NodeResolver, L as PersistedTokenId, Ln as PersistedWorkflowSnapshotNode, M as NodeSchedulerDecision, Mr as TypeToken, Pn as PersistedRunSchedulingState, Pt as NodeActivationContinuation, Q as WorkflowErrorHandlerSpec, Qn as WorkflowExecutionListingRepository, Rt as NodeActivationScheduler, Tt as EngineDeps, Ut as NodeExecutionScheduler, Vt as NodeExecutionRequest, Wn as RunPruneCandidate, Wr as ENGINE_EXECUTION_LIMITS_DEFAULTS, Xn as RunSummary, Y as WorkflowDefinition, Z as WorkflowErrorHandler, _n as WebhookTriggerRoutingDiagnostics, an as WorkflowNodeInstanceFactory, at as WorkflowStoragePolicyDecisionArgs, c as ExecutionMode, dn as HttpMethod, er as WorkflowExecutionRepository, hn as WebhookTriggerMatcher, k as NodeOffloadPolicy, mn as WebhookInvocationMatch, n as InMemoryLiveWorkflowRepository, on as WorkflowRepository, r as Engine, rt as WorkflowPolicyRuntimeDefaults, t as RunIntentService, tt as WorkflowId, w as NodeErrorHandler, wn as EngineRunCounters, x as NodeConfigBase, yn as WorkflowActivationPolicy } from "../RunIntentService-Cjx-glgz.cjs";
|
|
2
|
+
import { a as WorkflowSnapshotCodec, i as WebhookTriggerMatcherProvider, n as EngineRuntimeRegistrationOptions, r as TriggerRuntimeDiagnosticsProvider, t as EngineWorkflowRunnerService } from "../EngineWorkflowRunnerService-Ddl0fekp.cjs";
|
|
3
|
+
import { a as ItemValueResolver, c as DefaultAsyncSleeper, i as UnavailableBinaryStorage, l as AsyncSleeper, n as InMemoryBinaryStorage, o as InProcessRetryRunner, r as DefaultExecutionBinaryService, s as DefaultExecutionContextFactory, t as InMemoryRunDataFactory, u as CredentialResolverFactory } from "../InMemoryRunDataFactory-i-u2yngD.cjs";
|
|
4
4
|
|
|
5
5
|
//#region src/workflowSnapshots/MissingRuntimeFallbacksFactory.d.ts
|
|
6
6
|
declare class MissingRuntimeFallbacks {
|
|
@@ -49,12 +49,24 @@ declare class EngineRuntimeRegistrar {
|
|
|
49
49
|
declare class NodeExecutor {
|
|
50
50
|
private readonly nodeInstanceFactory;
|
|
51
51
|
private readonly retryRunner;
|
|
52
|
-
|
|
52
|
+
private readonly fanInMerger;
|
|
53
|
+
private readonly outputNormalizer;
|
|
54
|
+
private readonly itemValueResolver;
|
|
55
|
+
constructor(nodeInstanceFactory: WorkflowNodeInstanceFactory, retryRunner: InProcessRetryRunner, itemValueResolver?: ItemValueResolver);
|
|
53
56
|
execute(request: NodeActivationRequest): Promise<NodeOutputs>;
|
|
54
|
-
private
|
|
57
|
+
private executeMultiInputActivation;
|
|
55
58
|
private executeSingleInputNode;
|
|
56
|
-
private
|
|
57
|
-
private
|
|
59
|
+
private isTriggerNode;
|
|
60
|
+
private isRunnableNode;
|
|
61
|
+
private hasExecuteMulti;
|
|
62
|
+
private asMultiFromSingleActivation;
|
|
63
|
+
private executeRunnableActivation;
|
|
64
|
+
/** Use resolver ctx only when {@link NodeExecutionContext.config} is non-nullish. */
|
|
65
|
+
private pickExecutionContext;
|
|
66
|
+
private resolveInputSchema;
|
|
67
|
+
private assertItemJsonNotTopLevelArray;
|
|
68
|
+
private assertNoPortEnvelopeBypass;
|
|
69
|
+
private resolveLineageCarry;
|
|
58
70
|
}
|
|
59
71
|
//#endregion
|
|
60
72
|
//#region src/execution/NodeInstanceFactory.d.ts
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { n as TriggerRuntimeDiagnosticsProvider, r as WebhookTriggerMatcherProvider, t as EngineRuntimeRegistrationOptions } from "../EngineRuntimeRegistration.types-
|
|
1
|
+
import { Ht as PersistedTokenId, Li as TypeToken, Mi as DependencyContainer, Xi as EngineExecutionLimitsPolicy, Yi as ENGINE_EXECUTION_LIMITS_DEFAULTS, Zi as EngineExecutionLimitsPolicyConfig, a as RunTerminalPersistenceCoordinator, c as EngineExecutionLimitsPolicyFactory, en as WorkflowDefinition, i as WorkflowPolicyErrorServices, n as InMemoryLiveWorkflowRepository, o as WorkflowStoragePolicyEvaluator, r as EngineWorkflowRunnerService, s as RunPolicySnapshotFactory, t as RunIntentService, u as Engine } from "../RunIntentService-Dkr4YwN8.js";
|
|
2
|
+
import { Ft as AsyncSleeper, It as CredentialResolverFactory, Mt as InProcessRetryRunner, Nt as DefaultExecutionContextFactory, Ot as NodeInstanceFactory, Pt as DefaultAsyncSleeper, Rt as EngineCompositionDeps, a as ConfigDrivenOffloadPolicy, c as InMemoryWorkflowExecutionRepository, d as DefaultExecutionBinaryService, f as UnavailableBinaryStorage, i as InlineDrivingScheduler, kt as NodeExecutor, l as InMemoryRunDataFactory, n as HintOnlyOffloadPolicy, o as WorkflowRepositoryWebhookTriggerMatcher, r as DefaultDrivingScheduler, s as RunSummaryMapper, t as LocalOnlyScheduler, u as InMemoryBinaryStorage, zt as EngineFactory } from "../index-B2v4wtys.js";
|
|
3
|
+
import { n as TriggerRuntimeDiagnosticsProvider, r as WebhookTriggerMatcherProvider, t as EngineRuntimeRegistrationOptions } from "../EngineRuntimeRegistration.types-BtTZolK0.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,
|
|
2
|
-
import { i as EngineExecutionLimitsPolicyFactory, n as InMemoryWorkflowExecutionRepository, r as RunSummaryMapper, t as EngineRuntimeRegistrar } from "../bootstrap-
|
|
1
|
+
import { A as NodeExecutor, B as CredentialResolverFactory, C as RunPolicySnapshotFactory, D as PersistedWorkflowTokenRegistry, H as DefaultExecutionBinaryService, L as InProcessRetryRunner, O as MissingRuntimeTriggerToken, R as DefaultExecutionContextFactory, S as ConfigDrivenOffloadPolicy, T as NodeInstanceFactory, U 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 DefaultAsyncSleeper } from "../runtime-BdH94eBR.js";
|
|
2
|
+
import { i as EngineExecutionLimitsPolicyFactory, n as InMemoryWorkflowExecutionRepository, r as RunSummaryMapper, t as EngineRuntimeRegistrar } from "../bootstrap-DbUlOl11.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
|
-
const require_runtime = require('./runtime-
|
|
1
|
+
const require_runtime = require('./runtime-feFn8OmG.cjs');
|
|
2
2
|
let tsyringe = require("tsyringe");
|
|
3
3
|
tsyringe = require_runtime.__toESM(tsyringe);
|
|
4
4
|
|
|
@@ -125,6 +125,8 @@ var EngineRuntimeRegistrar = class {
|
|
|
125
125
|
this.registerIntentServices(container);
|
|
126
126
|
}
|
|
127
127
|
registerSupportFactories(container) {
|
|
128
|
+
if (!container.isRegistered(require_runtime.ItemValueResolver, true)) container.registerSingleton(require_runtime.ItemValueResolver, require_runtime.ItemValueResolver);
|
|
129
|
+
if (!container.isRegistered(require_runtime.NodeOutputNormalizer, true)) container.registerSingleton(require_runtime.NodeOutputNormalizer, require_runtime.NodeOutputNormalizer);
|
|
128
130
|
container.register(EngineExecutionLimitsPolicyFactory, { useClass: EngineExecutionLimitsPolicyFactory });
|
|
129
131
|
container.register(require_runtime.NodeInstanceFactoryFactory, { useClass: require_runtime.NodeInstanceFactoryFactory });
|
|
130
132
|
container.register(require_runtime.DefaultAsyncSleeper, { useClass: require_runtime.DefaultAsyncSleeper });
|
|
@@ -237,4 +239,4 @@ Object.defineProperty(exports, 'RunSummaryMapper', {
|
|
|
237
239
|
return RunSummaryMapper;
|
|
238
240
|
}
|
|
239
241
|
});
|
|
240
|
-
//# sourceMappingURL=bootstrap-
|
|
242
|
+
//# sourceMappingURL=bootstrap-DHH2uo-W.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bootstrap-DHH2uo-W.cjs","names":["EngineExecutionLimitsPolicy","ENGINE_EXECUTION_LIMITS_DEFAULTS","RunFinishedAtFactory","out: RunPruneCandidate[]","RunFinishedAtFactory","InlineDrivingScheduler","ItemValueResolver","NodeOutputNormalizer","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 ItemValueResolver,\n NodeExecutor,\n NodeExecutorFactory,\n NodeInstanceFactoryFactory,\n NodeOutputNormalizer,\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(ItemValueResolver, true)) {\n container.registerSingleton(ItemValueResolver, ItemValueResolver);\n }\n if (!container.isRegistered(NodeOutputNormalizer, true)) {\n container.registerSingleton(NodeOutputNormalizer, NodeOutputNormalizer);\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(dependencyContainer.resolve(CoreTokens.WorkflowNodeInstanceFactory), retryRunner);\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
|
-
import { A as NodeExecutor,
|
|
1
|
+
import { A as NodeExecutor, I as ItemValueResolver, M as NodeOutputNormalizer, _ as EngineExecutionLimitsPolicy, c as EngineFactory, dt as instanceCachingFactory, g as ENGINE_EXECUTION_LIMITS_DEFAULTS, gt as CoreTokens, 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, z as DefaultAsyncSleeper } from "./runtime-BdH94eBR.js";
|
|
2
2
|
|
|
3
3
|
//#region src/policies/executionLimits/EngineExecutionLimitsPolicyFactory.ts
|
|
4
4
|
/**
|
|
@@ -123,6 +123,8 @@ var EngineRuntimeRegistrar = class {
|
|
|
123
123
|
this.registerIntentServices(container);
|
|
124
124
|
}
|
|
125
125
|
registerSupportFactories(container) {
|
|
126
|
+
if (!container.isRegistered(ItemValueResolver, true)) container.registerSingleton(ItemValueResolver, ItemValueResolver);
|
|
127
|
+
if (!container.isRegistered(NodeOutputNormalizer, true)) container.registerSingleton(NodeOutputNormalizer, NodeOutputNormalizer);
|
|
126
128
|
container.register(EngineExecutionLimitsPolicyFactory, { useClass: EngineExecutionLimitsPolicyFactory });
|
|
127
129
|
container.register(NodeInstanceFactoryFactory, { useClass: NodeInstanceFactoryFactory });
|
|
128
130
|
container.register(DefaultAsyncSleeper, { useClass: DefaultAsyncSleeper });
|
|
@@ -212,4 +214,4 @@ var EngineRuntimeRegistrar = class {
|
|
|
212
214
|
|
|
213
215
|
//#endregion
|
|
214
216
|
export { EngineExecutionLimitsPolicyFactory as i, InMemoryWorkflowExecutionRepository as n, RunSummaryMapper as r, EngineRuntimeRegistrar as t };
|
|
215
|
-
//# sourceMappingURL=bootstrap-
|
|
217
|
+
//# sourceMappingURL=bootstrap-DbUlOl11.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bootstrap-DbUlOl11.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 ItemValueResolver,\n NodeExecutor,\n NodeExecutorFactory,\n NodeInstanceFactoryFactory,\n NodeOutputNormalizer,\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(ItemValueResolver, true)) {\n container.registerSingleton(ItemValueResolver, ItemValueResolver);\n }\n if (!container.isRegistered(NodeOutputNormalizer, true)) {\n container.registerSingleton(NodeOutputNormalizer, NodeOutputNormalizer);\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(dependencyContainer.resolve(CoreTokens.WorkflowNodeInstanceFactory), retryRunner);\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
|
-
import { $
|
|
1
|
+
import { $i as RunEventBus, $n as PreparedNodeActivationDispatch, An as EngineDeps, Br as PersistedRunState, Bt as ParentExecutionRef, Ci as CredentialSessionService, Ct as LineageCarryPolicy, Di as CredentialTypeId, Dn as BinaryStorageStatResult, Dt as NodeConnectionName, Ei as CredentialTypeDefinition, En as BinaryStorageReadResult, Et as NodeConfigBase, Fn as ExecutionContextFactory, Ft as NodeOutputs, Gn as NodeExecutionContext, Gt as RunId, Hr as PersistedWorkflowSnapshotNode, Jn as NodeExecutionScheduler, Jt as RunnableNodeInputJson, Kn as NodeExecutionRequest, Li as TypeToken, Lt as NodeSchedulerDecision, Mr as NodeExecutionSnapshot, Mt as NodeId, Nn as ExecutionBinaryService, Ot as NodeDefinition, Pn as ExecutionContext, Pt as NodeOffloadPolicy, Qi as RunEvent, Si as CredentialSessionFactoryArgs, Sn as RetryPolicySpec, Sr as WebhookTriggerRoutingDiagnostics, St as JsonValue, Ti as CredentialType, Tn as BinaryStorage, Tt as NodeActivationId, Un as NodeActivationScheduler, Ut as RunDataFactory, Vn as NodeActivationRequest, Wn as NodeBinaryAttachmentService, Wt as RunDataSnapshot, Xi as EngineExecutionLimitsPolicy, Y as ItemValue, Yn as NodeExecutionStatePublisher, Yr as RunPruneCandidate, Zn as NodeResolver, _t as Items, ai as WorkflowExecutionRepository, bi as CredentialRequirement, br as WebhookTriggerMatcher, di as CredentialHealth, dr as WorkflowRepository, ea as RunEventSubscription, en as WorkflowDefinition, gi as CredentialJsonRecord, gr as HttpMethod, ht as Item, ii as WorkflowExecutionPruneRepository, kn as BinaryStorageWriteResult, kr as EngineRunCounters, l as WorkflowSnapshotCodec, oi as AnyCredentialType, on as WorkflowId, pt as ExecutionMode, qt as RunnableNodeConfig, ri as WorkflowExecutionListingRepository, ti as RunSummary, u as Engine, ui as CredentialFieldSchema, ur as WorkflowNodeInstanceFactory, ut as BinaryAttachment, wn as BinaryBody, wr as WorkflowActivationPolicy, wt as MutableRunData, yr as WebhookInvocationMatch, zn as NodeActivationContinuation, zr as PersistedRunSchedulingState } from "./RunIntentService-Dkr4YwN8.js";
|
|
2
2
|
import { ZodType, input, output, z } from "zod";
|
|
3
3
|
|
|
4
4
|
//#region src/workflowSnapshots/MissingRuntimeFallbacksFactory.d.ts
|
|
@@ -81,16 +81,50 @@ declare class InProcessRetryRunner {
|
|
|
81
81
|
private static assertMultiplier;
|
|
82
82
|
}
|
|
83
83
|
//#endregion
|
|
84
|
+
//#region src/execution/ItemValueResolver.d.ts
|
|
85
|
+
/**
|
|
86
|
+
* Resolves {@link import("../contracts/itemValue").ItemValue} leaves on runnable config before {@link RunnableNode.execute}.
|
|
87
|
+
*/
|
|
88
|
+
declare class ItemValueResolver {
|
|
89
|
+
resolveConfigForItem<TConfig$1 extends RunnableNodeConfig<any, any>>(ctx: NodeExecutionContext<TConfig$1>, item: Item, itemIndex: number, items: ReadonlyArray<Item>): Promise<NodeExecutionContext<TConfig$1>>;
|
|
90
|
+
}
|
|
91
|
+
//#endregion
|
|
92
|
+
//#region src/execution/NodeOutputNormalizer.d.ts
|
|
93
|
+
declare class NodeOutputNormalizer {
|
|
94
|
+
normalizeExecuteResult(args: Readonly<{
|
|
95
|
+
baseItem: Item;
|
|
96
|
+
raw: unknown;
|
|
97
|
+
carry: LineageCarryPolicy;
|
|
98
|
+
}>): NodeOutputs;
|
|
99
|
+
private arrayFanOutToMain;
|
|
100
|
+
private emitPortsToOutputs;
|
|
101
|
+
private normalizePortPayload;
|
|
102
|
+
private isItemLike;
|
|
103
|
+
private applyLineage;
|
|
104
|
+
}
|
|
105
|
+
//#endregion
|
|
84
106
|
//#region src/execution/NodeExecutor.d.ts
|
|
85
107
|
declare class NodeExecutor {
|
|
86
108
|
private readonly nodeInstanceFactory;
|
|
87
109
|
private readonly retryRunner;
|
|
88
|
-
|
|
110
|
+
private readonly fanInMerger;
|
|
111
|
+
private readonly outputNormalizer;
|
|
112
|
+
private readonly itemValueResolver;
|
|
113
|
+
constructor(nodeInstanceFactory: WorkflowNodeInstanceFactory, retryRunner: InProcessRetryRunner, itemValueResolver?: ItemValueResolver);
|
|
89
114
|
execute(request: NodeActivationRequest): Promise<NodeOutputs>;
|
|
90
|
-
private
|
|
115
|
+
private executeMultiInputActivation;
|
|
91
116
|
private executeSingleInputNode;
|
|
92
|
-
private
|
|
93
|
-
private
|
|
117
|
+
private isTriggerNode;
|
|
118
|
+
private isRunnableNode;
|
|
119
|
+
private hasExecuteMulti;
|
|
120
|
+
private asMultiFromSingleActivation;
|
|
121
|
+
private executeRunnableActivation;
|
|
122
|
+
/** Use resolver ctx only when {@link NodeExecutionContext.config} is non-nullish. */
|
|
123
|
+
private pickExecutionContext;
|
|
124
|
+
private resolveInputSchema;
|
|
125
|
+
private assertItemJsonNotTopLevelArray;
|
|
126
|
+
private assertNoPortEnvelopeBypass;
|
|
127
|
+
private resolveLineageCarry;
|
|
94
128
|
}
|
|
95
129
|
//#endregion
|
|
96
130
|
//#region src/execution/NodeInstanceFactory.d.ts
|
|
@@ -133,34 +167,32 @@ interface DefinedNodeRunContext<TConfig$1 extends CredentialJsonRecord, TBinding
|
|
|
133
167
|
readonly execution: NodeExecutionContext<RunnableNodeConfig<TConfig$1, unknown>>;
|
|
134
168
|
}
|
|
135
169
|
/**
|
|
136
|
-
* Arguments for {@link defineNode} `
|
|
170
|
+
* Arguments for {@link defineNode} `execute` (engine `ctx` matches {@link RunnableNode.execute};
|
|
137
171
|
* the second callback parameter adds {@link DefinedNodeRunContext} for credential accessors).
|
|
138
172
|
*/
|
|
139
|
-
type
|
|
173
|
+
type DefineNodeExecuteArgs<TConfig$1 extends CredentialJsonRecord, TInputJson> = Readonly<{
|
|
140
174
|
input: TInputJson;
|
|
141
175
|
item: Item;
|
|
142
176
|
itemIndex: number;
|
|
143
177
|
items: Items;
|
|
144
|
-
ctx: NodeExecutionContext<RunnableNodeConfig<TInputJson, unknown
|
|
178
|
+
ctx: NodeExecutionContext<RunnableNodeConfig<TInputJson, unknown> & Readonly<{
|
|
145
179
|
config: TConfig$1;
|
|
146
180
|
}>>;
|
|
147
181
|
}>;
|
|
148
|
-
interface DefinedNode<TKey$1 extends string, TConfig$1 extends CredentialJsonRecord, TInputJson, TOutputJson, _TBindings extends DefinedNodeCredentialBindings | undefined = undefined
|
|
182
|
+
interface DefinedNode<TKey$1 extends string, TConfig$1 extends CredentialJsonRecord, TInputJson, TOutputJson, _TBindings extends DefinedNodeCredentialBindings | undefined = undefined> {
|
|
149
183
|
readonly kind: "defined-node";
|
|
150
184
|
readonly key: TKey$1;
|
|
151
185
|
readonly title: string;
|
|
152
186
|
readonly description?: string;
|
|
153
|
-
create(config: TConfig$1, name?: string, id?: string): RunnableNodeConfig<TInputJson, TOutputJson
|
|
187
|
+
create(config: TConfig$1, name?: string, id?: string): RunnableNodeConfig<TInputJson, TOutputJson>;
|
|
154
188
|
register(context: {
|
|
155
189
|
registerNode<TValue>(token: TypeToken<TValue>, implementation?: TypeToken<TValue>): void;
|
|
156
190
|
}): void;
|
|
157
191
|
}
|
|
158
192
|
/**
|
|
159
|
-
* Plugin / DSL-friendly node:
|
|
160
|
-
* The engine applies {@link RunnableNodeConfig.mapInput} (if any) + {@link RunnableNodeConfig.inputSchema}
|
|
161
|
-
* before `executeOne`. Use {@link defineBatchNode} for legacy batch `run(items, …)` semantics.
|
|
193
|
+
* Plugin / DSL-friendly node: per-item `execute` with optional {@link RunnableNodeConfig.inputSchema}.
|
|
162
194
|
*/
|
|
163
|
-
interface DefineNodeOptions<TKey$1 extends string, TConfig$1 extends CredentialJsonRecord, TInputJson, TOutputJson, TBindings extends DefinedNodeCredentialBindings | undefined = undefined
|
|
195
|
+
interface DefineNodeOptions<TKey$1 extends string, TConfig$1 extends CredentialJsonRecord, TInputJson, TOutputJson, TBindings extends DefinedNodeCredentialBindings | undefined = undefined> {
|
|
164
196
|
readonly key: TKey$1;
|
|
165
197
|
readonly title: string;
|
|
166
198
|
readonly description?: string;
|
|
@@ -174,17 +206,13 @@ interface DefineNodeOptions<TKey$1 extends string, TConfig$1 extends CredentialJ
|
|
|
174
206
|
readonly configSchema?: z.ZodType<TConfig$1>;
|
|
175
207
|
readonly credentials?: TBindings;
|
|
176
208
|
/**
|
|
177
|
-
* Validates **`input`**
|
|
209
|
+
* Validates **`input`** (engine also accepts `inputSchema` on the node class).
|
|
178
210
|
*/
|
|
179
211
|
readonly inputSchema?: ZodType<TInputJson>;
|
|
180
|
-
|
|
181
|
-
* Maps wire JSON (`item.json` from upstream) to execute input before validation.
|
|
182
|
-
*/
|
|
183
|
-
readonly mapInput?: ItemInputMapper<TWireJson, TInputJson>;
|
|
184
|
-
executeOne(args: DefineNodeExecuteOneArgs<TConfig$1, TInputJson, TWireJson>, context: DefinedNodeRunContext<TConfig$1, TBindings>): MaybePromise$1<TOutputJson>;
|
|
212
|
+
execute(args: DefineNodeExecuteArgs<TConfig$1, TInputJson>, context: DefinedNodeRunContext<TConfig$1, TBindings>): MaybePromise$1<TOutputJson>;
|
|
185
213
|
}
|
|
186
214
|
/**
|
|
187
|
-
* Batch-oriented defined node
|
|
215
|
+
* Batch-oriented defined node: `run` receives all item JSON once (last item in activation); emits one output per input row.
|
|
188
216
|
*/
|
|
189
217
|
interface DefineBatchNodeOptions<TKey$1 extends string, TConfig$1 extends CredentialJsonRecord, TInputJson, TOutputJson, TBindings extends DefinedNodeCredentialBindings | undefined = undefined> {
|
|
190
218
|
readonly key: TKey$1;
|
|
@@ -196,8 +224,8 @@ interface DefineBatchNodeOptions<TKey$1 extends string, TConfig$1 extends Creden
|
|
|
196
224
|
readonly credentials?: TBindings;
|
|
197
225
|
run(items: ReadonlyArray<TInputJson>, context: DefinedNodeRunContext<TConfig$1, TBindings>): MaybePromise$1<ReadonlyArray<TOutputJson>>;
|
|
198
226
|
}
|
|
199
|
-
declare function defineNode<TKey$1 extends string, TConfig$1 extends CredentialJsonRecord, TInputJson, TOutputJson, TBindings extends DefinedNodeCredentialBindings | undefined = undefined
|
|
200
|
-
declare function defineBatchNode<TKey$1 extends string, TConfig$1 extends CredentialJsonRecord, TInputJson, TOutputJson, TBindings extends DefinedNodeCredentialBindings | undefined = undefined>(options: DefineBatchNodeOptions<TKey$1, TConfig$1, TInputJson, TOutputJson, TBindings>): DefinedNode<TKey$1, TConfig$1, TInputJson, TOutputJson, TBindings
|
|
227
|
+
declare function defineNode<TKey$1 extends string, TConfig$1 extends CredentialJsonRecord, TInputJson, TOutputJson, TBindings extends DefinedNodeCredentialBindings | undefined = undefined>(options: DefineNodeOptions<TKey$1, TConfig$1, TInputJson, TOutputJson, TBindings>): DefinedNode<TKey$1, TConfig$1, TInputJson, TOutputJson, TBindings>;
|
|
228
|
+
declare function defineBatchNode<TKey$1 extends string, TConfig$1 extends CredentialJsonRecord, TInputJson, TOutputJson, TBindings extends DefinedNodeCredentialBindings | undefined = undefined>(options: DefineBatchNodeOptions<TKey$1, TConfig$1, TInputJson, TOutputJson, TBindings>): DefinedNode<TKey$1, TConfig$1, TInputJson, TOutputJson, TBindings>;
|
|
201
229
|
//#endregion
|
|
202
230
|
//#region src/authoring/DefinedNodeRegistry.d.ts
|
|
203
231
|
declare class DefinedNodeRegistry {
|
|
@@ -228,7 +256,7 @@ declare function defineCredential<TPublicSource extends CredentialFieldMap<any>
|
|
|
228
256
|
};
|
|
229
257
|
//#endregion
|
|
230
258
|
//#region src/ai/NodeBackedToolConfig.d.ts
|
|
231
|
-
declare class NodeBackedToolConfig<TNodeConfig extends RunnableNodeConfig<any, any
|
|
259
|
+
declare class NodeBackedToolConfig<TNodeConfig extends RunnableNodeConfig<any, any>, TInputSchema extends ZodSchemaAny, TOutputSchema extends ZodSchemaAny> implements ToolConfig {
|
|
232
260
|
readonly name: string;
|
|
233
261
|
readonly node: TNodeConfig;
|
|
234
262
|
readonly type: TypeToken<unknown>;
|
|
@@ -251,7 +279,7 @@ declare class NodeBackedToolConfig<TNodeConfig extends RunnableNodeConfig<any, a
|
|
|
251
279
|
//#endregion
|
|
252
280
|
//#region src/ai/AgentToolFactory.d.ts
|
|
253
281
|
declare class AgentToolFactoryImpl {
|
|
254
|
-
asTool<TNodeConfig extends RunnableNodeConfig<any, any
|
|
282
|
+
asTool<TNodeConfig extends RunnableNodeConfig<any, any>, TInputSchema extends ZodSchemaAny, TOutputSchema extends ZodSchemaAny>(node: TNodeConfig, options: Readonly<{
|
|
255
283
|
name?: string;
|
|
256
284
|
} & NodeBackedToolConfigOptions<TNodeConfig, TInputSchema, TOutputSchema>>): NodeBackedToolConfig<TNodeConfig, TInputSchema, TOutputSchema>;
|
|
257
285
|
private withDefaultAgentInputMapper;
|
|
@@ -331,7 +359,7 @@ type AgentMessageLine<TInputJson = unknown> = AgentMessageDto | AgentMessageTemp
|
|
|
331
359
|
* Message list for an agent. Prefer a **plain array** of `{ role, content }` (optionally with function `content` for templates).
|
|
332
360
|
* Use the object form only when you need `buildMessages` to append messages after optional `prompt` lines.
|
|
333
361
|
*/
|
|
334
|
-
type AgentMessageConfig<TInputJson = unknown> = ReadonlyArray<AgentMessageLine<TInputJson>> | {
|
|
362
|
+
type AgentMessageConfig<TInputJson = unknown> = ItemValue<ReadonlyArray<AgentMessageLine<TInputJson>>, TInputJson> | ReadonlyArray<AgentMessageLine<TInputJson>> | {
|
|
335
363
|
readonly prompt?: ReadonlyArray<AgentMessageLine<TInputJson>>;
|
|
336
364
|
readonly buildMessages?: (args: AgentMessageBuildArgs<TInputJson>) => ReadonlyArray<AgentMessageDto>;
|
|
337
365
|
};
|
|
@@ -377,7 +405,7 @@ interface ChatModelFactory<TConfig$1 extends ChatModelConfig = ChatModelConfig>
|
|
|
377
405
|
ctx: NodeExecutionContext<any>;
|
|
378
406
|
}>): Promise<LangChainChatModelLike> | LangChainChatModelLike;
|
|
379
407
|
}
|
|
380
|
-
type NodeBackedToolInputMapperArgs<TNodeConfig extends RunnableNodeConfig<any, any
|
|
408
|
+
type NodeBackedToolInputMapperArgs<TNodeConfig extends RunnableNodeConfig<any, any>, TToolInput = unknown> = Readonly<{
|
|
381
409
|
input: TToolInput;
|
|
382
410
|
item: Item;
|
|
383
411
|
itemIndex: number;
|
|
@@ -385,7 +413,7 @@ type NodeBackedToolInputMapperArgs<TNodeConfig extends RunnableNodeConfig<any, a
|
|
|
385
413
|
ctx: NodeExecutionContext<any>;
|
|
386
414
|
node: TNodeConfig;
|
|
387
415
|
}>;
|
|
388
|
-
type NodeBackedToolOutputMapperArgs<TNodeConfig extends RunnableNodeConfig<any, any
|
|
416
|
+
type NodeBackedToolOutputMapperArgs<TNodeConfig extends RunnableNodeConfig<any, any>, TToolInput = unknown> = Readonly<{
|
|
389
417
|
input: TToolInput;
|
|
390
418
|
item: Item;
|
|
391
419
|
itemIndex: number;
|
|
@@ -394,9 +422,9 @@ type NodeBackedToolOutputMapperArgs<TNodeConfig extends RunnableNodeConfig<any,
|
|
|
394
422
|
node: TNodeConfig;
|
|
395
423
|
outputs: NodeOutputs;
|
|
396
424
|
}>;
|
|
397
|
-
type NodeBackedToolInputMapper<TNodeConfig extends RunnableNodeConfig<any, any
|
|
398
|
-
type NodeBackedToolOutputMapper<TNodeConfig extends RunnableNodeConfig<any, any
|
|
399
|
-
type NodeBackedToolConfigOptions<TNodeConfig extends RunnableNodeConfig<any, any
|
|
425
|
+
type NodeBackedToolInputMapper<TNodeConfig extends RunnableNodeConfig<any, any>, TToolInput = unknown> = (args: NodeBackedToolInputMapperArgs<TNodeConfig, TToolInput>) => Item<RunnableNodeInputJson<TNodeConfig>> | RunnableNodeInputJson<TNodeConfig>;
|
|
426
|
+
type NodeBackedToolOutputMapper<TNodeConfig extends RunnableNodeConfig<any, any>, TToolInput = unknown, TToolOutput = unknown> = (args: NodeBackedToolOutputMapperArgs<TNodeConfig, TToolInput>) => TToolOutput;
|
|
427
|
+
type NodeBackedToolConfigOptions<TNodeConfig extends RunnableNodeConfig<any, any>, TInputSchema extends ZodSchemaAny, TOutputSchema extends ZodSchemaAny> = Readonly<{
|
|
400
428
|
description?: string;
|
|
401
429
|
presentation?: AgentCanvasPresentation;
|
|
402
430
|
inputSchema: TInputSchema;
|
|
@@ -404,7 +432,7 @@ type NodeBackedToolConfigOptions<TNodeConfig extends RunnableNodeConfig<any, any
|
|
|
404
432
|
mapInput?: NodeBackedToolInputMapper<TNodeConfig, input<TInputSchema>>;
|
|
405
433
|
mapOutput?: NodeBackedToolOutputMapper<TNodeConfig, input<TInputSchema>, output<TOutputSchema>>;
|
|
406
434
|
}>;
|
|
407
|
-
interface AgentNodeConfig<TInputJson = unknown, TOutputJson = unknown
|
|
435
|
+
interface AgentNodeConfig<TInputJson = unknown, TOutputJson = unknown> extends RunnableNodeConfig<TInputJson, TOutputJson> {
|
|
408
436
|
readonly messages: AgentMessageConfig<TInputJson>;
|
|
409
437
|
readonly chatModel: ChatModelConfig;
|
|
410
438
|
readonly tools?: ReadonlyArray<ToolConfig>;
|
|
@@ -703,5 +731,5 @@ declare class LocalOnlyScheduler implements NodeExecutionScheduler {
|
|
|
703
731
|
}>;
|
|
704
732
|
}
|
|
705
733
|
//#endregion
|
|
706
|
-
export { LangChainChatModelLike as $, AgentConnectionNodeRole as A,
|
|
707
|
-
//# sourceMappingURL=index-
|
|
734
|
+
export { LangChainChatModelLike as $, AgentConnectionNodeRole as A, NodeOutputNormalizer as At, AgentMessageTemplate as B, PersistedRuntimeTypeKind as C, DefinedNodeRunContext as Ct, AgentConnectionCredentialSource as D, SystemClock as Dt, InMemoryRunEventBus as E, Clock as Et, AgentMessageBuildArgs as F, AsyncSleeper as Ft, AgentToolCall as G, AgentModelInvocationOptions as H, AgentMessageConfig as I, CredentialResolverFactory as It, AgentToolExecuteArgs as J, AgentToolCallPlanner as K, AgentMessageDto as L, NodeEventPublisher as Lt, AgentCanvasPresentation as M, InProcessRetryRunner as Mt, AgentGuardrailConfig as N, DefaultExecutionContextFactory as Nt, AgentConnectionNodeCollector as O, NodeInstanceFactory as Ot, AgentGuardrailDefaults as P, DefaultAsyncSleeper as Pt, ChatModelFactory as Q, AgentMessageLine as R, EngineCompositionDeps as Rt, PersistedRuntimeTypeDecoratorOptions as S, DefinedNodeCredentialBindings as St, EventPublishingWorkflowExecutionRepository as T, defineNode as Tt, AgentNodeConfig as U, AgentMessageTemplateContent as V, AgentTool as W, AgentTurnLimitBehavior as X, AgentToolToken as Y, ChatModelConfig as Z, tool as _, DefineNodeExecuteArgs as _t, ConfigDrivenOffloadPolicy as a, Tool as at, PersistedRuntimeTypeMetadataStore as b, DefinedNodeCredentialAccessors as bt, InMemoryWorkflowExecutionRepository as c, ZodSchemaAny as ct, DefaultExecutionBinaryService as d, AgentToolFactory as dt, NodeBackedToolConfigOptions as et, UnavailableBinaryStorage as f, NodeBackedToolConfig as ft, node as g, DefineBatchNodeOptions as gt, getPersistedRuntimeTypeMetadata as h, DefinedNodeRegistry as ht, InlineDrivingScheduler as i, NodeBackedToolOutputMapperArgs as it, AgentAttachmentRole as j, ItemValueResolver as jt, AgentConnectionNodeDescriptor as k, NodeExecutor as kt, InMemoryRunDataFactory as l, AgentConfigInspector as lt, chatModel as m, defineCredential as mt, HintOnlyOffloadPolicy as n, NodeBackedToolInputMapperArgs as nt, WorkflowRepositoryWebhookTriggerMatcher as o, ToolConfig as ot, ItemsInputNormalizer as p, DefineCredentialOptions as pt, AgentToolDefinition as q, DefaultDrivingScheduler as r, NodeBackedToolOutputMapper as rt, RunSummaryMapper as s, ToolExecuteArgs as st, LocalOnlyScheduler as t, NodeBackedToolInputMapper as tt, InMemoryBinaryStorage as u, AgentMessageConfigNormalizer as ut, StackTraceCallSitePathResolver as v, DefineNodeOptions as vt, PersistedRuntimeTypeMetadata as w, defineBatchNode as wt, InjectableRuntimeDecoratorComposer as x, DefinedNodeCredentialBinding as xt, PersistedRuntimeTypeNameResolver as y, DefinedNode as yt, AgentMessageRole as z, EngineFactory as zt };
|
|
735
|
+
//# sourceMappingURL=index-B2v4wtys.d.ts.map
|
package/dist/index.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const require_runtime = require('./runtime-
|
|
2
|
-
const require_workflowActivationPolicy = require('./workflowActivationPolicy-
|
|
1
|
+
const require_runtime = require('./runtime-feFn8OmG.cjs');
|
|
2
|
+
const require_workflowActivationPolicy = require('./workflowActivationPolicy-6V3OJD3N.cjs');
|
|
3
3
|
let zod = require("zod");
|
|
4
4
|
zod = require_runtime.__toESM(zod);
|
|
5
5
|
let node_crypto = require("node:crypto");
|
|
@@ -69,7 +69,7 @@ function defineNode(options) {
|
|
|
69
69
|
kind = "node";
|
|
70
70
|
outputPorts = ["main"];
|
|
71
71
|
inputSchema = options.inputSchema;
|
|
72
|
-
async
|
|
72
|
+
async execute(args) {
|
|
73
73
|
const ctx = args.ctx;
|
|
74
74
|
const context = {
|
|
75
75
|
config: ctx.config.config,
|
|
@@ -83,7 +83,7 @@ function defineNode(options) {
|
|
|
83
83
|
items: args.items,
|
|
84
84
|
ctx
|
|
85
85
|
};
|
|
86
|
-
return await options.
|
|
86
|
+
return await options.execute(payload, context);
|
|
87
87
|
}
|
|
88
88
|
};
|
|
89
89
|
require_runtime.node({ name: options.key })(DefinedNodeRuntime);
|
|
@@ -92,7 +92,6 @@ function defineNode(options) {
|
|
|
92
92
|
type = DefinedNodeRuntime;
|
|
93
93
|
icon = options.icon;
|
|
94
94
|
inputSchema = options.inputSchema;
|
|
95
|
-
mapInput = options.mapInput;
|
|
96
95
|
constructor(name, config, id) {
|
|
97
96
|
this.name = name;
|
|
98
97
|
this.config = config;
|
|
@@ -122,19 +121,15 @@ function defineBatchNode(options) {
|
|
|
122
121
|
const DefinedNodeRuntime = class {
|
|
123
122
|
kind = "node";
|
|
124
123
|
outputPorts = ["main"];
|
|
125
|
-
async execute(
|
|
126
|
-
|
|
124
|
+
async execute(args) {
|
|
125
|
+
if (args.itemIndex !== args.items.length - 1) return [];
|
|
126
|
+
const ctx = args.ctx;
|
|
127
|
+
const context = {
|
|
127
128
|
config: ctx.config.config,
|
|
128
129
|
credentials: definedNodeCredentialAccessorFactory.create(options.credentials, ctx),
|
|
129
130
|
execution: ctx
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
if (!existing) return { json };
|
|
133
|
-
return {
|
|
134
|
-
...existing,
|
|
135
|
-
json
|
|
136
|
-
};
|
|
137
|
-
}) };
|
|
131
|
+
};
|
|
132
|
+
return [...await options.run(args.items.map((item) => item.json), context)];
|
|
138
133
|
}
|
|
139
134
|
};
|
|
140
135
|
require_runtime.node({ name: options.key })(DefinedNodeRuntime);
|
|
@@ -307,6 +302,7 @@ var AgentConfigInspector = class {
|
|
|
307
302
|
if (messages === void 0 || messages === null) return false;
|
|
308
303
|
if (Array.isArray(messages)) return messages.length > 0;
|
|
309
304
|
if (typeof messages === "object") {
|
|
305
|
+
if (require_runtime.isItemValue(messages)) return true;
|
|
310
306
|
const o = messages;
|
|
311
307
|
return Array.isArray(o.prompt) && o.prompt.length > 0 || typeof o.buildMessages === "function";
|
|
312
308
|
}
|
|
@@ -376,6 +372,7 @@ var AgentMessageConfigNormalizer = class {
|
|
|
376
372
|
return out;
|
|
377
373
|
}
|
|
378
374
|
static normalizeRichMessages(config, args) {
|
|
375
|
+
if (require_runtime.isItemValue(config)) throw new Error("AIAgent messages wrapped in itemValue(...) must be resolved by the engine before prompt normalization.");
|
|
379
376
|
if (Array.isArray(config)) return config.map((line) => this.lineToDto(line, args));
|
|
380
377
|
const structured = config;
|
|
381
378
|
const messages = [];
|
|
@@ -672,6 +669,7 @@ exports.InMemoryRunDataFactory = require_runtime.InMemoryRunDataFactory;
|
|
|
672
669
|
exports.InMemoryRunEventBus = require_workflowActivationPolicy.InMemoryRunEventBus;
|
|
673
670
|
exports.InProcessRetryRunner = require_runtime.InProcessRetryRunner;
|
|
674
671
|
exports.InjectableRuntimeDecoratorComposer = require_runtime.InjectableRuntimeDecoratorComposer;
|
|
672
|
+
exports.ItemValueResolver = require_runtime.ItemValueResolver;
|
|
675
673
|
Object.defineProperty(exports, 'ItemsInputNormalizer', {
|
|
676
674
|
enumerable: true,
|
|
677
675
|
get: function () {
|
|
@@ -681,6 +679,7 @@ Object.defineProperty(exports, 'ItemsInputNormalizer', {
|
|
|
681
679
|
exports.NoRetryPolicy = NoRetryPolicy;
|
|
682
680
|
exports.NodeBackedToolConfig = NodeBackedToolConfig;
|
|
683
681
|
exports.NodeEventPublisher = require_runtime.NodeEventPublisher;
|
|
682
|
+
exports.NodeOutputNormalizer = require_runtime.NodeOutputNormalizer;
|
|
684
683
|
exports.PersistedRuntimeTypeMetadataStore = require_runtime.PersistedRuntimeTypeMetadataStore;
|
|
685
684
|
exports.PersistedRuntimeTypeNameResolver = require_runtime.PersistedRuntimeTypeNameResolver;
|
|
686
685
|
exports.RetryPolicy = RetryPolicy;
|
|
@@ -710,6 +709,8 @@ Object.defineProperty(exports, 'delay', {
|
|
|
710
709
|
return tsyringe.delay;
|
|
711
710
|
}
|
|
712
711
|
});
|
|
712
|
+
exports.emitPorts = require_runtime.emitPorts;
|
|
713
|
+
exports.getOriginIndexFromItem = require_runtime.getOriginIndexFromItem;
|
|
713
714
|
exports.getPersistedRuntimeTypeMetadata = require_runtime.getPersistedRuntimeTypeMetadata;
|
|
714
715
|
Object.defineProperty(exports, 'inject', {
|
|
715
716
|
enumerable: true,
|
|
@@ -741,6 +742,10 @@ Object.defineProperty(exports, 'instancePerContainerCachingFactory', {
|
|
|
741
742
|
return tsyringe.instancePerContainerCachingFactory;
|
|
742
743
|
}
|
|
743
744
|
});
|
|
745
|
+
exports.isItemValue = require_runtime.isItemValue;
|
|
746
|
+
exports.isPortsEmission = require_runtime.isPortsEmission;
|
|
747
|
+
exports.isUnbrandedPortsEmissionShape = require_runtime.isUnbrandedPortsEmissionShape;
|
|
748
|
+
exports.itemValue = require_runtime.itemValue;
|
|
744
749
|
exports.node = require_runtime.node;
|
|
745
750
|
Object.defineProperty(exports, 'predicateAwareClassFactory', {
|
|
746
751
|
enumerable: true,
|
|
@@ -754,6 +759,8 @@ Object.defineProperty(exports, 'registry', {
|
|
|
754
759
|
return tsyringe.registry;
|
|
755
760
|
}
|
|
756
761
|
});
|
|
762
|
+
exports.resolveItemValuesForExecution = require_runtime.resolveItemValuesForExecution;
|
|
763
|
+
exports.resolveItemValuesInUnknown = require_runtime.resolveItemValuesInUnknown;
|
|
757
764
|
Object.defineProperty(exports, 'singleton', {
|
|
758
765
|
enumerable: true,
|
|
759
766
|
get: function () {
|