@codemation/core 0.0.19 → 0.2.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 (80) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/EngineRuntimeRegistration.types-0sgV2XL2.d.ts +42 -0
  3. package/dist/EngineWorkflowRunnerService-Dx7bJsJR.d.cts +73 -0
  4. package/dist/InMemoryRunDataFactory-qIYQEar7.d.cts +94 -0
  5. package/dist/{InMemoryLiveWorkflowRepository-DxoualoC.d.ts → RunIntentService-BCvGdOSY.d.ts} +438 -9
  6. package/dist/{RunIntentService-C1nu_YwM.js → RunIntentService-BFA48UpH.js} +252 -67
  7. package/dist/RunIntentService-BFA48UpH.js.map +1 -0
  8. package/dist/{InMemoryLiveWorkflowRepository-orY1VsWG.d.cts → RunIntentService-CV8izV8t.d.cts} +214 -7
  9. package/dist/{RunIntentService-ZkjpY7MS.cjs → RunIntentService-DcxXf_AM.cjs} +262 -65
  10. package/dist/RunIntentService-DcxXf_AM.cjs.map +1 -0
  11. package/dist/bootstrap/index.cjs +14 -1135
  12. package/dist/bootstrap/index.d.cts +7 -60
  13. package/dist/bootstrap/index.d.ts +4 -40
  14. package/dist/bootstrap/index.js +3 -1122
  15. package/dist/bootstrap-D67Sf2BF.js +1136 -0
  16. package/dist/bootstrap-D67Sf2BF.js.map +1 -0
  17. package/dist/bootstrap-DoQHAEQJ.cjs +1203 -0
  18. package/dist/bootstrap-DoQHAEQJ.cjs.map +1 -0
  19. package/dist/{index-BIewO9-9.d.ts → index-BHmrZIHp.d.ts} +32 -260
  20. package/dist/index.cjs +98 -223
  21. package/dist/index.cjs.map +1 -1
  22. package/dist/index.d.cts +196 -6
  23. package/dist/index.d.ts +3 -3
  24. package/dist/index.js +92 -218
  25. package/dist/index.js.map +1 -1
  26. package/dist/testing.cjs +329 -3
  27. package/dist/testing.cjs.map +1 -1
  28. package/dist/testing.d.cts +181 -4
  29. package/dist/testing.d.ts +181 -3
  30. package/dist/testing.js +319 -2
  31. package/dist/testing.js.map +1 -1
  32. package/dist/workflowActivationPolicy-B8HzTk3o.js +201 -0
  33. package/dist/workflowActivationPolicy-B8HzTk3o.js.map +1 -0
  34. package/dist/workflowActivationPolicy-BzyzXLa_.cjs +231 -0
  35. package/dist/workflowActivationPolicy-BzyzXLa_.cjs.map +1 -0
  36. package/package.json +1 -1
  37. package/src/ai/AgentConnectionNodeCollector.ts +99 -0
  38. package/src/ai/AgentToolFactory.ts +38 -2
  39. package/src/ai/AiHost.ts +1 -1
  40. package/src/browser.ts +11 -0
  41. package/src/contracts/executionPersistenceContracts.ts +186 -0
  42. package/src/contracts/index.ts +1 -0
  43. package/src/contracts/runFinishedAtFactory.ts +5 -2
  44. package/src/contracts/runTypes.ts +10 -0
  45. package/src/contracts/runtimeTypes.ts +6 -2
  46. package/src/contracts/workflowTypes.ts +3 -2
  47. package/src/events/EventPublishingWorkflowExecutionRepository.ts +5 -0
  48. package/src/execution/ActivationEnqueueService.ts +8 -8
  49. package/src/execution/PersistedRunStateTerminalBuilder.ts +3 -0
  50. package/src/index.ts +6 -0
  51. package/src/orchestration/NodeExecutionRequestHandlerService.ts +11 -6
  52. package/src/orchestration/RunContinuationService.ts +94 -24
  53. package/src/runStorage/InMemoryWorkflowExecutionRepository.ts +14 -1
  54. package/src/scheduler/DefaultDrivingScheduler.ts +21 -11
  55. package/src/scheduler/InlineDrivingScheduler.ts +17 -21
  56. package/src/testing/CapturingScheduler.ts +15 -0
  57. package/src/testing/EngineTestKitRunIdFactory.ts +24 -0
  58. package/src/testing/InMemoryTriggerSetupStateRepository.ts +21 -0
  59. package/src/testing/PrefixedSequentialIdGenerator.ts +17 -0
  60. package/src/testing/RegistrarEngineTestKit.types.ts +76 -0
  61. package/src/testing/RegistrarEngineTestKitFactory.ts +154 -0
  62. package/src/testing/SubWorkflowRunnerTestNode.ts +83 -0
  63. package/src/testing/WorkflowTestHarnessManualTrigger.ts +39 -0
  64. package/src/testing/WorkflowTestKit.types.ts +9 -0
  65. package/src/testing/WorkflowTestKitBuilder.ts +77 -0
  66. package/src/testing/WorkflowTestKitNodeRegistrationContextFactory.ts +17 -0
  67. package/src/testing/WorkflowTestKitRunNodeWorkflowFactory.ts +26 -0
  68. package/src/testing.ts +19 -0
  69. package/src/types/index.ts +1 -0
  70. package/src/workflow/definition/ConnectionNodeIdFactory.ts +28 -0
  71. package/dist/InMemoryLiveWorkflowRepository-BTzHpQ6e.cjs +0 -151
  72. package/dist/InMemoryLiveWorkflowRepository-BTzHpQ6e.cjs.map +0 -1
  73. package/dist/InMemoryLiveWorkflowRepository-BoLNnVLg.js +0 -139
  74. package/dist/InMemoryLiveWorkflowRepository-BoLNnVLg.js.map +0 -1
  75. package/dist/RunIntentService-C1nu_YwM.js.map +0 -1
  76. package/dist/RunIntentService-DjbxzBBP.d.cts +0 -288
  77. package/dist/RunIntentService-ZkjpY7MS.cjs.map +0 -1
  78. package/dist/WorkflowSnapshotCodec-DSEzKyt3.d.cts +0 -22
  79. package/dist/bootstrap/index.cjs.map +0 -1
  80. package/dist/bootstrap/index.js.map +0 -1
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
- import { $ as injectAll, B as WorkflowExecutableNodeClassifier, G as tool, H as chatModel, I as DefaultExecutionBinaryService, J as StackTraceCallSitePathResolver, K as InjectableRuntimeDecoratorComposer, L as UnavailableBinaryStorage, M as DefaultExecutionContextFactory, N as DefaultAsyncSleeper, P as CredentialResolverFactory, Q as inject, R as NodeEventPublisher, U as getPersistedRuntimeTypeMetadata, V as ConnectionNodeIdFactory, W as node, X as container, Y as PersistedRuntimeTypeNameResolver, Z as delay, at as singleton, et as injectable, i as InMemoryBinaryStorage, it as registry, j as InProcessRetryRunner, n as RunFinishedAtFactory, nt as instancePerContainerCachingFactory, o as EngineExecutionLimitsPolicy, ot as CoreTokens, q as PersistedRuntimeTypeMetadataStore, r as InMemoryRunDataFactory, rt as predicateAwareClassFactory, t as RunIntentService, tt as instanceCachingFactory, z as WorkflowExecutableNodeClassifierFactory } from "./RunIntentService-C1nu_YwM.js";
2
- import { t as InMemoryLiveWorkflowRepository } from "./InMemoryLiveWorkflowRepository-BoLNnVLg.js";
1
+ import { $ as delay, B as NodeEventPublisher, F as DefaultAsyncSleeper, G as getPersistedRuntimeTypeMetadata, H as WorkflowExecutableNodeClassifier, I as CredentialResolverFactory, J as InjectableRuntimeDecoratorComposer, K as node, N as InProcessRetryRunner, P as DefaultExecutionContextFactory, Q as container, R as DefaultExecutionBinaryService, U as ConnectionNodeIdFactory, V as WorkflowExecutableNodeClassifierFactory, W as chatModel, X as StackTraceCallSitePathResolver, Y as PersistedRuntimeTypeMetadataStore, Z as PersistedRuntimeTypeNameResolver, a as InMemoryBinaryStorage, at as predicateAwareClassFactory, ct as CoreTokens, et as inject, i as InMemoryRunDataFactory, it as instancePerContainerCachingFactory, n as InMemoryLiveWorkflowRepository, nt as injectable, ot as registry, q as tool, r as RunFinishedAtFactory, rt as instanceCachingFactory, s as EngineExecutionLimitsPolicy, st as singleton, t as RunIntentService, tt as injectAll, z as UnavailableBinaryStorage } from "./RunIntentService-BFA48UpH.js";
2
+ import { a as WhenBuilder, i as ChainCursor, n as InMemoryRunEventBus, r as WorkflowBuilder, t as AllWorkflowsActiveWorkflowActivationPolicy } from "./workflowActivationPolicy-B8HzTk3o.js";
3
3
  import { z } from "zod";
