@codemation/core 0.6.0 → 0.8.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 (90) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/dist/{EngineRuntimeRegistration.types-Dm129RJ6.d.ts → EngineRuntimeRegistration.types-BP6tsaNP.d.ts} +4 -2
  3. package/dist/{EngineWorkflowRunnerService-Bf88QtwB.d.cts → EngineWorkflowRunnerService-DzOCa1BW.d.cts} +4 -2
  4. package/dist/{InMemoryRunDataFactory-Dyl4p2s8.d.cts → InMemoryRunDataFactory-1iz7_SnO.d.cts} +27 -7
  5. package/dist/{workflowActivationPolicy-6V3OJD3N.cjs → InMemoryRunEventBusRegistry-B0_C4OnP.cjs} +1 -16
  6. package/dist/InMemoryRunEventBusRegistry-B0_C4OnP.cjs.map +1 -0
  7. package/dist/{workflowActivationPolicy-Td9HTOuD.js → InMemoryRunEventBusRegistry-C2U83Hmv.js} +2 -11
  8. package/dist/InMemoryRunEventBusRegistry-C2U83Hmv.js.map +1 -0
  9. package/dist/{RunIntentService-BDiodxhf.d.ts → RunIntentService-BqhmdoA1.d.ts} +258 -21
  10. package/dist/{RunIntentService-B1Y3v1H6.d.cts → RunIntentService-S-1lW-gS.d.cts} +209 -5
  11. package/dist/bootstrap/index.cjs +4 -2
  12. package/dist/bootstrap/index.d.cts +26 -7
  13. package/dist/bootstrap/index.d.ts +4 -4
  14. package/dist/bootstrap/index.js +3 -3
  15. package/dist/{bootstrap-DVL2ue5v.cjs → bootstrap-BaN6hZ5I.cjs} +7 -4
  16. package/dist/bootstrap-BaN6hZ5I.cjs.map +1 -0
  17. package/dist/{bootstrap-DdeiJ8cd.js → bootstrap-d_BMaDT4.js} +7 -4
  18. package/dist/bootstrap-d_BMaDT4.js.map +1 -0
  19. package/dist/{index-C2af8ssM.d.ts → index-CVs9rVhl.d.ts} +44 -13
  20. package/dist/index.cjs +59 -88
  21. package/dist/index.cjs.map +1 -1
  22. package/dist/index.d.cts +47 -22
  23. package/dist/index.d.ts +3 -3
  24. package/dist/index.js +33 -75
  25. package/dist/index.js.map +1 -1
  26. package/dist/{runtime-7Xh9z3dw.js → runtime-DUW6tIJ1.js} +454 -64
  27. package/dist/runtime-DUW6tIJ1.js.map +1 -0
  28. package/dist/{runtime-DVBwxFvX.cjs → runtime-Dvo2ru5A.cjs} +589 -73
  29. package/dist/runtime-Dvo2ru5A.cjs.map +1 -0
  30. package/dist/testing.cjs +6 -6
  31. package/dist/testing.cjs.map +1 -1
  32. package/dist/testing.d.cts +2 -2
  33. package/dist/testing.d.ts +2 -2
  34. package/dist/testing.js +3 -3
  35. package/package.json +1 -1
  36. package/src/ai/AgentConfigInspectorFactory.ts +2 -2
  37. package/src/ai/AgentMessageConfigNormalizerFactory.ts +3 -3
  38. package/src/ai/AiHost.ts +4 -2
  39. package/src/ai/CallableToolConfig.ts +28 -3
  40. package/src/authoring/defineNode.types.ts +35 -9
  41. package/src/authoring/index.ts +1 -0
  42. package/src/bootstrap/index.ts +6 -1
  43. package/src/bootstrap/runtime/EngineRuntimeRegistrar.ts +4 -3
  44. package/src/bootstrap/runtime/EngineRuntimeRegistration.types.ts +3 -0
  45. package/src/contracts/CodemationTelemetryAttributeNames.ts +12 -0
  46. package/src/contracts/CodemationTelemetryMetricNames.ts +7 -0
  47. package/src/contracts/CostCatalogContract.ts +16 -0
  48. package/src/contracts/CostTrackingTelemetryContract.ts +47 -0
  49. package/src/contracts/GenAiTelemetryAttributeNames.ts +10 -0
  50. package/src/contracts/NoOpCostTrackingTelemetry.ts +16 -0
  51. package/src/contracts/NoOpCostTrackingTelemetryFactory.ts +9 -0
  52. package/src/contracts/NoOpExecutionTelemetry.ts +26 -0
  53. package/src/contracts/NoOpExecutionTelemetryFactory.ts +16 -0
  54. package/src/contracts/NoOpNodeExecutionTelemetry.ts +15 -0
  55. package/src/contracts/NoOpTelemetryArtifactReference.ts +9 -0
  56. package/src/contracts/NoOpTelemetrySpanScope.ts +22 -0
  57. package/src/contracts/index.ts +3 -1
  58. package/src/contracts/{itemValue.ts → itemExpr.ts} +31 -32
  59. package/src/contracts/params.ts +10 -0
  60. package/src/contracts/runTypes.ts +4 -1
  61. package/src/contracts/runtimeTypes.ts +7 -0
  62. package/src/contracts/telemetryTypes.ts +105 -0
  63. package/src/contracts/workflowTypes.ts +20 -2
  64. package/src/events/EventPublishingWorkflowExecutionRepository.ts +1 -1
  65. package/src/execution/CatalogBackedCostTrackingTelemetry.ts +81 -0
  66. package/src/execution/CatalogBackedCostTrackingTelemetryFactory.ts +12 -0
  67. package/src/execution/DefaultExecutionContextFactory.ts +23 -0
  68. package/src/execution/ExecutionTelemetryCostTrackingDecoratorFactory.ts +84 -0
  69. package/src/execution/{ItemValueResolver.ts → ItemExprResolver.ts} +5 -5
  70. package/src/execution/NodeActivationRequestComposer.ts +1 -0
  71. package/src/execution/NodeExecutionSnapshotFactory.ts +2 -0
  72. package/src/execution/NodeExecutor.ts +6 -6
  73. package/src/execution/StaticCostCatalog.ts +22 -0
  74. package/src/execution/WorkflowRunExecutionContextFactory.ts +2 -0
  75. package/src/execution/index.ts +5 -1
  76. package/src/index.ts +1 -1
  77. package/src/orchestration/NodeExecutionRequestHandlerService.ts +1 -0
  78. package/src/orchestration/RunContinuationService.ts +4 -0
  79. package/src/orchestration/RunStartService.ts +2 -0
  80. package/src/policies/storage/RunPolicySnapshotFactory.ts +9 -0
  81. package/src/runStorage/InMemoryRunData.ts +9 -5
  82. package/src/runStorage/InMemoryWorkflowExecutionRepository.ts +4 -2
  83. package/src/types/index.ts +7 -1
  84. package/src/workflowSnapshots/WorkflowSnapshotCodec.ts +1 -1
  85. package/dist/bootstrap-DVL2ue5v.cjs.map +0 -1
  86. package/dist/bootstrap-DdeiJ8cd.js.map +0 -1
  87. package/dist/runtime-7Xh9z3dw.js.map +0 -1
  88. package/dist/runtime-DVBwxFvX.cjs.map +0 -1
  89. package/dist/workflowActivationPolicy-6V3OJD3N.cjs.map +0 -1
  90. package/dist/workflowActivationPolicy-Td9HTOuD.js.map +0 -1
@@ -273,6 +273,190 @@ declare class CredentialUnboundError extends Error {
273
273
  private static createMessage;
274
274
  }
275
275
  //#endregion
276
+ //#region src/contracts/CostTrackingTelemetryContract.d.ts
277
+ type CostTrackingComponent = "chat" | "ocr" | "rag";
278
+ declare const CostTrackingTelemetryMetricNames: {
279
+ readonly usage: "codemation.cost.usage";
280
+ readonly estimatedCost: "codemation.cost.estimated";
281
+ };
282
+ declare const CostTrackingTelemetryAttributeNames: {
283
+ readonly component: "cost.component";
284
+ readonly provider: "cost.provider";
285
+ readonly operation: "cost.operation";
286
+ readonly pricingKey: "cost.pricing_key";
287
+ readonly usageUnit: "cost.usage_unit";
288
+ readonly currency: "cost.currency";
289
+ readonly currencyScale: "cost.currency_scale";
290
+ readonly estimateKind: "cost.estimate_kind";
291
+ };
292
+ interface CostTrackingUsageRecord {
293
+ readonly component: CostTrackingComponent;
294
+ readonly provider: string;
295
+ readonly operation: string;
296
+ readonly pricingKey: string;
297
+ readonly usageUnit: string;
298
+ readonly quantity: number;
299
+ readonly modelName?: string;
300
+ readonly attributes?: TelemetryAttributes;
301
+ }
302
+ interface CostTrackingPriceQuote {
303
+ readonly currency: string;
304
+ readonly currencyScale: number;
305
+ readonly estimatedAmountMinor: number;
306
+ readonly estimateKind: "catalog";
307
+ }
308
+ interface CostTrackingTelemetry {
309
+ captureUsage(args: CostTrackingUsageRecord): Promise<CostTrackingPriceQuote | undefined>;
310
+ forScope(scope: TelemetryScope): CostTrackingTelemetry;
311
+ }
312
+ interface CostTrackingTelemetryFactory {
313
+ create(args: Readonly<{
314
+ telemetry: ExecutionTelemetry;
315
+ }>): CostTrackingTelemetry;
316
+ }
317
+ //#endregion
318
+ //#region src/contracts/NoOpTelemetryArtifactReference.d.ts
319
+ declare class NoOpTelemetryArtifactReference {
320
+ static readonly value: TelemetryArtifactReference;
321
+ }
322
+ //#endregion
323
+ //#region src/contracts/NoOpTelemetrySpanScope.d.ts
324
+ declare class NoOpTelemetrySpanScope {
325
+ static readonly value: TelemetrySpanScope;
326
+ }
327
+ //#endregion
328
+ //#region src/contracts/NoOpNodeExecutionTelemetry.d.ts
329
+ declare class NoOpNodeExecutionTelemetry {
330
+ static readonly value: NodeExecutionTelemetry;
331
+ }
332
+ //#endregion
333
+ //#region src/contracts/NoOpExecutionTelemetry.d.ts
334
+ declare class NoOpExecutionTelemetry {
335
+ static readonly value: ExecutionTelemetry;
336
+ }
337
+ //#endregion
338
+ //#region src/contracts/NoOpExecutionTelemetryFactory.d.ts
339
+ declare class NoOpExecutionTelemetryFactory implements ExecutionTelemetryFactory {
340
+ create(_: Readonly<{
341
+ runId: RunId;
342
+ workflowId: WorkflowId;
343
+ parent?: ParentExecutionRef;
344
+ policySnapshot?: PersistedRunPolicySnapshot;
345
+ }>): ExecutionTelemetry;
346
+ }
347
+ //#endregion
348
+ //#region src/contracts/CodemationTelemetryAttributeNames.d.ts
349
+ declare class CodemationTelemetryAttributeNames {
350
+ static readonly workflowId = "codemation.workflow.id";
351
+ static readonly runId = "codemation.run.id";
352
+ static readonly nodeId = "codemation.node.id";
353
+ static readonly activationId = "codemation.activation.id";
354
+ static readonly nodeType = "codemation.node.type";
355
+ static readonly nodeRole = "codemation.node.role";
356
+ static readonly workflowFolder = "codemation.workflow.folder";
357
+ static readonly connectionInvocationId = "codemation.connection.invocation_id";
358
+ static readonly toolName = "codemation.tool.name";
359
+ static readonly traceParentRunId = "codemation.parent.run.id";
360
+ }
361
+ //#endregion
362
+ //#region src/contracts/GenAiTelemetryAttributeNames.d.ts
363
+ declare class GenAiTelemetryAttributeNames {
364
+ static readonly operationName = "gen_ai.operation.name";
365
+ static readonly requestModel = "gen_ai.request.model";
366
+ static readonly usageInputTokens = "gen_ai.usage.input_tokens";
367
+ static readonly usageOutputTokens = "gen_ai.usage.output_tokens";
368
+ static readonly usageTotalTokens = "gen_ai.usage.total_tokens";
369
+ static readonly usageCacheReadInputTokens = "gen_ai.usage.cache_read.input_tokens";
370
+ static readonly usageCacheCreationInputTokens = "gen_ai.usage.cache_creation.input_tokens";
371
+ static readonly usageReasoningTokens = "codemation.gen_ai.usage.reasoning_tokens";
372
+ }
373
+ //#endregion
374
+ //#region src/contracts/CodemationTelemetryMetricNames.d.ts
375
+ declare class CodemationTelemetryMetricNames {
376
+ static readonly agentTurns = "codemation.ai.turns";
377
+ static readonly agentToolCalls = "codemation.ai.tool_calls";
378
+ static readonly gmailMessagesEmitted = "codemation.gmail.messages_emitted";
379
+ static readonly gmailAttachments = "codemation.gmail.attachments";
380
+ static readonly gmailAttachmentBytes = "codemation.gmail.attachment_bytes";
381
+ }
382
+ //#endregion
383
+ //#region src/contracts/telemetryTypes.d.ts
384
+ type TelemetryAttributePrimitive = string | number | boolean | null;
385
+ interface TelemetryAttributes {
386
+ readonly [key: string]: TelemetryAttributePrimitive | undefined;
387
+ }
388
+ interface TelemetryMetricRecord {
389
+ readonly name: string;
390
+ readonly value: number;
391
+ readonly unit?: string;
392
+ readonly attributes?: TelemetryAttributes;
393
+ }
394
+ interface TelemetrySpanEventRecord {
395
+ readonly name: string;
396
+ readonly occurredAt?: Date;
397
+ readonly attributes?: TelemetryAttributes;
398
+ }
399
+ interface TelemetryArtifactAttachment {
400
+ readonly kind: string;
401
+ readonly contentType: string;
402
+ readonly previewText?: string;
403
+ readonly previewJson?: JsonValue;
404
+ readonly payloadText?: string;
405
+ readonly payloadJson?: JsonValue;
406
+ readonly bytes?: number;
407
+ readonly truncated?: boolean;
408
+ readonly expiresAt?: Date;
409
+ }
410
+ interface TelemetryArtifactReference {
411
+ readonly artifactId: string;
412
+ readonly traceId?: string;
413
+ readonly spanId?: string;
414
+ }
415
+ interface TelemetrySpanEnd {
416
+ readonly status?: "ok" | "error";
417
+ readonly statusMessage?: string;
418
+ readonly endedAt?: Date;
419
+ readonly attributes?: TelemetryAttributes;
420
+ }
421
+ interface TelemetryChildSpanStart {
422
+ readonly name: string;
423
+ readonly kind?: "internal" | "client";
424
+ readonly startedAt?: Date;
425
+ readonly attributes?: TelemetryAttributes;
426
+ }
427
+ interface TelemetryScope {
428
+ readonly traceId?: string;
429
+ readonly spanId?: string;
430
+ readonly costTracking?: CostTrackingTelemetry;
431
+ addSpanEvent(args: TelemetrySpanEventRecord): Promise<void> | void;
432
+ recordMetric(args: TelemetryMetricRecord): Promise<void> | void;
433
+ attachArtifact(args: TelemetryArtifactAttachment): Promise<TelemetryArtifactReference> | TelemetryArtifactReference;
434
+ }
435
+ interface TelemetrySpanScope extends TelemetryScope {
436
+ readonly traceId: string;
437
+ readonly spanId: string;
438
+ end(args?: TelemetrySpanEnd): Promise<void> | void;
439
+ }
440
+ interface NodeExecutionTelemetry extends ExecutionTelemetry, TelemetrySpanScope {
441
+ startChildSpan(args: TelemetryChildSpanStart): TelemetrySpanScope;
442
+ }
443
+ interface ExecutionTelemetry extends TelemetryScope {
444
+ readonly traceId: string;
445
+ readonly spanId: string;
446
+ forNode(args: Readonly<{
447
+ nodeId: NodeId;
448
+ activationId: NodeActivationId;
449
+ }>): NodeExecutionTelemetry;
450
+ }
451
+ interface ExecutionTelemetryFactory {
452
+ create(args: Readonly<{
453
+ runId: RunId;
454
+ workflowId: WorkflowId;
455
+ parent?: ParentExecutionRef;
456
+ policySnapshot?: PersistedRunPolicySnapshot;
457
+ }>): ExecutionTelemetry;
458
+ }
459
+ //#endregion
276
460
  //#region src/contracts/runTypes.d.ts
