@codemation/core 0.13.2 → 0.15.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 (212) hide show
  1. package/CHANGELOG.md +167 -0
  2. package/dist/{CostCatalogContract-Dxq1BTyi.d.cts → CostCatalogContract-Dwo-ZamG.d.cts} +2 -2
  3. package/dist/EngineRuntimeRegistration.types-BiNasx3G.d.cts +54 -0
  4. package/dist/EngineRuntimeRegistration.types-Dq4ucrdo.d.ts +21 -0
  5. package/dist/{InMemoryRunDataFactory-Csy2evr_.d.cts → InMemoryRunDataFactory-D2U9azmZ.d.cts} +4 -20
  6. package/dist/{InMemoryRunEventBusRegistry-Sa86VxuV.cjs → InMemoryRunEventBusRegistry-DO0WM9Lw.cjs} +1 -1
  7. package/dist/{InMemoryRunEventBusRegistry-Sa86VxuV.cjs.map → InMemoryRunEventBusRegistry-DO0WM9Lw.cjs.map} +1 -1
  8. package/dist/{InMemoryRunEventBusRegistry-Bwunvt1T.js → InMemoryRunEventBusRegistry-Layt2xgm.js} +1 -1
  9. package/dist/{InMemoryRunEventBusRegistry-Bwunvt1T.js.map → InMemoryRunEventBusRegistry-Layt2xgm.js.map} +1 -1
  10. package/dist/{ItemsInputNormalizer-Bi8m-Ijs.d.cts → ItemsInputNormalizer-A5txcOWX.d.cts} +3 -98
  11. package/dist/{ItemsInputNormalizer-BbQTSEkZ.cjs → ItemsInputNormalizer-C1fv3sMW.cjs} +2 -2
  12. package/dist/ItemsInputNormalizer-C1fv3sMW.cjs.map +1 -0
  13. package/dist/{ItemsInputNormalizer-BYljnXU0.d.ts → ItemsInputNormalizer-D2vrMrX1.d.ts} +2 -62
  14. package/dist/{ItemsInputNormalizer-CSZGMgl3.js → ItemsInputNormalizer-fUYo4GLV.js} +2 -2
  15. package/dist/ItemsInputNormalizer-fUYo4GLV.js.map +1 -0
  16. package/dist/{RunIntentService-BitgkKaT.d.cts → RunIntentService-DKxuHTUz.d.cts} +2 -15
  17. package/dist/{RunIntentService-DYpqfu6D.d.ts → RunIntentService-DrpKli2k.d.ts} +2 -22
  18. package/dist/{agentMcpTypes-DGIwk6Ue.d.cts → agentMcpTypes-BHX4RQCC.d.cts} +25 -518
  19. package/dist/bootstrap/index.cjs +9 -5
  20. package/dist/bootstrap/index.d.cts +32 -106
  21. package/dist/bootstrap/index.d.ts +18 -17
  22. package/dist/bootstrap/index.js +6 -5
  23. package/dist/{bootstrap-DIv-vloi.cjs → bootstrap-CTB53rEF.cjs} +9 -60
  24. package/dist/bootstrap-CTB53rEF.cjs.map +1 -0
  25. package/dist/{bootstrap-Bkd-Nfbn.js → bootstrap-DmqKheCI.js} +6 -57
  26. package/dist/bootstrap-DmqKheCI.js.map +1 -0
  27. package/dist/browser.cjs +12 -11
  28. package/dist/browser.d.cts +4 -4
  29. package/dist/browser.d.ts +3 -3
  30. package/dist/browser.js +3 -2
  31. package/dist/contracts-7L1wJHdk.cjs +569 -0
  32. package/dist/contracts-7L1wJHdk.cjs.map +1 -0
  33. package/dist/contracts-CjJ5CZ7N.js +447 -0
  34. package/dist/contracts-CjJ5CZ7N.js.map +1 -0
  35. package/dist/contracts.cjs +9 -2
  36. package/dist/contracts.d.cts +5 -5
  37. package/dist/contracts.d.ts +2 -2
  38. package/dist/contracts.js +3 -2
  39. package/dist/{executionPersistenceContracts-CN9d7AnL.d.cts → deploymentManifestTypes-B8CDmZZK.d.cts} +65 -81
  40. package/dist/di-C6Ubf9o5.cjs +179 -0
  41. package/dist/di-C6Ubf9o5.cjs.map +1 -0
  42. package/dist/di-Cjiil7U-.js +114 -0
  43. package/dist/di-Cjiil7U-.js.map +1 -0
  44. package/dist/{index-rllWL4r-.d.ts → index-CRv3_pY3.d.ts} +112 -808
  45. package/dist/{index-BSQ2LoIh.d.ts → index-mnLS0iQl.d.ts} +39 -372
  46. package/dist/index.cjs +53 -111
  47. package/dist/index.cjs.map +1 -1
  48. package/dist/index.d.cts +50 -438
  49. package/dist/index.d.ts +5 -5
  50. package/dist/index.js +28 -94
  51. package/dist/index.js.map +1 -1
  52. package/dist/{params-DRUr0F5v.d.cts → params-CrK4iuG1.d.cts} +3 -13
  53. package/dist/{runtime-CWPdvJpC.js → runtime-CBFDpmiz.js} +112 -648
  54. package/dist/runtime-CBFDpmiz.js.map +1 -0
  55. package/dist/{runtime-_VdHwGkJ.cjs → runtime-Due-FOZ2.cjs} +137 -717
  56. package/dist/runtime-Due-FOZ2.cjs.map +1 -0
  57. package/dist/testing.cjs +8 -40
  58. package/dist/testing.cjs.map +1 -1
  59. package/dist/testing.d.cts +3 -32
  60. package/dist/testing.d.ts +3 -32
  61. package/dist/testing.js +6 -38
  62. package/dist/testing.js.map +1 -1
  63. package/dist/{di-LP2qSHkY.cjs → workflowTypes-BW6Hhee7.cjs} +4 -230
  64. package/dist/workflowTypes-BW6Hhee7.cjs.map +1 -0
  65. package/dist/{di-tom0pM2h.js → workflowTypes-DZtBTmKf.js} +3 -163
  66. package/dist/workflowTypes-DZtBTmKf.js.map +1 -0
  67. package/package.json +1 -1
  68. package/src/ai/AgentConnectionNodeCollector.ts +0 -4
  69. package/src/ai/AgentMessageConfigNormalizerFactory.ts +0 -4
  70. package/src/ai/AiHost.ts +0 -38
  71. package/src/ai/CallableToolConfig.ts +0 -9
  72. package/src/ai/CallableToolKindToken.ts +0 -4
  73. package/src/authoring/callableTool.types.ts +0 -3
  74. package/src/authoring/defineCollection.types.ts +0 -11
  75. package/src/authoring/defineHumanApprovalNode.types.ts +0 -116
  76. package/src/authoring/defineNode.types.ts +18 -32
  77. package/src/authoring/definePollingTrigger.types.ts +36 -155
  78. package/src/authoring/definePollingTriggerInternals.ts +0 -4
  79. package/src/authoring/index.ts +1 -0
  80. package/src/authoring/nodeBaseOptions.types.ts +4 -0
  81. package/src/binaries/boundedReadBinary.types.ts +0 -16
  82. package/src/bootstrap/index.ts +8 -2
  83. package/src/bootstrap/runtime/EngineRuntimeRegistrar.ts +0 -5
  84. package/src/bootstrap/runtime/EngineRuntimeRegistration.types.ts +0 -23
  85. package/src/browser.ts +0 -3
  86. package/src/contracts/AgentBindError.ts +0 -5
  87. package/src/contracts/Clock.ts +0 -1
  88. package/src/contracts/CodemationTelemetryAttributeNames.ts +0 -10
  89. package/src/contracts/NoOpAgentMcpIntegration.ts +0 -6
  90. package/src/contracts/NoOpTelemetrySpanScope.ts +0 -7
  91. package/src/contracts/RetryPolicy.ts +0 -2
  92. package/src/contracts/agentMcpTypes.ts +0 -34
  93. package/src/contracts/assertionTypes.ts +0 -33
  94. package/src/contracts/baseTypes.ts +0 -6
  95. package/src/contracts/collectionTypes.ts +0 -25
  96. package/src/contracts/credentialTypes.ts +13 -60
  97. package/src/contracts/deploymentManifestTypes.ts +158 -0
  98. package/src/contracts/dispatchTypes.ts +29 -0
  99. package/src/contracts/executionPersistenceContracts.ts +0 -33
  100. package/src/contracts/hitlSeamTypes.ts +0 -14
  101. package/src/contracts/humanTaskStoreTypes.ts +0 -2
  102. package/src/contracts/inboxChannelTypes.ts +0 -9
  103. package/src/contracts/index.ts +3 -0
  104. package/src/contracts/itemExpr.ts +7 -21
  105. package/src/contracts/itemMeta.ts +0 -3
  106. package/src/contracts/mcpTypes.ts +0 -16
  107. package/src/contracts/retryPolicySpec.types.ts +0 -10
  108. package/src/contracts/runFinishedAtFactory.ts +0 -1
  109. package/src/contracts/runTypes.ts +0 -74
  110. package/src/contracts/runtimeTypes.ts +4 -131
  111. package/src/contracts/telemetryTypes.ts +0 -7
  112. package/src/contracts/testTriggerTypes.ts +0 -43
  113. package/src/contracts/triggerInvokerTypes.ts +6 -0
  114. package/src/contracts/webhookTypes.ts +0 -8
  115. package/src/contracts/workflowActivationPolicy.ts +0 -5
  116. package/src/contracts/workflowTypes.ts +5 -80
  117. package/src/contracts/workspaceFileTypes.ts +10 -42
  118. package/src/contracts.ts +18 -10
  119. package/src/credentials/CredentialMaterialProvider.types.ts +0 -28
  120. package/src/credentials/ManagedCredentialMaterialWriteError.ts +0 -6
  121. package/src/credentials/ManagedMaterialFetchError.ts +0 -6
  122. package/src/credentials/OAuthFlowExecutor.types.ts +0 -15
  123. package/src/di/CoreTokens.ts +2 -6
  124. package/src/events/ConnectionInvocationEventPublisher.ts +0 -7
  125. package/src/events/NodeEventPublisher.ts +0 -1
  126. package/src/events/runEvents.ts +0 -8
  127. package/src/execution/ActivationEnqueueService.ts +0 -10
  128. package/src/execution/ChildExecutionScopeFactory.ts +0 -13
  129. package/src/execution/FanInMergeByOriginMerger.ts +0 -11
  130. package/src/execution/InProcessRetryRunner.ts +0 -1
  131. package/src/execution/ItemExprResolver.ts +0 -3
  132. package/src/execution/NodeActivationRequestComposer.ts +0 -3
  133. package/src/execution/NodeActivationRequestInputPreparer.ts +0 -5
  134. package/src/execution/NodeExecutionSnapshotFactory.ts +0 -1
  135. package/src/execution/NodeExecutor.ts +1 -17
  136. package/src/execution/NodeOutputNormalizer.ts +8 -1
  137. package/src/execution/NodeSuspensionHandler.ts +1 -39
  138. package/src/execution/PersistedRunStateTerminalBuilder.ts +0 -5
  139. package/src/execution/RunSuspendedError.ts +0 -10
  140. package/src/execution/RunnableOutputBehaviorResolver.ts +12 -0
  141. package/src/execution/WorkflowRunExecutionContextFactory.ts +0 -3
  142. package/src/index.ts +10 -2
  143. package/src/orchestration/AbortControllerFactory.ts +0 -4
  144. package/src/orchestration/Engine.ts +0 -9
  145. package/src/orchestration/NodeExecutionRequestHandlerService.ts +3 -4
  146. package/src/orchestration/RunContinuationService.ts +7 -39
  147. package/src/orchestration/RunStartService.ts +0 -7
  148. package/src/orchestration/TestSuiteOrchestrator.ts +0 -18
  149. package/src/orchestration/TestSuiteRunIdFactory.ts +0 -4
  150. package/src/orchestration/TriggerRuntimeService.ts +3 -2
  151. package/src/planning/CurrentStateFrontierPlanner.ts +0 -1
  152. package/src/planning/RunQueuePlanner.ts +0 -6
  153. package/src/policies/executionLimits/EngineExecutionLimitsPolicy.ts +0 -8
  154. package/src/policies/executionLimits/EngineExecutionLimitsPolicyFactory.ts +0 -3
  155. package/src/runStorage/RunSummaryMapper.ts +0 -1
  156. package/src/runtime/EngineFactory.ts +6 -11
  157. package/src/runtime/RunIntentService.ts +0 -4
  158. package/src/runtime/WorkflowRepositoryWebhookTriggerMatcher.ts +0 -4
  159. package/src/runtime-types/InjectableRuntimeDecoratorComposerRegistry.ts +0 -4
  160. package/src/runtime-types/PersistedRuntimeTypeMetadataStoreRegistry.ts +0 -4
  161. package/src/runtime-types/PersistedRuntimeTypeNameResolver.ts +0 -1
  162. package/src/runtime-types/persistedRuntimeTypeModelRegistry.ts +0 -4
  163. package/src/runtime-types/runtimeTypeDecorators.types.ts +0 -12
  164. package/src/scheduler/ConfigDrivenOffloadPolicy.ts +0 -1
  165. package/src/scheduler/DefaultDrivingScheduler.ts +0 -6
  166. package/src/scheduler/InlineDrivingScheduler.ts +0 -13
  167. package/src/serialization/ItemsInputNormalizer.ts +0 -5
  168. package/src/testing/CapturingScheduler.ts +0 -3
  169. package/src/testing/EngineTestKitRunIdFactory.ts +0 -3
  170. package/src/testing/ItemHarnessNode.ts +0 -3
  171. package/src/testing/ItemHarnessNodeConfig.ts +0 -4
  172. package/src/testing/PrefixedSequentialIdGenerator.ts +0 -3
  173. package/src/testing/RegistrarEngineTestKit.types.ts +0 -2
  174. package/src/testing/RejectingCredentialSessionService.ts +0 -4
  175. package/src/testing/SubWorkflowRunnerTestNode.ts +0 -3
  176. package/src/testing/WorkflowTestHarnessManualTrigger.ts +0 -3
  177. package/src/testing/WorkflowTestKitBuilder.ts +0 -4
  178. package/src/testing/WorkflowTestKitRunNodeWorkflowFactory.ts +0 -3
  179. package/src/testing.ts +0 -3
  180. package/src/triggers/polling/PollingTriggerDedupWindow.ts +0 -4
  181. package/src/triggers/polling/PollingTriggerLogger.ts +0 -5
  182. package/src/triggers/polling/PollingTriggerRuntime.ts +0 -5
  183. package/src/types/index.ts +0 -6
  184. package/src/validation/WorkflowEdgePortValidator.ts +0 -5
  185. package/src/workflow/definition/ConnectionInvocationIdFactory.ts +0 -7
  186. package/src/workflow/definition/ConnectionNodeIdFactory.ts +0 -6
  187. package/src/workflow/definition/NodeIterationIdFactory.ts +0 -13
  188. package/src/workflow/definition/WorkflowExecutableNodeClassifier.ts +0 -6
  189. package/src/workflow/dsl/ChainCursorResolver.ts +8 -15
  190. package/src/workflow/dsl/NodeIdSlugifier.ts +0 -9
  191. package/src/workflow/dsl/WhenBuilder.ts +49 -2
  192. package/src/workflow/dsl/WorkflowDefinitionError.ts +0 -9
  193. package/src/workflow/dsl/workflowBuilderTypes.ts +5 -0
  194. package/src/workflowSnapshots/MissingRuntimeParityGuard.ts +24 -0
  195. package/src/workflowSnapshots/PersistedWorkflowTokenRegistry.ts +0 -6
  196. package/src/workflowSnapshots/WorkflowParityMismatchError.ts +18 -0
  197. package/src/workflowSnapshots/WorkflowSnapshotCodec.ts +1 -5
  198. package/src/workflowSnapshots/index.ts +3 -0
  199. package/dist/EngineRuntimeRegistration.types-CqcTWexS.d.cts +0 -81
  200. package/dist/EngineRuntimeRegistration.types-Cr75cSfL.d.ts +0 -44
  201. package/dist/ItemsInputNormalizer-BbQTSEkZ.cjs.map +0 -1
  202. package/dist/ItemsInputNormalizer-CSZGMgl3.js.map +0 -1
  203. package/dist/bootstrap-Bkd-Nfbn.js.map +0 -1
  204. package/dist/bootstrap-DIv-vloi.cjs.map +0 -1
  205. package/dist/contracts-CK0x6w_G.cjs +0 -74
  206. package/dist/contracts-CK0x6w_G.cjs.map +0 -1
  207. package/dist/contracts-DXdfTdpW.js +0 -50
  208. package/dist/contracts-DXdfTdpW.js.map +0 -1
  209. package/dist/di-LP2qSHkY.cjs.map +0 -1
  210. package/dist/di-tom0pM2h.js.map +0 -1
  211. package/dist/runtime-CWPdvJpC.js.map +0 -1
  212. package/dist/runtime-_VdHwGkJ.cjs.map +0 -1