4
4
  import { randomUUID } from "node:crypto";
5
5
 
@@ -235,11 +235,48 @@ var NodeBackedToolConfig = class {
235
235
  }
236
236
  };
237
237
 
238
+ //#endregion
239
+ //#region src/ai/AgentConfigInspectorFactory.ts
240
+ var AgentConfigInspector = class {
241
+ static isAgentNodeConfig(config) {
242
+ if (!config) return false;
243
+ const candidate = config;
244
+ return !!candidate.chatModel && this.hasCompatibleMessageConfiguration(candidate);
245
+ }
246
+ static hasCompatibleMessageConfiguration(candidate) {
247
+ const messages = candidate.messages;
248
+ if (messages === void 0 || messages === null) return false;
249
+ if (Array.isArray(messages)) return messages.length > 0;
250
+ if (typeof messages === "object") {
251
+ const o = messages;
252
+ return Array.isArray(o.prompt) && o.prompt.length > 0 || typeof o.buildMessages === "function";
253
+ }
254
+ return false;
255
+ }
256
+ };
257
+
238
258
  //#endregion
239
259
  //#region src/ai/AgentToolFactory.ts
240
260
  var AgentToolFactoryImpl = class {
241
261
  asTool(node$1, options) {
242
- return new NodeBackedToolConfig(options.name ?? node$1.name ?? "tool", node$1, options);
262
+ return new NodeBackedToolConfig(options.name ?? node$1.name ?? "tool", node$1, this.withDefaultAgentInputMapper(node$1, options));
263
+ }
264
+ withDefaultAgentInputMapper(node$1, options) {
265
+ if (options.mapInput || !AgentConfigInspector.isAgentNodeConfig(node$1)) return options;
266
+ return {
267
+ ...options,
268
+ mapInput: ({ input: input$1, item }) => this.mergeAgentToolInputWithCurrentItem(input$1, item)
269
+ };
270
+ }
271
+ mergeAgentToolInputWithCurrentItem(input$1, item) {
272
+ if (!this.isMergeableRecord(input$1) || !this.isMergeableRecord(item.json)) return input$1;
273
+ return {
274
+ ...item.json,
275
+ ...input$1
276
+ };
277
+ }
278
+ isMergeableRecord(value) {
279
+ return typeof value === "object" && value !== null && !Array.isArray(value);
243
280
  }
244
281
  };
