@codemation/core 0.11.0 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/CostCatalogContract-DD7fQ4FF.d.cts +19 -0
  3. package/dist/{EngineRuntimeRegistration.types-MPYWsEM0.d.cts → EngineRuntimeRegistration.types-DTV5_7Jw.d.cts} +3 -2
  4. package/dist/{EngineRuntimeRegistration.types-BZ_1XWAJ.d.ts → EngineRuntimeRegistration.types-Dl92Hdoi.d.ts} +2 -2
  5. package/dist/InMemoryRunDataFactory-qMiYjhCK.d.cts +202 -0
  6. package/dist/{InMemoryRunEventBusRegistry-sM4z4n_i.js → InMemoryRunEventBusRegistry-Bwunvt1T.js} +1 -1
  7. package/dist/{InMemoryRunEventBusRegistry-sM4z4n_i.js.map → InMemoryRunEventBusRegistry-Bwunvt1T.js.map} +1 -1
  8. package/dist/{InMemoryRunEventBusRegistry-VM3OWnHo.cjs → InMemoryRunEventBusRegistry-Sa86VxuV.cjs} +1 -1
  9. package/dist/{InMemoryRunEventBusRegistry-VM3OWnHo.cjs.map → InMemoryRunEventBusRegistry-Sa86VxuV.cjs.map} +1 -1
  10. package/dist/ItemsInputNormalizer-BhuxvZh5.js +36 -0
  11. package/dist/ItemsInputNormalizer-BhuxvZh5.js.map +1 -0
  12. package/dist/ItemsInputNormalizer-C09a7iFP.d.ts +321 -0
  13. package/dist/ItemsInputNormalizer-DLaD6rTl.d.cts +407 -0
  14. package/dist/ItemsInputNormalizer-Div-fb6a.cjs +43 -0
  15. package/dist/ItemsInputNormalizer-Div-fb6a.cjs.map +1 -0
  16. package/dist/RunIntentService-BOSGwmqn.d.ts +299 -0
  17. package/dist/RunIntentService-CWMMrAP4.d.cts +220 -0
  18. package/dist/{RunIntentService-MUHJ1bhO.d.cts → agentMcpTypes-DUmniLOY.d.cts} +183 -206
  19. package/dist/bootstrap/index.cjs +4 -2
  20. package/dist/bootstrap/index.d.cts +63 -5
  21. package/dist/bootstrap/index.d.ts +5 -4
  22. package/dist/bootstrap/index.js +4 -2
  23. package/dist/{bootstrap-Dgzsjoj7.js → bootstrap-CKTMMNmL.js} +174 -3
  24. package/dist/bootstrap-CKTMMNmL.js.map +1 -0
  25. package/dist/{bootstrap-dVmpU1ju.cjs → bootstrap-D460dCgS.cjs} +209 -36
  26. package/dist/bootstrap-D460dCgS.cjs.map +1 -0
  27. package/dist/browser.cjs +17 -0
  28. package/dist/browser.d.cts +4 -0
  29. package/dist/browser.d.ts +3 -0
  30. package/dist/browser.js +4 -0
  31. package/dist/contracts-CK0x6w_G.cjs +74 -0
  32. package/dist/contracts-CK0x6w_G.cjs.map +1 -0
  33. package/dist/contracts-DXdfTdpW.js +50 -0
  34. package/dist/contracts-DXdfTdpW.js.map +1 -0
  35. package/dist/contracts.cjs +6 -0
  36. package/dist/contracts.d.cts +5 -0
  37. package/dist/contracts.d.ts +2 -0
  38. package/dist/contracts.js +3 -0
  39. package/dist/di-DdsgWfVy.js +405 -0
  40. package/dist/di-DdsgWfVy.js.map +1 -0
  41. package/dist/di-tO6R7VJV.cjs +524 -0
  42. package/dist/di-tO6R7VJV.cjs.map +1 -0
  43. package/dist/executionPersistenceContracts-DenJJK2T.d.cts +275 -0
  44. package/dist/{index-Bes88mxT.d.ts → index-BZDhEQ6W.d.ts} +278 -415
  45. package/dist/{RunIntentService-BrEq6Jm6.d.ts → index-CSKKuK60.d.ts} +441 -286
  46. package/dist/index.cjs +97 -250
  47. package/dist/index.cjs.map +1 -1
  48. package/dist/index.d.cts +395 -803
  49. package/dist/index.d.ts +5 -3
  50. package/dist/index.js +58 -224
  51. package/dist/index.js.map +1 -1
  52. package/dist/params-DqRvku2h.d.cts +44 -0
  53. package/dist/{runtime-Duf3ClPw.js → runtime-BPZgnZ9G.js} +591 -382
  54. package/dist/runtime-BPZgnZ9G.js.map +1 -0
  55. package/dist/{runtime-vH0EeZzH.cjs → runtime-CyW9c9XM.cjs} +651 -500
  56. package/dist/runtime-CyW9c9XM.cjs.map +1 -0
  57. package/dist/testing.cjs +23 -21
  58. package/dist/testing.cjs.map +1 -1
  59. package/dist/testing.d.cts +3 -2
  60. package/dist/testing.d.ts +3 -2
  61. package/dist/testing.js +5 -3
  62. package/dist/testing.js.map +1 -1
  63. package/package.json +9 -5
  64. package/src/ai/AgentConnectionNodeCollector.ts +1 -1
  65. package/src/authoring/defineHumanApprovalNode.types.ts +379 -0
  66. package/src/authoring/index.ts +6 -0
  67. package/src/bootstrap/runtime/EngineRuntimeRegistrar.ts +29 -0
  68. package/src/contracts/CodemationTelemetryAttributeNames.ts +10 -0
  69. package/src/contracts/credentialTypes.ts +10 -0
  70. package/src/contracts/hitlSeamTypes.ts +34 -0
  71. package/src/contracts/humanTaskStoreTypes.ts +48 -0
  72. package/src/contracts/inboxChannelTypes.ts +58 -0
  73. package/src/contracts/index.ts +3 -0
  74. package/src/contracts/runTypes.ts +61 -3
  75. package/src/contracts/runtimeTypes.ts +112 -0
  76. package/src/credentials/CredentialMaterialProvider.types.ts +61 -0
  77. package/src/credentials/ManagedCredentialMaterialWriteError.ts +14 -0
  78. package/src/credentials/ManagedMaterialFetchError.ts +16 -0
  79. package/src/execution/ActivationEnqueueService.ts +16 -0
  80. package/src/execution/DefaultExecutionContextFactory.ts +11 -0
  81. package/src/execution/NodeExecutionSnapshotFactory.ts +7 -1
  82. package/src/execution/NodeExecutor.ts +60 -1
  83. package/src/execution/NodeExecutorFactory.ts +12 -2
  84. package/src/execution/NodeSuspensionHandler.ts +220 -0
  85. package/src/execution/PersistedRunStateTerminalBuilder.ts +5 -2
  86. package/src/execution/RunStateSemantics.ts +5 -0
  87. package/src/execution/RunSuspendedError.ts +21 -0
  88. package/src/index.ts +40 -0
  89. package/src/orchestration/Engine.ts +12 -2
  90. package/src/orchestration/EngineWaiters.ts +1 -1
  91. package/src/orchestration/NodeExecutionRequestHandlerService.ts +25 -2
  92. package/src/orchestration/RunContinuationService.ts +226 -2
  93. package/src/orchestration/TestSuiteOrchestrator.ts +5 -4
  94. package/src/runtime/RunIntentService.ts +3 -0
  95. package/src/workflow/dsl/ChainCursorResolver.ts +36 -0
  96. package/tsdown.config.ts +1 -1
  97. package/dist/InMemoryRunDataFactory-hmkh0lzR.d.cts +0 -138
  98. package/dist/bootstrap-Dgzsjoj7.js.map +0 -1
  99. package/dist/bootstrap-dVmpU1ju.cjs.map +0 -1
  100. package/dist/runtime-Duf3ClPw.js.map +0 -1
  101. package/dist/runtime-vH0EeZzH.cjs.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contracts-CK0x6w_G.cjs","names":[],"sources":["../src/contracts/AgentBindError.ts","../src/contracts/NoOpAgentMcpIntegration.ts","../src/contracts/assertionTypes.ts"],"sourcesContent":["/**\n * Thrown at agent bind time when mcpServers declarations cannot be resolved.\n * Causes include: unknown server id, missing credential instance, insufficient scopes,\n * and ambiguous shorthand binding (multiple credential instances match).\n */\nexport class AgentBindError extends Error {\n constructor(message: string) {\n super(message);\n this.name = \"AgentBindError\";\n }\n}\n","import type { AgentMcpIntegration, AgentMcpToolMap } from \"./agentMcpTypes\";\n\n/**\n * No-op implementation of AgentMcpIntegration.\n * Registered by the core engine runtime as a fallback when the host does not\n * supply a real implementation (e.g. in unit tests or headless engine setups).\n * Always returns an empty tool map so the agent runs with node-backed tools only.\n */\nexport class NoOpAgentMcpIntegration implements AgentMcpIntegration {\n async prepareMcpTools(): Promise<AgentMcpToolMap> {\n return new Map();\n }\n}\n","import type { JsonValue, NodeId } from \"./workflowTypes\";\n\n/**\n * One assertion emitted by an assertion-emitting node (a node whose config sets\n * `emitsAssertions: true`). Each emitted item on `main` carries one of these as `item.json`.\n *\n * Pass/fail is derived from `score >= (passThreshold ?? 0.5)` — see {@link deriveAssertionPassed}.\n * The `errored` marker is for cases where the assertion code itself threw (distinct from\n * \"the assertion was evaluated and the score was low\") and is treated as a hard fail in rollups\n * regardless of `score`.\n */\nexport interface AssertionResult {\n readonly name: string;\n /** 0..1 score. Source of truth for pass/fail (compared against `passThreshold`). */\n readonly score: number;\n /** 0..1 threshold for \"passed\". When omitted, consumers default to 0.5. */\n readonly passThreshold?: number;\n /** True when evaluating the assertion threw — treated as fail regardless of `score`. */\n readonly errored?: true;\n /** What the assertion expected. Free-form JSON; UIs render with a JSON viewer. */\n readonly expected?: JsonValue;\n /** What the workflow actually produced. */\n readonly actual?: JsonValue;\n /** Short human-readable explanation, especially for fails / errors. */\n readonly message?: string;\n /** Bag of supplemental fields (e.g. judge prompt, judge raw response, comparison method). */\n readonly details?: Readonly<Record<string, JsonValue>>;\n}\n\n/**\n * Default {@link AssertionResult.passThreshold} when authors omit it. Boolean-style assertions\n * (assertEqual / contains / etc.) emit `score: 1` or `score: 0` so this default works for them;\n * AI-judge assertions are expected to set their own threshold.\n */\nexport const DEFAULT_ASSERTION_PASS_THRESHOLD = 0.5;\n\n/**\n * Derive whether an assertion result is considered \"passing\" using the score-based contract:\n * `errored` always fails, otherwise `score >= (passThreshold ?? 0.5)`. This is the canonical\n * derivation — UI and rollup code should call it rather than inlining the comparison so future\n * tweaks (e.g. NaN handling) land in one place.\n */\nexport function deriveAssertionPassed(result: {\n readonly score: number;\n readonly passThreshold?: number;\n readonly errored?: true;\n}): boolean {\n if (result.errored === true) return false;\n const threshold = result.passThreshold ?? DEFAULT_ASSERTION_PASS_THRESHOLD;\n return result.score >= threshold;\n}\n\n/**\n * Provenance for a persisted {@link AssertionResult}: which node produced it and where in the\n * per-item iteration tree it landed. Filled in by the host-side persister, not the node itself.\n */\nexport interface AssertionResultProvenance {\n readonly nodeId: NodeId;\n /** Per-item iteration id when the emitting node ran inside a per-item loop. */\n readonly iterationId?: string;\n /** Item index (0-based) within the activation that produced this assertion. */\n readonly itemIndex?: number;\n}\n"],"mappings":";;;;;;;AAKA,IAAa,iBAAb,cAAoC,MAAM;CACxC,YAAY,SAAiB;AAC3B,QAAM,QAAQ;AACd,OAAK,OAAO;;;;;;;;;;;;ACAhB,IAAa,0BAAb,MAAoE;CAClE,MAAM,kBAA4C;AAChD,yBAAO,IAAI,KAAK;;;;;;;;;;;ACwBpB,MAAa,mCAAmC;;;;;;;AAQhD,SAAgB,sBAAsB,QAI1B;AACV,KAAI,OAAO,YAAY,KAAM,QAAO;CACpC,MAAM,YAAY,OAAO,iBAAiB;AAC1C,QAAO,OAAO,SAAS"}
