flowcraft 2.7.0 → 2.7.1

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 (79) hide show
  1. package/dist/adapters/index.d.ts +1 -1
  2. package/dist/adapters/index.js +1 -1
  3. package/dist/adapters/persistent-event-bus.d.ts +1 -1
  4. package/dist/adapters/persistent-event-bus.js +1 -1
  5. package/dist/analysis.d.ts +1 -1
  6. package/dist/{chunk-ASJYJ3NF.js → chunk-2TSADFQX.js} +2 -2
  7. package/dist/{chunk-ASJYJ3NF.js.map → chunk-2TSADFQX.js.map} +1 -1
  8. package/dist/{chunk-4TVWI6Y6.js → chunk-7EMUOH77.js} +4 -4
  9. package/dist/{chunk-4TVWI6Y6.js.map → chunk-7EMUOH77.js.map} +1 -1
  10. package/dist/{chunk-LU5SLE3P.js → chunk-7M6FHFHP.js} +3 -3
  11. package/dist/{chunk-LU5SLE3P.js.map → chunk-7M6FHFHP.js.map} +1 -1
  12. package/dist/{chunk-K6ID3GRG.js → chunk-BCMR7Y4U.js} +4 -4
  13. package/dist/{chunk-K6ID3GRG.js.map → chunk-BCMR7Y4U.js.map} +1 -1
  14. package/dist/{chunk-VDVUF25G.js → chunk-BEHVGFIM.js} +32 -30
  15. package/dist/chunk-BEHVGFIM.js.map +1 -0
  16. package/dist/{chunk-TTOS7NW3.js → chunk-DV2CXHOY.js} +3 -3
  17. package/dist/{chunk-TTOS7NW3.js.map → chunk-DV2CXHOY.js.map} +1 -1
  18. package/dist/{chunk-LWN7HOD3.js → chunk-L3MX5MTA.js} +3 -3
  19. package/dist/{chunk-LWN7HOD3.js.map → chunk-L3MX5MTA.js.map} +1 -1
  20. package/dist/{chunk-VSKDQVCG.js → chunk-L46TQXCV.js} +8 -4
  21. package/dist/chunk-L46TQXCV.js.map +1 -0
  22. package/dist/{chunk-W4IAXDO4.js → chunk-U7DKCIWT.js} +12 -16
  23. package/dist/chunk-U7DKCIWT.js.map +1 -0
  24. package/dist/{chunk-RF5EYEO6.js → chunk-XZZWIJ4G.js} +3 -3
  25. package/dist/{chunk-RF5EYEO6.js.map → chunk-XZZWIJ4G.js.map} +1 -1
  26. package/dist/container-factory.d.ts +1 -1
  27. package/dist/container-factory.js +4 -4
  28. package/dist/context.d.ts +1 -1
  29. package/dist/error-mapper.d.ts +1 -1
  30. package/dist/evaluator.d.ts +1 -1
  31. package/dist/flow.d.ts +1 -1
  32. package/dist/index.d.ts +1 -1
  33. package/dist/index.js +13 -13
  34. package/dist/linter.d.ts +1 -1
  35. package/dist/logger.d.ts +1 -1
  36. package/dist/node.d.ts +1 -1
  37. package/dist/nodes/batch-gather.d.ts +1 -1
  38. package/dist/nodes/batch-scatter.d.ts +1 -1
  39. package/dist/nodes/sleep.d.ts +1 -1
  40. package/dist/nodes/subflow.d.ts +1 -1
  41. package/dist/nodes/subflow.js +3 -3
  42. package/dist/nodes/wait.d.ts +1 -1
  43. package/dist/nodes/webhook.d.ts +1 -1
  44. package/dist/runtime/adapter.d.ts +1 -1
  45. package/dist/runtime/adapter.js +10 -10
  46. package/dist/runtime/execution-context.d.ts +1 -1
  47. package/dist/runtime/execution-context.js +2 -2
  48. package/dist/runtime/executors.d.ts +1 -1
  49. package/dist/runtime/index.d.ts +1 -1
  50. package/dist/runtime/index.js +10 -10
  51. package/dist/runtime/node-executor-factory.d.ts +1 -1
  52. package/dist/runtime/orchestrator.d.ts +1 -1
  53. package/dist/runtime/orchestrator.js +3 -3
  54. package/dist/runtime/orchestrators/replay.d.ts +1 -1
  55. package/dist/runtime/orchestrators/step-by-step.d.ts +1 -1
  56. package/dist/runtime/orchestrators/utils.d.ts +1 -1
  57. package/dist/runtime/runtime.d.ts +1 -1
  58. package/dist/runtime/runtime.js +9 -9
  59. package/dist/runtime/scheduler.d.ts +1 -1
  60. package/dist/runtime/state.d.ts +1 -1
  61. package/dist/runtime/state.js +1 -1
  62. package/dist/runtime/traverser.d.ts +1 -1
  63. package/dist/runtime/types.d.ts +1 -1
  64. package/dist/runtime/workflow-logic-handler.d.ts +1 -1
  65. package/dist/sanitizer.d.ts +1 -1
  66. package/dist/serializer.d.ts +1 -1
  67. package/dist/testing/event-logger.d.ts +1 -1
  68. package/dist/testing/index.d.ts +1 -1
  69. package/dist/testing/index.js +14 -14
  70. package/dist/testing/run-with-trace.d.ts +1 -1
  71. package/dist/testing/run-with-trace.js +11 -11
  72. package/dist/testing/stepper.d.ts +1 -1
  73. package/dist/testing/stepper.js +3 -3
  74. package/dist/{types-D-dVKe4_.d.ts → types-CKhffqyb.d.ts} +1 -1
  75. package/dist/types.d.ts +1 -1
  76. package/package.json +2 -2
  77. package/dist/chunk-VDVUF25G.js.map +0 -1
  78. package/dist/chunk-VSKDQVCG.js.map +0 -1
  79. package/dist/chunk-W4IAXDO4.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/runtime/adapter.ts"],"names":["blueprintKey"],"mappings":"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","file":"chunk-U7DKCIWT.js","sourcesContent":["import { analyzeBlueprint } from '../analysis'\nimport { TrackedAsyncContext } from '../context'\nimport { ConsoleLogger } from '../logger'\nimport { JsonSerializer } from '../serializer'\nimport type {\n\tIAsyncContext,\n\tIEventBus,\n\tILogger,\n\tISerializer,\n\tNodeResult,\n\tRuntimeOptions,\n\tWorkflowBlueprint,\n\tWorkflowResult,\n} from '../types'\nimport { FlowRuntime } from './runtime'\nimport { WorkflowState } from './state'\n\n/**\n * Defines the contract for an atomic, distributed key-value store required by\n * the adapter for coordination tasks like fan-in joins and locking.\n */\nexport interface ICoordinationStore {\n\t/** Atomically increments a key and returns the new value. Ideal for 'all' joins. */\n\tincrement: (key: string, ttlSeconds: number) => Promise<number>\n\t/** Sets a key only if it does not already exist. Ideal for 'any' joins (locking). */\n\tsetIfNotExist: (key: string, value: string, ttlSeconds: number) => Promise<boolean>\n\t/** Extends the TTL of an existing key. Used for heartbeat mechanism in long-running jobs. */\n\textendTTL: (key: string, ttlSeconds: number) => Promise<boolean>\n\t/** Deletes a key. Used for cleanup. */\n\tdelete: (key: string) => Promise<void>\n\t/** Gets the value of a key. */\n\tget: (key: string) => Promise<string | undefined>\n}\n\n/** Configuration options for constructing a BaseDistributedAdapter. */\nexport interface AdapterOptions {\n\truntimeOptions: RuntimeOptions<any>\n\tcoordinationStore: ICoordinationStore\n\teventBus?: IEventBus\n}\n\n/** The data payload expected for a job in the queue. */\nexport interface JobPayload {\n\trunId: string\n\tblueprintId: string\n\tnodeId: string\n}\n\n/**\n * The base class for all distributed adapters. It handles the technology-agnostic\n * orchestration logic and leaves queue-specific implementation to subclasses.\n */\nexport abstract class BaseDistributedAdapter {\n\tprotected readonly runtime: FlowRuntime<any, any>\n\tprotected readonly store: ICoordinationStore\n\tprotected readonly serializer: ISerializer\n\tprotected readonly logger: ILogger\n\tprotected readonly eventBus?: IEventBus\n\n\tconstructor(options: AdapterOptions) {\n\t\tconst runtimeOptions = {\n\t\t\t...options.runtimeOptions,\n\t\t\tdependencies: {\n\t\t\t\t...options.runtimeOptions.dependencies,\n\t\t\t\tadapter: this,\n\t\t\t} as any,\n\t\t}\n\t\tthis.runtime = new FlowRuntime(runtimeOptions)\n\t\tthis.store = options.coordinationStore\n\t\tthis.serializer = options.runtimeOptions.serializer || new JsonSerializer()\n\t\tthis.logger = options.runtimeOptions.logger || new ConsoleLogger()\n\t\tthis.eventBus = options.eventBus\n\t\tthis.logger.info('[Adapter] BaseDistributedAdapter initialized.')\n\t}\n\n\t/**\n\t * Starts the worker, which begins listening for and processing jobs from the queue.\n\t */\n\tpublic start(): void {\n\t\tthis.logger.info('[Adapter] Starting worker...')\n\t\tthis.processJobs(this.handleJob.bind(this))\n\t}\n\n\t/**\n\t * Creates a technology-specific distributed context for a given workflow run.\n\t * @param runId The unique ID for the workflow execution.\n\t */\n\tprotected abstract createContext(runId: string): IAsyncContext<Record<string, any>>\n\t/**\n\t * Sets up the listener for the message queue. The implementation should call the\n\t * provided `handler` function for each new job received.\n\t * @param handler The core logic to execute for each job.\n\t */\n\tprotected abstract processJobs(handler: (job: JobPayload) => Promise<void>): void\n\n\t/**\n\t * Enqueues a new job onto the message queue.\n\t * @param job The payload for the job to be enqueued.\n\t */\n\tprotected abstract enqueueJob(job: JobPayload): Promise<void>\n\n\t/**\n\t * Publishes the final result of a completed or failed workflow run.\n\t * @param runId The unique ID of the workflow run.\n\t * @param result The final status and payload of the workflow.\n\t */\n\tprotected abstract publishFinalResult(\n\t\trunId: string,\n\t\tresult: {\n\t\t\tstatus: 'completed' | 'failed'\n\t\t\tpayload?: WorkflowResult\n\t\t\treason?: string\n\t\t},\n\t): Promise<void>\n\n\t/**\n\t * Registers a webhook endpoint for a specific node in a workflow run.\n\t * @param runId The unique ID of the workflow run.\n\t * @param nodeId The ID of the node that will wait for the webhook.\n\t * @returns The URL and event name for the webhook.\n\t */\n\tpublic abstract registerWebhookEndpoint(runId: string, nodeId: string): Promise<{ url: string; event: string }>\n\n\t/**\n\t * Hook called at the start of job processing. Subclasses can override this\n\t * to perform additional setup (e.g., timestamp tracking for reconciliation).\n\t */\n\tprotected async onJobStart(_runId: string, _blueprintId: string, _nodeId: string): Promise<void> {\n\t\t// default implementation does nothing\n\t}\n\n\t/**\n\t * The main handler for processing a single job from the queue.\n\t */\n\tprotected async handleJob(job: JobPayload): Promise<void> {\n\t\tconst { runId, blueprintId, nodeId } = job\n\t\tconst startTime = Date.now()\n\n\t\tawait this.onJobStart(runId, blueprintId, nodeId)\n\n\t\tconst blueprint = this.runtime.options.blueprints?.[blueprintId]\n\t\tif (!blueprint) {\n\t\t\tconst reason = `Blueprint with ID '${blueprintId}' not found in the worker's runtime registry.`\n\t\t\tthis.logger.error(`[Adapter] FATAL: ${reason}`)\n\t\t\tawait this.publishFinalResult(runId, { status: 'failed', reason })\n\t\t\treturn\n\t\t}\n\n\t\tconst context = this.createContext(runId)\n\n\t\tconst storedVersion = await context.get('blueprintVersion' as any)\n\t\tconst currentVersion = blueprint.metadata?.version || null\n\t\tif (storedVersion !== currentVersion) {\n\t\t\tconst reason = `Blueprint version mismatch: stored version '${storedVersion}', current version '${currentVersion}'. Rejecting job to prevent state corruption.`\n\t\t\tthis.logger.warn(`[Adapter] Version mismatch for run ${runId}, node ${nodeId}: ${reason}`)\n\t\t\treturn\n\t\t}\n\n\t\t// persist the blueprintId and version for the reconcile method to find later\n\t\tconst hasBlueprintId = await context.has('blueprintId' as any)\n\t\tif (!hasBlueprintId) {\n\t\t\tawait context.set('blueprintId' as any, blueprintId)\n\t\t\tawait context.set('blueprintVersion' as any, blueprint.metadata?.version || null)\n\t\t\t// also store in coordination store as fallback\n\t\t\tconst blueprintKey = `flowcraft:blueprint:${runId}`\n\t\t\tawait this.store.setIfNotExist(blueprintKey, blueprintId, 3600)\n\t\t}\n\n\t\t// heartbeat to extend TTLs of coordination keys for long-running jobs\n\t\tconst joinLockKey = `flowcraft:joinlock:${runId}:${nodeId}`\n\t\tconst fanInKey = `flowcraft:fanin:${runId}:${nodeId}`\n\t\tconst blueprintKey = `flowcraft:blueprint:${runId}`\n\t\tconst heartbeatInterval = setInterval(async () => {\n\t\t\tawait this.store.extendTTL(joinLockKey, 3600)\n\t\t\tawait this.store.extendTTL(fanInKey, 3600)\n\t\t\tawait this.store.extendTTL(blueprintKey, 3600)\n\t\t\tthis.logger.debug(`[Adapter] Extended TTLs for run ${runId}, node ${nodeId}`)\n\t\t}, 1800000) // 30 minutes\n\n\t\ttry {\n\t\t\tconst contextData = await context.toJSON()\n\t\t\tconst state = new WorkflowState(contextData, context)\n\n\t\t\tconst result: NodeResult<any, any> = await this.runtime.executeNode(blueprint, nodeId, state)\n\t\t\tawait context.set(`_outputs.${nodeId}` as any, result.output)\n\n\t\t\tconst stateContext = state.getContext()\n\t\t\tif (stateContext instanceof TrackedAsyncContext) {\n\t\t\t\tconst deltas = stateContext.getDeltas()\n\t\t\t\tif (deltas.length > 0) {\n\t\t\t\t\tawait stateContext.patch(deltas)\n\t\t\t\t\tstateContext.clearDeltas()\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst analysis = analyzeBlueprint(blueprint)\n\t\t\tconst isTerminalNode = analysis.terminalNodeIds.includes(nodeId)\n\n\t\t\tif (isTerminalNode) {\n\t\t\t\tconst allContextKeys = Object.keys(await context.toJSON())\n\t\t\t\tconst completedNodes = new Set<string>()\n\t\t\t\tfor (const key of allContextKeys) {\n\t\t\t\t\tif (key.startsWith('_outputs.')) {\n\t\t\t\t\t\tcompletedNodes.add(key.substring('_outputs.'.length))\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tconst allTerminalNodesCompleted = analysis.terminalNodeIds.every((terminalId) => completedNodes.has(terminalId))\n\n\t\t\t\tif (allTerminalNodesCompleted) {\n\t\t\t\t\tthis.logger.info(`[Adapter] All terminal nodes completed for Run ID: ${runId}. Declaring workflow complete.`)\n\t\t\t\t\tconst finalContext = await context.toJSON()\n\t\t\t\t\tconst finalResult: WorkflowResult = {\n\t\t\t\t\t\tcontext: finalContext,\n\t\t\t\t\t\tserializedContext: this.serializer.serialize(finalContext),\n\t\t\t\t\t\tstatus: 'completed',\n\t\t\t\t\t}\n\t\t\t\t\tawait this.publishFinalResult(runId, {\n\t\t\t\t\t\tstatus: 'completed',\n\t\t\t\t\t\tpayload: finalResult,\n\t\t\t\t\t})\n\t\t\t\t\tclearInterval(heartbeatInterval)\n\t\t\t\t\treturn\n\t\t\t\t} else {\n\t\t\t\t\tthis.logger.info(\n\t\t\t\t\t\t`[Adapter] Terminal node '${nodeId}' completed for Run ID '${runId}', but other terminal nodes are still running.`,\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst nextNodes = await this.runtime.determineNextNodes(blueprint, nodeId, result, context, runId)\n\n\t\t\t// stop if a branch terminates but it wasn't a terminal node\n\t\t\tif (nextNodes.length === 0 && !isTerminalNode) {\n\t\t\t\tthis.logger.info(\n\t\t\t\t\t`[Adapter] Non-terminal node '${nodeId}' reached end of branch for Run ID '${runId}'. This branch will now terminate.`,\n\t\t\t\t)\n\t\t\t\tclearInterval(heartbeatInterval)\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tfor (const { node: nextNodeDef, edge } of nextNodes) {\n\t\t\t\tawait this.runtime.applyEdgeTransform(edge, result, nextNodeDef, context, undefined, runId)\n\t\t\t\tconst isReady = await this.isReadyForFanIn(runId, blueprint, nextNodeDef.id)\n\t\t\t\tif (isReady) {\n\t\t\t\t\tthis.logger.info(`[Adapter] Node '${nextNodeDef.id}' is ready. Enqueuing job.`)\n\t\t\t\t\tawait this.enqueueJob({ runId, blueprintId, nodeId: nextNodeDef.id })\n\t\t\t\t\tif (this.eventBus) {\n\t\t\t\t\t\tawait this.eventBus.emit({\n\t\t\t\t\t\t\ttype: 'job:enqueued',\n\t\t\t\t\t\t\tpayload: { runId, blueprintId, nodeId: nextNodeDef.id },\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthis.logger.info(`[Adapter] Node '${nextNodeDef.id}' is waiting for other predecessors to complete.`)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst duration = Date.now() - startTime\n\t\t\tif (this.eventBus) {\n\t\t\t\tawait this.eventBus.emit({\n\t\t\t\t\ttype: 'job:processed',\n\t\t\t\t\tpayload: { runId, blueprintId, nodeId, duration, success: true },\n\t\t\t\t})\n\t\t\t}\n\t\t} catch (error: any) {\n\t\t\tconst reason = error.message || 'Unknown execution error'\n\t\t\tthis.logger.error(`[Adapter] FATAL: Job for node '${nodeId}' failed for Run ID '${runId}': ${reason}`)\n\t\t\tawait this.publishFinalResult(runId, { status: 'failed', reason })\n\t\t\tawait this.writePoisonPillForSuccessors(runId, blueprint, nodeId)\n\n\t\t\tif (this.eventBus) {\n\t\t\t\tawait this.eventBus.emit({\n\t\t\t\t\ttype: 'job:failed',\n\t\t\t\t\tpayload: { runId, blueprintId, nodeId, error },\n\t\t\t\t})\n\t\t\t}\n\t\t} finally {\n\t\t\tclearInterval(heartbeatInterval)\n\t\t}\n\t}\n\n\t/**\n\t * Encapsulates the fan-in join logic using the coordination store.\n\t */\n\tprotected async isReadyForFanIn(runId: string, blueprint: WorkflowBlueprint, targetNodeId: string): Promise<boolean> {\n\t\tconst targetNode = blueprint.nodes.find((n) => n.id === targetNodeId)\n\t\tif (!targetNode) {\n\t\t\tthrow new Error(`Node '${targetNodeId}' not found in blueprint`)\n\t\t}\n\t\tconst joinStrategy = targetNode.config?.joinStrategy || 'all'\n\t\tconst predecessors = blueprint.edges.filter((e) => e.target === targetNodeId)\n\n\t\tif (predecessors.length <= 1) {\n\t\t\treturn true\n\t\t}\n\n\t\tconst poisonKey = `flowcraft:fanin:poison:${runId}:${targetNodeId}`\n\t\tconst isPoisoned = await this.store.get(poisonKey)\n\t\tif (isPoisoned) {\n\t\t\tthis.logger.info(`[Adapter] Node '${targetNodeId}' is poisoned due to failed predecessor. Failing immediately.`)\n\t\t\tthrow new Error(`Node '${targetNodeId}' failed due to poisoned predecessor in run '${runId}'`)\n\t\t}\n\n\t\tif (joinStrategy === 'any') {\n\t\t\tconst lockKey = `flowcraft:joinlock:${runId}:${targetNodeId}`\n\t\t\tconst isLocked = await this.store.setIfNotExist(lockKey, 'locked', 3600)\n\t\t\tif (!isLocked) {\n\t\t\t\t// check if cancelled\n\t\t\t\tconst cancelKey = `flowcraft:fanin:cancel:${runId}:${targetNodeId}`\n\t\t\t\tconst isCancelled = !(await this.store.setIfNotExist(cancelKey, 'cancelled', 3600))\n\t\t\t\tif (isCancelled) {\n\t\t\t\t\tthis.logger.info(\n\t\t\t\t\t\t`[Adapter] Node '${targetNodeId}' is cancelled due to failed predecessor. Failing immediately.`,\n\t\t\t\t\t)\n\t\t\t\t\tthrow new Error(`Node '${targetNodeId}' failed due to cancelled predecessor in run '${runId}'`)\n\t\t\t\t}\n\t\t\t\treturn false // already locked by another predecessor\n\t\t\t}\n\t\t\treturn true\n\t\t} else {\n\t\t\tconst fanInKey = `flowcraft:fanin:${runId}:${targetNodeId}`\n\t\t\tconst readyCount = await this.store.increment(fanInKey, 3600)\n\t\t\tif (readyCount >= predecessors.length) {\n\t\t\t\tawait this.store.delete(fanInKey)\n\t\t\t\treturn true\n\t\t\t}\n\t\t\treturn false\n\t\t}\n\t}\n\n\t/**\n\t * Reconciles the state of a workflow run. It inspects the persisted\n\t * context to find completed nodes, determines the next set of executable\n\t * nodes (the frontier), and enqueues jobs for them if they aren't\n\t * already running. This is the core of the resume functionality.\n\t *\n\t * @param runId The unique ID of the workflow execution to reconcile.\n\t * @returns The set of node IDs that were enqueued for execution.\n\t */\n\tpublic async reconcile(runId: string): Promise<Set<string>> {\n\t\tconst context = this.createContext(runId)\n\t\tlet blueprintId = (await context.get('blueprintId' as any)) as string | undefined\n\n\t\tif (!blueprintId) {\n\t\t\t// fallback to coordination store\n\t\t\tconst blueprintKey = `flowcraft:blueprint:${runId}`\n\t\t\tblueprintId = await this.store.get(blueprintKey)\n\t\t\tif (blueprintId) {\n\t\t\t\t// set it back in context for future use\n\t\t\t\tawait context.set('blueprintId' as any, blueprintId)\n\t\t\t} else {\n\t\t\t\tthrow new Error(`Cannot reconcile runId '${runId}': blueprintId not found in context or coordination store.`)\n\t\t\t}\n\t\t}\n\t\tconst blueprint = this.runtime.options.blueprints?.[blueprintId]\n\t\tif (blueprint && !(await context.has('blueprintVersion' as any))) {\n\t\t\tawait context.set('blueprintVersion' as any, blueprint.metadata?.version || null)\n\t\t}\n\t\tif (!blueprint) {\n\t\t\tthrow new Error(`Cannot reconcile runId '${runId}': Blueprint with ID '${blueprintId}' not found.`)\n\t\t}\n\n\t\tconst state = await context.toJSON()\n\t\tconst completedNodes = new Set<string>()\n\t\tfor (const key of Object.keys(state)) {\n\t\t\tif (key.startsWith('_outputs.')) {\n\t\t\t\tcompletedNodes.add(key.substring('_outputs.'.length))\n\t\t\t}\n\t\t}\n\n\t\tconst frontier = this.calculateResumedFrontier(blueprint, completedNodes)\n\n\t\tconst enqueuedNodes = new Set<string>()\n\t\tfor (const nodeId of frontier) {\n\t\t\tconst nodeDef = blueprint.nodes.find((n) => n.id === nodeId)\n\t\t\tconst joinStrategy = nodeDef?.config?.joinStrategy || 'all'\n\n\t\t\tconst poisonKey = `flowcraft:fanin:poison:${runId}:${nodeId}`\n\t\t\tconst isPoisoned = await this.store.get(poisonKey)\n\t\t\tif (isPoisoned) {\n\t\t\t\tthis.logger.info(`[Adapter] Reconciling: Node '${nodeId}' is poisoned, skipping.`, { runId })\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tlet shouldEnqueue = false\n\n\t\t\tif (joinStrategy === 'any') {\n\t\t\t\t// acquire the permanent join lock\n\t\t\t\tconst lockKey = `flowcraft:joinlock:${runId}:${nodeId}`\n\t\t\t\tif (await this.store.setIfNotExist(lockKey, 'locked-by-reconcile', 3600)) {\n\t\t\t\t\tshouldEnqueue = true\n\t\t\t\t} else {\n\t\t\t\t\tthis.logger.info(`[Adapter] Reconciling: Node '${nodeId}' is an 'any' join and is already locked.`, { runId })\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// 'all' joins and single-predecessor nodes use a temporary lock\n\t\t\t\tconst lockKey = `flowcraft:nodelock:${runId}:${nodeId}`\n\t\t\t\tif (await this.store.setIfNotExist(lockKey, 'locked', 120)) {\n\t\t\t\t\tshouldEnqueue = true\n\t\t\t\t} else {\n\t\t\t\t\tthis.logger.info(`[Adapter] Reconciling: Node '${nodeId}' is already locked.`, { runId })\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (shouldEnqueue) {\n\t\t\t\tthis.logger.info(`[Adapter] Reconciling: Enqueuing ready job for node '${nodeId}'`, { runId })\n\t\t\t\tawait this.enqueueJob({ runId, blueprintId: blueprint.id, nodeId })\n\t\t\t\tenqueuedNodes.add(nodeId)\n\t\t\t}\n\t\t}\n\n\t\treturn enqueuedNodes\n\t}\n\n\tprivate calculateResumedFrontier(blueprint: WorkflowBlueprint, completedNodes: Set<string>): Set<string> {\n\t\tconst newFrontier = new Set<string>()\n\t\tconst allPredecessors = new Map<string, Set<string>>()\n\t\t// (logic extracted from the GraphTraverser)\n\t\tfor (const node of blueprint.nodes) {\n\t\t\tallPredecessors.set(node.id, new Set())\n\t\t}\n\t\tfor (const edge of blueprint.edges) {\n\t\t\tallPredecessors.get(edge.target)?.add(edge.source)\n\t\t}\n\n\t\tfor (const node of blueprint.nodes) {\n\t\t\tif (completedNodes.has(node.id)) {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tconst predecessors = allPredecessors.get(node.id) ?? new Set()\n\t\t\tif (predecessors.size === 0 && !completedNodes.has(node.id)) {\n\t\t\t\tnewFrontier.add(node.id)\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tconst joinStrategy = node.config?.joinStrategy || 'all'\n\t\t\tconst completedPredecessors = [...predecessors].filter((p) => completedNodes.has(p))\n\n\t\t\tconst isReady =\n\t\t\t\tjoinStrategy === 'any' ? completedPredecessors.length > 0 : completedPredecessors.length === predecessors.size\n\n\t\t\tif (isReady) {\n\t\t\t\tnewFrontier.add(node.id)\n\t\t\t}\n\t\t}\n\t\treturn newFrontier\n\t}\n\n\t/**\n\t * Writes a poison pill for 'all' join successors and a cancellation pill for 'any' join successors of a failed node to prevent stalling or ambiguous states.\n\t */\n\tprivate async writePoisonPillForSuccessors(\n\t\trunId: string,\n\t\tblueprint: WorkflowBlueprint,\n\t\tfailedNodeId: string,\n\t): Promise<void> {\n\t\tconst successors = blueprint.edges\n\t\t\t.filter((edge) => edge.source === failedNodeId)\n\t\t\t.map((edge) => edge.target)\n\t\t\t.map((targetId) => blueprint.nodes.find((node) => node.id === targetId))\n\t\t\t.filter((node) => node)\n\n\t\tfor (const successor of successors) {\n\t\t\tif (successor) {\n\t\t\t\tconst joinStrategy = successor.config?.joinStrategy || 'all'\n\t\t\t\tif (joinStrategy === 'all') {\n\t\t\t\t\tconst poisonKey = `flowcraft:fanin:poison:${runId}:${successor.id}`\n\t\t\t\t\tawait this.store.setIfNotExist(poisonKey, 'poisoned', 3600)\n\t\t\t\t\tthis.logger.info(\n\t\t\t\t\t\t`[Adapter] Wrote poison pill for 'all' join node '${successor.id}' due to failed predecessor '${failedNodeId}'`,\n\t\t\t\t\t)\n\t\t\t\t} else if (joinStrategy === 'any') {\n\t\t\t\t\tconst cancelKey = `flowcraft:fanin:cancel:${runId}:${successor.id}`\n\t\t\t\t\tawait this.store.setIfNotExist(cancelKey, 'cancelled', 3600)\n\t\t\t\t\tthis.logger.info(\n\t\t\t\t\t\t`[Adapter] Wrote cancellation pill for 'any' join node '${successor.id}' due to failed predecessor '${failedNodeId}'`,\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import { InMemoryEventLogger } from './chunk-7EBKWATZ.js';
2
- import { FlowRuntime } from './chunk-VDVUF25G.js';
2
+ import { FlowRuntime } from './chunk-BEHVGFIM.js';
3
3
 
4
4
  // src/testing/run-with-trace.ts
5
5
  async function runWithTrace(runtime, blueprint, initialState = {}, options = {}) {
@@ -21,5 +21,5 @@ async function runWithTrace(runtime, blueprint, initialState = {}, options = {})
21
21
  }
22
22
 
23
23
  export { runWithTrace };
24
- //# sourceMappingURL=chunk-RF5EYEO6.js.map
25
- //# sourceMappingURL=chunk-RF5EYEO6.js.map
24
+ //# sourceMappingURL=chunk-XZZWIJ4G.js.map
25
+ //# sourceMappingURL=chunk-XZZWIJ4G.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/testing/run-with-trace.ts"],"names":[],"mappings":";;;;AA+BA,eAAsB,YAAA,CACrB,SACA,SAAA,EACA,YAAA,GAA2C,EAAC,EAC5C,OAAA,GAII,EAAC,EACJ;AACD,EAAA,MAAM,WAAA,GAAc,IAAI,mBAAA,EAAoB;AAC5C,EAAA,MAAM,WAAA,GAAc,IAAI,WAAA,CAAY;AAAA,IACnC,GAAG,OAAA,CAAQ,OAAA;AAAA,IACX,QAAA,EAAU;AAAA,GACV,CAAA;AAED,EAAA,IAAI;AACH,IAAA,MAAM,SAAS,MAAM,WAAA,CAAY,GAAA,CAAI,SAAA,EAAW,cAAc,OAAO,CAAA;AACrE,IAAA,IAAI,OAAA,CAAQ,IAAI,KAAA,EAAO;AACtB,MAAA,WAAA,CAAY,QAAA,CAAS,CAAA,kBAAA,EAAqB,SAAA,CAAU,EAAE,CAAA,CAAE,CAAA;AAAA,IACzD;AACA,IAAA,OAAO,MAAA;AAAA,EACR,SAAS,KAAA,EAAO;AACf,IAAA,WAAA,CAAY,QAAA,CAAS,CAAA,oBAAA,EAAuB,SAAA,CAAU,EAAE,CAAA,CAAE,CAAA;AAC1D,IAAA,MAAM,KAAA;AAAA,EACP;AACD","file":"chunk-RF5EYEO6.js","sourcesContent":["import { FlowRuntime } from '../runtime'\nimport type { WorkflowBlueprint } from '../types'\nimport { InMemoryEventLogger } from './event-logger'\n\n/**\n * A test helper that executes a workflow and automatically prints a detailed\n * execution trace to the console if the workflow fails.\n *\n * @example\n * // In your test file (e.g., my-workflow.test.ts)\n * it('should process data correctly', async () => {\n * const flow = createFlow('my-flow')\n * .node('a', async () => ({ output: 1 }))\n * .node('b', async ({ input }) => ({ output: input + 1 })) // Bug: returns { output: 3 }\n * .edge('a', 'b')\n *\n * const runtime = new FlowRuntime({})\n *\n * // If this test fails, a full, human-readable trace of the execution\n * // (inputs, outputs, context changes) is printed to the console.\n * const result = await runWithTrace(runtime, flow.toBlueprint())\n *\n * expect(result.context.b).toBe(2)\n * })\n *\n * @param runtime The original FlowRuntime instance (its options will be used).\n * @param blueprint The WorkflowBlueprint to execute.\n * @param initialState The initial state for the workflow run.\n * @param options Additional options for the run.\n * @returns The WorkflowResult if successful.\n */\nexport async function runWithTrace<TContext extends Record<string, any>>(\n\truntime: FlowRuntime<TContext, any>,\n\tblueprint: WorkflowBlueprint,\n\tinitialState: Partial<TContext> | string = {},\n\toptions: {\n\t\tfunctionRegistry?: Map<string, any>\n\t\tstrict?: boolean\n\t\tsignal?: AbortSignal\n\t} = {},\n) {\n\tconst eventLogger = new InMemoryEventLogger()\n\tconst testRuntime = new FlowRuntime({\n\t\t...runtime.options,\n\t\teventBus: eventLogger,\n\t})\n\n\ttry {\n\t\tconst result = await testRuntime.run(blueprint, initialState, options)\n\t\tif (process.env.DEBUG) {\n\t\t\teventLogger.printLog(`Successful Trace: ${blueprint.id}`)\n\t\t}\n\t\treturn result\n\t} catch (error) {\n\t\teventLogger.printLog(`Failing Test Trace: ${blueprint.id}`)\n\t\tthrow error\n\t}\n}\n"]}
1
+ {"version":3,"sources":["../src/testing/run-with-trace.ts"],"names":[],"mappings":";;;;AA+BA,eAAsB,YAAA,CACrB,SACA,SAAA,EACA,YAAA,GAA2C,EAAC,EAC5C,OAAA,GAII,EAAC,EACJ;AACD,EAAA,MAAM,WAAA,GAAc,IAAI,mBAAA,EAAoB;AAC5C,EAAA,MAAM,WAAA,GAAc,IAAI,WAAA,CAAY;AAAA,IACnC,GAAG,OAAA,CAAQ,OAAA;AAAA,IACX,QAAA,EAAU;AAAA,GACV,CAAA;AAED,EAAA,IAAI;AACH,IAAA,MAAM,SAAS,MAAM,WAAA,CAAY,GAAA,CAAI,SAAA,EAAW,cAAc,OAAO,CAAA;AACrE,IAAA,IAAI,OAAA,CAAQ,IAAI,KAAA,EAAO;AACtB,MAAA,WAAA,CAAY,QAAA,CAAS,CAAA,kBAAA,EAAqB,SAAA,CAAU,EAAE,CAAA,CAAE,CAAA;AAAA,IACzD;AACA,IAAA,OAAO,MAAA;AAAA,EACR,SAAS,KAAA,EAAO;AACf,IAAA,WAAA,CAAY,QAAA,CAAS,CAAA,oBAAA,EAAuB,SAAA,CAAU,EAAE,CAAA,CAAE,CAAA;AAC1D,IAAA,MAAM,KAAA;AAAA,EACP;AACD","file":"chunk-XZZWIJ4G.js","sourcesContent":["import { FlowRuntime } from '../runtime'\nimport type { WorkflowBlueprint } from '../types'\nimport { InMemoryEventLogger } from './event-logger'\n\n/**\n * A test helper that executes a workflow and automatically prints a detailed\n * execution trace to the console if the workflow fails.\n *\n * @example\n * // In your test file (e.g., my-workflow.test.ts)\n * it('should process data correctly', async () => {\n * const flow = createFlow('my-flow')\n * .node('a', async () => ({ output: 1 }))\n * .node('b', async ({ input }) => ({ output: input + 1 })) // Bug: returns { output: 3 }\n * .edge('a', 'b')\n *\n * const runtime = new FlowRuntime({})\n *\n * // If this test fails, a full, human-readable trace of the execution\n * // (inputs, outputs, context changes) is printed to the console.\n * const result = await runWithTrace(runtime, flow.toBlueprint())\n *\n * expect(result.context.b).toBe(2)\n * })\n *\n * @param runtime The original FlowRuntime instance (its options will be used).\n * @param blueprint The WorkflowBlueprint to execute.\n * @param initialState The initial state for the workflow run.\n * @param options Additional options for the run.\n * @returns The WorkflowResult if successful.\n */\nexport async function runWithTrace<TContext extends Record<string, any>>(\n\truntime: FlowRuntime<TContext, any>,\n\tblueprint: WorkflowBlueprint,\n\tinitialState: Partial<TContext> | string = {},\n\toptions: {\n\t\tfunctionRegistry?: Map<string, any>\n\t\tstrict?: boolean\n\t\tsignal?: AbortSignal\n\t} = {},\n) {\n\tconst eventLogger = new InMemoryEventLogger()\n\tconst testRuntime = new FlowRuntime({\n\t\t...runtime.options,\n\t\teventBus: eventLogger,\n\t})\n\n\ttry {\n\t\tconst result = await testRuntime.run(blueprint, initialState, options)\n\t\tif (process.env.DEBUG) {\n\t\t\teventLogger.printLog(`Successful Trace: ${blueprint.id}`)\n\t\t}\n\t\treturn result\n\t} catch (error) {\n\t\teventLogger.printLog(`Failing Test Trace: ${blueprint.id}`)\n\t\tthrow error\n\t}\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import { DIContainer } from './container.js';
2
- import { v as RuntimeDependencies, y as ILogger, D as ISerializer, x as IEvaluator, A as IEventBus, M as Middleware, o as NodeFunction, p as NodeClass, h as WorkflowBlueprint } from './types-D-dVKe4_.js';
2
+ import { v as RuntimeDependencies, y as ILogger, D as ISerializer, x as IEvaluator, A as IEventBus, M as Middleware, o as NodeFunction, p as NodeClass, h as WorkflowBlueprint } from './types-CKhffqyb.js';
3
3
  import './errors.js';
4
4
 
5
5
  interface ContainerOptions<TDependencies extends RuntimeDependencies = RuntimeDependencies> {
@@ -1,8 +1,8 @@
1
- export { createDefaultContainer } from './chunk-LU5SLE3P.js';
2
- import './chunk-TTOS7NW3.js';
1
+ export { createDefaultContainer } from './chunk-7M6FHFHP.js';
2
+ import './chunk-DV2CXHOY.js';
3
3
  import './chunk-N63S5NEG.js';
4
- import './chunk-LWN7HOD3.js';
5
- import './chunk-VSKDQVCG.js';
4
+ import './chunk-L3MX5MTA.js';
5
+ import './chunk-L46TQXCV.js';
6
6
  import './chunk-4PELJWF7.js';
7
7
  import './chunk-6RKHCJUU.js';
8
8
  import './chunk-WWGFIYKW.js';
package/dist/context.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { t as ISyncContext, u as IAsyncContext, P as PatchOperation } from './types-D-dVKe4_.js';
1
+ import { t as ISyncContext, u as IAsyncContext, P as PatchOperation } from './types-CKhffqyb.js';
2
2
  import './errors.js';
3
3
  import './container.js';
4
4
 
@@ -1,4 +1,4 @@
1
- import { h as WorkflowBlueprint } from './types-D-dVKe4_.js';
1
+ import { h as WorkflowBlueprint } from './types-CKhffqyb.js';
2
2
  import './errors.js';
3
3
  import './container.js';
4
4
 
@@ -1,4 +1,4 @@
1
- import { x as IEvaluator } from './types-D-dVKe4_.js';
1
+ import { x as IEvaluator } from './types-CKhffqyb.js';
2
2
  import './errors.js';
3
3
  import './container.js';
4
4
 
package/dist/flow.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { o as NodeFunction, p as NodeClass, j as NodeDefinition, k as EdgeDefinition, h as WorkflowBlueprint, U as UIGraph } from './types-D-dVKe4_.js';
1
+ import { o as NodeFunction, p as NodeClass, j as NodeDefinition, k as EdgeDefinition, h as WorkflowBlueprint, U as UIGraph } from './types-CKhffqyb.js';
2
2
  import './errors.js';
3
3
  import './container.js';
4
4
 
package/dist/index.d.ts CHANGED
@@ -9,7 +9,7 @@ export { PropertyEvaluator, UnsafeEvaluator } from './evaluator.js';
9
9
  export { FlowBuilder, createFlow } from './flow.js';
10
10
  export { LinterIssue, LinterIssueCode, LinterResult, lintBlueprint } from './linter.js';
11
11
  export { ConsoleLogger, NullLogger } from './logger.js';
12
- export { B as BaseNode, C as ClassNodeExecutor, s as ContextImplementation, k as EdgeDefinition, e as ExecutionServices, E as ExecutionStrategy, c as FlowRuntime, z as FlowcraftEvent, F as FunctionNodeExecutor, G as GraphTraverser, u as IAsyncContext, x as IEvaluator, A as IEventBus, y as ILogger, I as IOrchestrator, f as IRuntime, D as ISerializer, t as ISyncContext, M as Middleware, p as NodeClass, l as NodeConfig, n as NodeContext, j as NodeDefinition, N as NodeExecutionResult, b as NodeExecutor, a as NodeExecutorConfig, d as NodeExecutorFactory, o as NodeFunction, q as NodeImplementation, r as NodeRegistry, m as NodeResult, P as PatchOperation, R as ReadyNode, v as RuntimeDependencies, w as RuntimeOptions, S as SourceLocation, U as UIGraph, h as WorkflowBlueprint, g as WorkflowBlueprintMetadata, H as WorkflowError, K as WorkflowResult, W as WorkflowState, J as WorkflowStatus, i as isNodeClass } from './types-D-dVKe4_.js';
12
+ export { B as BaseNode, C as ClassNodeExecutor, s as ContextImplementation, k as EdgeDefinition, e as ExecutionServices, E as ExecutionStrategy, c as FlowRuntime, z as FlowcraftEvent, F as FunctionNodeExecutor, G as GraphTraverser, u as IAsyncContext, x as IEvaluator, A as IEventBus, y as ILogger, I as IOrchestrator, f as IRuntime, D as ISerializer, t as ISyncContext, M as Middleware, p as NodeClass, l as NodeConfig, n as NodeContext, j as NodeDefinition, N as NodeExecutionResult, b as NodeExecutor, a as NodeExecutorConfig, d as NodeExecutorFactory, o as NodeFunction, q as NodeImplementation, r as NodeRegistry, m as NodeResult, P as PatchOperation, R as ReadyNode, v as RuntimeDependencies, w as RuntimeOptions, S as SourceLocation, U as UIGraph, h as WorkflowBlueprint, g as WorkflowBlueprintMetadata, H as WorkflowError, K as WorkflowResult, W as WorkflowState, J as WorkflowStatus, i as isNodeClass } from './types-CKhffqyb.js';
13
13
  export { AdapterOptions, BaseDistributedAdapter, ICoordinationStore, JobPayload } from './runtime/adapter.js';
14
14
  export { DefaultOrchestrator } from './runtime/orchestrator.js';
15
15
  export { ReplayOrchestrator } from './runtime/orchestrators/replay.js';
package/dist/index.js CHANGED
@@ -1,30 +1,30 @@
1
- import './chunk-3Y5O5EGB.js';
2
- export { InMemoryEventStore, PersistentEventBusAdapter } from './chunk-ASJYJ3NF.js';
3
1
  import './chunk-HFJXYY4E.js';
4
2
  export { ReplayOrchestrator } from './chunk-UNORA7EM.js';
5
3
  import './chunk-NVLZFLYM.js';
6
- export { BaseDistributedAdapter } from './chunk-W4IAXDO4.js';
7
- export { FlowRuntime } from './chunk-VDVUF25G.js';
4
+ export { BaseDistributedAdapter } from './chunk-U7DKCIWT.js';
5
+ export { FlowRuntime } from './chunk-BEHVGFIM.js';
8
6
  import './chunk-HXSK5P2X.js';
9
7
  import './chunk-DL7KVYZF.js';
10
8
  import './chunk-LM4ACVHL.js';
11
- import './chunk-HNHM3FDK.js';
12
- import './chunk-4TVWI6Y6.js';
13
- import './chunk-IDTYHLDQ.js';
14
- import './chunk-I53JB2KW.js';
15
9
  export { ClassNodeExecutor, FunctionNodeExecutor, NodeExecutor } from './chunk-ONH7PIJZ.js';
16
- export { GraphTraverser } from './chunk-H4JTZYIT.js';
10
+ import './chunk-3Y5O5EGB.js';
11
+ export { InMemoryEventStore, PersistentEventBusAdapter } from './chunk-2TSADFQX.js';
17
12
  import './chunk-BC4G7OM6.js';
18
13
  import './chunk-RM677CNU.js';
14
+ import './chunk-HNHM3FDK.js';
15
+ import './chunk-7EMUOH77.js';
16
+ export { GraphTraverser } from './chunk-H4JTZYIT.js';
17
+ import './chunk-IDTYHLDQ.js';
18
+ import './chunk-I53JB2KW.js';
19
19
  export { lintBlueprint } from './chunk-IKOTX22J.js';
20
20
  export { sanitizeBlueprint } from './chunk-TKSSRS5U.js';
21
21
  import './chunk-55J6XMHW.js';
22
22
  export { analyzeBlueprint, checkForCycles, generateMermaid, generateMermaidForRun } from './chunk-ZLW4QOTS.js';
23
- export { createDefaultContainer } from './chunk-LU5SLE3P.js';
24
- export { DefaultOrchestrator } from './chunk-TTOS7NW3.js';
23
+ export { createDefaultContainer } from './chunk-7M6FHFHP.js';
24
+ export { DefaultOrchestrator } from './chunk-DV2CXHOY.js';
25
25
  export { executeBatch, processResults } from './chunk-N63S5NEG.js';
26
- import './chunk-LWN7HOD3.js';
27
- export { WorkflowState } from './chunk-VSKDQVCG.js';
26
+ import './chunk-L3MX5MTA.js';
27
+ export { WorkflowState } from './chunk-L46TQXCV.js';
28
28
  export { ConsoleLogger, NullLogger } from './chunk-4PELJWF7.js';
29
29
  export { JsonSerializer } from './chunk-6RKHCJUU.js';
30
30
  export { DIContainer, ServiceTokens } from './chunk-WWGFIYKW.js';
package/dist/linter.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { h as WorkflowBlueprint, o as NodeFunction, p as NodeClass } from './types-D-dVKe4_.js';
1
+ import { h as WorkflowBlueprint, o as NodeFunction, p as NodeClass } from './types-CKhffqyb.js';
2
2
  import './errors.js';
3
3
  import './container.js';
4
4
 
package/dist/logger.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { y as ILogger } from './types-D-dVKe4_.js';
1
+ import { y as ILogger } from './types-CKhffqyb.js';
2
2
  import './errors.js';
3
3
  import './container.js';
4
4
 
package/dist/node.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- export { B as BaseNode, i as isNodeClass } from './types-D-dVKe4_.js';
1
+ export { B as BaseNode, i as isNodeClass } from './types-CKhffqyb.js';
2
2
  import './errors.js';
3
3
  import './container.js';
@@ -1,4 +1,4 @@
1
- import { B as BaseNode, n as NodeContext, m as NodeResult } from '../types-D-dVKe4_.js';
1
+ import { B as BaseNode, n as NodeContext, m as NodeResult } from '../types-CKhffqyb.js';
2
2
  import '../errors.js';
3
3
  import '../container.js';
4
4
 
@@ -1,4 +1,4 @@
1
- import { B as BaseNode, n as NodeContext, m as NodeResult } from '../types-D-dVKe4_.js';
1
+ import { B as BaseNode, n as NodeContext, m as NodeResult } from '../types-CKhffqyb.js';
2
2
  import '../errors.js';
3
3
  import '../container.js';
4
4
 
@@ -1,4 +1,4 @@
1
- import { B as BaseNode, n as NodeContext, m as NodeResult } from '../types-D-dVKe4_.js';
1
+ import { B as BaseNode, n as NodeContext, m as NodeResult } from '../types-CKhffqyb.js';
2
2
  import '../errors.js';
3
3
  import '../container.js';
4
4
 
@@ -1,4 +1,4 @@
1
- import { B as BaseNode, n as NodeContext, m as NodeResult } from '../types-D-dVKe4_.js';
1
+ import { B as BaseNode, n as NodeContext, m as NodeResult } from '../types-CKhffqyb.js';
2
2
  import '../errors.js';
3
3
  import '../container.js';
4
4
 
@@ -1,8 +1,8 @@
1
- export { SubflowNode } from '../chunk-4TVWI6Y6.js';
1
+ export { SubflowNode } from '../chunk-7EMUOH77.js';
2
2
  import '../chunk-H4JTZYIT.js';
3
3
  import '../chunk-ZLW4QOTS.js';
4
- import '../chunk-LWN7HOD3.js';
5
- import '../chunk-VSKDQVCG.js';
4
+ import '../chunk-L3MX5MTA.js';
5
+ import '../chunk-L46TQXCV.js';
6
6
  import '../chunk-ZETQCNEF.js';
7
7
  import '../chunk-BCRWXTWX.js';
8
8
  import '../chunk-LNK7LZER.js';
@@ -1,4 +1,4 @@
1
- import { B as BaseNode, n as NodeContext, m as NodeResult } from '../types-D-dVKe4_.js';
1
+ import { B as BaseNode, n as NodeContext, m as NodeResult } from '../types-CKhffqyb.js';
2
2
  import '../errors.js';
3
3
  import '../container.js';
4
4
 
@@ -1,4 +1,4 @@
1
- import { B as BaseNode, n as NodeContext, m as NodeResult } from '../types-D-dVKe4_.js';
1
+ import { B as BaseNode, n as NodeContext, m as NodeResult } from '../types-CKhffqyb.js';
2
2
  import '../errors.js';
3
3
  import '../container.js';
4
4
 
@@ -1,4 +1,4 @@
1
- import { w as RuntimeOptions, A as IEventBus, c as FlowRuntime, D as ISerializer, y as ILogger, u as IAsyncContext, K as WorkflowResult, h as WorkflowBlueprint } from '../types-D-dVKe4_.js';
1
+ import { w as RuntimeOptions, A as IEventBus, c as FlowRuntime, D as ISerializer, y as ILogger, u as IAsyncContext, K as WorkflowResult, h as WorkflowBlueprint } from '../types-CKhffqyb.js';
2
2
  import '../errors.js';
3
3
  import '../container.js';
4
4
 
@@ -1,22 +1,22 @@
1
- export { BaseDistributedAdapter } from '../chunk-W4IAXDO4.js';
2
- import '../chunk-VDVUF25G.js';
1
+ export { BaseDistributedAdapter } from '../chunk-U7DKCIWT.js';
2
+ import '../chunk-BEHVGFIM.js';
3
3
  import '../chunk-HXSK5P2X.js';
4
4
  import '../chunk-DL7KVYZF.js';
5
5
  import '../chunk-LM4ACVHL.js';
6
- import '../chunk-HNHM3FDK.js';
7
- import '../chunk-4TVWI6Y6.js';
8
- import '../chunk-IDTYHLDQ.js';
9
- import '../chunk-I53JB2KW.js';
10
6
  import '../chunk-ONH7PIJZ.js';
11
- import '../chunk-H4JTZYIT.js';
12
7
  import '../chunk-BC4G7OM6.js';
13
8
  import '../chunk-RM677CNU.js';
9
+ import '../chunk-HNHM3FDK.js';
10
+ import '../chunk-7EMUOH77.js';
11
+ import '../chunk-H4JTZYIT.js';
12
+ import '../chunk-IDTYHLDQ.js';
13
+ import '../chunk-I53JB2KW.js';
14
14
  import '../chunk-TKSSRS5U.js';
15
15
  import '../chunk-ZLW4QOTS.js';
16
- import '../chunk-TTOS7NW3.js';
16
+ import '../chunk-DV2CXHOY.js';
17
17
  import '../chunk-N63S5NEG.js';
18
- import '../chunk-LWN7HOD3.js';
19
- import '../chunk-VSKDQVCG.js';
18
+ import '../chunk-L3MX5MTA.js';
19
+ import '../chunk-L46TQXCV.js';
20
20
  import '../chunk-4PELJWF7.js';
21
21
  import '../chunk-6RKHCJUU.js';
22
22
  import '../chunk-WWGFIYKW.js';
@@ -1,3 +1,3 @@
1
- export { L as ExecutionContext } from '../types-D-dVKe4_.js';
1
+ export { L as ExecutionContext } from '../types-CKhffqyb.js';
2
2
  import '../errors.js';
3
3
  import '../container.js';
@@ -1,5 +1,5 @@
1
- export { ExecutionContext } from '../chunk-LWN7HOD3.js';
2
- import '../chunk-VSKDQVCG.js';
1
+ export { ExecutionContext } from '../chunk-L3MX5MTA.js';
2
+ import '../chunk-L46TQXCV.js';
3
3
  import '../chunk-ZETQCNEF.js';
4
4
  import '../chunk-BCRWXTWX.js';
5
5
  //# sourceMappingURL=execution-context.js.map
@@ -1,3 +1,3 @@
1
1
  import '../errors.js';
2
- export { C as ClassNodeExecutor, E as ExecutionStrategy, F as FunctionNodeExecutor, N as NodeExecutionResult, b as NodeExecutor, a as NodeExecutorConfig } from '../types-D-dVKe4_.js';
2
+ export { C as ClassNodeExecutor, E as ExecutionStrategy, F as FunctionNodeExecutor, N as NodeExecutionResult, b as NodeExecutor, a as NodeExecutorConfig } from '../types-CKhffqyb.js';
3
3
  import '../container.js';
@@ -1,5 +1,5 @@
1
1
  export { AdapterOptions, BaseDistributedAdapter, ICoordinationStore, JobPayload } from './adapter.js';
2
- export { C as ClassNodeExecutor, e as ExecutionServices, E as ExecutionStrategy, c as FlowRuntime, F as FunctionNodeExecutor, G as GraphTraverser, I as IOrchestrator, f as IRuntime, N as NodeExecutionResult, b as NodeExecutor, a as NodeExecutorConfig, d as NodeExecutorFactory, R as ReadyNode, W as WorkflowState } from '../types-D-dVKe4_.js';
2
+ export { C as ClassNodeExecutor, e as ExecutionServices, E as ExecutionStrategy, c as FlowRuntime, F as FunctionNodeExecutor, G as GraphTraverser, I as IOrchestrator, f as IRuntime, N as NodeExecutionResult, b as NodeExecutor, a as NodeExecutorConfig, d as NodeExecutorFactory, R as ReadyNode, W as WorkflowState } from '../types-CKhffqyb.js';
3
3
  export { DefaultOrchestrator } from './orchestrator.js';
4
4
  export { ReplayOrchestrator } from './orchestrators/replay.js';
5
5
  export { executeBatch, processResults } from './orchestrators/utils.js';
@@ -1,25 +1,25 @@
1
1
  import '../chunk-HFJXYY4E.js';
2
2
  export { ReplayOrchestrator } from '../chunk-UNORA7EM.js';
3
3
  import '../chunk-NVLZFLYM.js';
4
- export { BaseDistributedAdapter } from '../chunk-W4IAXDO4.js';
5
- export { FlowRuntime } from '../chunk-VDVUF25G.js';
4
+ export { BaseDistributedAdapter } from '../chunk-U7DKCIWT.js';
5
+ export { FlowRuntime } from '../chunk-BEHVGFIM.js';
6
6
  import '../chunk-HXSK5P2X.js';
7
7
  import '../chunk-DL7KVYZF.js';
8
8
  import '../chunk-LM4ACVHL.js';
9
- import '../chunk-HNHM3FDK.js';
10
- import '../chunk-4TVWI6Y6.js';
11
- import '../chunk-IDTYHLDQ.js';
12
- import '../chunk-I53JB2KW.js';
13
9
  export { ClassNodeExecutor, FunctionNodeExecutor, NodeExecutor } from '../chunk-ONH7PIJZ.js';
14
- export { GraphTraverser } from '../chunk-H4JTZYIT.js';
15
10
  import '../chunk-BC4G7OM6.js';
16
11
  import '../chunk-RM677CNU.js';
12
+ import '../chunk-HNHM3FDK.js';
13
+ import '../chunk-7EMUOH77.js';
14
+ export { GraphTraverser } from '../chunk-H4JTZYIT.js';
15
+ import '../chunk-IDTYHLDQ.js';
16
+ import '../chunk-I53JB2KW.js';
17
17
  import '../chunk-TKSSRS5U.js';
18
18
  import '../chunk-ZLW4QOTS.js';
19
- export { DefaultOrchestrator } from '../chunk-TTOS7NW3.js';
19
+ export { DefaultOrchestrator } from '../chunk-DV2CXHOY.js';
20
20
  export { executeBatch, processResults } from '../chunk-N63S5NEG.js';
21
- import '../chunk-LWN7HOD3.js';
22
- export { WorkflowState } from '../chunk-VSKDQVCG.js';
21
+ import '../chunk-L3MX5MTA.js';
22
+ export { WorkflowState } from '../chunk-L46TQXCV.js';
23
23
  import '../chunk-4PELJWF7.js';
24
24
  import '../chunk-6RKHCJUU.js';
25
25
  import '../chunk-WWGFIYKW.js';
@@ -1,4 +1,4 @@
1
- import { A as IEventBus, L as ExecutionContext, b as NodeExecutor } from '../types-D-dVKe4_.js';
1
+ import { A as IEventBus, L as ExecutionContext, b as NodeExecutor } from '../types-CKhffqyb.js';
2
2
  import '../errors.js';
3
3
  import '../container.js';
4
4
 
@@ -1,4 +1,4 @@
1
- import { I as IOrchestrator, L as ExecutionContext, G as GraphTraverser, K as WorkflowResult } from '../types-D-dVKe4_.js';
1
+ import { I as IOrchestrator, L as ExecutionContext, G as GraphTraverser, K as WorkflowResult } from '../types-CKhffqyb.js';
2
2
  import '../errors.js';
3
3
  import '../container.js';
4
4
 
@@ -1,7 +1,7 @@
1
- export { DefaultOrchestrator } from '../chunk-TTOS7NW3.js';
1
+ export { DefaultOrchestrator } from '../chunk-DV2CXHOY.js';
2
2
  import '../chunk-N63S5NEG.js';
3
- import '../chunk-LWN7HOD3.js';
4
- import '../chunk-VSKDQVCG.js';
3
+ import '../chunk-L3MX5MTA.js';
4
+ import '../chunk-L46TQXCV.js';
5
5
  import '../chunk-ZETQCNEF.js';
6
6
  import '../chunk-BCRWXTWX.js';
7
7
  //# sourceMappingURL=orchestrator.js.map
@@ -1,4 +1,4 @@
1
- import { I as IOrchestrator, z as FlowcraftEvent, L as ExecutionContext, G as GraphTraverser, K as WorkflowResult } from '../../types-D-dVKe4_.js';
1
+ import { I as IOrchestrator, z as FlowcraftEvent, L as ExecutionContext, G as GraphTraverser, K as WorkflowResult } from '../../types-CKhffqyb.js';
2
2
  import '../../errors.js';
3
3
  import '../../container.js';
4
4
 
@@ -1,4 +1,4 @@
1
- import { I as IOrchestrator, L as ExecutionContext, G as GraphTraverser, K as WorkflowResult } from '../../types-D-dVKe4_.js';
1
+ import { I as IOrchestrator, L as ExecutionContext, G as GraphTraverser, K as WorkflowResult } from '../../types-CKhffqyb.js';
2
2
  import '../../errors.js';
3
3
  import '../../container.js';
4
4
 
@@ -1,4 +1,4 @@
1
- import { h as WorkflowBlueprint, W as WorkflowState, N as NodeExecutionResult, G as GraphTraverser } from '../../types-D-dVKe4_.js';
1
+ import { h as WorkflowBlueprint, W as WorkflowState, N as NodeExecutionResult, G as GraphTraverser } from '../../types-CKhffqyb.js';
2
2
  import '../../errors.js';
3
3
  import '../../container.js';
4
4
 
@@ -1,3 +1,3 @@
1
1
  import '../container.js';
2
- export { c as FlowRuntime } from '../types-D-dVKe4_.js';
2
+ export { c as FlowRuntime } from '../types-CKhffqyb.js';
3
3
  import '../errors.js';
@@ -1,21 +1,21 @@
1
- export { FlowRuntime } from '../chunk-VDVUF25G.js';
1
+ export { FlowRuntime } from '../chunk-BEHVGFIM.js';
2
2
  import '../chunk-HXSK5P2X.js';
3
3
  import '../chunk-DL7KVYZF.js';
4
4
  import '../chunk-LM4ACVHL.js';
5
- import '../chunk-HNHM3FDK.js';
6
- import '../chunk-4TVWI6Y6.js';
7
- import '../chunk-IDTYHLDQ.js';
8
- import '../chunk-I53JB2KW.js';
9
5
  import '../chunk-ONH7PIJZ.js';
10
- import '../chunk-H4JTZYIT.js';
11
6
  import '../chunk-BC4G7OM6.js';
12
7
  import '../chunk-RM677CNU.js';
8
+ import '../chunk-HNHM3FDK.js';
9
+ import '../chunk-7EMUOH77.js';
10
+ import '../chunk-H4JTZYIT.js';
11
+ import '../chunk-IDTYHLDQ.js';
12
+ import '../chunk-I53JB2KW.js';
13
13
  import '../chunk-TKSSRS5U.js';
14
14
  import '../chunk-ZLW4QOTS.js';
15
- import '../chunk-TTOS7NW3.js';
15
+ import '../chunk-DV2CXHOY.js';
16
16
  import '../chunk-N63S5NEG.js';
17
- import '../chunk-LWN7HOD3.js';
18
- import '../chunk-VSKDQVCG.js';
17
+ import '../chunk-L3MX5MTA.js';
18
+ import '../chunk-L46TQXCV.js';
19
19
  import '../chunk-4PELJWF7.js';
20
20
  import '../chunk-6RKHCJUU.js';
21
21
  import '../chunk-WWGFIYKW.js';
@@ -1,3 +1,3 @@
1
- export { O as AwaitingWorkflow, Q as WorkflowScheduler } from '../types-D-dVKe4_.js';
1
+ export { O as AwaitingWorkflow, Q as WorkflowScheduler } from '../types-CKhffqyb.js';
2
2
  import '../errors.js';
3
3
  import '../container.js';
@@ -1,3 +1,3 @@
1
- export { W as WorkflowState } from '../types-D-dVKe4_.js';
1
+ export { W as WorkflowState } from '../types-CKhffqyb.js';
2
2
  import '../errors.js';
3
3
  import '../container.js';
@@ -1,4 +1,4 @@
1
- export { WorkflowState } from '../chunk-VSKDQVCG.js';
1
+ export { WorkflowState } from '../chunk-L46TQXCV.js';
2
2
  import '../chunk-ZETQCNEF.js';
3
3
  import '../chunk-BCRWXTWX.js';
4
4
  //# sourceMappingURL=state.js.map
@@ -1,3 +1,3 @@
1
- export { G as GraphTraverser, R as ReadyNode } from '../types-D-dVKe4_.js';
1
+ export { G as GraphTraverser, R as ReadyNode } from '../types-CKhffqyb.js';
2
2
  import '../errors.js';
3
3
  import '../container.js';
@@ -1,3 +1,3 @@
1
- export { e as ExecutionServices, I as IOrchestrator, f as IRuntime, N as NodeExecutionResult, b as NodeExecutor, d as NodeExecutorFactory } from '../types-D-dVKe4_.js';
1
+ export { e as ExecutionServices, I as IOrchestrator, f as IRuntime, N as NodeExecutionResult, b as NodeExecutor, d as NodeExecutorFactory } from '../types-CKhffqyb.js';
2
2
  import '../errors.js';
3
3
  import '../container.js';
@@ -1,4 +1,4 @@
1
- import { x as IEvaluator, A as IEventBus, h as WorkflowBlueprint, m as NodeResult, s as ContextImplementation, j as NodeDefinition, k as EdgeDefinition } from '../types-D-dVKe4_.js';
1
+ import { x as IEvaluator, A as IEventBus, h as WorkflowBlueprint, m as NodeResult, s as ContextImplementation, j as NodeDefinition, k as EdgeDefinition } from '../types-CKhffqyb.js';
2
2
  import '../errors.js';
3
3
  import '../container.js';
4
4
 
@@ -1,4 +1,4 @@
1
- import { h as WorkflowBlueprint } from './types-D-dVKe4_.js';
1
+ import { h as WorkflowBlueprint } from './types-CKhffqyb.js';
2
2
  import './errors.js';
3
3
  import './container.js';
4
4
 
@@ -1,4 +1,4 @@
1
- import { D as ISerializer } from './types-D-dVKe4_.js';
1
+ import { D as ISerializer } from './types-CKhffqyb.js';
2
2
  import './errors.js';
3
3
  import './container.js';
4
4
 
@@ -1,4 +1,4 @@
1
- import { A as IEventBus, z as FlowcraftEvent } from '../types-D-dVKe4_.js';
1
+ import { A as IEventBus, z as FlowcraftEvent } from '../types-CKhffqyb.js';
2
2
  import '../errors.js';
3
3
  import '../container.js';
4
4
 
@@ -2,6 +2,6 @@ export { IEventStore, InMemoryEventStore, PersistentEventBusAdapter } from '../a
2
2
  export { InMemoryEventLogger } from './event-logger.js';
3
3
  export { runWithTrace } from './run-with-trace.js';
4
4
  export { IWorkflowStepper, createStepper } from './stepper.js';
5
- import '../types-D-dVKe4_.js';
5
+ import '../types-CKhffqyb.js';
6
6
  import '../errors.js';
7
7
  import '../container.js';