245
282
  const AgentToolFactory = new AgentToolFactoryImpl();
@@ -269,26 +306,6 @@ var AgentMessageConfigNormalizer = class {
269
306
  }
270
307
  };
271
308
 
272
- //#endregion
273
- //#region src/ai/AgentConfigInspectorFactory.ts
274
- var AgentConfigInspector = class {
275
- static isAgentNodeConfig(config) {
276
- if (!config) return false;
277
- const candidate = config;
278
- return !!candidate.chatModel && this.hasCompatibleMessageConfiguration(candidate);
279
- }
280
- static hasCompatibleMessageConfiguration(candidate) {
281
- const messages = candidate.messages;
282
- if (messages === void 0 || messages === null) return false;
283
- if (Array.isArray(messages)) return messages.length > 0;
284
- if (typeof messages === "object") {
285
- const o = messages;
286
- return Array.isArray(o.prompt) && o.prompt.length > 0 || typeof o.buildMessages === "function";
287
- }
288
- return false;
289
- }
290
- };
291
-
292
309
  //#endregion
293
310
  //#region src/ai/AiHost.ts
294
311
  /** Defaults aligned with common tool-agent iteration limits (many products use ~10 max rounds). */
@@ -298,155 +315,57 @@ const AgentGuardrailDefaults = {
298
315
  };