package/dist/index.cjs CHANGED
@@ -1,8 +1,9 @@
1
- const require_di = require('./di-LP2qSHkY.cjs');
2
- const require_ItemsInputNormalizer = require('./ItemsInputNormalizer-BbQTSEkZ.cjs');
3
- const require_contracts = require('./contracts-CK0x6w_G.cjs');
4
- const require_runtime = require('./runtime-_VdHwGkJ.cjs');
5
- const require_InMemoryRunEventBusRegistry = require('./InMemoryRunEventBusRegistry-Sa86VxuV.cjs');
1
+ const require_di = require('./di-C6Ubf9o5.cjs');
2
+ const require_workflowTypes = require('./workflowTypes-BW6Hhee7.cjs');
3
+ const require_ItemsInputNormalizer = require('./ItemsInputNormalizer-C1fv3sMW.cjs');
4
+ const require_contracts = require('./contracts-7L1wJHdk.cjs');
5
+ const require_runtime = require('./runtime-Due-FOZ2.cjs');
6
+ const require_InMemoryRunEventBusRegistry = require('./InMemoryRunEventBusRegistry-DO0WM9Lw.cjs');
6
7
  let zod = require("zod");
7
8
  zod = require_di.__toESM(zod);
8
9
  let tsyringe = require("tsyringe");