277
461
  interface RunExecutionOptions {
278
462
  /** Run-intent override: force the inline scheduler and bypass node-level offload decisions. */
@@ -355,6 +539,7 @@ interface NodeExecutionError {
355
539
  message: string;
356
540
  name?: string;
357
541
  stack?: string;
542
+ details?: JsonValue;
358
543
  }
359
544
  interface NodeExecutionSnapshot {
360
545
  runId: RunId;
@@ -522,7 +707,8 @@ interface RunPruneCandidate {
522
707
  }
523
708
  interface WorkflowExecutionPruneRepository {
524
709
  listRunsOlderThan(args: Readonly<{
525
- beforeIso: string;
710
+ nowIso: string;
711
+ defaultRetentionSeconds: number;
526
712
  limit?: number;
527
713
  }>): Promise<ReadonlyArray<RunPruneCandidate>>;
528
714
  }
@@ -735,6 +921,7 @@ interface ExecutionContext {
735
921
  now: () => Date;
736
922
  data: RunDataSnapshot;
737
923
  nodeState?: NodeExecutionStatePublisher;
924
+ telemetry: ExecutionTelemetry;
738
925
  binary: ExecutionBinaryService;
739
926
  getCredential<TSession = unknown>(slotKey: string): Promise<TSession>;
740
927
  }
@@ -743,11 +930,13 @@ interface ExecutionContextFactory {
743
930
  runId: RunId;
744
931
  workflowId: WorkflowId;
745
932
  parent?: ParentExecutionRef;
933
+ policySnapshot?: PersistedRunPolicySnapshot;
746
934
  subworkflowDepth: number;
747
935
  engineMaxNodeActivations: number;
748
936
  engineMaxSubworkflowDepth: number;
749
937
  data: RunDataSnapshot;
750
938
  nodeState?: NodeExecutionStatePublisher;
939
+ telemetry?: ExecutionTelemetry;
751
940
  getCredential<TSession = unknown>(slotKey: string): Promise<TSession>;
752
941
  }): ExecutionContext;
753
942
  }
@@ -755,6 +944,7 @@ interface NodeExecutionContext<TConfig extends NodeConfigBase = NodeConfigBase>
755
944
  nodeId: NodeId;
756
945
  activationId: NodeActivationId;
757
946
  config: TConfig;
947
+ telemetry: NodeExecutionTelemetry;
758
948
  binary: NodeBinaryAttachmentService;
759
949
  }