299
316
 
300
317
  //#endregion
301
- //#region src/workflow/dsl/WhenBuilder.ts
302
- var WhenBuilder = class WhenBuilder {
303
- constructor(wf, from, branchPort) {
304
- this.wf = wf;
305
- this.from = from;
306
- this.branchPort = branchPort;
307
- }
308
- addBranch(steps) {
309
- const created = [];
310
- let prev = null;
311
- for (const cfg of steps) {
312
- const ref = this.wf.add(cfg);
313
- created.push(ref);
314
- if (!prev) this.wf.connect(this.from, ref, this.branchPort, "in");
315
- else this.wf.connect(prev, ref, "main", "in");
316
- prev = ref;
317
- }
318
- for (const cfg of steps) {
319
- const maybe = cfg;
320
- if (!Array.isArray(maybe.upstreamRefs) || maybe.upstreamRefs.length === 0) continue;
321
- maybe.upstreamRefs = maybe.upstreamRefs.map((r) => {
322
- if (typeof r !== "string") return r;
323
- const nodeId = created[parseInt(r.slice(1), 10)]?.id;
324
- return nodeId ? { nodeId } : { nodeId: r };
318
+ //#region src/ai/AgentConnectionNodeCollector.ts
319
+ const AgentConnectionNodeCollector = new class {
320
+ collect(parentNodeId, agentConfig) {
321
+ const collected = [];
322
+ this.collectInto(parentNodeId, agentConfig, collected);
323
+ return collected;
324
+ }
325
+ collectInto(parentNodeId, agentConfig, collected) {
326
+ collected.push({
327
+ nodeId: ConnectionNodeIdFactory.languageModelConnectionNodeId(parentNodeId),
328
+ parentNodeId,
329
+ connectionName: "llm",
330
+ role: "languageModel",
331
+ name: agentConfig.chatModel.presentation?.label ?? agentConfig.chatModel.name,
332
+ typeName: agentConfig.chatModel.name,
333
+ icon: agentConfig.chatModel.presentation?.icon,
334
+ credentialSource: agentConfig.chatModel
335
+ });
336
+ for (const tool$1 of agentConfig.tools ?? []) {
337
+ const toolNodeId = ConnectionNodeIdFactory.toolConnectionNodeId(parentNodeId, tool$1.name);
338
+ const isNestedAgent = this.isNodeBackedAgentTool(tool$1);
339
+ collected.push({
340
+ nodeId: toolNodeId,
341
+ parentNodeId,
342
+ connectionName: "tools",
343
+ role: isNestedAgent ? "nestedAgent" : "tool",
344
+ name: tool$1.presentation?.label ?? tool$1.name,
345
+ typeName: tool$1.name,
346
+ icon: tool$1.presentation?.icon,
347
+ credentialSource: tool$1
325
348
  });
349
+ this.collectNestedAgentTools(toolNodeId, tool$1, collected);
326
350
  }
327
- return this;
328
- }
329
- when = (branch, steps, ...more) => {
330
- const list = Array.isArray(steps) ? steps : [steps, ...more];
331
- const port = branch ? "true" : "false";
332
- const b = new WhenBuilder(this.wf, this.from, port);
333
- b.addBranch(list);
334
- return b;
335
- };
336
- build() {
337
- return this.wf.build();
338
351
  }
339
- };
340
-
341
- //#endregion
342
- //#region src/workflow/dsl/ChainCursorResolver.ts
343
- var ChainCursor = class ChainCursor {
344
- constructor(wf, cursor, cursorOutput) {
345
- this.wf = wf;
346
- this.cursor = cursor;
347
- this.cursorOutput = cursorOutput;
348
- }
349
- then(config) {
350
- const next = this.wf.add(config);
351
- this.wf.connect(this.cursor, next, this.cursorOutput);
352
- return new ChainCursor(this.wf, next, "main");
353
- }
354
- when = ((arg1, steps, ...more) => {
355
- if (typeof arg1 === "boolean") {
356
- const list = Array.isArray(steps) ? steps : steps ? [steps, ...more] : more;
357
- const port = arg1 ? "true" : "false";
358
- const b = new WhenBuilder(this.wf, this.cursor, port);
359
- b.addBranch(list);
360
- return b;
361
- }
362
- const branches = arg1;
363
- const makeMerge = this.wf.options?.makeMergeNode;
364
- if (!makeMerge) throw new Error("WorkflowBuilder is missing options.makeMergeNode (required for when({true,false}). Use createWorkflowBuilder from \"@codemation/core-nodes\".");
365
- const wfAny = this.wf;
366
- const buildBranch = (port, branchSteps) => {
367
- const list = branchSteps ?? [];
368
- let prev = null;
369
- for (const cfg of list) {
370
- const ref = wfAny.add(cfg);
371
- if (!prev) wfAny.connect(this.cursor, ref, port, "in");
372
- else wfAny.connect(prev, ref, "main", "in");
373
- prev = ref;
374
- }
375
- if (!prev) return {
376
- end: this.cursor,
377
- endOutput: port
378
- };
379
- return {
380
- end: prev,
381
- endOutput: "main"
382
- };
383
- };
384
- const t = buildBranch("true", branches.true);
385
- const f = buildBranch("false", branches.false);
386
- const merge = wfAny.add(makeMerge("Merge (auto)"));
387
- wfAny.connect(t.end, merge, t.endOutput, "true");
388
- wfAny.connect(f.end, merge, f.endOutput, "false");
389
- return new ChainCursor(this.wf, merge, "main");
390
- });
391
- build() {
392
- return this.wf.build();
393
- }
394
- };
395
-
396
- //#endregion
397
- //#region src/workflow/dsl/WorkflowBuilder.ts
398
- var WorkflowBuilder = class {
399
- nodes = [];
400
- edges = [];
401
- seq = 0;
402
- constructor(meta, options) {
403
- this.meta = meta;
404
- this.options = options;
405
- }
406
- add(config) {
407
- const tokenName = typeof config.type === "function" ? config.type.name : String(config.type);
408
- const id = config.id ?? `${tokenName}:${++this.seq}`;
409
- this.nodes.push({
410
- id,
411
- kind: config.kind,
412
- type: config.type,
413
- name: config.name,
414
- config
415
- });
416
- return {
417
- id,
418
- kind: config.kind,
419
- name: config.name
420
- };
421
- }
422
- connect(from, to, fromOutput = "main", toInput = "in") {
423
- this.edges.push({
424
- from: {
425
- nodeId: from.id,
426
- output: fromOutput
427
- },
428
- to: {
429
- nodeId: to.id,
430
- input: toInput
431
- }
432
- });
433
- }
434
- trigger(config) {
435
- const ref = this.add(config);
436
- return new ChainCursor(this, ref, "main");
437
- }
438
- start(config) {
439
- const ref = this.add(config);
440
- return new ChainCursor(this, ref, "main");
441
- }
442
- build() {
443
- return {
444
- ...this.meta,
445
- nodes: this.nodes,
446
- edges: this.edges
447
- };
448
- }
449
- };
352
+ collectNestedAgentTools(toolNodeId, tool$1, collected) {
353
+ if (!this.isNodeBackedAgentTool(tool$1)) return;
354
+ const innerAgent = tool$1 instanceof NodeBackedToolConfig ? tool$1.node : tool$1.node;
355
+ this.collectInto(toolNodeId, innerAgent, collected);
356
+ }
357
+ /**
358
+ * After JSON round-trip (persisted snapshots), tools are plain objects — `instanceof NodeBackedToolConfig` fails.
359
+ * Detect node-backed tools structurally via {@link NodeBackedToolConfig#toolKind}.
360
+ */
361
+ isNodeBackedAgentTool(tool$1) {
362
+ if (tool$1 instanceof NodeBackedToolConfig) return AgentConfigInspector.isAgentNodeConfig(tool$1.node);
363
+ if (!tool$1 || typeof tool$1 !== "object") return false;
364
+ const t = tool$1;
365
+ if (t.toolKind !== "nodeBacked") return false;
366
+ return AgentConfigInspector.isAgentNodeConfig(t.node);
367
+ }
368
+ }();
450
369
 
451
370
  //#endregion
452
371
  //#region src/workflow/definition/ConnectionInvocationIdFactory.ts
@@ -492,45 +411,6 @@ var DefaultWorkflowGraphFactory = class {
492
411
  }
493
412
  };
494
413
 
495
- //#endregion
496
- //#region src/events/InMemoryRunEventSubscription.ts
497
- var InMemoryRunEventSubscription = class {
498
- constructor(onClose) {
499
- this.onClose = onClose;
500
- }
501
- async close() {
502
- this.onClose();
503
- }
504
- };
505
-
506
- //#endregion
507
- //#region src/events/InMemoryRunEventBusRegistry.ts
508
- var InMemoryRunEventBus = class {
509
- globalListeners = /* @__PURE__ */ new Set();
510
- listenersByWorkflowId = /* @__PURE__ */ new Map();
511
- async publish(event) {
512
- for (const listener of this.globalListeners) listener(event);
513
- for (const listener of this.listenersByWorkflowId.get(event.workflowId) ?? []) listener(event);
514
- }
515
- async subscribe(onEvent) {
516
- this.globalListeners.add(onEvent);
517
- return new InMemoryRunEventSubscription(() => {
518
- this.globalListeners.delete(onEvent);
519
- });
520
- }
521
- async subscribeToWorkflow(workflowId, onEvent) {
522
- const existing = this.listenersByWorkflowId.get(workflowId) ?? /* @__PURE__ */ new Set();
523
- existing.add(onEvent);
524
- this.listenersByWorkflowId.set(workflowId, existing);
525
- return new InMemoryRunEventSubscription(() => {
526
- const listeners = this.listenersByWorkflowId.get(workflowId);
527
- if (!listeners) return;
528
- listeners.delete(onEvent);
529
- if (listeners.size === 0) this.listenersByWorkflowId.delete(workflowId);
530
- });
531
- }
532
- };
533
-
534
414
  //#endregion
535
415
  //#region src/events/EventPublishingWorkflowExecutionRepository.ts
536
416
  var EventPublishingWorkflowExecutionRepository = class {
@@ -552,6 +432,9 @@ var EventPublishingWorkflowExecutionRepository = class {
552
432
  async load(runId) {
553
433
  return await this.inner.load(runId);
554
434
  }
435
+ async loadSchedulingState(runId) {
436
+ return await this.inner.loadSchedulingState(runId);
437
+ }
555
438
  async save(state) {
556
439
  await this.inner.save(state);
557
440
  await this.eventBus.publish({
@@ -677,14 +560,5 @@ var CredentialUnboundError = class CredentialUnboundError extends Error {
677
560
  const branchRef = (index) => `$${index}`;
678
561
 
679
562
  //#endregion
680
- //#region src/contracts/workflowActivationPolicy.ts
681
- /** Default for tests and harnesses: every workflow is treated as active (legacy behavior). */
682
- var AllWorkflowsActiveWorkflowActivationPolicy = class {
683
- isActive(_workflowId) {
684
- return true;
685
- }
686
- };
687
-
688
- //#endregion
689
- export { AgentConfigInspector, AgentGuardrailDefaults, AgentMessageConfigNormalizer, AgentToolFactory, AllWorkflowsActiveWorkflowActivationPolicy, ChainCursor, ConnectionInvocationIdFactory, ConnectionNodeIdFactory, CoreTokens, CredentialResolverFactory, CredentialUnboundError, DefaultAsyncSleeper, DefaultExecutionBinaryService, DefaultExecutionContextFactory, DefaultWorkflowGraphFactory, DefinedNodeRegistry, EngineExecutionLimitsPolicy, EventPublishingWorkflowExecutionRepository, ExpRetryPolicy, InMemoryBinaryStorage, InMemoryLiveWorkflowRepository, InMemoryRunDataFactory, InMemoryRunEventBus, InProcessRetryRunner, InjectableRuntimeDecoratorComposer, ItemsInputNormalizer, NoRetryPolicy, NodeBackedToolConfig, NodeEventPublisher, PersistedRuntimeTypeMetadataStore, PersistedRuntimeTypeNameResolver, RetryPolicy, RunFinishedAtFactory, RunIntentService, StackTraceCallSitePathResolver, SystemClock, UnavailableBinaryStorage, WhenBuilder, WorkflowBuilder, WorkflowExecutableNodeClassifier, WorkflowExecutableNodeClassifierFactory, branchRef, chatModel, container, defineCredential, defineNode, delay, getPersistedRuntimeTypeMetadata, inject, injectAll, injectable, instanceCachingFactory, instancePerContainerCachingFactory, node, predicateAwareClassFactory, registry, singleton, tool };
563
+ export { AgentConfigInspector, AgentConnectionNodeCollector, AgentGuardrailDefaults, AgentMessageConfigNormalizer, AgentToolFactory, AllWorkflowsActiveWorkflowActivationPolicy, ChainCursor, ConnectionInvocationIdFactory, ConnectionNodeIdFactory, CoreTokens, CredentialResolverFactory, CredentialUnboundError, DefaultAsyncSleeper, DefaultExecutionBinaryService, DefaultExecutionContextFactory, DefaultWorkflowGraphFactory, DefinedNodeRegistry, EngineExecutionLimitsPolicy, EventPublishingWorkflowExecutionRepository, ExpRetryPolicy, InMemoryBinaryStorage, InMemoryLiveWorkflowRepository, InMemoryRunDataFactory, InMemoryRunEventBus, InProcessRetryRunner, InjectableRuntimeDecoratorComposer, ItemsInputNormalizer, NoRetryPolicy, NodeBackedToolConfig, NodeEventPublisher, PersistedRuntimeTypeMetadataStore, PersistedRuntimeTypeNameResolver, RetryPolicy, RunFinishedAtFactory, RunIntentService, StackTraceCallSitePathResolver, SystemClock, UnavailableBinaryStorage, WhenBuilder, WorkflowBuilder, WorkflowExecutableNodeClassifier, WorkflowExecutableNodeClassifierFactory, branchRef, chatModel, container, defineCredential, defineNode, delay, getPersistedRuntimeTypeMetadata, inject, injectAll, injectable, instanceCachingFactory, instancePerContainerCachingFactory, node, predicateAwareClassFactory, registry, singleton, tool };
690
564
  //# sourceMappingURL=index.js.map