@@ -100,17 +101,10 @@ function defineCredential(options) {
100
101
 
101
102
  //#endregion
102
103
  //#region src/ai/CallableToolKindToken.ts
103
- /**
104
- * Shared {@link import("../di").TypeToken} marker for {@link CallableToolConfig}.
105
- * Callable tools are not registered in {@link NodeResolver}; this class only satisfies {@link ToolConfig#type}.
106
- */
107
104
  var CallableToolKindToken = class {};
108
105
 
109
106
  //#endregion
110
107
  //#region src/ai/CallableToolConfig.ts
111
- /**
112
- * Inline callable agent tool: DSL sugar over {@link ToolConfig} without a separate {@link NodeResolver}-registered {@link Tool} class.
113
- */
114
108
  var CallableToolConfig = class {
115
109
  type = CallableToolKindToken;
116
110
  toolKind = "callable";
@@ -138,9 +132,6 @@ var CallableToolConfig = class {
138
132
  getOutputSchema() {
139
133
  return this.outputSchemaValue;
140
134
  }
141
- /**
142
- * Parses tool input and output with the configured Zod schemas.
143
- */
144
135
  async executeTool(args) {
145
136
  const parsedInput = this.parseInput(args.input);
146
137
  const raw = await Promise.resolve(this.executeHandler({
@@ -184,9 +175,6 @@ const CallableToolFactory = new CallableToolFactoryImpl();
184
175
 
185
176
  //#endregion
186
177
  //#region src/authoring/callableTool.types.ts
187
- /**
188
- * Workflow-facing helper for inline Zod-typed agent tools (same as {@link CallableToolFactory.callableTool}).
189
- */
190
178
  function callableTool(options) {
191
179
  return CallableToolFactory.callableTool(options);
192
180
  }
@@ -251,15 +239,9 @@ const c = {
251
239
  return new CollectionColumnBuilderImpl("uuid");
252
240
  }
253
241
  };
254
- /**
255
- * Validates that a name follows the required pattern: lowercase + underscores, starts with letter.
256
- */
257
242
  function validateCollectionName(name) {
258
243
  if (!/^[a-z][a-z0-9_]*$/.test(name)) throw new Error(`Collection name "${name}" must start with a lowercase letter and contain only lowercase letters, digits, and underscores.`);
259
244
  }
260
- /**
261
- * Validates that all field names follow the required pattern.
262
- */
263
245
  function validateFieldNames(fields) {
264
246
  const pattern = /^[a-z][a-z0-9_]*$/;
265
247
  const reserved = [
@@ -272,9 +254,6 @@ function validateFieldNames(fields) {
272
254
  if (!pattern.test(fieldName)) throw new Error(`Field name "${fieldName}" must start with a lowercase letter and contain only lowercase letters, digits, and underscores.`);
273
255
  }
274
256
  }
275
- /**
276
- * Validates that all indexed fields exist in the declared fields.
277
- */
278
257
  function validateIndexes(indexes, fieldNames) {
279
258
  for (const index of indexes) for (const fieldName of index.on) if (!fieldNames.has(fieldName)) throw new Error(`Index references non-existent field "${fieldName}".`);
280
259
  }
@@ -348,28 +327,34 @@ const definedNodeCredentialAccessorFactory = { create(bindings, ctx) {
348
327
 
349
328
  //#endregion
350
329
  //#region src/authoring/definePollingTrigger.types.ts
351
- /**
352
- * TriggerNodeConfig produced by `DefinedPollingTrigger.create(...)`.
353
- * Holds user configuration and credential requirements for the engine.
354
- * The setup state type is opaque `JsonValue | undefined` — the runtime
355
- * uses an internal wrapped shape that plugin authors never see.
356
- */
357
330
  var DefinedPollingTriggerConfig = class {
358
331
  kind = "trigger";
359
332
  type;
360
333
  icon;
361
- constructor(name, cfg, typeToken, icon, credentialRequirements, id, inspectorSummaryFn) {
334
+ id;
335
+ description;
336
+ constructor(name, cfg, typeToken, icon, credentialRequirements, idOrOptions, inspectorSummaryFn, defaultPollIntervalMs) {
362
337
  this.name = name;
363
338
  this.cfg = cfg;
364
339
  this.credentialRequirements = credentialRequirements;
365
- this.id = id;
366
340
  this.inspectorSummaryFn = inspectorSummaryFn;
341
+ this.defaultPollIntervalMs = defaultPollIntervalMs;
367
342
  this.type = typeToken;
368
343
  this.icon = icon;
344
+ const resolved = typeof idOrOptions === "string" ? { id: idOrOptions } : idOrOptions;
345
+ this.id = resolved?.id;
346
+ this.description = resolved?.description;
369
347
  }
370
348
  getCredentialRequirements() {
371
349
  return this.credentialRequirements;
372
350
  }
351
+ getTriggerPollConfig() {
352
+ const resolvedInterval = this.cfg.pollIntervalMs ?? this.defaultPollIntervalMs;
353
+ return {
354
+ config: this.cfg,
355
+ pollIntervalMs: resolvedInterval
356
+ };
357
+ }
373
358
  inspectorSummary() {
374
359
  return this.inspectorSummaryFn?.({ config: this.cfg });
375
360
  }
@@ -377,28 +362,6 @@ var DefinedPollingTriggerConfig = class {
377
362
  function isWrappedState(value) {
378
363
  return value !== null && typeof value === "object" && "seenKeys" in value && Array.isArray(value.seenKeys);
379
364
  }
380
- /**
381
- * Declarative helper for authoring polling triggers.
382
- *
383
- * ```ts
384
- * export const onNewMail = definePollingTrigger({
385
- * key: "my-plugin.on-new-mail",
386
- * title: "On new mail",
387
- * configSchema: z.object({ folder: z.string() }),
388
- * credentials: { auth: myOAuthCredentialType },
389
- * initialState: () => ({ lastSeenId: undefined }),
390
- * pollIntervalMs: 60_000,
391
- * async poll({ config, state, credentials }) {
392
- * const session = await credentials.auth();
393
- * const messages = await fetchMessages(session, config.folder, state.lastSeenId);
394
- * return {
395
- * items: messages.map(m => ({ json: m, dedupKey: m.id })),
396
- * nextState: { lastSeenId: messages[0]?.id ?? state.lastSeenId },
397
- * };
398
- * },
399
- * });
400
- * ```
401
- */
402
365
  function definePollingTrigger(options) {
403
366
  const credentialRequirements = definedNodeCredentialRequirementFactory.create(options.credentials);
404
367
  const DEFAULT_INTERVAL_MS = 6e4;
@@ -455,14 +418,17 @@ function definePollingTrigger(options) {
455
418
  return [];
456
419
  }
457
420
  };
458
- require_runtime.node({ name: options.key })(DefinedPollingTriggerRuntime);
421
+ require_contracts.node({
422
+ name: options.key,
423
+ packageName: options.packageName
424
+ })(DefinedPollingTriggerRuntime);
459
425
  return {
460
426
  kind: "defined-polling-trigger",
461
427
  key: options.key,
462
428
  title: options.title,
463
429
  description: options.description,
464
- create(cfg, name = options.title, id) {
465
- return new DefinedPollingTriggerConfig(name, cfg, DefinedPollingTriggerRuntime, options.icon, credentialRequirements, id, options.inspectorSummary);
430
+ create(cfg, name = options.title, idOrOptions) {
431
+ return new DefinedPollingTriggerConfig(name, cfg, DefinedPollingTriggerRuntime, options.icon, credentialRequirements, idOrOptions, options.inspectorSummary, options.pollIntervalMs);
466
432
  },
467
433
  poll(pollCtx) {
468
434
  return options.poll({
@@ -481,7 +447,7 @@ function definePollingTrigger(options) {
481
447
  //#region src/ai/AgentToolFactory.ts
482
448
  var AgentToolFactoryImpl = class {
483
449
  asTool(node$1, options) {
484
- return new require_di.NodeBackedToolConfig(options.name ?? node$1.name ?? "tool", node$1, this.withDefaultAgentInputMapper(node$1, options));
450
+ return new require_workflowTypes.NodeBackedToolConfig(options.name ?? node$1.name ?? "tool", node$1, this.withDefaultAgentInputMapper(node$1, options));
485
451
  }
486
452
  withDefaultAgentInputMapper(node$1, options) {
487
453
  if (options.mapInput || !require_di.AgentConfigInspector.isAgentNodeConfig(node$1)) return options;
@@ -506,10 +472,6 @@ const AgentToolFactory = new AgentToolFactoryImpl();
506
472
  //#endregion
507
473
  //#region src/ai/AgentMessageConfigNormalizerFactory.ts
508
474
  var AgentMessageConfigNormalizer = class {
509
- /**
510
- * Prefer {@code input.messages} when present (ItemNode / engine-mapped payloads); otherwise resolve from
511
- * {@link AgentNodeConfig.messages} templates.
512
- */
513
475
  static resolveFromInputOrConfig(input, config, args) {
514
476
  const fromInput = this.tryMessagesFromStructuredInput(input);
515
477
  if (fromInput.length > 0) return fromInput;
@@ -558,7 +520,6 @@ var AgentMessageConfigNormalizer = class {
558
520
 
559
521
  //#endregion
560
522
  //#region src/ai/AiHost.ts
561
- /** Defaults aligned with common tool-agent iteration limits (many products use ~10 max rounds). */
562
523
  const AgentGuardrailDefaults = {
563
524
  maxTurns: 10,
564
525
  onTurnLimitReached: "error"
@@ -644,10 +605,6 @@ var WorkflowEdgePortValidator = class {
644
605
  errors
645
606
  };
646
607
  }
647
- /**
648
- * Returns the declared output ports for a node, or null if the node is
649
- * unknown / has no declared ports (legacy nodes — treat as unconstrained).
650
- */
651
608
  allowedOutputPorts(node$1) {
652
609
  if (!node$1) return null;
653
610
  const declared = node$1.config.declaredOutputPorts;
@@ -658,11 +615,6 @@ var WorkflowEdgePortValidator = class {
658
615
 
659
616
  //#endregion
660
617
  //#region src/credentials/CredentialMaterialProvider.types.ts
661
- /**
662
- * Thrown by a provider when asked to operate on a `ref.source` it does not
663
- * handle (e.g. the local provider being asked to read `control-plane` bytes).
664
- * Exported so `instanceof`-checks work across the workspace boundary.
665
- */
666
618
  var IllegalMaterialSourceError = class extends Error {
667
619
  constructor(source, providerName) {
668
620
  super(`Provider "${providerName}" cannot handle material source "${source}".`);
@@ -674,12 +626,6 @@ var IllegalMaterialSourceError = class extends Error {
674
626
 
675
627
  //#endregion
676
628
  //#region src/credentials/ManagedCredentialMaterialWriteError.ts
677
- /**
678
- * Thrown by managed-mode providers when `setMaterial` is called. Managed
679
- * credential bytes are owned by the control plane; the workspace must not
680
- * mutate them. See `docs/design/credentials-oauth-unification.md` and
681
- * `planning/sprints/credentials-vault/02-controlplane-material-provider.md`.
682
- */
683
629
  var ManagedCredentialMaterialWriteError = class extends Error {
684
630
  constructor(message = "managed credentials are owned by the control plane; use the Connected apps page to create or modify them.") {
685
631
  super(message);
@@ -689,12 +635,6 @@ var ManagedCredentialMaterialWriteError = class extends Error {
689
635
 
690
636
  //#endregion
691
637
  //#region src/credentials/ManagedMaterialFetchError.ts
692
- /**
693
- * Thrown by `ControlPlaneCredentialMaterialProvider` when the control-plane
694
- * material endpoint returns a non-2xx response or a malformed body. Exposes
695
- * the HTTP status and the raw error body so call sites can surface actionable
696
- * detail without parsing strings.
697
- */
698
638
  var ManagedMaterialFetchError = class extends Error {
699
639
  constructor(status, providerErrorBody, message) {
700
640
  super(message ?? `Control-plane material fetch failed: HTTP ${status} ${providerErrorBody}`);
@@ -706,9 +646,6 @@ var ManagedMaterialFetchError = class extends Error {
706
646
 
707
647
  //#endregion
708
648
  //#region src/contracts/workspaceFileTypes.ts
709
- /**
710
- * Error thrown when a requested workspace file key does not exist.
711
- */
712
649
  var WorkspaceFileNotFoundError = class extends Error {
713
650
  constructor(key) {
714
651
  super(`Workspace file not found: ${key}`);
@@ -716,16 +653,13 @@ var WorkspaceFileNotFoundError = class extends Error {
716
653
  this.name = "WorkspaceFileNotFoundError";
717
654
  }
718
655
  };
719
- /**
720
- * DI token for the workspace-scoped file storage adapter.
721
- * Registered by `@codemation/host`; resolved by workspace-file nodes via `ctx.resolve(...)`.
722
- */
723
656
  const WorkspaceFileStorageToken = Symbol.for("codemation.core.WorkspaceFileStorage");
657
+ const WorkspaceFileRegistrarToken = Symbol.for("codemation.core.WorkspaceFileRegistrar");
724
658
 
725
659
  //#endregion
726
660
  exports.AgentBindError = require_contracts.AgentBindError;
727
661
  exports.AgentConfigInspector = require_di.AgentConfigInspector;
728
- exports.AgentConnectionNodeCollector = require_di.AgentConnectionNodeCollector;
662
+ exports.AgentConnectionNodeCollector = require_workflowTypes.AgentConnectionNodeCollector;
729
663
  exports.AgentGuardrailDefaults = AgentGuardrailDefaults;
730
664
  exports.AgentMessageConfigNormalizer = AgentMessageConfigNormalizer;
731
665
  exports.AgentToolFactory = AgentToolFactory;
@@ -739,14 +673,15 @@ exports.CodemationTelemetryAttributeNames = require_runtime.CodemationTelemetryA
739
673
  exports.CodemationTelemetryMetricNames = require_runtime.CodemationTelemetryMetricNames;
740
674
  exports.ConnectionInvocationEventPublisher = require_runtime.ConnectionInvocationEventPublisher;
741
675
  exports.ConnectionInvocationIdFactory = require_runtime.ConnectionInvocationIdFactory;
742
- exports.ConnectionNodeIdFactory = require_di.ConnectionNodeIdFactory;
676
+ exports.ConnectionNodeIdFactory = require_workflowTypes.ConnectionNodeIdFactory;
743
677
  exports.ControlPlaneInboxChannelToken = ControlPlaneInboxChannelToken;
744
678
  exports.CoreTokens = require_di.CoreTokens;
745
679
  exports.CostTrackingTelemetryAttributeNames = require_runtime.CostTrackingTelemetryAttributeNames;
746
680
  exports.CostTrackingTelemetryMetricNames = require_runtime.CostTrackingTelemetryMetricNames;
747
681
  exports.CredentialResolverFactory = require_runtime.CredentialResolverFactory;
748
- exports.CredentialUnboundError = require_di.CredentialUnboundError;
682
+ exports.CredentialUnboundError = require_workflowTypes.CredentialUnboundError;
749
683
  exports.DEFAULT_ASSERTION_PASS_THRESHOLD = require_contracts.DEFAULT_ASSERTION_PASS_THRESHOLD;
684
+ exports.DEPLOYMENT_MANIFEST_SCHEMA_VERSION = require_contracts.DEPLOYMENT_MANIFEST_SCHEMA_VERSION;
750
685
  exports.DefaultAsyncSleeper = require_runtime.DefaultAsyncSleeper;
751
686
  exports.DefaultExecutionBinaryService = require_runtime.DefaultExecutionBinaryService;
752
687
  exports.DefaultExecutionContextFactory = require_runtime.DefaultExecutionContextFactory;
@@ -769,7 +704,7 @@ exports.InMemoryRunDataFactory = require_runtime.InMemoryRunDataFactory;
769
704
  exports.InMemoryRunEventBus = require_InMemoryRunEventBusRegistry.InMemoryRunEventBus;
770
705
  exports.InProcessRetryRunner = require_runtime.InProcessRetryRunner;
771
706
  exports.InboxChannelResolverToken = InboxChannelResolverToken;
772
- exports.InjectableRuntimeDecoratorComposer = require_runtime.InjectableRuntimeDecoratorComposer;
707
+ exports.InjectableRuntimeDecoratorComposer = require_contracts.InjectableRuntimeDecoratorComposer;
773
708
  exports.ItemExprResolver = require_runtime.ItemExprResolver;
774
709
  Object.defineProperty(exports, 'ItemsInputNormalizer', {
775
710
  enumerable: true,
@@ -790,21 +725,21 @@ exports.NoOpPollingTriggerLogger = require_runtime.NoOpPollingTriggerLogger;
790
725
  exports.NoOpTelemetryArtifactReference = require_runtime.NoOpTelemetryArtifactReference;
791
726
  exports.NoOpTelemetrySpanScope = require_runtime.NoOpTelemetrySpanScope;
792
727
  exports.NoRetryPolicy = require_runtime.NoRetryPolicy;
793
- exports.NodeBackedToolConfig = require_di.NodeBackedToolConfig;
728
+ exports.NodeBackedToolConfig = require_workflowTypes.NodeBackedToolConfig;
794
729
  exports.NodeEventPublisher = require_runtime.NodeEventPublisher;
795
730
  exports.NodeIdSlugifier = require_runtime.NodeIdSlugifier;
796
- exports.NodeIterationIdFactory = require_di.NodeIterationIdFactory;
731
+ exports.NodeIterationIdFactory = require_workflowTypes.NodeIterationIdFactory;
797
732
  exports.NodeOutputNormalizer = require_runtime.NodeOutputNormalizer;
798
- exports.PersistedRuntimeTypeMetadataStore = require_runtime.PersistedRuntimeTypeMetadataStore;
799
- exports.PersistedRuntimeTypeNameResolver = require_runtime.PersistedRuntimeTypeNameResolver;
733
+ exports.PersistedRuntimeTypeMetadataStore = require_contracts.PersistedRuntimeTypeMetadataStore;
734
+ exports.PersistedRuntimeTypeNameResolver = require_contracts.PersistedRuntimeTypeNameResolver;
800
735
  exports.PollingTriggerDedupWindow = require_runtime.PollingTriggerDedupWindow;
801
736
  exports.PollingTriggerRuntime = require_runtime.PollingTriggerRuntime;
802
737
  exports.RetryPolicy = require_runtime.RetryPolicy;
803
- exports.RunFinishedAtFactory = require_di.RunFinishedAtFactory;
738
+ exports.RunFinishedAtFactory = require_workflowTypes.RunFinishedAtFactory;
804
739
  exports.RunIntentService = require_runtime.RunIntentService;
805
740
  exports.RunnableOutputBehaviorResolver = require_runtime.RunnableOutputBehaviorResolver;
806
- exports.StackTraceCallSitePathResolver = require_runtime.StackTraceCallSitePathResolver;
807
- exports.SuspensionRequest = require_di.SuspensionRequest;
741
+ exports.StackTraceCallSitePathResolver = require_contracts.StackTraceCallSitePathResolver;
742
+ exports.SuspensionRequest = require_workflowTypes.SuspensionRequest;
808
743
  exports.SystemClock = SystemClock;
809
744
  exports.UnavailableBinaryStorage = require_runtime.UnavailableBinaryStorage;
810
745
  exports.WhenBuilder = require_runtime.WhenBuilder;
@@ -814,11 +749,12 @@ exports.WorkflowEdgePortValidator = WorkflowEdgePortValidator;
814
749
  exports.WorkflowExecutableNodeClassifier = require_runtime.WorkflowExecutableNodeClassifier;
815
750
  exports.WorkflowExecutableNodeClassifierFactory = require_runtime.WorkflowExecutableNodeClassifierFactory;
816
751
  exports.WorkspaceFileNotFoundError = WorkspaceFileNotFoundError;
752
+ exports.WorkspaceFileRegistrarToken = WorkspaceFileRegistrarToken;
817
753
  exports.WorkspaceFileStorageToken = WorkspaceFileStorageToken;
818
- exports.branchRef = require_di.branchRef;
754
+ exports.branchRef = require_workflowTypes.branchRef;
819
755
  exports.c = c;
820
756
  exports.callableTool = callableTool;
821
- exports.chatModel = require_runtime.chatModel;
757
+ exports.chatModel = require_contracts.chatModel;
822
758
  Object.defineProperty(exports, 'container', {
823
759
  enumerable: true,
824
760
  get: function () {
@@ -838,9 +774,12 @@ Object.defineProperty(exports, 'delay', {
838
774
  }
839
775
  });
840
776
  exports.deriveAssertionPassed = require_contracts.deriveAssertionPassed;
777
+ exports.deserializeDispatch = require_contracts.deserializeDispatch;
778
+ exports.deserializeManifest = require_contracts.deserializeManifest;
841
779
  exports.emitPorts = require_runtime.emitPorts;
780
+ exports.emitWorkflowManifest = require_contracts.emitWorkflowManifest;
842
781
  exports.getOriginIndexFromItem = require_runtime.getOriginIndexFromItem;
843
- exports.getPersistedRuntimeTypeMetadata = require_runtime.getPersistedRuntimeTypeMetadata;
782
+ exports.getPersistedRuntimeTypeMetadata = require_contracts.getPersistedRuntimeTypeMetadata;
844
783
  Object.defineProperty(exports, 'inject', {
845
784
  enumerable: true,
846
785
  get: function () {
@@ -876,8 +815,9 @@ exports.isItemExpr = require_di.isItemExpr;
876
815
  exports.isPortsEmission = require_runtime.isPortsEmission;
877
816
  exports.isUnbrandedPortsEmissionShape = require_runtime.isUnbrandedPortsEmissionShape;
878
817
  exports.itemExpr = require_di.itemExpr;
879
- exports.node = require_runtime.node;
880
- exports.nodeRef = require_di.nodeRef;
818
+ exports.mergeForward = require_runtime.mergeForward;
819
+ exports.node = require_contracts.node;
820
+ exports.nodeRef = require_workflowTypes.nodeRef;
881
821
  Object.defineProperty(exports, 'predicateAwareClassFactory', {
882
822
  enumerable: true,
883
823
  get: function () {
@@ -892,11 +832,13 @@ Object.defineProperty(exports, 'registry', {
892
832
  });
893
833
  exports.resolveItemExprsForExecution = require_di.resolveItemExprsForExecution;
894
834
  exports.resolveItemExprsInUnknown = require_di.resolveItemExprsInUnknown;
835
+ exports.serializeDispatch = require_contracts.serializeDispatch;
836
+ exports.serializeManifest = require_contracts.serializeManifest;
895
837
  Object.defineProperty(exports, 'singleton', {
896
838
  enumerable: true,
897
839
  get: function () {
898
840
  return tsyringe.singleton;
899
841
  }
900
842
  });
901
- exports.tool = require_runtime.tool;
843
+ exports.tool = require_contracts.tool;
902
844
  //# sourceMappingURL=index.cjs.map