@@ -0,0 +1,50 @@
1
+ //#region src/contracts/AgentBindError.ts
2
+ /**
3
+ * Thrown at agent bind time when mcpServers declarations cannot be resolved.
4
+ * Causes include: unknown server id, missing credential instance, insufficient scopes,
5
+ * and ambiguous shorthand binding (multiple credential instances match).
6
+ */
7
+ var AgentBindError = class extends Error {
8
+ constructor(message) {
9
+ super(message);
10
+ this.name = "AgentBindError";
11
+ }
12
+ };
13
+
14
+ //#endregion
15
+ //#region src/contracts/NoOpAgentMcpIntegration.ts
16
+ /**
17
+ * No-op implementation of AgentMcpIntegration.
18
+ * Registered by the core engine runtime as a fallback when the host does not
19
+ * supply a real implementation (e.g. in unit tests or headless engine setups).
20
+ * Always returns an empty tool map so the agent runs with node-backed tools only.
21
+ */
22
+ var NoOpAgentMcpIntegration = class {
23
+ async prepareMcpTools() {
24
+ return /* @__PURE__ */ new Map();
25
+ }
26
+ };
27
+
28
+ //#endregion
29
+ //#region src/contracts/assertionTypes.ts
30
+ /**
31
+ * Default {@link AssertionResult.passThreshold} when authors omit it. Boolean-style assertions
32
+ * (assertEqual / contains / etc.) emit `score: 1` or `score: 0` so this default works for them;
33
+ * AI-judge assertions are expected to set their own threshold.
34
+ */
35
+ const DEFAULT_ASSERTION_PASS_THRESHOLD = .5;
36
+ /**
37
+ * Derive whether an assertion result is considered "passing" using the score-based contract:
38
+ * `errored` always fails, otherwise `score >= (passThreshold ?? 0.5)`. This is the canonical
39
+ * derivation — UI and rollup code should call it rather than inlining the comparison so future
40
+ * tweaks (e.g. NaN handling) land in one place.
41
+ */
42
+ function deriveAssertionPassed(result) {
43
+ if (result.errored === true) return false;
44
+ const threshold = result.passThreshold ?? DEFAULT_ASSERTION_PASS_THRESHOLD;
45
+ return result.score >= threshold;
46
+ }
47
+
48
+ //#endregion
49
+ export { AgentBindError as i, deriveAssertionPassed as n, NoOpAgentMcpIntegration as r, DEFAULT_ASSERTION_PASS_THRESHOLD as t };
50
+ //# sourceMappingURL=contracts-DXdfTdpW.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contracts-DXdfTdpW.js","names":[],"sources":["../src/contracts/AgentBindError.ts","../src/contracts/NoOpAgentMcpIntegration.ts","../src/contracts/assertionTypes.ts"],"sourcesContent":["/**\n * Thrown at agent bind time when mcpServers declarations cannot be resolved.\n * Causes include: unknown server id, missing credential instance, insufficient scopes,\n * and ambiguous shorthand binding (multiple credential instances match).\n */\nexport class AgentBindError extends Error {\n constructor(message: string) {\n super(message);\n this.name = \"AgentBindError\";\n }\n}\n","import type { AgentMcpIntegration, AgentMcpToolMap } from \"./agentMcpTypes\";\n\n/**\n * No-op implementation of AgentMcpIntegration.\n * Registered by the core engine runtime as a fallback when the host does not\n * supply a real implementation (e.g. in unit tests or headless engine setups).\n * Always returns an empty tool map so the agent runs with node-backed tools only.\n */\nexport class NoOpAgentMcpIntegration implements AgentMcpIntegration {\n async prepareMcpTools(): Promise<AgentMcpToolMap> {\n return new Map();\n }\n}\n","import type { JsonValue, NodeId } from \"./workflowTypes\";\n\n/**\n * One assertion emitted by an assertion-emitting node (a node whose config sets\n * `emitsAssertions: true`). Each emitted item on `main` carries one of these as `item.json`.\n *\n * Pass/fail is derived from `score >= (passThreshold ?? 0.5)` — see {@link deriveAssertionPassed}.\n * The `errored` marker is for cases where the assertion code itself threw (distinct from\n * \"the assertion was evaluated and the score was low\") and is treated as a hard fail in rollups\n * regardless of `score`.\n */\nexport interface AssertionResult {\n readonly name: string;\n /** 0..1 score. Source of truth for pass/fail (compared against `passThreshold`). */\n readonly score: number;\n /** 0..1 threshold for \"passed\". When omitted, consumers default to 0.5. */\n readonly passThreshold?: number;\n /** True when evaluating the assertion threw — treated as fail regardless of `score`. */\n readonly errored?: true;\n /** What the assertion expected. Free-form JSON; UIs render with a JSON viewer. */\n readonly expected?: JsonValue;\n /** What the workflow actually produced. */\n readonly actual?: JsonValue;\n /** Short human-readable explanation, especially for fails / errors. */\n readonly message?: string;\n /** Bag of supplemental fields (e.g. judge prompt, judge raw response, comparison method). */\n readonly details?: Readonly<Record<string, JsonValue>>;\n}\n\n/**\n * Default {@link AssertionResult.passThreshold} when authors omit it. Boolean-style assertions\n * (assertEqual / contains / etc.) emit `score: 1` or `score: 0` so this default works for them;\n * AI-judge assertions are expected to set their own threshold.\n */\nexport const DEFAULT_ASSERTION_PASS_THRESHOLD = 0.5;\n\n/**\n * Derive whether an assertion result is considered \"passing\" using the score-based contract:\n * `errored` always fails, otherwise `score >= (passThreshold ?? 0.5)`. This is the canonical\n * derivation — UI and rollup code should call it rather than inlining the comparison so future\n * tweaks (e.g. NaN handling) land in one place.\n */\nexport function deriveAssertionPassed(result: {\n readonly score: number;\n readonly passThreshold?: number;\n readonly errored?: true;\n}): boolean {\n if (result.errored === true) return false;\n const threshold = result.passThreshold ?? DEFAULT_ASSERTION_PASS_THRESHOLD;\n return result.score >= threshold;\n}\n\n/**\n * Provenance for a persisted {@link AssertionResult}: which node produced it and where in the\n * per-item iteration tree it landed. Filled in by the host-side persister, not the node itself.\n */\nexport interface AssertionResultProvenance {\n readonly nodeId: NodeId;\n /** Per-item iteration id when the emitting node ran inside a per-item loop. */\n readonly iterationId?: string;\n /** Item index (0-based) within the activation that produced this assertion. */\n readonly itemIndex?: number;\n}\n"],"mappings":";;;;;;AAKA,IAAa,iBAAb,cAAoC,MAAM;CACxC,YAAY,SAAiB;AAC3B,QAAM,QAAQ;AACd,OAAK,OAAO;;;;;;;;;;;;ACAhB,IAAa,0BAAb,MAAoE;CAClE,MAAM,kBAA4C;AAChD,yBAAO,IAAI,KAAK;;;;;;;;;;;ACwBpB,MAAa,mCAAmC;;;;;;;AAQhD,SAAgB,sBAAsB,QAI1B;AACV,KAAI,OAAO,YAAY,KAAM,QAAO;CACpC,MAAM,YAAY,OAAO,iBAAiB;AAC1C,QAAO,OAAO,SAAS"}
@@ -0,0 +1,6 @@
1
+ const require_contracts = require('./contracts-CK0x6w_G.cjs');
2
+
3
+ exports.AgentBindError = require_contracts.AgentBindError;
4
+ exports.DEFAULT_ASSERTION_PASS_THRESHOLD = require_contracts.DEFAULT_ASSERTION_PASS_THRESHOLD;
5
+ exports.NoOpAgentMcpIntegration = require_contracts.NoOpAgentMcpIntegration;
6
+ exports.deriveAssertionPassed = require_contracts.deriveAssertionPassed;
@@ -0,0 +1,5 @@
1
+ import { $n as NodeActivationRequestBase, $r as GenAiTelemetryAttributeNames, $t as RunnableNodeConfig, A as RunHaltReason, Ai as CredentialRequirement, An as BinaryBody, Ar as HttpMethod, At as JsonValue, B as WorkflowExecutionListingRepository, Bi as OAuth2ProviderFromPublicConfig, Bn as ExecutionBinaryService, Br as ExecutionTelemetryFactory, Bt as NodeIterationId, C as PersistedWorkflowSnapshotNode, Ci as CredentialHealthTester, Cn as triggerNodeOutputType, Cr as TriggerTestItemsContext, Ct as Item, D as RunCurrentState, Di as CredentialMaterialSourceKind, Dn as NoneRetryPolicySpec, Dr as WorkflowRunnerService, Dt as JsonNonArray, E as RunCompletionNotifier, Ei as CredentialJsonRecord, En as FixedRetryPolicySpec, Er as WorkflowRunnerResolver, Et as JsonArray, F as RunStatus, Fi as CredentialType, Fn as BinaryStorageWriteResult, Fr as WebhookTriggerResolution, Ft as NodeErrorHandler, Gi as NodeConnectionName, Gn as HumanTaskId, Gr as TelemetryAttributes, Gt as NodeSchedulerDecision, H as WorkflowExecutionRepository, Hn as ExecutionContextFactory, Hr as TelemetryArtifactAttachment, Ht as NodeOffloadPolicy, I as RunStopCondition, Ii as CredentialTypeDefinition, In as Duration, Ir as WebhookTriggerRoutingDiagnostics, It as NodeErrorHandlerArgs, Ji as PersistedTokenId, Jn as LiveWorkflowRepository, Jr as TelemetryScope, Jt as PersistedRunPolicySnapshot, Ki as NodeId, Kn as HumanTaskSubject, Kr as TelemetryChildSpanStart, Kt as PairedItemRef, L as RunSummary, Li as CredentialTypeId, Ln as EngineDeps, Lt as NodeErrorHandlerSpec, M as RunQueueEntry, Mi as CredentialSessionFactoryArgs, Mn as BinaryStorageReadResult, Mr as WebhookControlSignal, Mt as NodeActivationId, N as RunResult, Ni as CredentialSessionService, Nn as BinaryStorageStatResult, Nr as WebhookInvocationMatch, Nt as NodeConfigBase, O as RunEventPublisherDeps, Oi as CredentialOAuth2AuthDefinition, On as RetryPolicySpec, Or as WorkflowSnapshotFactory, Ot as JsonObject, P as RunStateResetRequest, Pi as CredentialSetupStatus, Pn as BinaryStorageWriteRequest, Pr as WebhookTriggerMatcher, Pt as NodeDefinition, Qn as NodeActivationRequest, Qr as CodemationTelemetryMetricNames, Qt as RunIdFactory, R as RunTestContext, Ri as CredentialTypeRegistry, Rn as EngineHost, Rt as NodeIdRef, S as PersistedWorkflowSnapshot, Si as CredentialHealthStatus, Sn as runnableNodeOutputType, Sr as TriggerSetupStateRepository, St as ExecutionMode, T as PinnedNodeOutputsByPort, Ti as CredentialInstanceRecord, Tn as ExponentialRetryPolicySpec, Tr as WorkflowRepository, Tt as Items, Un as HumanTaskActor, Ur as TelemetryArtifactReference, Ut as NodeOutputs, V as WorkflowExecutionPruneRepository, Vn as ExecutionContext, Vr as NodeExecutionTelemetry, Vt as NodeKind, Wi as InputPortKey, Wn as HumanTaskHandle, Wr as TelemetryAttributePrimitive, Wt as NodeRef, Xn as NodeActivationContinuation, Xr as TelemetrySpanEventRecord, Xt as RunDataSnapshot, Yi as WorkflowId, Yn as MultiInputNode, Yr as TelemetrySpanEnd, Yt as RunDataFactory, Zn as NodeActivationReceipt, Zr as TelemetrySpanScope, Zt as RunId, _ as PersistedMutableRunState, _i as CredentialAuthDefinition, _n as WorkflowStoragePolicyResolver, _r as TriggerCleanupHandle, _t as TestTriggerSetupContext, a as ConnectionInvocationId, ai as NoOpTelemetryArtifactReference, an as UpstreamRefPlaceholder, ar as NodeExecutionScheduler, b as PersistedRunState, bi as CredentialFieldSchema, bn as nodeRef, br as TriggerSetupContext, bt as BinaryPreviewKind, c as EngineRunCounters, ci as CostTrackingTelemetry, cn as WorkflowErrorHandler, cr as NodeResolver, d as NodeExecutionSnapshot, dn as WorkflowGraphFactory, dr as PreparedNodeActivationDispatch, ei as CodemationTelemetryAttributeNames, en as RunnableNodeInputJson, er as NodeActivationScheduler, f as NodeExecutionStatus, fi as CostTrackingUsageRecord, fn as WorkflowNodeConnection, fr as ResumeContext, g as PersistedMutableNodeState, gi as CredentialAdvancedSectionPresentation, gn as WorkflowStoragePolicyMode, gr as TestableTriggerNode, gt as TestTriggerNodeConfig, h as PendingResumeEntry, hi as AnyCredentialType, hn as WorkflowStoragePolicyDecisionArgs, hr as SuspensionRequest, ht as TestSuiteRunId, i as ConnectionInvocationAppendArgs, ii as NoOpTelemetrySpanScope, in as TriggerNodeSetupState, ir as NodeExecutionRequestHandler, j as RunPruneCandidate, ji as CredentialSessionFactory, jn as BinaryStorage, jr as TriggerInstanceId, jt as MutableRunData, k as RunExecutionOptions, ki as CredentialOAuth2ScopesFromPublicConfig, kn as BinaryAttachmentCreateRequest, kr as WorkflowSnapshotResolver, kt as JsonPrimitive, l as ExecutionFrontierPlan, ln as WorkflowErrorHandlerSpec, lr as PersistedTriggerSetupState, m as PendingNodeExecution, mn as WorkflowPrunePolicySpec, mr as RunnableNodeExecuteArgs, n as AgentMcpToolMap, ni as NoOpExecutionTelemetry, nn as TriggerNodeConfig, nr as NodeExecutionContext, o as ConnectionInvocationRecord, oi as CostTrackingComponent, on as WorkflowDefinition, or as NodeExecutionStatePublisher, p as NodeInputsByPort, pn as WorkflowPolicyRuntimeDefaults, pr as RunnableNode, qi as OutputPortKey, qn as ItemNode, qr as TelemetryMetricRecord, qt as ParentExecutionRef, r as NeedsReconsentEvent, ri as NoOpNodeExecutionTelemetry, rn as TriggerNodeOutputJson, rr as NodeExecutionRequest, s as CurrentStateExecutionRequest, si as CostTrackingPriceQuote, sn as WorkflowErrorContext, sr as NodeExecutor, t as AgentMcpIntegration, ti as NoOpExecutionTelemetryFactory, tn as RunnableNodeOutputJson, tr as NodeBinaryAttachmentService, u as NodeExecutionError, ui as CostTrackingTelemetryFactory, un as WorkflowGraph, ur as PollingTriggerHandle, v as PersistedRunControlState, vi as CredentialBinding, vn as WorkflowStoragePolicySpec, vr as TriggerNode, vt as ActivationIdFactory, w as PersistedWorkflowTokenRegistryLike, wi as CredentialInstanceId, wn as triggerNodeSetupStateType, wr as WorkflowNodeInstanceFactory, wt as ItemBinary, x as PersistedSuspensionEntry, xi as CredentialHealth, xn as runnableNodeInputType, xr as TriggerSetupStateFor, xt as Edge, y as PersistedRunSchedulingState, yi as CredentialBindingKey, yn as branchRef, yr as TriggerRuntimeDiagnostics, yt as BinaryAttachment, z as WebhookRunResult, zn as ExecutableTriggerNode, zr as ExecutionTelemetry, zt as NodeInspectorSummaryRow } from "./agentMcpTypes-DUmniLOY.cjs";
2
+ import { C as deriveAssertionPassed, S as DEFAULT_ASSERTION_PASS_THRESHOLD, T as AgentBindError, _ as WorkItemStatus, a as ExecutionPayloadPolicyFields, b as AssertionResult, c as PersistedExecutionInstanceRecord, d as PersistedRunWorkItemRecord, f as RunIterationDto, g as WorkItemId, h as SlotExecutionStateDto, i as ExecutionInstanceId, l as PersistedRunSlotProjectionRecord, m as RunSlotProjectionState, n as ConnectionInvocationKind, o as PayloadStorageKind, p as RunRevision, r as ExecutionInstanceDto, s as PersistedExecutionInstanceKind, t as BatchId, u as PersistedRunWorkItemKind, v as WorkflowDetailSelectionState, w as NoOpAgentMcpIntegration, x as AssertionResultProvenance, y as WorkflowRunDetailDto } from "./executionPersistenceContracts-DenJJK2T.cjs";
3
+ import { n as Param, r as ParamDeep, t as Expr } from "./params-DqRvku2h.cjs";
4
+ import { n as CostCatalogEntry, t as CostCatalog } from "./CostCatalogContract-DD7fQ4FF.cjs";
5
+ export { ActivationIdFactory, AgentBindError, AgentMcpIntegration, AgentMcpToolMap, type AnyCredentialType, AssertionResult, AssertionResultProvenance, BatchId, BinaryAttachment, BinaryAttachmentCreateRequest, BinaryBody, BinaryPreviewKind, BinaryStorage, BinaryStorageReadResult, BinaryStorageStatResult, BinaryStorageWriteRequest, BinaryStorageWriteResult, CodemationTelemetryAttributeNames, CodemationTelemetryMetricNames, ConnectionInvocationAppendArgs, ConnectionInvocationId, ConnectionInvocationKind, ConnectionInvocationRecord, CostCatalog, CostCatalogEntry, type CostTrackingComponent, type CostTrackingPriceQuote, type CostTrackingTelemetry, type CostTrackingTelemetryFactory, type CostTrackingUsageRecord, type CredentialAdvancedSectionPresentation, type CredentialAuthDefinition, type CredentialBinding, type CredentialBindingKey, type CredentialFieldSchema, type CredentialHealth, type CredentialHealthStatus, type CredentialHealthTester, type CredentialInstanceId, type CredentialInstanceRecord, type CredentialJsonRecord, type CredentialMaterialSourceKind, type CredentialOAuth2AuthDefinition, type CredentialOAuth2ScopesFromPublicConfig, type CredentialRequirement, type CredentialSessionFactory, type CredentialSessionFactoryArgs, type CredentialSessionService, type CredentialSetupStatus, type CredentialType, type CredentialTypeDefinition, type CredentialTypeId, type CredentialTypeRegistry, CurrentStateExecutionRequest, DEFAULT_ASSERTION_PASS_THRESHOLD, Duration, Edge, EngineDeps, EngineHost, EngineRunCounters, ExecutableTriggerNode, ExecutionBinaryService, ExecutionContext, ExecutionContextFactory, ExecutionFrontierPlan, ExecutionInstanceDto, ExecutionInstanceId, ExecutionMode, ExecutionPayloadPolicyFields, ExecutionTelemetry, ExecutionTelemetryFactory, ExponentialRetryPolicySpec, Expr, FixedRetryPolicySpec, GenAiTelemetryAttributeNames, HttpMethod, HumanTaskActor, HumanTaskHandle, HumanTaskId, HumanTaskSubject, InputPortKey, Item, ItemBinary, ItemNode, Items, JsonArray, JsonNonArray, JsonObject, JsonPrimitive, JsonValue, LiveWorkflowRepository, MultiInputNode, MutableRunData, NeedsReconsentEvent, NoOpAgentMcpIntegration, NoOpExecutionTelemetry, NoOpExecutionTelemetryFactory, NoOpNodeExecutionTelemetry, NoOpTelemetryArtifactReference, NoOpTelemetrySpanScope, NodeActivationContinuation, NodeActivationId, NodeActivationReceipt, NodeActivationRequest, NodeActivationRequestBase, NodeActivationScheduler, NodeBinaryAttachmentService, NodeConfigBase, NodeConnectionName, NodeDefinition, NodeErrorHandler, NodeErrorHandlerArgs, NodeErrorHandlerSpec, NodeExecutionContext, NodeExecutionError, NodeExecutionRequest, NodeExecutionRequestHandler, NodeExecutionScheduler, NodeExecutionSnapshot, NodeExecutionStatePublisher, NodeExecutionStatus, NodeExecutionTelemetry, NodeExecutor, NodeId, NodeIdRef, NodeInputsByPort, NodeInspectorSummaryRow, NodeIterationId, NodeKind, NodeOffloadPolicy, NodeOutputs, NodeRef, NodeResolver, NodeSchedulerDecision, NoneRetryPolicySpec, type OAuth2ProviderFromPublicConfig, OutputPortKey, PairedItemRef, Param, ParamDeep, ParentExecutionRef, PayloadStorageKind, PendingNodeExecution, PendingResumeEntry, PersistedExecutionInstanceKind, PersistedExecutionInstanceRecord, PersistedMutableNodeState, PersistedMutableRunState, PersistedRunControlState, PersistedRunPolicySnapshot, PersistedRunSchedulingState, PersistedRunSlotProjectionRecord, PersistedRunState, PersistedRunWorkItemKind, PersistedRunWorkItemRecord, PersistedSuspensionEntry, PersistedTokenId, PersistedTriggerSetupState, PersistedWorkflowSnapshot, PersistedWorkflowSnapshotNode, PersistedWorkflowTokenRegistryLike, PinnedNodeOutputsByPort, PollingTriggerHandle, PreparedNodeActivationDispatch, ResumeContext, RetryPolicySpec, RunCompletionNotifier, RunCurrentState, RunDataFactory, RunDataSnapshot, RunEventPublisherDeps, RunExecutionOptions, RunHaltReason, RunId, RunIdFactory, RunIterationDto, RunPruneCandidate, RunQueueEntry, RunResult, RunRevision, RunSlotProjectionState, RunStateResetRequest, RunStatus, RunStopCondition, RunSummary, RunTestContext, RunnableNode, RunnableNodeConfig, RunnableNodeExecuteArgs, RunnableNodeInputJson, RunnableNodeOutputJson, SlotExecutionStateDto, SuspensionRequest, TelemetryArtifactAttachment, TelemetryArtifactReference, TelemetryAttributePrimitive, TelemetryAttributes, TelemetryChildSpanStart, TelemetryMetricRecord, TelemetryScope, TelemetrySpanEnd, TelemetrySpanEventRecord, TelemetrySpanScope, TestSuiteRunId, TestTriggerNodeConfig, TestTriggerSetupContext, TestableTriggerNode, TriggerCleanupHandle, TriggerInstanceId, TriggerNode, TriggerNodeConfig, TriggerNodeOutputJson, TriggerNodeSetupState, TriggerRuntimeDiagnostics, TriggerSetupContext, TriggerSetupStateFor, TriggerSetupStateRepository, TriggerTestItemsContext, UpstreamRefPlaceholder, WebhookControlSignal, WebhookInvocationMatch, WebhookRunResult, WebhookTriggerMatcher, WebhookTriggerResolution, WebhookTriggerRoutingDiagnostics, WorkItemId, WorkItemStatus, WorkflowDefinition, WorkflowDetailSelectionState, WorkflowErrorContext, WorkflowErrorHandler, WorkflowErrorHandlerSpec, WorkflowExecutionListingRepository, WorkflowExecutionPruneRepository, WorkflowExecutionRepository, WorkflowGraph, WorkflowGraphFactory, WorkflowId, WorkflowNodeConnection, WorkflowNodeInstanceFactory, WorkflowPolicyRuntimeDefaults, WorkflowPrunePolicySpec, WorkflowRepository, WorkflowRunDetailDto, WorkflowRunnerResolver, WorkflowRunnerService, WorkflowSnapshotFactory, WorkflowSnapshotResolver, WorkflowStoragePolicyDecisionArgs, WorkflowStoragePolicyMode, WorkflowStoragePolicyResolver, WorkflowStoragePolicySpec, branchRef, deriveAssertionPassed, nodeRef, runnableNodeInputType, runnableNodeOutputType, triggerNodeOutputType, triggerNodeSetupStateType };
@@ -0,0 +1,2 @@
1
+ import { $ as ExecutionPayloadPolicyFields, $a as CredentialFieldSchema, $i as TriggerSetupContext, $n as BinaryPreviewKind, $r as nodeRef, $t as PersistedRunState, Aa as TelemetrySpanScope, Ai as NodeActivationReceipt, Ar as RunId, At as DEFAULT_ASSERTION_PASS_THRESHOLD, Ba as CostTrackingPriceQuote, Bi as NodeExecutor, Br as WorkflowErrorContext, Bt as CurrentStateExecutionRequest, Ca as TelemetryAttributePrimitive, Ci as HumanTaskHandle, Co as InputPortKey, Cr as NodeRef, Da as TelemetryScope, Di as LiveWorkflowRepository, Do as PersistedTokenId, Dr as PersistedRunPolicySnapshot, Ea as TelemetryMetricRecord, Ei as ItemNode, Eo as OutputPortKey, Er as ParentExecutionRef, Fa as NoOpExecutionTelemetry, Fi as NodeExecutionContext, Fr as TriggerNodeConfig, Ft as AgentMcpToolMap, Ga as CostTrackingUsageRecord, Gi as ResumeContext, Gr as WorkflowNodeConnection, Gt as NodeExecutionStatus, Hi as PersistedTriggerSetupState, Hr as WorkflowErrorHandlerSpec, Ht as ExecutionFrontierPlan, Ia as NoOpNodeExecutionTelemetry, Ii as NodeExecutionRequest, Ir as TriggerNodeOutputJson, It as NeedsReconsentEvent, Ja as AnyCredentialType, Ji as SuspensionRequest, Jn as TestSuiteRunId, Jr as WorkflowStoragePolicyDecisionArgs, Jt as PendingResumeEntry, Ki as RunnableNode, Kr as WorkflowPolicyRuntimeDefaults, Kt as NodeInputsByPort, La as NoOpTelemetrySpanScope, Li as NodeExecutionRequestHandler, Lr as TriggerNodeSetupState, Lt as ConnectionInvocationAppendArgs, Ma as GenAiTelemetryAttributeNames, Mi as NodeActivationRequestBase, Mr as RunnableNodeConfig, Mt as NoOpAgentMcpIntegration, Na as CodemationTelemetryAttributeNames, Ni as NodeActivationScheduler, Nr as RunnableNodeInputJson, Nt as AgentBindError, Oa as TelemetrySpanEnd, Oi as MultiInputNode, Oo as WorkflowId, Or as RunDataFactory, Ot as AssertionResult, Pa as NoOpExecutionTelemetryFactory, Pi as NodeBinaryAttachmentService, Pr as RunnableNodeOutputJson, Pt as AgentMcpIntegration, Q as ExecutionInstanceId, Qa as CredentialBindingKey, Qi as TriggerRuntimeDiagnostics, Qn as BinaryAttachment, Qr as branchRef, Qt as PersistedRunSchedulingState, Ra as NoOpTelemetryArtifactReference, Ri as NodeExecutionScheduler, Rr as UpstreamRefPlaceholder, Rt as ConnectionInvocationId, Sa as TelemetryArtifactReference, Si as HumanTaskActor, Sr as NodeOutputs, Ta as TelemetryChildSpanStart, Ti as HumanTaskSubject, To as NodeId, Tr as PairedItemRef, Ua as CostTrackingTelemetryFactory, Ui as PollingTriggerHandle, Ur as WorkflowGraph, Ut as NodeExecutionError, Va as CostTrackingTelemetry, Vi as NodeResolver, Vr as WorkflowErrorHandler, Vt as EngineRunCounters, Wi as PreparedNodeActivationDispatch, Wr as WorkflowGraphFactory, Wt as NodeExecutionSnapshot, X as ConnectionInvocationKind, Xa as CredentialAuthDefinition, Xi as TriggerCleanupHandle, Xn as TestTriggerSetupContext, Xr as WorkflowStoragePolicyResolver, Xt as PersistedMutableRunState, Y as BatchId, Ya as CredentialAdvancedSectionPresentation, Yi as TestableTriggerNode, Yn as TestTriggerNodeConfig, Yr as WorkflowStoragePolicyMode, Yt as PersistedMutableNodeState, Z as ExecutionInstanceDto, Za as CredentialBinding, Zi as TriggerNode, Zn as ActivationIdFactory, Zr as WorkflowStoragePolicySpec, Zt as PersistedRunControlState, _i as EngineHost, _n as RunTestContext, _o as CredentialTypeRegistry, _r as NodeIdRef, _t as Param, aa as WorkflowRunnerResolver, ai as FixedRetryPolicySpec, an as RunCompletionNotifier, ao as CredentialJsonRecord, ar as JsonArray, at as PersistedRunWorkItemRecord, ba as NodeExecutionTelemetry, bi as ExecutionContext, bn as WorkflowExecutionPruneRepository, br as NodeKind, ca as WorkflowSnapshotResolver, ci as BinaryAttachmentCreateRequest, cn as RunExecutionOptions, co as CredentialOAuth2ScopesFromPublicConfig, cr as JsonPrimitive, ct as RunSlotProjectionState, da as WebhookControlSignal, di as BinaryStorageReadResult, dn as RunQueueEntry, do as CredentialSessionFactoryArgs, dr as NodeActivationId, dt as WorkItemStatus, ea as TriggerSetupStateFor, ei as runnableNodeInputType, en as PersistedSuspensionEntry, eo as CredentialHealth, er as Edge, et as PayloadStorageKind, fa as WebhookInvocationMatch, fi as BinaryStorageStatResult, fn as RunResult, fo as CredentialSessionService, fr as NodeConfigBase, ft as WorkflowDetailSelectionState, gi as EngineDeps, gn as RunSummary, go as CredentialTypeId, gr as NodeErrorHandlerSpec, gt as Expr, ha as WebhookTriggerRoutingDiagnostics, hi as Duration, hn as RunStopCondition, ho as CredentialTypeDefinition, hr as NodeErrorHandlerArgs, ht as CostCatalogEntry, ia as WorkflowRepository, ii as ExponentialRetryPolicySpec, in as PinnedNodeOutputsByPort, io as CredentialInstanceRecord, ir as Items, it as PersistedRunWorkItemKind, ja as CodemationTelemetryMetricNames, ji as NodeActivationRequest, jr as RunIdFactory, jt as deriveAssertionPassed, ka as TelemetrySpanEventRecord, ki as NodeActivationContinuation, kr as RunDataSnapshot, kt as AssertionResultProvenance, la as HttpMethod, li as BinaryBody, ln as RunHaltReason, lo as CredentialRequirement, lr as JsonValue, lt as SlotExecutionStateDto, ma as WebhookTriggerResolution, mi as BinaryStorageWriteResult, mn as RunStatus, mo as CredentialType, mr as NodeErrorHandler, mt as CostCatalog, na as TriggerTestItemsContext, ni as triggerNodeOutputType, nn as PersistedWorkflowSnapshotNode, no as CredentialHealthTester, nr as Item, nt as PersistedExecutionInstanceRecord, oa as WorkflowRunnerService, oi as NoneRetryPolicySpec, on as RunCurrentState, oo as CredentialMaterialSourceKind, or as JsonNonArray, ot as RunIterationDto, pa as WebhookTriggerMatcher, pi as BinaryStorageWriteRequest, pn as RunStateResetRequest, po as CredentialSetupStatus, pr as NodeDefinition, pt as WorkflowRunDetailDto, qi as RunnableNodeExecuteArgs, qr as WorkflowPrunePolicySpec, qt as PendingNodeExecution, ra as WorkflowNodeInstanceFactory, ri as triggerNodeSetupStateType, rn as PersistedWorkflowTokenRegistryLike, ro as CredentialInstanceId, rr as ItemBinary, rt as PersistedRunSlotProjectionRecord, sa as WorkflowSnapshotFactory, si as RetryPolicySpec, sn as RunEventPublisherDeps, so as CredentialOAuth2AuthDefinition, sr as JsonObject, st as RunRevision, ta as TriggerSetupStateRepository, ti as runnableNodeOutputType, tn as PersistedWorkflowSnapshot, to as CredentialHealthStatus, tr as ExecutionMode, tt as PersistedExecutionInstanceKind, ua as TriggerInstanceId, ui as BinaryStorage, un as RunPruneCandidate, uo as CredentialSessionFactory, ur as MutableRunData, ut as WorkItemId, va as ExecutionTelemetry, vi as ExecutableTriggerNode, vn as WebhookRunResult, vr as NodeInspectorSummaryRow, vt as ParamDeep, wa as TelemetryAttributes, wi as HumanTaskId, wo as NodeConnectionName, wr as NodeSchedulerDecision, xa as TelemetryArtifactAttachment, xi as ExecutionContextFactory, xn as WorkflowExecutionRepository, xr as NodeOffloadPolicy, ya as ExecutionTelemetryFactory, yi as ExecutionBinaryService, yn as WorkflowExecutionListingRepository, yo as OAuth2ProviderFromPublicConfig, yr as NodeIterationId, za as CostTrackingComponent, zi as NodeExecutionStatePublisher, zr as WorkflowDefinition, zt as ConnectionInvocationRecord } from "./index-CSKKuK60.js";
2
+ export { ActivationIdFactory, AgentBindError, AgentMcpIntegration, AgentMcpToolMap, AnyCredentialType, AssertionResult, AssertionResultProvenance, BatchId, BinaryAttachment, BinaryAttachmentCreateRequest, BinaryBody, BinaryPreviewKind, BinaryStorage, BinaryStorageReadResult, BinaryStorageStatResult, BinaryStorageWriteRequest, BinaryStorageWriteResult, CodemationTelemetryAttributeNames, CodemationTelemetryMetricNames, ConnectionInvocationAppendArgs, ConnectionInvocationId, ConnectionInvocationKind, ConnectionInvocationRecord, CostCatalog, CostCatalogEntry, CostTrackingComponent, CostTrackingPriceQuote, CostTrackingTelemetry, CostTrackingTelemetryFactory, CostTrackingUsageRecord, CredentialAdvancedSectionPresentation, CredentialAuthDefinition, CredentialBinding, CredentialBindingKey, CredentialFieldSchema, CredentialHealth, CredentialHealthStatus, CredentialHealthTester, CredentialInstanceId, CredentialInstanceRecord, CredentialJsonRecord, CredentialMaterialSourceKind, CredentialOAuth2AuthDefinition, CredentialOAuth2ScopesFromPublicConfig, CredentialRequirement, CredentialSessionFactory, CredentialSessionFactoryArgs, CredentialSessionService, CredentialSetupStatus, CredentialType, CredentialTypeDefinition, CredentialTypeId, CredentialTypeRegistry, CurrentStateExecutionRequest, DEFAULT_ASSERTION_PASS_THRESHOLD, Duration, Edge, EngineDeps, EngineHost, EngineRunCounters, ExecutableTriggerNode, ExecutionBinaryService, ExecutionContext, ExecutionContextFactory, ExecutionFrontierPlan, ExecutionInstanceDto, ExecutionInstanceId, ExecutionMode, ExecutionPayloadPolicyFields, ExecutionTelemetry, ExecutionTelemetryFactory, ExponentialRetryPolicySpec, Expr, FixedRetryPolicySpec, GenAiTelemetryAttributeNames, HttpMethod, HumanTaskActor, HumanTaskHandle, HumanTaskId, HumanTaskSubject, InputPortKey, Item, ItemBinary, ItemNode, Items, JsonArray, JsonNonArray, JsonObject, JsonPrimitive, JsonValue, LiveWorkflowRepository, MultiInputNode, MutableRunData, NeedsReconsentEvent, NoOpAgentMcpIntegration, NoOpExecutionTelemetry, NoOpExecutionTelemetryFactory, NoOpNodeExecutionTelemetry, NoOpTelemetryArtifactReference, NoOpTelemetrySpanScope, NodeActivationContinuation, NodeActivationId, NodeActivationReceipt, NodeActivationRequest, NodeActivationRequestBase, NodeActivationScheduler, NodeBinaryAttachmentService, NodeConfigBase, NodeConnectionName, NodeDefinition, NodeErrorHandler, NodeErrorHandlerArgs, NodeErrorHandlerSpec, NodeExecutionContext, NodeExecutionError, NodeExecutionRequest, NodeExecutionRequestHandler, NodeExecutionScheduler, NodeExecutionSnapshot, NodeExecutionStatePublisher, NodeExecutionStatus, NodeExecutionTelemetry, NodeExecutor, NodeId, NodeIdRef, NodeInputsByPort, NodeInspectorSummaryRow, NodeIterationId, NodeKind, NodeOffloadPolicy, NodeOutputs, NodeRef, NodeResolver, NodeSchedulerDecision, NoneRetryPolicySpec, OAuth2ProviderFromPublicConfig, OutputPortKey, PairedItemRef, Param, ParamDeep, ParentExecutionRef, PayloadStorageKind, PendingNodeExecution, PendingResumeEntry, PersistedExecutionInstanceKind, PersistedExecutionInstanceRecord, PersistedMutableNodeState, PersistedMutableRunState, PersistedRunControlState, PersistedRunPolicySnapshot, PersistedRunSchedulingState, PersistedRunSlotProjectionRecord, PersistedRunState, PersistedRunWorkItemKind, PersistedRunWorkItemRecord, PersistedSuspensionEntry, PersistedTokenId, PersistedTriggerSetupState, PersistedWorkflowSnapshot, PersistedWorkflowSnapshotNode, PersistedWorkflowTokenRegistryLike, PinnedNodeOutputsByPort, PollingTriggerHandle, PreparedNodeActivationDispatch, ResumeContext, RetryPolicySpec, RunCompletionNotifier, RunCurrentState, RunDataFactory, RunDataSnapshot, RunEventPublisherDeps, RunExecutionOptions, RunHaltReason, RunId, RunIdFactory, RunIterationDto, RunPruneCandidate, RunQueueEntry, RunResult, RunRevision, RunSlotProjectionState, RunStateResetRequest, RunStatus, RunStopCondition, RunSummary, RunTestContext, RunnableNode, RunnableNodeConfig, RunnableNodeExecuteArgs, RunnableNodeInputJson, RunnableNodeOutputJson, SlotExecutionStateDto, SuspensionRequest, TelemetryArtifactAttachment, TelemetryArtifactReference, TelemetryAttributePrimitive, TelemetryAttributes, TelemetryChildSpanStart, TelemetryMetricRecord, TelemetryScope, TelemetrySpanEnd, TelemetrySpanEventRecord, TelemetrySpanScope, TestSuiteRunId, TestTriggerNodeConfig, TestTriggerSetupContext, TestableTriggerNode, TriggerCleanupHandle, TriggerInstanceId, TriggerNode, TriggerNodeConfig, TriggerNodeOutputJson, TriggerNodeSetupState, TriggerRuntimeDiagnostics, TriggerSetupContext, TriggerSetupStateFor, TriggerSetupStateRepository, TriggerTestItemsContext, UpstreamRefPlaceholder, WebhookControlSignal, WebhookInvocationMatch, WebhookRunResult, WebhookTriggerMatcher, WebhookTriggerResolution, WebhookTriggerRoutingDiagnostics, WorkItemId, WorkItemStatus, WorkflowDefinition, WorkflowDetailSelectionState, WorkflowErrorContext, WorkflowErrorHandler, WorkflowErrorHandlerSpec, WorkflowExecutionListingRepository, WorkflowExecutionPruneRepository, WorkflowExecutionRepository, WorkflowGraph, WorkflowGraphFactory, WorkflowId, WorkflowNodeConnection, WorkflowNodeInstanceFactory, WorkflowPolicyRuntimeDefaults, WorkflowPrunePolicySpec, WorkflowRepository, WorkflowRunDetailDto, WorkflowRunnerResolver, WorkflowRunnerService, WorkflowSnapshotFactory, WorkflowSnapshotResolver, WorkflowStoragePolicyDecisionArgs, WorkflowStoragePolicyMode, WorkflowStoragePolicyResolver, WorkflowStoragePolicySpec, branchRef, deriveAssertionPassed, nodeRef, runnableNodeInputType, runnableNodeOutputType, triggerNodeOutputType, triggerNodeSetupStateType };
@@ -0,0 +1,3 @@
1
+ import { i as AgentBindError, n as deriveAssertionPassed, r as NoOpAgentMcpIntegration, t as DEFAULT_ASSERTION_PASS_THRESHOLD } from "./contracts-DXdfTdpW.js";
2
+
3
+ export { AgentBindError, DEFAULT_ASSERTION_PASS_THRESHOLD, NoOpAgentMcpIntegration, deriveAssertionPassed };
@@ -0,0 +1,405 @@
1
+ import "reflect-metadata";
2
+ import { container as container$1, delay, inject, injectAll, injectable, instanceCachingFactory, instancePerContainerCachingFactory, predicateAwareClassFactory, registry, singleton } from "tsyringe";
3
+
4
+ //#region src/workflow/definition/ConnectionNodeIdFactory.ts
5
+ /**
6
+ * Deterministic ids for workflow connection-owned child nodes (LLM slot, tools, etc.).
7
+ * These are stable across loads.
8
+ */
9
+ var ConnectionNodeIdFactory = class {
10
+ static connectionSegment = "__conn__";
11
+ static languageModelConnectionNodeId(parentNodeId) {
12
+ return `${parentNodeId}${this.connectionSegment}llm`;
13
+ }
14
+ static toolConnectionNodeId(parentNodeId, toolName) {
15
+ const normalized = this.normalizeToolName(toolName);
16
+ return `${parentNodeId}${this.connectionSegment}tool${this.connectionSegment}${normalized}`;
17
+ }
18
+ static mcpConnectionNodeId(parentNodeId, serverId) {
19
+ return `${parentNodeId}${this.connectionSegment}mcp${this.connectionSegment}${serverId}`;
20
+ }
21
+ static isMcpConnectionNodeId(nodeId) {
22
+ return nodeId.includes(`${this.connectionSegment}mcp${this.connectionSegment}`);
23
+ }
24
+ static parseMcpConnectionNodeId(nodeId) {
25
+ if (!this.isMcpConnectionNodeId(nodeId)) return;
26
+ const marker = `${this.connectionSegment}mcp${this.connectionSegment}`;
27
+ const idx = nodeId.lastIndexOf(marker);
28
+ if (idx < 0) return;
29
+ const parentNodeId = nodeId.slice(0, idx);
30
+ const serverId = nodeId.slice(idx + marker.length);
31
+ if (!parentNodeId || !serverId) return;
32
+ return {
33
+ parentNodeId,
34
+ serverId
35
+ };
36
+ }
37
+ static isLanguageModelConnectionNodeId(nodeId) {
38
+ return nodeId.endsWith(`${this.connectionSegment}llm`);
39
+ }
40
+ static isToolConnectionNodeId(nodeId) {
41
+ return nodeId.includes(`${this.connectionSegment}tool${this.connectionSegment}`);
42
+ }
43
+ static parseLanguageModelConnectionNodeId(nodeId) {
44
+ if (!this.isLanguageModelConnectionNodeId(nodeId)) return;
45
+ const suffix = `${this.connectionSegment}llm`;
46
+ const parentNodeId = nodeId.slice(0, -suffix.length);
47
+ return parentNodeId ? { parentNodeId } : void 0;
48
+ }
49
+ static parseToolConnectionNodeId(nodeId) {
50
+ if (!this.isToolConnectionNodeId(nodeId)) return;
51
+ const marker = `${this.connectionSegment}tool${this.connectionSegment}`;
52
+ const idx = nodeId.lastIndexOf(marker);
53
+ if (idx < 0) return;
54
+ const parentNodeId = nodeId.slice(0, idx);
55
+ const normalizedToolName = nodeId.slice(idx + marker.length);
56
+ if (!parentNodeId || !normalizedToolName) return;
57
+ return {
58
+ parentNodeId,
59
+ normalizedToolName
60
+ };
61
+ }
62
+ /** True when `nodeId` is a connection-owned child of `parentNodeId` (LLM or tool slot). */
63
+ static isConnectionOwnedDescendantOf(parentNodeId, nodeId) {
64
+ return nodeId.startsWith(`${parentNodeId}${this.connectionSegment}`);
65
+ }
66
+ /** Normalizes a tool display name to a stable id segment. */
67
+ static normalizeToolName(toolName) {
68
+ return toolName.trim().toLowerCase().replace(/[^a-z0-9]+/g, "_").replace(/^_+|_+$/g, "") || "tool";
69
+ }
70
+ };
71
+
72
+ //#endregion
73
+ //#region src/contracts/itemExpr.ts
74
+ const ITEM_EXPR_BRAND = Symbol.for("codemation.itemExpr");
75
+ function itemExpr(fn) {
76
+ return {
77
+ [ITEM_EXPR_BRAND]: true,
78
+ fn
79
+ };
80
+ }
81
+ function isItemExpr(value) {
82
+ if (typeof value !== "object" || value === null) return false;
83
+ const v = value;
84
+ if (v[ITEM_EXPR_BRAND] === true) return true;
85
+ const keys = Object.keys(v);
86
+ if (keys.length === 1 && keys[0] === "fn" && typeof v.fn === "function") return true;
87
+ for (const sym of Object.getOwnPropertySymbols(v)) if (sym.description === "codemation.itemExpr" && v[sym] === true) return true;
88
+ return false;
89
+ }
90
+ function containsItemExprInUnknown(value, seen = /* @__PURE__ */ new WeakSet()) {
91
+ if (isItemExpr(value)) return true;
92
+ if (value === null || typeof value !== "object") return false;
93
+ if (seen.has(value)) return false;
94
+ seen.add(value);
95
+ if (Array.isArray(value)) return value.some((entry) => containsItemExprInUnknown(entry, seen));
96
+ for (const entry of Object.values(value)) if (containsItemExprInUnknown(entry, seen)) return true;
97
+ return false;
98
+ }
99
+ /**
100
+ * Deep-resolves {@link itemExpr} leaves. Returns a new graph (does not mutate the original config object).
101
+ */
102
+ async function resolveItemExprsInUnknown(value, args, seen = /* @__PURE__ */ new WeakSet()) {
103
+ if (isItemExpr(value)) return await Promise.resolve(value.fn(args));
104
+ if (value === null || typeof value !== "object") return value;
105
+ if (seen.has(value)) return value;
106
+ seen.add(value);
107
+ if (Array.isArray(value)) {
108
+ const out$1 = [];
109
+ for (let i = 0; i < value.length; i++) out$1.push(await resolveItemExprsInUnknown(value[i], args, seen));
110
+ return out$1;
111
+ }
112
+ const rec = value;
113
+ const entries = Object.entries(rec);
114
+ const proto = Object.getPrototypeOf(value);
115
+ if (proto !== Object.prototype && proto !== null && entries.length === 0) return value;
116
+ const out = Object.create(proto);
117
+ for (const [k, v] of entries) out[k] = await resolveItemExprsInUnknown(v, args, seen);
118
+ return out;
119
+ }
120
+ /**
121
+ * Clones runnable config (best-effort) so per-item {@link itemExpr} resolution never mutates shared instances.
122
+ */
123
+ async function resolveItemExprsForExecution(config, nodeCtx, item, itemIndex, items) {
124
+ const exprArgs = {
125
+ item,
126
+ itemIndex,
127
+ items,
128
+ ctx: {
129
+ runId: nodeCtx.runId,
130
+ workflowId: nodeCtx.workflowId,
131
+ nodeId: nodeCtx.nodeId,
132
+ activationId: nodeCtx.activationId,
133
+ data: nodeCtx.data
134
+ }
135
+ };
136
+ if (!containsItemExprInUnknown(config)) return;
137
+ return await resolveItemExprsInUnknown(config, exprArgs);
138
+ }
139
+
140
+ //#endregion
141
+ //#region src/ai/AgentConfigInspectorFactory.ts
142
+ var AgentConfigInspector = class {
143
+ static isAgentNodeConfig(config) {
144
+ if (!config) return false;
145
+ const candidate = config;
146
+ return !!candidate.chatModel && this.hasCompatibleMessageConfiguration(candidate);
147
+ }
148
+ static hasCompatibleMessageConfiguration(candidate) {
149
+ const messages = candidate.messages;
150
+ if (messages === void 0 || messages === null) return false;
151
+ if (Array.isArray(messages)) return messages.length > 0;
152
+ if (typeof messages === "object") {
153
+ if (isItemExpr(messages)) return true;
154
+ const o = messages;
155
+ return Array.isArray(o.prompt) && o.prompt.length > 0 || typeof o.buildMessages === "function";
156
+ }
157
+ return false;
158
+ }
159
+ };
160
+
161
+ //#endregion
162
+ //#region src/ai/NodeBackedToolConfig.ts
163
+ var NodeBackedToolConfig = class {
164
+ type;
165
+ toolKind = "nodeBacked";
166
+ description;
167
+ presentation;
168
+ inputSchemaValue;
169
+ outputSchemaValue;
170
+ mapInputValue;
171
+ mapOutputValue;
172
+ constructor(name, node, options) {
173
+ this.name = name;
174
+ this.node = node;
175
+ this.type = node.type;
176
+ this.description = options.description;
177
+ this.presentation = options.presentation;
178
+ this.inputSchemaValue = options.inputSchema;
179
+ this.outputSchemaValue = options.outputSchema;
180
+ this.mapInputValue = options.mapInput;
181
+ this.mapOutputValue = options.mapOutput;
182
+ }
183
+ getCredentialRequirements() {
184
+ return this.node.getCredentialRequirements?.() ?? [];
185
+ }
186
+ getInputSchema() {
187
+ return this.inputSchemaValue;
188
+ }
189
+ getOutputSchema() {
190
+ return this.outputSchemaValue;
191
+ }
192
+ toNodeItem(args) {
193
+ const mapped = this.mapInputValue?.(args) ?? args.input;
194
+ if (this.isItem(mapped)) return mapped;
195
+ return { json: mapped };
196
+ }
197
+ toToolOutput(args) {
198
+ const raw = this.mapOutputValue?.(args) ?? this.readDefaultToolOutput(args.outputs);
199
+ return this.outputSchemaValue.parse(raw);
200
+ }
201
+ readDefaultToolOutput(outputs) {
202
+ const firstMainItem = outputs.main?.[0];
203
+ if (!firstMainItem) throw new Error(`Node-backed tool "${this.name}" did not produce a main output item.`);
204
+ return firstMainItem.json;
205
+ }
206
+ isItem(value) {
207
+ return typeof value === "object" && value !== null && "json" in value;
208
+ }
209
+ };
210
+
211
+ //#endregion
212
+ //#region src/ai/AgentConnectionNodeCollector.ts
213
+ const AgentConnectionNodeCollector = new class {
214
+ collect(parentNodeId, agentConfig, mcpServerResolver) {
215
+ const collected = [];
216
+ this.collectInto(parentNodeId, agentConfig, collected, mcpServerResolver);
217
+ return collected;
218
+ }
219
+ collectInto(parentNodeId, agentConfig, collected, mcpServerResolver) {
220
+ collected.push({
221
+ nodeId: ConnectionNodeIdFactory.languageModelConnectionNodeId(parentNodeId),
222
+ parentNodeId,
223
+ connectionName: "llm",
224
+ role: "languageModel",
225
+ name: agentConfig.chatModel.presentation?.label ?? agentConfig.chatModel.name,
226
+ typeName: agentConfig.chatModel.name,
227
+ icon: agentConfig.chatModel.presentation?.icon,
228
+ credentialSource: agentConfig.chatModel
229
+ });
230
+ for (const tool of agentConfig.tools ?? []) {
231
+ const toolNodeId = ConnectionNodeIdFactory.toolConnectionNodeId(parentNodeId, tool.name);
232
+ const isNestedAgent = this.isNodeBackedAgentTool(tool);
233
+ collected.push({
234
+ nodeId: toolNodeId,
235
+ parentNodeId,
236
+ connectionName: "tools",
237
+ role: isNestedAgent ? "nestedAgent" : "tool",
238
+ name: tool.presentation?.label ?? tool.name,
239
+ typeName: tool.name,
240
+ icon: tool.presentation?.icon,
241
+ credentialSource: tool
242
+ });
243
+ this.collectNestedAgentTools(toolNodeId, tool, collected, mcpServerResolver);
244
+ }
245
+ if (mcpServerResolver) {
246
+ const mcpServers = agentConfig.mcpServers;
247
+ for (const serverId of mcpServers ?? []) {
248
+ const decl = mcpServerResolver(serverId);
249
+ if (!decl) continue;
250
+ const acceptedTypes = decl.acceptedCredentialTypes ?? [];
251
+ collected.push({
252
+ nodeId: ConnectionNodeIdFactory.mcpConnectionNodeId(parentNodeId, serverId),
253
+ parentNodeId,
254
+ connectionName: "tools",
255
+ role: "tool",
256
+ name: decl.displayName,
257
+ typeName: "MCP server",
258
+ icon: "lucide:plug",
259
+ credentialSource: { getCredentialRequirements: () => [{
260
+ slotKey: "credential",
261
+ label: decl.displayName,
262
+ acceptedTypes
263
+ }] }
264
+ });
265
+ }
266
+ }
267
+ }
268
+ collectNestedAgentTools(toolNodeId, tool, collected, mcpServerResolver) {
269
+ if (!this.isNodeBackedAgentTool(tool)) return;
270
+ const innerAgent = tool instanceof NodeBackedToolConfig ? tool.node : tool.node;
271
+ this.collectInto(toolNodeId, innerAgent, collected, mcpServerResolver);
272
+ }
273
+ /**
274
+ * After JSON round-trip (persisted snapshots), tools are plain objects — `instanceof NodeBackedToolConfig` fails.
275
+ * Detect node-backed tools structurally via {@link NodeBackedToolConfig#toolKind}.
276
+ */
277
+ isNodeBackedAgentTool(tool) {
278
+ if (tool instanceof NodeBackedToolConfig) return AgentConfigInspector.isAgentNodeConfig(tool.node);
279
+ if (!tool || typeof tool !== "object") return false;
280
+ const t = tool;
281
+ if (t.toolKind !== "nodeBacked") return false;
282
+ return AgentConfigInspector.isAgentNodeConfig(t.node);
283
+ }
284
+ }();
285
+
286
+ //#endregion
287
+ //#region src/workflow/definition/NodeIterationIdFactory.ts
288
+ /**
289
+ * Unique ids for one per-item iteration of a runnable node's execute loop.
290
+ *
291
+ * Activations are per-batch (one scheduled execution of a node, possibly with N items).
292
+ * Iterations refine that to one identifier per item-index inside the batch loop, so per-item
293
+ * connection invocations and telemetry can be grouped without time-window heuristics.
294
+ *
295
+ * Uses Web Crypto's `randomUUID` (Node 19+ and all modern browsers) so this module is safe
296
+ * to include in the browser entry. Importing `node:crypto` here previously leaked into the
297
+ * canvas client bundle through `browser.ts` and OOM'd consumers' Turbopack builds.
298
+ */
299
+ var NodeIterationIdFactory = class {
300
+ static create() {
301
+ return `iter_${globalThis.crypto.randomUUID()}`;
302
+ }
303
+ /** Deterministic id for tests when a stable sequence is needed. */
304
+ static createForTest(seed, sequence) {
305
+ return `iter_${seed}_${sequence}`;
306
+ }
307
+ /** Deterministic id derived from a connection node id (for sub-agent / tool-call scopes). */
308
+ static createForConnection(connectionNodeId, sequence) {
309
+ return `iter_${connectionNodeId}_${sequence}`;
310
+ }
311
+ };
312
+
313
+ //#endregion
314
+ //#region src/contracts/credentialTypes.ts
315
+ var CredentialUnboundError = class CredentialUnboundError extends Error {
316
+ constructor(bindingKey, acceptedTypes = []) {
317
+ super(CredentialUnboundError.createMessage(bindingKey, acceptedTypes));
318
+ this.bindingKey = bindingKey;
319
+ this.acceptedTypes = acceptedTypes;
320
+ this.name = "CredentialUnboundError";
321
+ }
322
+ static createMessage(bindingKey, acceptedTypes) {
323
+ const acceptedTypesSuffix = acceptedTypes.length > 0 ? ` Accepted credential types: ${acceptedTypes.join(", ")}.` : "";
324
+ return `Credential slot "${bindingKey.slotKey}" is not bound for workflow ${bindingKey.workflowId} node ${bindingKey.nodeId}.${acceptedTypesSuffix}`;
325
+ }
326
+ };
327
+
328
+ //#endregion
329
+ //#region src/contracts/runtimeTypes.ts
330
+ /**
331
+ * Thrown by a node's `execute()` to request durable suspension of the current item.
332
+ * The engine catches this, persists the suspension entry, calls `deliver`, and
333
+ * continues to the next item (per-item semantics).
334
+ *
335
+ * @example
336
+ * ```ts
337
+ * throw new SuspensionRequest({
338
+ * decisionSchema: z.object({ approved: z.boolean() }),
339
+ * timeout: "PT24H",
340
+ * onTimeout: "halt",
341
+ * subject: { title: "Approve invoice", summary: "Invoice #1234 needs approval" },
342
+ * deliver: async (handle) => {
343
+ * await notifySlack(handle);
344
+ * return { channel: "slack", ts: "..." };
345
+ * },
346
+ * });
347
+ * ```
348
+ */
349
+ var SuspensionRequest = class extends Error {
350
+ constructor(request) {
351
+ super(`SuspensionRequest(${request.subject?.title ?? "untitled"})`);
352
+ this.request = request;
353
+ this.name = "SuspensionRequest";
354
+ }
355
+ };
356
+
357
+ //#endregion
358
+ //#region src/contracts/runFinishedAtFactory.ts
359
+ /** Derives workflow end time from persisted run root or node snapshots for run listings. */
360
+ var RunFinishedAtFactory = class {
361
+ static resolveIso(state) {
362
+ if (state.finishedAt && state.status !== "running" && state.status !== "pending") return state.finishedAt;
363
+ if (state.status === "running" || state.status === "pending") return;
364
+ let max;
365
+ for (const snap of Object.values(state.nodeSnapshotsByNodeId)) if (snap?.finishedAt && (!max || snap.finishedAt > max)) max = snap.finishedAt;
366
+ return max;
367
+ }
368
+ };
369
+
370
+ //#endregion
371
+ //#region src/contracts/workflowTypes.ts
372
+ function nodeRef(nodeId) {
373
+ return nodeId;
374
+ }
375
+ const branchRef = (index) => `$${index}`;
376
+
377
+ //#endregion
378
+ //#region src/di/CoreTokens.ts
379
+ const CoreTokens = {
380
+ PersistedWorkflowTokenRegistry: Symbol.for("codemation.core.PersistedWorkflowTokenRegistry"),
381
+ CredentialSessionService: Symbol.for("codemation.core.CredentialSessionService"),
382
+ CredentialTypeRegistry: Symbol.for("codemation.core.CredentialTypeRegistry"),
383
+ WorkflowRunnerService: Symbol.for("codemation.core.WorkflowRunnerService"),
384
+ LiveWorkflowRepository: Symbol.for("codemation.core.LiveWorkflowRepository"),
385
+ WorkflowRepository: Symbol.for("codemation.core.WorkflowRepository"),
386
+ NodeResolver: Symbol.for("codemation.core.NodeResolver"),
387
+ WorkflowNodeInstanceFactory: Symbol.for("codemation.core.WorkflowNodeInstanceFactory"),
388
+ RunIdFactory: Symbol.for("codemation.core.RunIdFactory"),
389
+ ActivationIdFactory: Symbol.for("codemation.core.ActivationIdFactory"),
390
+ WorkflowExecutionRepository: Symbol.for("codemation.core.WorkflowExecutionRepository"),
391
+ TriggerSetupStateRepository: Symbol.for("codemation.core.TriggerSetupStateRepository"),
392
+ NodeActivationScheduler: Symbol.for("codemation.core.NodeActivationScheduler"),
393
+ RunDataFactory: Symbol.for("codemation.core.RunDataFactory"),
394
+ ExecutionContextFactory: Symbol.for("codemation.core.ExecutionContextFactory"),
395
+ RunEventBus: Symbol.for("codemation.core.RunEventBus"),
396
+ BinaryStorage: Symbol.for("codemation.core.BinaryStorage"),
397
+ WebhookBasePath: Symbol.for("codemation.core.WebhookBasePath"),
398
+ EngineExecutionLimitsPolicy: Symbol.for("codemation.core.EngineExecutionLimitsPolicy"),
399
+ WorkflowActivationPolicy: Symbol.for("codemation.core.WorkflowActivationPolicy"),
400
+ AgentMcpIntegration: Symbol.for("codemation.core.AgentMcpIntegration")
401
+ };
402
+
403
+ //#endregion
404
+ export { resolveItemExprsForExecution as C, itemExpr as S, ConnectionNodeIdFactory as T, NodeIterationIdFactory as _, injectable as a, AgentConfigInspector as b, predicateAwareClassFactory as c, CoreTokens as d, branchRef as f, CredentialUnboundError as g, SuspensionRequest as h, injectAll as i, registry as l, RunFinishedAtFactory as m, delay as n, instanceCachingFactory as o, nodeRef as p, inject as r, instancePerContainerCachingFactory as s, container$1 as t, singleton as u, AgentConnectionNodeCollector as v, resolveItemExprsInUnknown as w, isItemExpr as x, NodeBackedToolConfig as y };
405
+ //# sourceMappingURL=di-DdsgWfVy.js.map