760
950
  interface TriggerSetupContext<TConfig extends TriggerNodeConfig<any, any> = TriggerNodeConfig<any, any>, TSetupState$1 extends JsonValue | undefined = TriggerNodeSetupState<TConfig>> extends ExecutionContext {
@@ -948,6 +1138,7 @@ interface EngineDeps {
948
1138
  activationScheduler: NodeActivationScheduler;
949
1139
  runDataFactory: RunDataFactory;
950
1140
  executionContextFactory: ExecutionContextFactory;
1141
+ executionTelemetryFactory?: ExecutionTelemetryFactory;
951
1142
  nodeExecutor: NodeExecutor;
952
1143
  eventBus?: RunEventBus;
953
1144
  tokenRegistry: PersistedWorkflowTokenRegistryLike;
@@ -989,6 +1180,9 @@ interface ExponentialRetryPolicySpec {
989
1180
  //#region src/contracts/workflowTypes.d.ts
990
1181
  type WorkflowId = string;
991
1182
  type NodeId = string;
1183
+ type NodeIdRef<TJson = unknown> = NodeId & Readonly<{
1184
+ __codemationNodeJson?: TJson;
1185
+ }>;
992
1186
  type OutputPortKey = string;
993
1187
  type InputPortKey = string;
994
1188
  type PersistedTokenId = string;
@@ -1123,6 +1317,7 @@ interface NodeRef {
1123
1317
  kind: NodeKind;
1124
1318
  name?: string;
1125
1319
  }
1320
+ declare function nodeRef<TJson>(nodeId: NodeId): NodeIdRef<TJson>;
1126
1321
  type PairedItemRef = Readonly<{
1127
1322
  nodeId: NodeId;
1128
1323
  output: OutputPortKey;
@@ -1168,8 +1363,8 @@ interface ParentExecutionRef {
1168
1363
  }
1169
1364
  interface RunDataSnapshot {
1170
1365
  getOutputs(nodeId: NodeId): NodeOutputs | undefined;
1171
- getOutputItems(nodeId: NodeId, output?: OutputPortKey): Items;
1172
- getOutputItem(nodeId: NodeId, itemIndex: number, output?: OutputPortKey): Item | undefined;
1366
+ getOutputItems<TJson = unknown>(nodeId: NodeId | NodeIdRef<TJson>, output?: OutputPortKey): Items<TJson>;
1367
+ getOutputItem<TJson = unknown>(nodeId: NodeId | NodeIdRef<TJson>, itemIndex: number, output?: OutputPortKey): Item<TJson> | undefined;
1173
1368
  }
1174
1369
  interface MutableRunData extends RunDataSnapshot {
1175
1370
  setOutputs(nodeId: NodeId, outputs: NodeOutputs): void;
@@ -1215,10 +1410,16 @@ interface WorkflowStoragePolicyDecisionArgs {
1215
1410
  interface WorkflowPrunePolicySpec {
1216
1411
  readonly runDataRetentionSeconds?: number;
1217
1412
  readonly binaryRetentionSeconds?: number;
1413
+ readonly telemetrySpanRetentionSeconds?: number;
1414
+ readonly telemetryArtifactRetentionSeconds?: number;
1415
+ readonly telemetryMetricRetentionSeconds?: number;
1218
1416
  }
1219
1417
  interface PersistedRunPolicySnapshot {
1220
1418
  readonly retentionSeconds?: number;
1221
1419
  readonly binaryRetentionSeconds?: number;
1420
+ readonly telemetrySpanRetentionSeconds?: number;
1421
+ readonly telemetryArtifactRetentionSeconds?: number;
1422
+ readonly telemetryMetricRetentionSeconds?: number;
1222
1423
  readonly storagePolicy: WorkflowStoragePolicyMode;
1223
1424
  }
1224
1425
  interface WorkflowErrorHandler {
@@ -1249,6 +1450,9 @@ type NodeErrorHandlerSpec = TypeToken<NodeErrorHandler> | NodeErrorHandler;
1249
1450
  interface WorkflowPolicyRuntimeDefaults {
1250
1451
  readonly retentionSeconds?: number;
1251
1452
  readonly binaryRetentionSeconds?: number;
1453
+ readonly telemetrySpanRetentionSeconds?: number;
1454
+ readonly telemetryArtifactRetentionSeconds?: number;
1455
+ readonly telemetryMetricRetentionSeconds?: number;
1252
1456
  readonly storagePolicy?: WorkflowStoragePolicyMode;
1253
1457
  }
1254
1458
  //#endregion
@@ -1454,5 +1658,5 @@ declare class RunIntentService {
1454
1658
  private createWebhookExecutionOptions;
1455
1659
  }
1456
1660
  //#endregion
1457
- export { WorkflowGraphFactory as $, WorkflowExecutionRepository as $n, TriggerRuntimeDiagnostics as $t, NodeRef as A, PersistedMutableNodeState as An, Lifecycle as Ar, ItemNode as At, RunIdFactory as B, RunCurrentState as Bn, predicateAwareClassFactory as Br, NodeExecutionRequest as Bt, NodeErrorHandler as C, EngineRunCounters as Cn, CredentialTypeRegistry as Cr, BinaryStorageWriteResult as Ct, NodeKind as D, NodeExecutionStatus as Dn, DependencyContainer$1 as Dr, ExecutionBinaryService as Dt, NodeId as E, NodeExecutionSnapshot as En, Container as Er, ExecutableTriggerNode as Et, PersistedRunPolicySnapshot as F, PersistedWorkflowSnapshot as Fn, inject as Fr, NodeActivationRequest as Ft, TriggerNodeOutputJson as G, RunResult as Gn, EngineExecutionLimitsPolicy as Gr, NodeResolver as Gt, RunnableNodeInputJson as H, RunExecutionOptions as Hn, singleton as Hr, NodeExecutionScheduler as Ht, PersistedTokenId as I, PersistedWorkflowSnapshotNode as In, injectAll as Ir, NodeActivationRequestBase as It, WorkflowDefinition as J, RunStopCondition as Jn, RunEventBus as Jr, RunnableNode as Jt, TriggerNodeSetupState as K, RunStateResetRequest as Kn, EngineExecutionLimitsPolicyConfig as Kr, PersistedTriggerSetupState as Kt, RunDataFactory as L, PersistedWorkflowTokenRegistryLike as Ln, injectable as Lr, NodeActivationScheduler as Lt, OutputPortKey as M, PersistedRunControlState as Mn, TypeToken as Mr, MultiInputNode as Mt, PairedItemRef as N, PersistedRunSchedulingState as Nn, container as Nr, NodeActivationContinuation as Nt, NodeOffloadPolicy as O, NodeInputsByPort as On, Disposable as Or, ExecutionContext as Ot, ParentExecutionRef as P, PersistedRunState as Pn, delay as Pr, NodeActivationReceipt as Pt, WorkflowGraph as Q, WorkflowExecutionPruneRepository as Qn, TriggerNode as Qt, RunDataSnapshot as R, PinnedNodeOutputsByPort as Rn, instanceCachingFactory as Rr, NodeBinaryAttachmentService as Rt, NodeDefinition as S, CurrentStateExecutionRequest as Sn, CredentialTypeId as Sr, BinaryStorageWriteRequest as St, NodeErrorHandlerSpec as T, NodeExecutionError as Tn, OAuth2ProviderFromPublicConfig as Tr, EngineHost as Tt, RunnableNodeOutputJson as U, RunPruneCandidate as Un, CoreTokens as Ur, NodeExecutionStatePublisher as Ut, RunnableNodeConfig as V, RunEventPublisherDeps as Vn, registry as Vr, NodeExecutionRequestHandler as Vt, TriggerNodeConfig as W, RunQueueEntry as Wn, ENGINE_EXECUTION_LIMITS_DEFAULTS as Wr, NodeExecutor as Wt, WorkflowErrorHandler as X, WebhookRunResult as Xn, TestableTriggerNode as Xt, WorkflowErrorContext as Y, RunSummary as Yn, RunEventSubscription as Yr, RunnableNodeExecuteArgs as Yt, WorkflowErrorHandlerSpec as Z, WorkflowExecutionListingRepository as Zn, TriggerCleanupHandle as Zt, JsonValue as _, AllWorkflowsActiveWorkflowActivationPolicy as _n, CredentialSessionFactoryArgs as _r, BinaryAttachmentCreateRequest as _t, BinaryAttachment as a, WorkflowRepository as an, CredentialFieldSchema as ar, WorkflowStoragePolicyMode as at, NodeConfigBase as b, ConnectionInvocationId as bn, CredentialType as br, BinaryStorageReadResult as bt, ExecutionMode as c, WorkflowSnapshotFactory as cn, CredentialHealthTester as cr, branchRef as ct, ItemBinary as d, TriggerInstanceId as dn, CredentialJsonRecord as dr, triggerNodeOutputType as dt, TriggerSetupContext as en, AnyCredentialType as er, WorkflowId as et, Items as f, WebhookControlSignal as fn, CredentialMaterialSourceKind as fr, triggerNodeSetupStateType as ft, JsonPrimitive as g, WebhookTriggerRoutingDiagnostics as gn, CredentialSessionFactory as gr, RetryPolicySpec as gt, JsonObject as h, WebhookTriggerResolution as hn, CredentialRequirement as hr, NoneRetryPolicySpec as ht, ActivationIdFactory as i, WorkflowNodeInstanceFactory as in, CredentialBindingKey as ir, WorkflowStoragePolicyDecisionArgs as it, NodeSchedulerDecision as j, PersistedMutableRunState as jn, RegistrationOptions as jr, LiveWorkflowRepository as jt, NodeOutputs as k, PendingNodeExecution as kn, InjectionToken$1 as kr, ExecutionContextFactory as kt, InputPortKey as l, WorkflowSnapshotResolver as ln, CredentialInstanceId as lr, runnableNodeInputType as lt, JsonNonArray as m, WebhookTriggerMatcher as mn, CredentialOAuth2ScopesFromPublicConfig as mr, FixedRetryPolicySpec as mt, InMemoryLiveWorkflowRepository as n, TriggerSetupStateRepository as nn, CredentialAuthDefinition as nr, WorkflowPolicyRuntimeDefaults as nt, BinaryPreviewKind as o, WorkflowRunnerResolver as on, CredentialHealth as or, WorkflowStoragePolicyResolver as ot, JsonArray as p, WebhookInvocationMatch as pn, CredentialOAuth2AuthDefinition as pr, ExponentialRetryPolicySpec as pt, UpstreamRefPlaceholder as q, RunStatus as qn, RunEvent as qr, PreparedNodeActivationDispatch as qt, Engine as r, TriggerTestItemsContext as rn, CredentialBinding as rr, WorkflowPrunePolicySpec as rt, Edge as s, WorkflowRunnerService as sn, CredentialHealthStatus as sr, WorkflowStoragePolicySpec as st, RunIntentService as t, TriggerSetupStateFor as tn, CredentialAdvancedSectionPresentation as tr, WorkflowNodeConnection as tt, Item as u, HttpMethod as un, CredentialInstanceRecord as ur, runnableNodeOutputType as ut, MutableRunData as v, WorkflowActivationPolicy as vn, CredentialSessionService as vr, BinaryBody as vt, NodeErrorHandlerArgs as w, ExecutionFrontierPlan as wn, CredentialUnboundError as wr, EngineDeps as wt, NodeConnectionName as x, ConnectionInvocationRecord as xn, CredentialTypeDefinition as xr, BinaryStorageStatResult as xt, NodeActivationId as y, ConnectionInvocationAppendArgs as yn, CredentialSetupStatus as yr, BinaryStorage as yt, RunId as z, RunCompletionNotifier as zn, instancePerContainerCachingFactory as zr, NodeExecutionContext as zt };
1458
- //# sourceMappingURL=RunIntentService-B1Y3v1H6.d.cts.map
1661
+ export { WorkflowGraph as $, WorkflowExecutionListingRepository as $n, CredentialTypeRegistry as $r, TriggerCleanupHandle as $t, NodeOutputs as A, NodeInputsByPort as An, AnyCredentialType as Ar, ExecutionContext as At, RunId as B, PinnedNodeOutputsByPort as Bn, CredentialInstanceRecord as Br, NodeBinaryAttachmentService as Bt, NodeErrorHandler as C, RunEvent as Ci, ConnectionInvocationRecord as Cn, CostTrackingComponent as Cr, BinaryStorageStatResult as Ct, NodeIdRef as D, NodeExecutionError as Dn, CostTrackingTelemetryFactory as Dr, EngineHost as Dt, NodeId as E, ExecutionFrontierPlan as En, CostTrackingTelemetryAttributeNames as Er, EngineDeps as Et, ParentExecutionRef as F, PersistedRunSchedulingState as Fn, CredentialFieldSchema as Fr, NodeActivationContinuation as Ft, TriggerNodeConfig as G, RunPruneCandidate as Gn, CredentialRequirement as Gr, NodeExecutionStatePublisher as Gt, RunnableNodeConfig as H, RunCurrentState as Hn, CredentialMaterialSourceKind as Hr, NodeExecutionRequest as Ht, PersistedRunPolicySnapshot as I, PersistedRunState as In, CredentialHealth as Ir, NodeActivationReceipt as It, UpstreamRefPlaceholder as J, RunStateResetRequest as Jn, CredentialSessionService as Jr, PersistedTriggerSetupState as Jt, TriggerNodeOutputJson as K, RunQueueEntry as Kn, CredentialSessionFactory as Kr, NodeExecutor as Kt, PersistedTokenId as L, PersistedWorkflowSnapshot as Ln, CredentialHealthStatus as Lr, NodeActivationRequest as Lt, NodeSchedulerDecision as M, PersistedMutableNodeState as Mn, CredentialAuthDefinition as Mr, ItemNode as Mt, OutputPortKey as N, PersistedMutableRunState as Nn, CredentialBinding as Nr, LiveWorkflowRepository as Nt, NodeKind as O, NodeExecutionSnapshot as On, CostTrackingTelemetryMetricNames as Or, ExecutableTriggerNode as Ot, PairedItemRef as P, PersistedRunControlState as Pn, CredentialBindingKey as Pr, MultiInputNode as Pt, WorkflowErrorHandlerSpec as Q, WebhookRunResult as Qn, CredentialTypeId as Qr, TestableTriggerNode as Qt, RunDataFactory as R, PersistedWorkflowSnapshotNode as Rn, CredentialHealthTester as Rr, NodeActivationRequestBase as Rt, NodeDefinition as S, EngineExecutionLimitsPolicyConfig as Si, ConnectionInvocationId as Sn, NoOpTelemetryArtifactReference as Sr, BinaryStorageReadResult as St, NodeErrorHandlerSpec as T, RunEventSubscription as Ti, EngineRunCounters as Tn, CostTrackingTelemetry as Tr, BinaryStorageWriteResult as Tt, RunnableNodeInputJson as U, RunEventPublisherDeps as Un, CredentialOAuth2AuthDefinition as Ur, NodeExecutionRequestHandler as Ut, RunIdFactory as V, RunCompletionNotifier as Vn, CredentialJsonRecord as Vr, NodeExecutionContext as Vt, RunnableNodeOutputJson as W, RunExecutionOptions as Wn, CredentialOAuth2ScopesFromPublicConfig as Wr, NodeExecutionScheduler as Wt, WorkflowErrorContext as X, RunStopCondition as Xn, CredentialType as Xr, RunnableNode as Xt, WorkflowDefinition as Y, RunStatus as Yn, CredentialSetupStatus as Yr, PreparedNodeActivationDispatch as Yt, WorkflowErrorHandler as Z, RunSummary as Zn, CredentialTypeDefinition as Zr, RunnableNodeExecuteArgs as Zt, JsonValue as _, registry as _i, WebhookTriggerResolution as _n, CodemationTelemetryAttributeNames as _r, NoneRetryPolicySpec as _t, BinaryAttachment as a, InjectionToken$1 as ai, TriggerTestItemsContext as an, TelemetryArtifactAttachment as ar, WorkflowStoragePolicyDecisionArgs as at, NodeConfigBase as b, ENGINE_EXECUTION_LIMITS_DEFAULTS as bi, WorkflowActivationPolicy as bn, NoOpNodeExecutionTelemetry as br, BinaryBody as bt, ExecutionMode as c, TypeToken as ci, WorkflowRunnerResolver as cn, TelemetryAttributes as cr, WorkflowStoragePolicySpec as ct, ItemBinary as d, inject as di, WorkflowSnapshotResolver as dn, TelemetryScope as dr, runnableNodeInputType as dt, CredentialUnboundError as ei, TriggerNode as en, WorkflowExecutionPruneRepository as er, WorkflowGraphFactory as et, Items as f, injectAll as fi, HttpMethod as fn, TelemetrySpanEnd as fr, runnableNodeOutputType as ft, JsonPrimitive as g, predicateAwareClassFactory as gi, WebhookTriggerMatcher as gn, GenAiTelemetryAttributeNames as gr, FixedRetryPolicySpec as gt, JsonObject as h, instancePerContainerCachingFactory as hi, WebhookInvocationMatch as hn, CodemationTelemetryMetricNames as hr, ExponentialRetryPolicySpec as ht, ActivationIdFactory as i, Disposable as ii, TriggerSetupStateRepository as in, NodeExecutionTelemetry as ir, WorkflowPrunePolicySpec as it, NodeRef as j, PendingNodeExecution as jn, CredentialAdvancedSectionPresentation as jr, ExecutionContextFactory as jt, NodeOffloadPolicy as k, NodeExecutionStatus as kn, CostTrackingUsageRecord as kr, ExecutionBinaryService as kt, InputPortKey as l, container as li, WorkflowRunnerService as ln, TelemetryChildSpanStart as lr, branchRef as lt, JsonNonArray as m, instanceCachingFactory as mi, WebhookControlSignal as mn, TelemetrySpanScope as mr, triggerNodeSetupStateType as mt, InMemoryLiveWorkflowRepository as n, Container as ni, TriggerSetupContext as nn, ExecutionTelemetry as nr, WorkflowNodeConnection as nt, BinaryPreviewKind as o, Lifecycle as oi, WorkflowNodeInstanceFactory as on, TelemetryArtifactReference as or, WorkflowStoragePolicyMode as ot, JsonArray as p, injectable as pi, TriggerInstanceId as pn, TelemetrySpanEventRecord as pr, triggerNodeOutputType as pt, TriggerNodeSetupState as q, RunResult as qn, CredentialSessionFactoryArgs as qr, NodeResolver as qt, Engine as r, DependencyContainer$1 as ri, TriggerSetupStateFor as rn, ExecutionTelemetryFactory as rr, WorkflowPolicyRuntimeDefaults as rt, Edge as s, RegistrationOptions as si, WorkflowRepository as sn, TelemetryAttributePrimitive as sr, WorkflowStoragePolicyResolver as st, RunIntentService as t, OAuth2ProviderFromPublicConfig as ti, TriggerRuntimeDiagnostics as tn, WorkflowExecutionRepository as tr, WorkflowId as tt, Item as u, delay as ui, WorkflowSnapshotFactory as un, TelemetryMetricRecord as ur, nodeRef as ut, MutableRunData as v, singleton as vi, WebhookTriggerRoutingDiagnostics as vn, NoOpExecutionTelemetryFactory as vr, RetryPolicySpec as vt, NodeErrorHandlerArgs as w, RunEventBus as wi, CurrentStateExecutionRequest as wn, CostTrackingPriceQuote as wr, BinaryStorageWriteRequest as wt, NodeConnectionName as x, EngineExecutionLimitsPolicy as xi, ConnectionInvocationAppendArgs as xn, NoOpTelemetrySpanScope as xr, BinaryStorage as xt, NodeActivationId as y, CoreTokens as yi, AllWorkflowsActiveWorkflowActivationPolicy as yn, NoOpExecutionTelemetry as yr, BinaryAttachmentCreateRequest as yt, RunDataSnapshot as z, PersistedWorkflowTokenRegistryLike as zn, CredentialInstanceId as zr, NodeActivationScheduler as zt };
1662
+ //# sourceMappingURL=RunIntentService-S-1lW-gS.d.cts.map
@@ -1,6 +1,7 @@
1
- const require_runtime = require('../runtime-DVBwxFvX.cjs');
2
- const require_bootstrap = require('../bootstrap-DVL2ue5v.cjs');
1
+ const require_runtime = require('../runtime-Dvo2ru5A.cjs');
2
+ const require_bootstrap = require('../bootstrap-BaN6hZ5I.cjs');
3
3
 
4
+ exports.CatalogBackedCostTrackingTelemetryFactory = require_runtime.CatalogBackedCostTrackingTelemetryFactory;
4
5
  exports.ConfigDrivenOffloadPolicy = require_runtime.ConfigDrivenOffloadPolicy;
5
6
  exports.CredentialResolverFactory = require_runtime.CredentialResolverFactory;
6
7
  exports.DefaultAsyncSleeper = require_runtime.DefaultAsyncSleeper;
@@ -30,6 +31,7 @@ exports.RunIntentService = require_runtime.RunIntentService;
30
31
  exports.RunPolicySnapshotFactory = require_runtime.RunPolicySnapshotFactory;
31
32
  exports.RunSummaryMapper = require_bootstrap.RunSummaryMapper;
32
33
  exports.RunTerminalPersistenceCoordinator = require_runtime.RunTerminalPersistenceCoordinator;
34
+ exports.StaticCostCatalog = require_runtime.StaticCostCatalog;
33
35
  exports.UnavailableBinaryStorage = require_runtime.UnavailableBinaryStorage;
34
36
  exports.WorkflowPolicyErrorServices = require_runtime.WorkflowPolicyErrorServices;
35
37
  exports.WorkflowRepositoryWebhookTriggerMatcher = require_runtime.WorkflowRepositoryWebhookTriggerMatcher;
@@ -1,6 +1,6 @@
1
- import { $n as WorkflowExecutionRepository, Bt as NodeExecutionRequest, C as NodeErrorHandler, Cn as EngineRunCounters, Dr as DependencyContainer, E as NodeId, F as PersistedRunPolicySnapshot, Ft as NodeActivationRequest, Gr as EngineExecutionLimitsPolicy, Gt as NodeResolver, Ht as NodeExecutionScheduler, I as PersistedTokenId, In as PersistedWorkflowSnapshotNode, J as WorkflowDefinition, Kr as EngineExecutionLimitsPolicyConfig, Lt as NodeActivationScheduler, Mr as TypeToken, Nn as PersistedRunSchedulingState, Nt as NodeActivationContinuation, O as NodeOffloadPolicy, P as ParentExecutionRef, Pn as PersistedRunState, Qn as WorkflowExecutionPruneRepository, S as NodeDefinition, T as NodeErrorHandlerSpec, Un as RunPruneCandidate, Wr as ENGINE_EXECUTION_LIMITS_DEFAULTS, X as WorkflowErrorHandler, Yn as RunSummary, Z as WorkflowErrorHandlerSpec, Zn as WorkflowExecutionListingRepository, an as WorkflowRepository, b as NodeConfigBase, c as ExecutionMode, et as WorkflowId, gn as WebhookTriggerRoutingDiagnostics, in as WorkflowNodeInstanceFactory, it as WorkflowStoragePolicyDecisionArgs, j as NodeSchedulerDecision, k as NodeOutputs, mn as WebhookTriggerMatcher, n as InMemoryLiveWorkflowRepository, nt as WorkflowPolicyRuntimeDefaults, pn as WebhookInvocationMatch, qt as PreparedNodeActivationDispatch, r as Engine, t as RunIntentService, un as HttpMethod, vn as WorkflowActivationPolicy, wt as EngineDeps, z as RunId } from "../RunIntentService-B1Y3v1H6.cjs";
2
- import { a as WorkflowSnapshotCodec, i as WebhookTriggerMatcherProvider, n as EngineRuntimeRegistrationOptions, r as TriggerRuntimeDiagnosticsProvider, t as EngineWorkflowRunnerService } from "../EngineWorkflowRunnerService-Bf88QtwB.cjs";
3
- import { c as InProcessRetryRunner, d as AsyncSleeper, f as CredentialResolverFactory, i as UnavailableBinaryStorage, l as DefaultExecutionContextFactory, n as InMemoryBinaryStorage, o as RunnableOutputBehaviorResolver, r as DefaultExecutionBinaryService, s as ItemValueResolver, t as InMemoryRunDataFactory, u as DefaultAsyncSleeper } from "../InMemoryRunDataFactory-Dyl4p2s8.cjs";
1
+ import { $n as WorkflowExecutionListingRepository, A as NodeOutputs, B as RunId, C as NodeErrorHandler, Dr as CostTrackingTelemetryFactory, E as NodeId, Et as EngineDeps, F as ParentExecutionRef, Fn as PersistedRunSchedulingState, Ft as NodeActivationContinuation, Gn as RunPruneCandidate, Ht as NodeExecutionRequest, I as PersistedRunPolicySnapshot, In as PersistedRunState, L as PersistedTokenId, Lt as NodeActivationRequest, M as NodeSchedulerDecision, Q as WorkflowErrorHandlerSpec, Rn as PersistedWorkflowSnapshotNode, S as NodeDefinition, Si as EngineExecutionLimitsPolicyConfig, T as NodeErrorHandlerSpec, Tn as EngineRunCounters, Tr as CostTrackingTelemetry, Wt as NodeExecutionScheduler, Y as WorkflowDefinition, Yt as PreparedNodeActivationDispatch, Z as WorkflowErrorHandler, Zn as RunSummary, at as WorkflowStoragePolicyDecisionArgs, b as NodeConfigBase, bi as ENGINE_EXECUTION_LIMITS_DEFAULTS, bn as WorkflowActivationPolicy, c as ExecutionMode, ci as TypeToken, er as WorkflowExecutionPruneRepository, fn as HttpMethod, gn as WebhookTriggerMatcher, hn as WebhookInvocationMatch, k as NodeOffloadPolicy, kr as CostTrackingUsageRecord, n as InMemoryLiveWorkflowRepository, nr as ExecutionTelemetry, on as WorkflowNodeInstanceFactory, qt as NodeResolver, r as Engine, ri as DependencyContainer, rt as WorkflowPolicyRuntimeDefaults, sn as WorkflowRepository, t as RunIntentService, tr as WorkflowExecutionRepository, tt as WorkflowId, vn as WebhookTriggerRoutingDiagnostics, xi as EngineExecutionLimitsPolicy, zt as NodeActivationScheduler } from "../RunIntentService-S-1lW-gS.cjs";
2
+ import { c as InProcessRetryRunner, d as AsyncSleeper, f as CredentialResolverFactory, i as UnavailableBinaryStorage, l as DefaultExecutionContextFactory, m as CostCatalogEntry, n as InMemoryBinaryStorage, o as RunnableOutputBehaviorResolver, p as CostCatalog, r as DefaultExecutionBinaryService, s as ItemExprResolver, t as InMemoryRunDataFactory, u as DefaultAsyncSleeper } from "../InMemoryRunDataFactory-1iz7_SnO.cjs";
3
+ import { a as WorkflowSnapshotCodec, i as WebhookTriggerMatcherProvider, n as EngineRuntimeRegistrationOptions, r as TriggerRuntimeDiagnosticsProvider, t as EngineWorkflowRunnerService } from "../EngineWorkflowRunnerService-DzOCa1BW.cjs";
4
4
 
5
5
  //#region src/workflowSnapshots/MissingRuntimeFallbacksFactory.d.ts
6
6
  declare class MissingRuntimeFallbacks {
@@ -45,15 +45,24 @@ declare class EngineRuntimeRegistrar {
45
45
  private resolveMatcherProvider;
46
46
  }
47
47
  //#endregion
48
+ //#region src/execution/CatalogBackedCostTrackingTelemetryFactory.d.ts
49
+ declare class CatalogBackedCostTrackingTelemetryFactory implements CostTrackingTelemetryFactory {
50
+ private readonly costCatalog;
51
+ constructor(costCatalog: CostCatalog);
52
+ create(args: Readonly<{
53
+ telemetry: ExecutionTelemetry;
54
+ }>): CostTrackingTelemetry;
55
+ }
56
+ //#endregion
48
57
  //#region src/execution/NodeExecutor.d.ts
49
58
  declare class NodeExecutor {
50
59
  private readonly nodeInstanceFactory;
51
60
  private readonly retryRunner;
52
61
  private readonly fanInMerger;
53
62
  private readonly outputNormalizer;
54
- private readonly itemValueResolver;
63
+ private readonly itemExprResolver;
55
64
  private readonly outputBehaviorResolver;
56
- constructor(nodeInstanceFactory: WorkflowNodeInstanceFactory, retryRunner: InProcessRetryRunner, itemValueResolver?: ItemValueResolver, outputBehaviorResolver?: RunnableOutputBehaviorResolver);
65
+ constructor(nodeInstanceFactory: WorkflowNodeInstanceFactory, retryRunner: InProcessRetryRunner, itemExprResolver?: ItemExprResolver, outputBehaviorResolver?: RunnableOutputBehaviorResolver);
57
66
  execute(request: NodeActivationRequest): Promise<NodeOutputs>;
58
67
  private executeMultiInputActivation;
59
68
  private executeSingleInputNode;
@@ -144,7 +153,8 @@ declare class InMemoryWorkflowExecutionRepository implements WorkflowExecutionRe
144
153
  limit?: number;
145
154
  }>): Promise<ReadonlyArray<RunSummary>>;
146
155
  listRunsOlderThan(args: Readonly<{
147
- beforeIso: string;
156
+ nowIso: string;
157
+ defaultRetentionSeconds: number;
148
158
  limit?: number;
149
159
  }>): Promise<ReadonlyArray<RunPruneCandidate>>;
150
160
  }
@@ -181,6 +191,15 @@ declare class WorkflowRepositoryWebhookTriggerMatcher implements WebhookTriggerM
181
191
  private normalizeEndpointPath;
182
192
  }
183
193
  //#endregion
194
+ //#region src/execution/StaticCostCatalog.d.ts
195
+ declare class StaticCostCatalog implements CostCatalog {
196
+ private readonly entriesByKey;
197
+ constructor(entries: ReadonlyArray<CostCatalogEntry>);
198
+ findEntry(args: CostTrackingUsageRecord): CostCatalogEntry | undefined;
199
+ private createKeyFromEntry;
200
+ private createKeyFromUsage;
201
+ }
202
+ //#endregion
184
203
  //#region src/scheduler/ConfigDrivenOffloadPolicy.d.ts
185
204
  declare class ConfigDrivenOffloadPolicy implements NodeOffloadPolicy {
186
205
  private readonly defaultMode;
@@ -269,5 +288,5 @@ declare class PersistedWorkflowTokenRegistry {
269
288
  resolve(tokenId: PersistedTokenId): TypeToken<unknown> | undefined;
270
289
  }
271
290
  //#endregion
272
- export { type AsyncSleeper, ConfigDrivenOffloadPolicy, CredentialResolverFactory, DefaultAsyncSleeper, DefaultDrivingScheduler, DefaultExecutionBinaryService, DefaultExecutionContextFactory, ENGINE_EXECUTION_LIMITS_DEFAULTS, Engine, type EngineCompositionDeps, EngineExecutionLimitsPolicy, type EngineExecutionLimitsPolicyConfig, EngineExecutionLimitsPolicyFactory, EngineFactory, EngineRuntimeRegistrar, type EngineRuntimeRegistrationOptions, EngineWorkflowRunnerService, HintOnlyOffloadPolicy, InMemoryBinaryStorage, InMemoryLiveWorkflowRepository, InMemoryRunDataFactory, InMemoryWorkflowExecutionRepository, InProcessRetryRunner, InlineDrivingScheduler, LocalOnlyScheduler, MissingRuntimeTriggerToken, NodeExecutor, NodeInstanceFactory, PersistedWorkflowTokenRegistry, RunIntentService, RunPolicySnapshotFactory, RunSummaryMapper, RunTerminalPersistenceCoordinator, type TriggerRuntimeDiagnosticsProvider, UnavailableBinaryStorage, type WebhookTriggerMatcherProvider, WorkflowPolicyErrorServices, WorkflowRepositoryWebhookTriggerMatcher, WorkflowStoragePolicyEvaluator };
291
+ export { type AsyncSleeper, CatalogBackedCostTrackingTelemetryFactory, ConfigDrivenOffloadPolicy, CredentialResolverFactory, DefaultAsyncSleeper, DefaultDrivingScheduler, DefaultExecutionBinaryService, DefaultExecutionContextFactory, ENGINE_EXECUTION_LIMITS_DEFAULTS, Engine, type EngineCompositionDeps, EngineExecutionLimitsPolicy, type EngineExecutionLimitsPolicyConfig, EngineExecutionLimitsPolicyFactory, EngineFactory, EngineRuntimeRegistrar, type EngineRuntimeRegistrationOptions, EngineWorkflowRunnerService, HintOnlyOffloadPolicy, InMemoryBinaryStorage, InMemoryLiveWorkflowRepository, InMemoryRunDataFactory, InMemoryWorkflowExecutionRepository, InProcessRetryRunner, InlineDrivingScheduler, LocalOnlyScheduler, MissingRuntimeTriggerToken, NodeExecutor, NodeInstanceFactory, PersistedWorkflowTokenRegistry, RunIntentService, RunPolicySnapshotFactory, RunSummaryMapper, RunTerminalPersistenceCoordinator, StaticCostCatalog, type TriggerRuntimeDiagnosticsProvider, UnavailableBinaryStorage, type WebhookTriggerMatcherProvider, WorkflowPolicyErrorServices, WorkflowRepositoryWebhookTriggerMatcher, WorkflowStoragePolicyEvaluator };
273
292
  //# sourceMappingURL=index.d.cts.map
@@ -1,6 +1,6 @@
1
- import { $t as WorkflowDefinition, Li as TypeToken, Mi as DependencyContainer, Vt as PersistedTokenId, Xi as EngineExecutionLimitsPolicy, Yi as ENGINE_EXECUTION_LIMITS_DEFAULTS, Zi as EngineExecutionLimitsPolicyConfig, a as RunTerminalPersistenceCoordinator, c as EngineExecutionLimitsPolicyFactory, i as WorkflowPolicyErrorServices, n as InMemoryLiveWorkflowRepository, o as WorkflowStoragePolicyEvaluator, r as EngineWorkflowRunnerService, s as RunPolicySnapshotFactory, t as RunIntentService, u as Engine } from "../RunIntentService-BDiodxhf.js";
2
- import { Gt as CredentialResolverFactory, Ht as DefaultExecutionContextFactory, It as NodeInstanceFactory, Jt as EngineFactory, Lt as NodeExecutor, Ut as DefaultAsyncSleeper, Vt as InProcessRetryRunner, Wt as AsyncSleeper, a as ConfigDrivenOffloadPolicy, c as InMemoryWorkflowExecutionRepository, d as DefaultExecutionBinaryService, f as UnavailableBinaryStorage, i as InlineDrivingScheduler, l as InMemoryRunDataFactory, n as HintOnlyOffloadPolicy, o as WorkflowRepositoryWebhookTriggerMatcher, qt as EngineCompositionDeps, r as DefaultDrivingScheduler, s as RunSummaryMapper, t as LocalOnlyScheduler, u as InMemoryBinaryStorage } from "../index-C2af8ssM.js";
3
- import { n as TriggerRuntimeDiagnosticsProvider, r as WebhookTriggerMatcherProvider, t as EngineRuntimeRegistrationOptions } from "../EngineRuntimeRegistration.types-Dm129RJ6.js";
1
+ import { Ma as ENGINE_EXECUTION_LIMITS_DEFAULTS, Na as EngineExecutionLimitsPolicy, Pa as EngineExecutionLimitsPolicyConfig, Yt as PersistedTokenId, a as RunTerminalPersistenceCoordinator, ba as TypeToken, c as EngineExecutionLimitsPolicyFactory, ha as DependencyContainer, i as WorkflowPolicyErrorServices, n as InMemoryLiveWorkflowRepository, o as WorkflowStoragePolicyEvaluator, r as EngineWorkflowRunnerService, s as RunPolicySnapshotFactory, sn as WorkflowDefinition, t as RunIntentService, u as Engine } from "../RunIntentService-BqhmdoA1.js";
2
+ import { Gt as DefaultExecutionContextFactory, Jt as CredentialResolverFactory, Kt as DefaultAsyncSleeper, Rt as NodeInstanceFactory, Ut as InProcessRetryRunner, Wt as CatalogBackedCostTrackingTelemetryFactory, Xt as EngineCompositionDeps, Zt as EngineFactory, a as ConfigDrivenOffloadPolicy, c as RunSummaryMapper, d as InMemoryBinaryStorage, f as DefaultExecutionBinaryService, i as InlineDrivingScheduler, l as InMemoryWorkflowExecutionRepository, n as HintOnlyOffloadPolicy, o as StaticCostCatalog, p as UnavailableBinaryStorage, qt as AsyncSleeper, r as DefaultDrivingScheduler, s as WorkflowRepositoryWebhookTriggerMatcher, t as LocalOnlyScheduler, u as InMemoryRunDataFactory, zt as NodeExecutor } from "../index-CVs9rVhl.js";
3
+ import { n as TriggerRuntimeDiagnosticsProvider, r as WebhookTriggerMatcherProvider, t as EngineRuntimeRegistrationOptions } from "../EngineRuntimeRegistration.types-BP6tsaNP.js";
4
4
 
5
5
  //#region src/bootstrap/runtime/EngineRuntimeRegistrar.d.ts
6
6
 
@@ -44,5 +44,5 @@ declare class PersistedWorkflowTokenRegistry {
44
44
  resolve(tokenId: PersistedTokenId): TypeToken<unknown> | undefined;
45
45
  }
46
46
  //#endregion
47
- export { type AsyncSleeper, ConfigDrivenOffloadPolicy, CredentialResolverFactory, DefaultAsyncSleeper, DefaultDrivingScheduler, DefaultExecutionBinaryService, DefaultExecutionContextFactory, ENGINE_EXECUTION_LIMITS_DEFAULTS, Engine, type EngineCompositionDeps, EngineExecutionLimitsPolicy, type EngineExecutionLimitsPolicyConfig, EngineExecutionLimitsPolicyFactory, EngineFactory, EngineRuntimeRegistrar, type EngineRuntimeRegistrationOptions, EngineWorkflowRunnerService, HintOnlyOffloadPolicy, InMemoryBinaryStorage, InMemoryLiveWorkflowRepository, InMemoryRunDataFactory, InMemoryWorkflowExecutionRepository, InProcessRetryRunner, InlineDrivingScheduler, LocalOnlyScheduler, MissingRuntimeTriggerToken, NodeExecutor, NodeInstanceFactory, PersistedWorkflowTokenRegistry, RunIntentService, RunPolicySnapshotFactory, RunSummaryMapper, RunTerminalPersistenceCoordinator, type TriggerRuntimeDiagnosticsProvider, UnavailableBinaryStorage, type WebhookTriggerMatcherProvider, WorkflowPolicyErrorServices, WorkflowRepositoryWebhookTriggerMatcher, WorkflowStoragePolicyEvaluator };
47
+ export { type AsyncSleeper, CatalogBackedCostTrackingTelemetryFactory, ConfigDrivenOffloadPolicy, CredentialResolverFactory, DefaultAsyncSleeper, DefaultDrivingScheduler, DefaultExecutionBinaryService, DefaultExecutionContextFactory, ENGINE_EXECUTION_LIMITS_DEFAULTS, Engine, type EngineCompositionDeps, EngineExecutionLimitsPolicy, type EngineExecutionLimitsPolicyConfig, EngineExecutionLimitsPolicyFactory, EngineFactory, EngineRuntimeRegistrar, type EngineRuntimeRegistrationOptions, EngineWorkflowRunnerService, HintOnlyOffloadPolicy, InMemoryBinaryStorage, InMemoryLiveWorkflowRepository, InMemoryRunDataFactory, InMemoryWorkflowExecutionRepository, InProcessRetryRunner, InlineDrivingScheduler, LocalOnlyScheduler, MissingRuntimeTriggerToken, NodeExecutor, NodeInstanceFactory, PersistedWorkflowTokenRegistry, RunIntentService, RunPolicySnapshotFactory, RunSummaryMapper, RunTerminalPersistenceCoordinator, StaticCostCatalog, type TriggerRuntimeDiagnosticsProvider, UnavailableBinaryStorage, type WebhookTriggerMatcherProvider, WorkflowPolicyErrorServices, WorkflowRepositoryWebhookTriggerMatcher, WorkflowStoragePolicyEvaluator };
48
48
  //# sourceMappingURL=index.d.ts.map
@@ -1,4 +1,4 @@
1
- import { A as NodeExecutor, B as DefaultAsyncSleeper, C as RunPolicySnapshotFactory, D as PersistedWorkflowTokenRegistry, O as MissingRuntimeTriggerToken, R as InProcessRetryRunner, S as ConfigDrivenOffloadPolicy, T as NodeInstanceFactory, U as DefaultExecutionBinaryService, V as CredentialResolverFactory, W as UnavailableBinaryStorage, _ as EngineExecutionLimitsPolicy, a as InMemoryLiveWorkflowRepository, b as HintOnlyOffloadPolicy, c as EngineFactory, d as InMemoryRunDataFactory, f as InMemoryBinaryStorage, g as ENGINE_EXECUTION_LIMITS_DEFAULTS, h as RunTerminalPersistenceCoordinator, i as RunIntentService, l as Engine, m as WorkflowPolicyErrorServices, n as WorkflowRepositoryWebhookTriggerMatcher, p as WorkflowStoragePolicyEvaluator, s as EngineWorkflowRunnerService, v as LocalOnlyScheduler, x as DefaultDrivingScheduler, y as InlineDrivingScheduler, z as DefaultExecutionContextFactory } from "../runtime-7Xh9z3dw.js";
2
- import { i as EngineExecutionLimitsPolicyFactory, n as InMemoryWorkflowExecutionRepository, r as RunSummaryMapper, t as EngineRuntimeRegistrar } from "../bootstrap-DdeiJ8cd.js";
1
+ import { A as NodeExecutor, C as StaticCostCatalog, D as PersistedWorkflowTokenRegistry, F as InProcessRetryRunner, I as CatalogBackedCostTrackingTelemetryFactory, L as DefaultExecutionContextFactory, O as MissingRuntimeTriggerToken, S as RunPolicySnapshotFactory, T as NodeInstanceFactory, _ as LocalOnlyScheduler, a as InMemoryLiveWorkflowRepository, b as DefaultDrivingScheduler, c as EngineFactory, ct as CredentialResolverFactory, d as InMemoryBinaryStorage, dt as UnavailableBinaryStorage, f as WorkflowStoragePolicyEvaluator, g as EngineExecutionLimitsPolicy, h as ENGINE_EXECUTION_LIMITS_DEFAULTS, i as RunIntentService, l as Engine, m as RunTerminalPersistenceCoordinator, n as WorkflowRepositoryWebhookTriggerMatcher, p as WorkflowPolicyErrorServices, s as EngineWorkflowRunnerService, st as DefaultAsyncSleeper, u as InMemoryRunDataFactory, ut as DefaultExecutionBinaryService, v as InlineDrivingScheduler, x as ConfigDrivenOffloadPolicy, y as HintOnlyOffloadPolicy } from "../runtime-DUW6tIJ1.js";
2
+ import { i as EngineExecutionLimitsPolicyFactory, n as InMemoryWorkflowExecutionRepository, r as RunSummaryMapper, t as EngineRuntimeRegistrar } from "../bootstrap-d_BMaDT4.js";
3
3
 
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 };
4
+ export { CatalogBackedCostTrackingTelemetryFactory, 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, StaticCostCatalog, UnavailableBinaryStorage, WorkflowPolicyErrorServices, WorkflowRepositoryWebhookTriggerMatcher, WorkflowStoragePolicyEvaluator };
@@ -1,4 +1,4 @@
1
- const require_runtime = require('./runtime-DVBwxFvX.cjs');
1
+ const require_runtime = require('./runtime-Dvo2ru5A.cjs');
2
2
  let tsyringe = require("tsyringe");
3
3
  tsyringe = require_runtime.__toESM(tsyringe);
4
4
 
@@ -86,7 +86,9 @@ var InMemoryWorkflowExecutionRepository = class {
86
86
  for (const s of this.runs.values()) {
87
87
  if (s.status !== "completed" && s.status !== "failed") continue;
88
88
  const finishedAt = require_runtime.RunFinishedAtFactory.resolveIso(s);
89
- if (!finishedAt || finishedAt >= args.beforeIso) continue;
89
+ const retentionSeconds = s.policySnapshot?.retentionSeconds ?? args.defaultRetentionSeconds;
90
+ const cutoffIso = (/* @__PURE__ */ new Date(new Date(args.nowIso).getTime() - retentionSeconds * 1e3)).toISOString();
91
+ if (!finishedAt || finishedAt >= cutoffIso) continue;
90
92
  out.push({
91
93
  runId: s.runId,
92
94
  workflowId: s.workflowId,
@@ -125,7 +127,7 @@ var EngineRuntimeRegistrar = class {
125
127
  this.registerIntentServices(container);
126
128
  }
127
129
  registerSupportFactories(container) {
128
- if (!container.isRegistered(require_runtime.ItemValueResolver, true)) container.registerSingleton(require_runtime.ItemValueResolver, require_runtime.ItemValueResolver);
130
+ if (!container.isRegistered(require_runtime.ItemExprResolver, true)) container.registerSingleton(require_runtime.ItemExprResolver, require_runtime.ItemExprResolver);
129
131
  if (!container.isRegistered(require_runtime.NodeOutputNormalizer, true)) container.registerSingleton(require_runtime.NodeOutputNormalizer, require_runtime.NodeOutputNormalizer);
130
132
  if (!container.isRegistered(require_runtime.RunnableOutputBehaviorResolver, true)) container.registerSingleton(require_runtime.RunnableOutputBehaviorResolver, require_runtime.RunnableOutputBehaviorResolver);
131
133
  container.register(EngineExecutionLimitsPolicyFactory, { useClass: EngineExecutionLimitsPolicyFactory });
@@ -197,6 +199,7 @@ var EngineRuntimeRegistrar = class {
197
199
  tokenRegistry: tokenRegistryLike,
198
200
  workflowNodeInstanceFactory,
199
201
  executionLimitsPolicy: dependencyContainer.resolve(require_runtime.CoreTokens.EngineExecutionLimitsPolicy),
202
+ workflowPolicyRuntimeDefaults: options?.workflowPolicyRuntimeDefaults,
200
203
  triggerRuntimeDiagnostics
201
204
  });
202
205
  }) });
@@ -240,4 +243,4 @@ Object.defineProperty(exports, 'RunSummaryMapper', {
240
243
  return RunSummaryMapper;
241
244
  }
242
245
  });
243
- //# sourceMappingURL=bootstrap-DVL2ue5v.cjs.map
246
+ //# sourceMappingURL=bootstrap-BaN6hZ5I.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bootstrap-BaN6hZ5I.cjs","names":["EngineExecutionLimitsPolicy","ENGINE_EXECUTION_LIMITS_DEFAULTS","RunFinishedAtFactory","out: RunPruneCandidate[]","RunFinishedAtFactory","InlineDrivingScheduler","ItemExprResolver","NodeOutputNormalizer","RunnableOutputBehaviorResolver","NodeInstanceFactoryFactory","DefaultAsyncSleeper","InProcessRetryRunnerFactory","NodeExecutorFactory","RunIntentServiceFactory","EngineWorkflowRunnerServiceFactory","WorkflowRepositoryWebhookTriggerMatcherFactory","CoreTokens","NodeExecutor","InlineDrivingScheduler","EngineFactory","Engine","RunIntentService"],"sources":["../src/policies/executionLimits/EngineExecutionLimitsPolicyFactory.ts","../src/runStorage/RunSummaryMapper.ts","../src/runStorage/InMemoryWorkflowExecutionRepository.ts","../src/scheduler/InlineDrivingSchedulerFactory.ts","../src/bootstrap/runtime/EngineRuntimeRegistrar.ts"],"sourcesContent":["import {\n EngineExecutionLimitsPolicy,\n ENGINE_EXECUTION_LIMITS_DEFAULTS,\n type EngineExecutionLimitsPolicyConfig,\n} from \"./EngineExecutionLimitsPolicy\";\n\n/**\n * Builds {@link EngineExecutionLimitsPolicy} by merging {@link ENGINE_EXECUTION_LIMITS_DEFAULTS} with optional `overrides` (e.g. host `runtime.engineExecutionLimits`).\n */\nexport class EngineExecutionLimitsPolicyFactory {\n create(overrides?: Partial<EngineExecutionLimitsPolicyConfig>): EngineExecutionLimitsPolicy {\n return new EngineExecutionLimitsPolicy({ ...ENGINE_EXECUTION_LIMITS_DEFAULTS, ...overrides });\n }\n}\n","import { RunFinishedAtFactory } from \"../contracts/runFinishedAtFactory\";\nimport type { PersistedRunState, RunSummary } from \"../types\";\n\n/** Maps persisted run state to API run summaries for listings. */\nexport class RunSummaryMapper {\n static fromPersistedState(state: PersistedRunState): RunSummary {\n return {\n runId: state.runId,\n workflowId: state.workflowId,\n startedAt: state.startedAt,\n status: state.status,\n finishedAt: RunFinishedAtFactory.resolveIso(state),\n parent: state.parent,\n executionOptions: state.executionOptions,\n };\n }\n}\n","import type {\n EngineRunCounters,\n NodeId,\n NodeOutputs,\n ParentExecutionRef,\n PersistedRunSchedulingState,\n PersistedRunState,\n RunId,\n RunSummary,\n WorkflowExecutionListingRepository,\n WorkflowExecutionPruneRepository,\n WorkflowExecutionRepository,\n RunPruneCandidate,\n WorkflowId,\n} from \"../types\";\nimport { RunFinishedAtFactory } from \"../contracts/runFinishedAtFactory\";\nimport { RunSummaryMapper } from \"./RunSummaryMapper\";\n\nexport class InMemoryWorkflowExecutionRepository\n implements WorkflowExecutionRepository, WorkflowExecutionListingRepository, WorkflowExecutionPruneRepository\n{\n private readonly runs = new Map<RunId, PersistedRunState>();\n\n async createRun(args: {\n runId: RunId;\n workflowId: WorkflowId;\n startedAt: string;\n parent?: ParentExecutionRef;\n executionOptions?: PersistedRunState[\"executionOptions\"];\n control?: PersistedRunState[\"control\"];\n workflowSnapshot?: PersistedRunState[\"workflowSnapshot\"];\n mutableState?: PersistedRunState[\"mutableState\"];\n policySnapshot?: PersistedRunState[\"policySnapshot\"];\n engineCounters?: EngineRunCounters;\n }): Promise<void> {\n this.runs.set(args.runId, {\n runId: args.runId,\n workflowId: args.workflowId,\n startedAt: args.startedAt,\n revision: 0,\n parent: args.parent,\n executionOptions: args.executionOptions,\n control: args.control,\n workflowSnapshot: args.workflowSnapshot,\n mutableState: args.mutableState,\n policySnapshot: args.policySnapshot,\n engineCounters: args.engineCounters,\n status: \"running\",\n queue: [],\n outputsByNode: {} as Record<NodeId, NodeOutputs>,\n nodeSnapshotsByNodeId: {},\n connectionInvocations: [],\n });\n }\n\n async load(runId: RunId): Promise<PersistedRunState | undefined> {\n return this.runs.get(runId);\n }\n\n async loadSchedulingState(runId: RunId): Promise<PersistedRunSchedulingState | undefined> {\n const state = this.runs.get(runId);\n if (!state) {\n return undefined;\n }\n return {\n pending: state.pending ? { ...state.pending } : undefined,\n queue: state.queue.map((entry) => ({ ...entry })),\n };\n }\n\n async save(state: PersistedRunState): Promise<void> {\n this.runs.set(state.runId, { ...state, revision: (state.revision ?? 0) + 1 });\n }\n\n async deleteRun(runId: RunId): Promise<void> {\n this.runs.delete(runId);\n }\n\n async listRuns(args?: Readonly<{ workflowId?: WorkflowId; limit?: number }>): Promise<ReadonlyArray<RunSummary>> {\n const limit = args?.limit ?? 50;\n const summaries = [...this.runs.values()]\n .filter((s) => (args?.workflowId ? s.workflowId === args.workflowId : true))\n .sort((a, b) => b.startedAt.localeCompare(a.startedAt))\n .slice(0, limit)\n .map((s) => RunSummaryMapper.fromPersistedState(s));\n return summaries;\n }\n\n async listRunsOlderThan(\n args: Readonly<{ nowIso: string; defaultRetentionSeconds: number; 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 const retentionSeconds = s.policySnapshot?.retentionSeconds ?? args.defaultRetentionSeconds;\n const cutoffIso = new Date(new Date(args.nowIso).getTime() - retentionSeconds * 1000).toISOString();\n if (!finishedAt || finishedAt >= cutoffIso) continue;\n out.push({\n runId: s.runId,\n workflowId: s.workflowId,\n startedAt: s.startedAt,\n finishedAt,\n });\n }\n out.sort((a, b) => a.finishedAt.localeCompare(b.finishedAt));\n return out.slice(0, limit);\n }\n}\n","import { NodeExecutor } from \"../execution/NodeExecutor\";\n\nimport { InlineDrivingScheduler } from \"./InlineDrivingScheduler\";\n\nexport class InlineDrivingSchedulerFactory {\n create(nodeExecutor: NodeExecutor): InlineDrivingScheduler {\n return new InlineDrivingScheduler(nodeExecutor);\n }\n}\n","import { instanceCachingFactory, type DependencyContainer } from \"../../di\";\nimport { CoreTokens } from \"../../di\";\nimport { EngineExecutionLimitsPolicyFactory } from \"../../policies/executionLimits/EngineExecutionLimitsPolicyFactory\";\nimport {\n DefaultAsyncSleeper,\n InProcessRetryRunnerFactory,\n ItemExprResolver,\n NodeExecutor,\n NodeExecutorFactory,\n NodeInstanceFactoryFactory,\n NodeOutputNormalizer,\n RunnableOutputBehaviorResolver,\n} from \"../../execution\";\nimport {\n EngineFactory,\n EngineWorkflowRunnerServiceFactory,\n RunIntentServiceFactory,\n RunIntentService,\n WorkflowRepositoryWebhookTriggerMatcherFactory,\n} from \"../../runtime\";\nimport { InlineDrivingScheduler } from \"../../scheduler/InlineDrivingScheduler\";\nimport { InlineDrivingSchedulerFactory } from \"../../scheduler/InlineDrivingSchedulerFactory\";\nimport { Engine } from \"../../orchestration/Engine\";\nimport type { EngineRuntimeRegistrationOptions } from \"./EngineRuntimeRegistration.types\";\nimport type { WebhookTriggerMatcherProvider } from \"./EngineRuntimeRegistration.types\";\n\n/**\n * Container-first entry: call on a host/test container **after** workflow, run, node, and credential\n * ports are registered. The registrar owns the default inline scheduler, engine binding,\n * and intent-surface wiring so hosts only override the seams they actually replace.\n */\nexport class EngineRuntimeRegistrar {\n register(container: DependencyContainer, options?: EngineRuntimeRegistrationOptions): void {\n this.registerSupportFactories(container);\n this.registerExecutionLimitsPolicy(container, options);\n this.ensureWorkflowNodeInstanceFactory(container);\n this.ensureNodeExecutor(container);\n this.registerDefaultActivationScheduler(container);\n this.registerEngine(container, options);\n this.registerIntentServices(container);\n }\n\n private registerSupportFactories(container: DependencyContainer): void {\n if (!container.isRegistered(ItemExprResolver, true)) {\n container.registerSingleton(ItemExprResolver, ItemExprResolver);\n }\n if (!container.isRegistered(NodeOutputNormalizer, true)) {\n container.registerSingleton(NodeOutputNormalizer, NodeOutputNormalizer);\n }\n if (!container.isRegistered(RunnableOutputBehaviorResolver, true)) {\n container.registerSingleton(RunnableOutputBehaviorResolver, RunnableOutputBehaviorResolver);\n }\n container.register(EngineExecutionLimitsPolicyFactory, { useClass: EngineExecutionLimitsPolicyFactory });\n container.register(NodeInstanceFactoryFactory, { useClass: NodeInstanceFactoryFactory });\n container.register(DefaultAsyncSleeper, { useClass: DefaultAsyncSleeper });\n container.register(InProcessRetryRunnerFactory, { useClass: InProcessRetryRunnerFactory });\n container.register(NodeExecutorFactory, { useClass: NodeExecutorFactory });\n container.register(InlineDrivingSchedulerFactory, { useClass: InlineDrivingSchedulerFactory });\n container.register(RunIntentServiceFactory, { useClass: RunIntentServiceFactory });\n container.register(EngineWorkflowRunnerServiceFactory, {\n useClass: EngineWorkflowRunnerServiceFactory,\n });\n container.register(WorkflowRepositoryWebhookTriggerMatcherFactory, {\n useClass: WorkflowRepositoryWebhookTriggerMatcherFactory,\n });\n }\n\n private registerExecutionLimitsPolicy(\n container: DependencyContainer,\n options: EngineRuntimeRegistrationOptions | undefined,\n ): void {\n if (container.isRegistered(CoreTokens.EngineExecutionLimitsPolicy, true)) {\n return;\n }\n container.register(CoreTokens.EngineExecutionLimitsPolicy, {\n useFactory: instanceCachingFactory((dependencyContainer) => {\n const fromResolver = options?.resolveEngineExecutionLimits?.();\n const merged = fromResolver ?? options?.engineExecutionLimits;\n return dependencyContainer.resolve(EngineExecutionLimitsPolicyFactory).create(merged);\n }),\n });\n }\n\n private ensureWorkflowNodeInstanceFactory(container: DependencyContainer): void {\n if (container.isRegistered(CoreTokens.WorkflowNodeInstanceFactory, true)) {\n return;\n }\n container.register(CoreTokens.WorkflowNodeInstanceFactory, {\n useFactory: instanceCachingFactory((dependencyContainer) => {\n return dependencyContainer\n .resolve(NodeInstanceFactoryFactory)\n .create(dependencyContainer.resolve(CoreTokens.NodeResolver));\n }),\n });\n }\n\n private ensureNodeExecutor(container: DependencyContainer): void {\n if (container.isRegistered(NodeExecutor, true)) {\n return;\n }\n container.register(NodeExecutor, {\n useFactory: instanceCachingFactory((dependencyContainer) => {\n const retryRunner = dependencyContainer\n .resolve(InProcessRetryRunnerFactory)\n .create(dependencyContainer.resolve(DefaultAsyncSleeper));\n return dependencyContainer\n .resolve(NodeExecutorFactory)\n .create(\n dependencyContainer.resolve(CoreTokens.WorkflowNodeInstanceFactory),\n retryRunner,\n dependencyContainer.resolve(RunnableOutputBehaviorResolver),\n );\n }),\n });\n }\n\n private registerDefaultActivationScheduler(container: DependencyContainer): void {\n if (container.isRegistered(CoreTokens.NodeActivationScheduler, true)) {\n return;\n }\n container.register(InlineDrivingScheduler, {\n useFactory: instanceCachingFactory((dependencyContainer) => {\n return dependencyContainer\n .resolve(InlineDrivingSchedulerFactory)\n .create(dependencyContainer.resolve(NodeExecutor));\n }),\n });\n container.register(CoreTokens.NodeActivationScheduler, {\n useFactory: instanceCachingFactory((dependencyContainer) => {\n return dependencyContainer.resolve(InlineDrivingScheduler);\n }),\n });\n }\n\n private registerEngine(container: DependencyContainer, options: EngineRuntimeRegistrationOptions | undefined): void {\n container.register(EngineFactory, { useClass: EngineFactory });\n const matcherProvider = this.resolveMatcherProvider(options);\n container.register(Engine, {\n useFactory: instanceCachingFactory((dependencyContainer) => {\n const liveWorkflowRepository = dependencyContainer.resolve(CoreTokens.LiveWorkflowRepository);\n const nodeResolver = dependencyContainer.resolve(CoreTokens.NodeResolver);\n const tokenRegistryLike = dependencyContainer.resolve(CoreTokens.PersistedWorkflowTokenRegistry);\n const workflowActivationPolicy = dependencyContainer.resolve(CoreTokens.WorkflowActivationPolicy);\n const webhookTriggerMatcher = matcherProvider.createMatcher(dependencyContainer);\n const workflowNodeInstanceFactory = dependencyContainer.resolve(CoreTokens.WorkflowNodeInstanceFactory);\n const triggerRuntimeDiagnostics = options?.triggerRuntimeDiagnosticsProvider?.create(dependencyContainer);\n return dependencyContainer.resolve(EngineFactory).create({\n credentialSessions: dependencyContainer.resolve(CoreTokens.CredentialSessionService),\n liveWorkflowRepository,\n workflowRepository: dependencyContainer.resolve(CoreTokens.WorkflowRepository),\n workflowActivationPolicy,\n nodeResolver,\n triggerSetupStateRepository: dependencyContainer.resolve(CoreTokens.TriggerSetupStateRepository),\n webhookTriggerMatcher,\n runIdFactory: dependencyContainer.resolve(CoreTokens.RunIdFactory),\n activationIdFactory: dependencyContainer.resolve(CoreTokens.ActivationIdFactory),\n workflowExecutionRepository: dependencyContainer.resolve(CoreTokens.WorkflowExecutionRepository),\n activationScheduler: dependencyContainer.resolve(CoreTokens.NodeActivationScheduler),\n runDataFactory: dependencyContainer.resolve(CoreTokens.RunDataFactory),\n executionContextFactory: dependencyContainer.resolve(CoreTokens.ExecutionContextFactory),\n nodeExecutor: dependencyContainer.resolve(NodeExecutor),\n eventBus: dependencyContainer.resolve(CoreTokens.RunEventBus),\n tokenRegistry: tokenRegistryLike,\n workflowNodeInstanceFactory,\n executionLimitsPolicy: dependencyContainer.resolve(CoreTokens.EngineExecutionLimitsPolicy),\n workflowPolicyRuntimeDefaults: options?.workflowPolicyRuntimeDefaults,\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":";;;;;;;;AASA,IAAa,qCAAb,MAAgD;CAC9C,OAAO,WAAqF;AAC1F,SAAO,IAAIA,4CAA4B;GAAE,GAAGC;GAAkC,GAAG;GAAW,CAAC;;;;;;;ACPjG,IAAa,mBAAb,MAA8B;CAC5B,OAAO,mBAAmB,OAAsC;AAC9D,SAAO;GACL,OAAO,MAAM;GACb,YAAY,MAAM;GAClB,WAAW,MAAM;GACjB,QAAQ,MAAM;GACd,YAAYC,qCAAqB,WAAW,MAAM;GAClD,QAAQ,MAAM;GACd,kBAAkB,MAAM;GACzB;;;;;;ACIL,IAAa,sCAAb,MAEA;CACE,AAAiB,uBAAO,IAAI,KAA+B;CAE3D,MAAM,UAAU,MAWE;AAChB,OAAK,KAAK,IAAI,KAAK,OAAO;GACxB,OAAO,KAAK;GACZ,YAAY,KAAK;GACjB,WAAW,KAAK;GAChB,UAAU;GACV,QAAQ,KAAK;GACb,kBAAkB,KAAK;GACvB,SAAS,KAAK;GACd,kBAAkB,KAAK;GACvB,cAAc,KAAK;GACnB,gBAAgB,KAAK;GACrB,gBAAgB,KAAK;GACrB,QAAQ;GACR,OAAO,EAAE;GACT,eAAe,EAAE;GACjB,uBAAuB,EAAE;GACzB,uBAAuB,EAAE;GAC1B,CAAC;;CAGJ,MAAM,KAAK,OAAsD;AAC/D,SAAO,KAAK,KAAK,IAAI,MAAM;;CAG7B,MAAM,oBAAoB,OAAgE;EACxF,MAAM,QAAQ,KAAK,KAAK,IAAI,MAAM;AAClC,MAAI,CAAC,MACH;AAEF,SAAO;GACL,SAAS,MAAM,UAAU,EAAE,GAAG,MAAM,SAAS,GAAG;GAChD,OAAO,MAAM,MAAM,KAAK,WAAW,EAAE,GAAG,OAAO,EAAE;GAClD;;CAGH,MAAM,KAAK,OAAyC;AAClD,OAAK,KAAK,IAAI,MAAM,OAAO;GAAE,GAAG;GAAO,WAAW,MAAM,YAAY,KAAK;GAAG,CAAC;;CAG/E,MAAM,UAAU,OAA6B;AAC3C,OAAK,KAAK,OAAO,MAAM;;CAGzB,MAAM,SAAS,MAAkG;EAC/G,MAAM,QAAQ,MAAM,SAAS;AAM7B,SALkB,CAAC,GAAG,KAAK,KAAK,QAAQ,CAAC,CACtC,QAAQ,MAAO,MAAM,aAAa,EAAE,eAAe,KAAK,aAAa,KAAM,CAC3E,MAAM,GAAG,MAAM,EAAE,UAAU,cAAc,EAAE,UAAU,CAAC,CACtD,MAAM,GAAG,MAAM,CACf,KAAK,MAAM,iBAAiB,mBAAmB,EAAE,CAAC;;CAIvD,MAAM,kBACJ,MAC2C;EAC3C,MAAM,QAAQ,KAAK,SAAS;EAC5B,MAAMC,MAA2B,EAAE;AACnC,OAAK,MAAM,KAAK,KAAK,KAAK,QAAQ,EAAE;AAClC,OAAI,EAAE,WAAW,eAAe,EAAE,WAAW,SAAU;GACvD,MAAM,aAAaC,qCAAqB,WAAW,EAAE;GACrD,MAAM,mBAAmB,EAAE,gBAAgB,oBAAoB,KAAK;GACpE,MAAM,6BAAY,IAAI,KAAK,IAAI,KAAK,KAAK,OAAO,CAAC,SAAS,GAAG,mBAAmB,IAAK,EAAC,aAAa;AACnG,OAAI,CAAC,cAAc,cAAc,UAAW;AAC5C,OAAI,KAAK;IACP,OAAO,EAAE;IACT,YAAY,EAAE;IACd,WAAW,EAAE;IACb;IACD,CAAC;;AAEJ,MAAI,MAAM,GAAG,MAAM,EAAE,WAAW,cAAc,EAAE,WAAW,CAAC;AAC5D,SAAO,IAAI,MAAM,GAAG,MAAM;;;;;;ACvG9B,IAAa,gCAAb,MAA2C;CACzC,OAAO,cAAoD;AACzD,SAAO,IAAIC,uCAAuB,aAAa;;;;;;;;;;;ACyBnD,IAAa,yBAAb,MAAoC;CAClC,SAAS,WAAgC,SAAkD;AACzF,OAAK,yBAAyB,UAAU;AACxC,OAAK,8BAA8B,WAAW,QAAQ;AACtD,OAAK,kCAAkC,UAAU;AACjD,OAAK,mBAAmB,UAAU;AAClC,OAAK,mCAAmC,UAAU;AAClD,OAAK,eAAe,WAAW,QAAQ;AACvC,OAAK,uBAAuB,UAAU;;CAGxC,AAAQ,yBAAyB,WAAsC;AACrE,MAAI,CAAC,UAAU,aAAaC,kCAAkB,KAAK,CACjD,WAAU,kBAAkBA,kCAAkBA,iCAAiB;AAEjE,MAAI,CAAC,UAAU,aAAaC,sCAAsB,KAAK,CACrD,WAAU,kBAAkBA,sCAAsBA,qCAAqB;AAEzE,MAAI,CAAC,UAAU,aAAaC,gDAAgC,KAAK,CAC/D,WAAU,kBAAkBA,gDAAgCA,+CAA+B;AAE7F,YAAU,SAAS,oCAAoC,EAAE,UAAU,oCAAoC,CAAC;AACxG,YAAU,SAASC,4CAA4B,EAAE,UAAUA,4CAA4B,CAAC;AACxF,YAAU,SAASC,qCAAqB,EAAE,UAAUA,qCAAqB,CAAC;AAC1E,YAAU,SAASC,6CAA6B,EAAE,UAAUA,6CAA6B,CAAC;AAC1F,YAAU,SAASC,qCAAqB,EAAE,UAAUA,qCAAqB,CAAC;AAC1E,YAAU,SAAS,+BAA+B,EAAE,UAAU,+BAA+B,CAAC;AAC9F,YAAU,SAASC,yCAAyB,EAAE,UAAUA,yCAAyB,CAAC;AAClF,YAAU,SAASC,oDAAoC,EACrD,UAAUA,oDACX,CAAC;AACF,YAAU,SAASC,gEAAgD,EACjE,UAAUA,gEACX,CAAC;;CAGJ,AAAQ,8BACN,WACA,SACM;AACN,MAAI,UAAU,aAAaC,2BAAW,6BAA6B,KAAK,CACtE;AAEF,YAAU,SAASA,2BAAW,6BAA6B,EACzD,kDAAoC,wBAAwB;GAE1D,MAAM,SADe,SAAS,gCAAgC,IAC/B,SAAS;AACxC,UAAO,oBAAoB,QAAQ,mCAAmC,CAAC,OAAO,OAAO;IACrF,EACH,CAAC;;CAGJ,AAAQ,kCAAkC,WAAsC;AAC9E,MAAI,UAAU,aAAaA,2BAAW,6BAA6B,KAAK,CACtE;AAEF,YAAU,SAASA,2BAAW,6BAA6B,EACzD,kDAAoC,wBAAwB;AAC1D,UAAO,oBACJ,QAAQP,2CAA2B,CACnC,OAAO,oBAAoB,QAAQO,2BAAW,aAAa,CAAC;IAC/D,EACH,CAAC;;CAGJ,AAAQ,mBAAmB,WAAsC;AAC/D,MAAI,UAAU,aAAaC,8BAAc,KAAK,CAC5C;AAEF,YAAU,SAASA,8BAAc,EAC/B,kDAAoC,wBAAwB;GAC1D,MAAM,cAAc,oBACjB,QAAQN,4CAA4B,CACpC,OAAO,oBAAoB,QAAQD,oCAAoB,CAAC;AAC3D,UAAO,oBACJ,QAAQE,oCAAoB,CAC5B,OACC,oBAAoB,QAAQI,2BAAW,4BAA4B,EACnE,aACA,oBAAoB,QAAQR,+CAA+B,CAC5D;IACH,EACH,CAAC;;CAGJ,AAAQ,mCAAmC,WAAsC;AAC/E,MAAI,UAAU,aAAaQ,2BAAW,yBAAyB,KAAK,CAClE;AAEF,YAAU,SAASE,wCAAwB,EACzC,kDAAoC,wBAAwB;AAC1D,UAAO,oBACJ,QAAQ,8BAA8B,CACtC,OAAO,oBAAoB,QAAQD,6BAAa,CAAC;IACpD,EACH,CAAC;AACF,YAAU,SAASD,2BAAW,yBAAyB,EACrD,kDAAoC,wBAAwB;AAC1D,UAAO,oBAAoB,QAAQE,uCAAuB;IAC1D,EACH,CAAC;;CAGJ,AAAQ,eAAe,WAAgC,SAA6D;AAClH,YAAU,SAASC,+BAAe,EAAE,UAAUA,+BAAe,CAAC;EAC9D,MAAM,kBAAkB,KAAK,uBAAuB,QAAQ;AAC5D,YAAU,SAASC,wBAAQ,EACzB,kDAAoC,wBAAwB;GAC1D,MAAM,yBAAyB,oBAAoB,QAAQJ,2BAAW,uBAAuB;GAC7F,MAAM,eAAe,oBAAoB,QAAQA,2BAAW,aAAa;GACzE,MAAM,oBAAoB,oBAAoB,QAAQA,2BAAW,+BAA+B;GAChG,MAAM,2BAA2B,oBAAoB,QAAQA,2BAAW,yBAAyB;GACjG,MAAM,wBAAwB,gBAAgB,cAAc,oBAAoB;GAChF,MAAM,8BAA8B,oBAAoB,QAAQA,2BAAW,4BAA4B;GACvG,MAAM,4BAA4B,SAAS,mCAAmC,OAAO,oBAAoB;AACzG,UAAO,oBAAoB,QAAQG,8BAAc,CAAC,OAAO;IACvD,oBAAoB,oBAAoB,QAAQH,2BAAW,yBAAyB;IACpF;IACA,oBAAoB,oBAAoB,QAAQA,2BAAW,mBAAmB;IAC9E;IACA;IACA,6BAA6B,oBAAoB,QAAQA,2BAAW,4BAA4B;IAChG;IACA,cAAc,oBAAoB,QAAQA,2BAAW,aAAa;IAClE,qBAAqB,oBAAoB,QAAQA,2BAAW,oBAAoB;IAChF,6BAA6B,oBAAoB,QAAQA,2BAAW,4BAA4B;IAChG,qBAAqB,oBAAoB,QAAQA,2BAAW,wBAAwB;IACpF,gBAAgB,oBAAoB,QAAQA,2BAAW,eAAe;IACtE,yBAAyB,oBAAoB,QAAQA,2BAAW,wBAAwB;IACxF,cAAc,oBAAoB,QAAQC,6BAAa;IACvD,UAAU,oBAAoB,QAAQD,2BAAW,YAAY;IAC7D,eAAe;IACf;IACA,uBAAuB,oBAAoB,QAAQA,2BAAW,4BAA4B;IAC1F,+BAA+B,SAAS;IACxC;IACD,CAAC;IACF,EACH,CAAC;;CAGJ,AAAQ,uBAAuB,WAAsC;AACnE,YAAU,SAASK,kCAAkB,EACnC,kDAAoC,wBAAwB;AAC1D,UAAO,oBACJ,QAAQR,wCAAwB,CAChC,OAAO,oBAAoB,QAAQO,uBAAO,EAAE,oBAAoB,QAAQJ,2BAAW,mBAAmB,CAAC;IAC1G,EACH,CAAC;AACF,YAAU,SAASA,2BAAW,uBAAuB,EACnD,kDAAoC,wBAAwB;AAC1D,UAAO,oBACJ,QAAQF,mDAAmC,CAC3C,OAAO,oBAAoB,QAAQM,uBAAO,EAAE,oBAAoB,QAAQJ,2BAAW,mBAAmB,CAAC;IAC1G,EACH,CAAC;;CAGJ,AAAQ,uBAAuB,SAAsF;AACnH,MAAI,SAAS,8BACX,QAAO,QAAQ;AAEjB,SAAO,EACL,gBAAgB,cACd,UACG,QAAQD,+DAA+C,CACvD,OACC,UAAU,QAAQC,2BAAW,mBAAmB,EAChD,UAAU,QAAQA,2BAAW,yBAAyB,EACtD,SAAS,iCACV,EACN"}
@@ -1,4 +1,4 @@
1
- import { A as NodeExecutor, B as DefaultAsyncSleeper, L as ItemValueResolver, M as RunnableOutputBehaviorResolver, N as NodeOutputNormalizer, _ as EngineExecutionLimitsPolicy, _t as CoreTokens, c as EngineFactory, ft as instanceCachingFactory, g as ENGINE_EXECUTION_LIMITS_DEFAULTS, i as RunIntentService, j as InProcessRetryRunnerFactory, k as NodeExecutorFactory, l as Engine, o as EngineWorkflowRunnerServiceFactory, r as RunIntentServiceFactory, t as WorkflowRepositoryWebhookTriggerMatcherFactory, u as RunFinishedAtFactory, w as NodeInstanceFactoryFactory, y as InlineDrivingScheduler } from "./runtime-7Xh9z3dw.js";
1
+ import { A as NodeExecutor, M as RunnableOutputBehaviorResolver, N as NodeOutputNormalizer, Nt as instanceCachingFactory, P as ItemExprResolver, Rt as CoreTokens, V as RunFinishedAtFactory, c as EngineFactory, g as EngineExecutionLimitsPolicy, h as ENGINE_EXECUTION_LIMITS_DEFAULTS, i as RunIntentService, j as InProcessRetryRunnerFactory, k as NodeExecutorFactory, l as Engine, o as EngineWorkflowRunnerServiceFactory, r as RunIntentServiceFactory, st as DefaultAsyncSleeper, t as WorkflowRepositoryWebhookTriggerMatcherFactory, v as InlineDrivingScheduler, w as NodeInstanceFactoryFactory } from "./runtime-DUW6tIJ1.js";
2
2
 
3
3
  //#region src/policies/executionLimits/EngineExecutionLimitsPolicyFactory.ts
4
4
  /**
@@ -84,7 +84,9 @@ var InMemoryWorkflowExecutionRepository = class {
84
84
  for (const s of this.runs.values()) {
85
85
  if (s.status !== "completed" && s.status !== "failed") continue;
86
86
  const finishedAt = RunFinishedAtFactory.resolveIso(s);
87
- if (!finishedAt || finishedAt >= args.beforeIso) continue;
87
+ const retentionSeconds = s.policySnapshot?.retentionSeconds ?? args.defaultRetentionSeconds;
88
+ const cutoffIso = (/* @__PURE__ */ new Date(new Date(args.nowIso).getTime() - retentionSeconds * 1e3)).toISOString();
89
+ if (!finishedAt || finishedAt >= cutoffIso) continue;
88
90
  out.push({
89
91
  runId: s.runId,
90
92
  workflowId: s.workflowId,
@@ -123,7 +125,7 @@ var EngineRuntimeRegistrar = class {
123
125
  this.registerIntentServices(container);
124
126
  }
125
127
  registerSupportFactories(container) {
126
- if (!container.isRegistered(ItemValueResolver, true)) container.registerSingleton(ItemValueResolver, ItemValueResolver);
128
+ if (!container.isRegistered(ItemExprResolver, true)) container.registerSingleton(ItemExprResolver, ItemExprResolver);
127
129
  if (!container.isRegistered(NodeOutputNormalizer, true)) container.registerSingleton(NodeOutputNormalizer, NodeOutputNormalizer);
128
130
  if (!container.isRegistered(RunnableOutputBehaviorResolver, true)) container.registerSingleton(RunnableOutputBehaviorResolver, RunnableOutputBehaviorResolver);
129
131
  container.register(EngineExecutionLimitsPolicyFactory, { useClass: EngineExecutionLimitsPolicyFactory });
@@ -195,6 +197,7 @@ var EngineRuntimeRegistrar = class {
195
197
  tokenRegistry: tokenRegistryLike,
196
198
  workflowNodeInstanceFactory,
197
199
  executionLimitsPolicy: dependencyContainer.resolve(CoreTokens.EngineExecutionLimitsPolicy),
200
+ workflowPolicyRuntimeDefaults: options?.workflowPolicyRuntimeDefaults,
198
201
  triggerRuntimeDiagnostics
199
202
  });
200
203
  }) });
@@ -215,4 +218,4 @@ var EngineRuntimeRegistrar = class {
215
218
 
216
219
  //#endregion
217
220
  export { EngineExecutionLimitsPolicyFactory as i, InMemoryWorkflowExecutionRepository as n, RunSummaryMapper as r, EngineRuntimeRegistrar as t };
218
- //# sourceMappingURL=bootstrap-DdeiJ8cd.js.map
221
+ //# sourceMappingURL=bootstrap-d_BMaDT4.js.map