@decaf-ts/integrations 0.3.8 → 0.3.9
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.
- package/dist/integrations.cjs +3 -3
- package/dist/integrations.js +3 -3
- package/lib/cjs/graph/engine/constants.cjs +58 -0
- package/lib/cjs/graph/engine/decorators.cjs +4 -0
- package/lib/cjs/graph/engine/errors/GraphCycleError.cjs +20 -0
- package/lib/cjs/graph/engine/errors/GraphExecutionError.cjs +27 -0
- package/lib/cjs/graph/engine/errors/GraphInputError.cjs +20 -0
- package/lib/cjs/graph/engine/errors/GraphLoopLimitError.cjs +20 -0
- package/lib/cjs/graph/engine/errors/GraphPinningError.cjs +20 -0
- package/lib/cjs/graph/engine/errors/GraphPortError.cjs +20 -0
- package/lib/cjs/graph/engine/errors/GraphStoreError.cjs +20 -0
- package/lib/cjs/graph/engine/errors/GraphTopologyError.cjs +20 -0
- package/lib/cjs/graph/{errors → engine/errors}/index.cjs +2 -2
- package/lib/cjs/graph/engine/events/GraphExecutionEvent.cjs +4 -0
- package/lib/cjs/graph/engine/events/GraphExecutionEventEmitter.cjs +40 -0
- package/lib/cjs/graph/engine/events/GraphExecutionEventFactory.cjs +37 -0
- package/lib/cjs/graph/engine/events/GraphExecutionObserver.cjs +4 -0
- package/lib/cjs/graph/{events → engine/events}/index.cjs +2 -2
- package/lib/cjs/graph/engine/execution/CodeSandboxEvaluator.cjs +4 -0
- package/lib/cjs/graph/engine/execution/GraphExecutionContext.cjs +79 -0
- package/lib/cjs/graph/engine/execution/GraphExecutionEngine.cjs +408 -0
- package/lib/cjs/graph/engine/execution/GraphExecutionFrame.cjs +32 -0
- package/lib/cjs/graph/engine/execution/GraphExecutionResult.cjs +30 -0
- package/lib/cjs/graph/engine/execution/GraphNodeExecutor.cjs +4 -0
- package/lib/cjs/graph/engine/execution/SwitchGraphNodeExecutor.cjs +103 -0
- package/lib/cjs/graph/{execution → engine/execution}/index.cjs +2 -2
- package/lib/cjs/graph/engine/index.cjs +84 -0
- package/lib/cjs/graph/engine/loops/ConditionExpressionEvaluator.cjs +87 -0
- package/lib/cjs/graph/engine/loops/ForeachGraphNodeExecutor.cjs +85 -0
- package/lib/cjs/graph/engine/loops/GraphConditionEvaluator.cjs +85 -0
- package/lib/cjs/graph/engine/loops/GraphLoopExecutionContext.cjs +16 -0
- package/lib/cjs/graph/engine/loops/UntilGraphNodeExecutor.cjs +77 -0
- package/lib/cjs/graph/engine/loops/WhileGraphNodeExecutor.cjs +78 -0
- package/lib/cjs/graph/{loops → engine/loops}/index.cjs +2 -2
- package/lib/cjs/graph/engine/pinning/GraphPinningDependencyResolver.cjs +28 -0
- package/lib/cjs/graph/engine/pinning/GraphPinningMetadata.cjs +20 -0
- package/lib/cjs/graph/engine/pinning/GraphPinningPolicy.cjs +34 -0
- package/lib/cjs/graph/engine/pinning/GraphPinningService.cjs +191 -0
- package/lib/cjs/graph/{pinning → engine/pinning}/index.cjs +2 -2
- package/lib/cjs/graph/engine/planning/GraphExecutionPlan.cjs +4 -0
- package/lib/cjs/graph/engine/planning/GraphExecutionPlanEdge.cjs +4 -0
- package/lib/cjs/graph/engine/planning/GraphExecutionPlanLayer.cjs +4 -0
- package/lib/cjs/graph/engine/planning/GraphExecutionPlanNode.cjs +4 -0
- package/lib/cjs/graph/engine/planning/GraphExecutionPlanner.cjs +197 -0
- package/lib/cjs/graph/engine/planning/GraphRelationResolver.cjs +172 -0
- package/lib/cjs/graph/engine/planning/GraphTopology.cjs +57 -0
- package/lib/cjs/graph/{planning → engine/planning}/index.cjs +2 -2
- package/lib/cjs/graph/engine/registry/GraphNodeExecutorRegistry.cjs +44 -0
- package/lib/cjs/graph/engine/registry/GraphNodeExecutorResolver.cjs +27 -0
- package/lib/cjs/graph/{registry → engine/registry}/index.cjs +2 -2
- package/lib/cjs/graph/engine/snapshots/GraphExecutionSnapshotMapper.cjs +53 -0
- package/lib/cjs/graph/{snapshots → engine/snapshots}/index.cjs +2 -2
- package/lib/cjs/graph/engine/store/GraphCachedValue.cjs +4 -0
- package/lib/cjs/graph/engine/store/GraphValueKey.cjs +4 -0
- package/lib/cjs/graph/engine/store/GraphValueStore.cjs +76 -0
- package/lib/cjs/graph/engine/store/GraphValueStoreAdapter.cjs +4 -0
- package/lib/cjs/graph/engine/store/InMemoryGraphValueStoreAdapter.cjs +69 -0
- package/lib/cjs/graph/{store → engine/store}/index.cjs +2 -2
- package/lib/cjs/graph/engine/types.cjs +4 -0
- package/lib/cjs/graph/engine/validation/GraphDefinitionValidator.cjs +33 -0
- package/lib/cjs/graph/engine/validation/GraphPortSchemaResolver.cjs +58 -0
- package/lib/cjs/graph/engine/validation/GraphValueValidator.cjs +52 -0
- package/lib/cjs/graph/{validation → engine/validation}/index.cjs +2 -2
- package/lib/cjs/graph/index.cjs +10 -60
- package/lib/cjs/graph/shared/constants.cjs +44 -0
- package/lib/cjs/graph/shared/index.cjs +38 -0
- package/lib/cjs/graph/{nodes → shared/nodes}/agent.cjs +2 -2
- package/lib/cjs/graph/shared/nodes/base.cjs +35 -0
- package/lib/cjs/graph/shared/nodes/category-styles.cjs +38 -0
- package/lib/cjs/graph/shared/nodes/flow-control.cjs +464 -0
- package/lib/cjs/graph/{nodes → shared/nodes}/index.cjs +2 -2
- package/lib/cjs/graph/shared/nodes/triggers.cjs +250 -0
- package/lib/cjs/graph/shared/types.cjs +4 -0
- package/lib/cjs/index.cjs +3 -3
- package/lib/esm/graph/engine/constants.js +62 -0
- package/lib/esm/graph/engine/decorators.js +2 -0
- package/lib/esm/graph/engine/errors/GraphCycleError.js +15 -0
- package/lib/esm/graph/engine/errors/GraphExecutionError.js +22 -0
- package/lib/esm/graph/engine/errors/GraphInputError.js +15 -0
- package/lib/esm/graph/engine/errors/GraphLoopLimitError.js +15 -0
- package/lib/esm/graph/engine/errors/GraphPinningError.js +15 -0
- package/lib/esm/graph/engine/errors/GraphPortError.js +15 -0
- package/lib/esm/graph/engine/errors/GraphStoreError.js +15 -0
- package/lib/esm/graph/engine/errors/GraphTopologyError.js +15 -0
- package/lib/esm/graph/engine/errors/index.js +14 -0
- package/lib/esm/graph/engine/events/GraphExecutionEvent.js +2 -0
- package/lib/esm/graph/engine/events/GraphExecutionEventEmitter.js +35 -0
- package/lib/esm/graph/engine/events/GraphExecutionEventFactory.js +32 -0
- package/lib/esm/graph/engine/events/GraphExecutionObserver.js +2 -0
- package/lib/esm/graph/engine/events/index.js +10 -0
- package/lib/esm/graph/engine/execution/CodeSandboxEvaluator.js +18 -0
- package/lib/esm/graph/engine/execution/GraphExecutionContext.js +74 -0
- package/lib/esm/graph/engine/execution/GraphExecutionEngine.js +403 -0
- package/lib/esm/graph/engine/execution/GraphExecutionFrame.js +27 -0
- package/lib/esm/graph/engine/execution/GraphExecutionResult.js +26 -0
- package/lib/esm/graph/engine/execution/GraphNodeExecutor.js +2 -0
- package/lib/esm/graph/engine/execution/SwitchGraphNodeExecutor.js +98 -0
- package/lib/esm/graph/engine/execution/index.js +13 -0
- package/lib/esm/graph/engine/index.js +67 -0
- package/lib/esm/graph/engine/loops/ConditionExpressionEvaluator.js +82 -0
- package/lib/esm/graph/engine/loops/ForeachGraphNodeExecutor.js +80 -0
- package/lib/esm/graph/engine/loops/GraphConditionEvaluator.js +80 -0
- package/lib/esm/graph/engine/loops/GraphLoopExecutionContext.js +11 -0
- package/lib/esm/graph/engine/loops/UntilGraphNodeExecutor.js +72 -0
- package/lib/esm/graph/engine/loops/WhileGraphNodeExecutor.js +73 -0
- package/lib/esm/graph/engine/loops/index.js +12 -0
- package/lib/esm/graph/engine/pinning/GraphPinningDependencyResolver.js +23 -0
- package/lib/esm/graph/engine/pinning/GraphPinningMetadata.js +15 -0
- package/lib/esm/graph/engine/pinning/GraphPinningPolicy.js +29 -0
- package/lib/esm/graph/engine/pinning/GraphPinningService.js +186 -0
- package/lib/esm/graph/engine/pinning/index.js +10 -0
- package/lib/esm/graph/engine/planning/GraphExecutionPlan.js +2 -0
- package/lib/esm/graph/engine/planning/GraphExecutionPlanEdge.js +7 -0
- package/lib/esm/graph/engine/planning/GraphExecutionPlanLayer.js +2 -0
- package/lib/esm/graph/engine/planning/GraphExecutionPlanNode.js +2 -0
- package/lib/esm/graph/engine/planning/GraphExecutionPlanner.js +192 -0
- package/lib/esm/graph/engine/planning/GraphRelationResolver.js +167 -0
- package/lib/esm/graph/engine/planning/GraphTopology.js +52 -0
- package/lib/esm/graph/engine/planning/index.js +13 -0
- package/lib/esm/graph/engine/registry/GraphNodeExecutorRegistry.js +39 -0
- package/lib/esm/graph/engine/registry/GraphNodeExecutorResolver.js +22 -0
- package/lib/esm/graph/engine/registry/index.js +8 -0
- package/lib/esm/graph/engine/snapshots/GraphExecutionSnapshotMapper.js +48 -0
- package/lib/esm/graph/engine/snapshots/index.js +7 -0
- package/lib/esm/graph/engine/store/GraphCachedValue.js +2 -0
- package/lib/esm/graph/engine/store/GraphValueKey.js +7 -0
- package/lib/esm/graph/engine/store/GraphValueStore.js +71 -0
- package/lib/esm/graph/engine/store/GraphValueStoreAdapter.js +2 -0
- package/lib/esm/graph/engine/store/InMemoryGraphValueStoreAdapter.js +64 -0
- package/lib/esm/graph/engine/store/index.js +11 -0
- package/lib/esm/graph/engine/types.js +2 -0
- package/lib/esm/graph/engine/validation/GraphDefinitionValidator.js +28 -0
- package/lib/esm/graph/engine/validation/GraphPortSchemaResolver.js +53 -0
- package/lib/esm/graph/engine/validation/GraphValueValidator.js +47 -0
- package/lib/esm/graph/engine/validation/index.js +9 -0
- package/lib/esm/graph/index.js +9 -59
- package/lib/esm/graph/shared/constants.js +56 -0
- package/lib/esm/graph/shared/index.js +19 -0
- package/lib/esm/graph/shared/nodes/agent.js +101 -0
- package/lib/esm/graph/shared/nodes/base.js +30 -0
- package/lib/esm/graph/shared/nodes/category-styles.js +34 -0
- package/lib/esm/graph/shared/nodes/flow-control.js +455 -0
- package/lib/esm/graph/shared/nodes/index.js +18 -0
- package/lib/esm/graph/shared/nodes/triggers.js +241 -0
- package/lib/esm/graph/shared/types.js +2 -0
- package/lib/esm/index.js +3 -3
- package/lib/types/graph/engine/constants.d.cts +59 -0
- package/lib/types/graph/engine/constants.d.mts +59 -0
- package/lib/types/graph/{execution → engine/execution}/GraphExecutionResult.d.cts +1 -1
- package/lib/types/graph/{execution → engine/execution}/GraphExecutionResult.d.mts +1 -1
- package/lib/types/graph/engine/index.d.cts +61 -0
- package/lib/types/graph/engine/index.d.mts +61 -0
- package/lib/types/graph/{loops → engine/loops}/ConditionExpressionEvaluator.d.cts +1 -1
- package/lib/types/graph/{loops → engine/loops}/ConditionExpressionEvaluator.d.mts +1 -1
- package/lib/types/graph/{loops → engine/loops}/GraphConditionEvaluator.d.cts +2 -1
- package/lib/types/graph/{loops → engine/loops}/GraphConditionEvaluator.d.mts +2 -1
- package/lib/types/graph/{types.d.cts → engine/types.d.cts} +8 -116
- package/lib/types/graph/{types.d.mts → engine/types.d.mts} +8 -116
- package/lib/types/graph/index.d.cts +8 -53
- package/lib/types/graph/index.d.mts +8 -53
- package/lib/types/graph/shared/constants.d.cts +53 -0
- package/lib/types/graph/shared/constants.d.mts +53 -0
- package/lib/types/graph/shared/index.d.cts +18 -0
- package/lib/types/graph/shared/index.d.mts +18 -0
- package/lib/types/graph/shared/types.d.cts +121 -0
- package/lib/types/graph/shared/types.d.mts +121 -0
- package/lib/types/index.d.cts +2 -2
- package/lib/types/index.d.mts +2 -2
- package/package.json +14 -3
- package/lib/cjs/graph/constants.cjs +0 -94
- package/lib/cjs/graph/decorators.cjs +0 -4
- package/lib/cjs/graph/errors/GraphCycleError.cjs +0 -20
- package/lib/cjs/graph/errors/GraphExecutionError.cjs +0 -27
- package/lib/cjs/graph/errors/GraphInputError.cjs +0 -20
- package/lib/cjs/graph/errors/GraphLoopLimitError.cjs +0 -20
- package/lib/cjs/graph/errors/GraphPinningError.cjs +0 -20
- package/lib/cjs/graph/errors/GraphPortError.cjs +0 -20
- package/lib/cjs/graph/errors/GraphStoreError.cjs +0 -20
- package/lib/cjs/graph/errors/GraphTopologyError.cjs +0 -20
- package/lib/cjs/graph/events/GraphExecutionEvent.cjs +0 -4
- package/lib/cjs/graph/events/GraphExecutionEventEmitter.cjs +0 -40
- package/lib/cjs/graph/events/GraphExecutionEventFactory.cjs +0 -37
- package/lib/cjs/graph/events/GraphExecutionObserver.cjs +0 -4
- package/lib/cjs/graph/execution/CodeSandboxEvaluator.cjs +0 -4
- package/lib/cjs/graph/execution/GraphExecutionContext.cjs +0 -79
- package/lib/cjs/graph/execution/GraphExecutionEngine.cjs +0 -407
- package/lib/cjs/graph/execution/GraphExecutionFrame.cjs +0 -32
- package/lib/cjs/graph/execution/GraphExecutionResult.cjs +0 -30
- package/lib/cjs/graph/execution/GraphNodeExecutor.cjs +0 -4
- package/lib/cjs/graph/execution/SwitchGraphNodeExecutor.cjs +0 -103
- package/lib/cjs/graph/loops/ConditionExpressionEvaluator.cjs +0 -87
- package/lib/cjs/graph/loops/ForeachGraphNodeExecutor.cjs +0 -84
- package/lib/cjs/graph/loops/GraphConditionEvaluator.cjs +0 -85
- package/lib/cjs/graph/loops/GraphLoopExecutionContext.cjs +0 -16
- package/lib/cjs/graph/loops/UntilGraphNodeExecutor.cjs +0 -76
- package/lib/cjs/graph/loops/WhileGraphNodeExecutor.cjs +0 -77
- package/lib/cjs/graph/nodes/base.cjs +0 -35
- package/lib/cjs/graph/nodes/category-styles.cjs +0 -38
- package/lib/cjs/graph/nodes/flow-control.cjs +0 -464
- package/lib/cjs/graph/nodes/triggers.cjs +0 -250
- package/lib/cjs/graph/pinning/GraphPinningDependencyResolver.cjs +0 -28
- package/lib/cjs/graph/pinning/GraphPinningMetadata.cjs +0 -20
- package/lib/cjs/graph/pinning/GraphPinningPolicy.cjs +0 -34
- package/lib/cjs/graph/pinning/GraphPinningService.cjs +0 -191
- package/lib/cjs/graph/planning/GraphExecutionPlan.cjs +0 -4
- package/lib/cjs/graph/planning/GraphExecutionPlanEdge.cjs +0 -4
- package/lib/cjs/graph/planning/GraphExecutionPlanLayer.cjs +0 -4
- package/lib/cjs/graph/planning/GraphExecutionPlanNode.cjs +0 -4
- package/lib/cjs/graph/planning/GraphExecutionPlanner.cjs +0 -197
- package/lib/cjs/graph/planning/GraphRelationResolver.cjs +0 -172
- package/lib/cjs/graph/planning/GraphTopology.cjs +0 -57
- package/lib/cjs/graph/registry/GraphNodeExecutorRegistry.cjs +0 -44
- package/lib/cjs/graph/registry/GraphNodeExecutorResolver.cjs +0 -27
- package/lib/cjs/graph/snapshots/GraphExecutionSnapshotMapper.cjs +0 -53
- package/lib/cjs/graph/store/GraphCachedValue.cjs +0 -4
- package/lib/cjs/graph/store/GraphValueKey.cjs +0 -4
- package/lib/cjs/graph/store/GraphValueStore.cjs +0 -76
- package/lib/cjs/graph/store/GraphValueStoreAdapter.cjs +0 -4
- package/lib/cjs/graph/store/InMemoryGraphValueStoreAdapter.cjs +0 -69
- package/lib/cjs/graph/types.cjs +0 -4
- package/lib/cjs/graph/validation/GraphDefinitionValidator.cjs +0 -33
- package/lib/cjs/graph/validation/GraphPortSchemaResolver.cjs +0 -58
- package/lib/cjs/graph/validation/GraphValueValidator.cjs +0 -52
- package/lib/esm/graph/constants.js +0 -106
- package/lib/esm/graph/decorators.js +0 -2
- package/lib/esm/graph/errors/GraphCycleError.js +0 -15
- package/lib/esm/graph/errors/GraphExecutionError.js +0 -22
- package/lib/esm/graph/errors/GraphInputError.js +0 -15
- package/lib/esm/graph/errors/GraphLoopLimitError.js +0 -15
- package/lib/esm/graph/errors/GraphPinningError.js +0 -15
- package/lib/esm/graph/errors/GraphPortError.js +0 -15
- package/lib/esm/graph/errors/GraphStoreError.js +0 -15
- package/lib/esm/graph/errors/GraphTopologyError.js +0 -15
- package/lib/esm/graph/errors/index.js +0 -14
- package/lib/esm/graph/events/GraphExecutionEvent.js +0 -2
- package/lib/esm/graph/events/GraphExecutionEventEmitter.js +0 -35
- package/lib/esm/graph/events/GraphExecutionEventFactory.js +0 -32
- package/lib/esm/graph/events/GraphExecutionObserver.js +0 -2
- package/lib/esm/graph/events/index.js +0 -10
- package/lib/esm/graph/execution/CodeSandboxEvaluator.js +0 -18
- package/lib/esm/graph/execution/GraphExecutionContext.js +0 -74
- package/lib/esm/graph/execution/GraphExecutionEngine.js +0 -402
- package/lib/esm/graph/execution/GraphExecutionFrame.js +0 -27
- package/lib/esm/graph/execution/GraphExecutionResult.js +0 -26
- package/lib/esm/graph/execution/GraphNodeExecutor.js +0 -2
- package/lib/esm/graph/execution/SwitchGraphNodeExecutor.js +0 -98
- package/lib/esm/graph/execution/index.js +0 -13
- package/lib/esm/graph/loops/ConditionExpressionEvaluator.js +0 -82
- package/lib/esm/graph/loops/ForeachGraphNodeExecutor.js +0 -79
- package/lib/esm/graph/loops/GraphConditionEvaluator.js +0 -80
- package/lib/esm/graph/loops/GraphLoopExecutionContext.js +0 -11
- package/lib/esm/graph/loops/UntilGraphNodeExecutor.js +0 -71
- package/lib/esm/graph/loops/WhileGraphNodeExecutor.js +0 -72
- package/lib/esm/graph/loops/index.js +0 -12
- package/lib/esm/graph/nodes/agent.js +0 -101
- package/lib/esm/graph/nodes/base.js +0 -30
- package/lib/esm/graph/nodes/category-styles.js +0 -34
- package/lib/esm/graph/nodes/flow-control.js +0 -455
- package/lib/esm/graph/nodes/index.js +0 -18
- package/lib/esm/graph/nodes/triggers.js +0 -241
- package/lib/esm/graph/pinning/GraphPinningDependencyResolver.js +0 -23
- package/lib/esm/graph/pinning/GraphPinningMetadata.js +0 -15
- package/lib/esm/graph/pinning/GraphPinningPolicy.js +0 -29
- package/lib/esm/graph/pinning/GraphPinningService.js +0 -186
- package/lib/esm/graph/pinning/index.js +0 -10
- package/lib/esm/graph/planning/GraphExecutionPlan.js +0 -2
- package/lib/esm/graph/planning/GraphExecutionPlanEdge.js +0 -7
- package/lib/esm/graph/planning/GraphExecutionPlanLayer.js +0 -2
- package/lib/esm/graph/planning/GraphExecutionPlanNode.js +0 -2
- package/lib/esm/graph/planning/GraphExecutionPlanner.js +0 -192
- package/lib/esm/graph/planning/GraphRelationResolver.js +0 -167
- package/lib/esm/graph/planning/GraphTopology.js +0 -52
- package/lib/esm/graph/planning/index.js +0 -13
- package/lib/esm/graph/registry/GraphNodeExecutorRegistry.js +0 -39
- package/lib/esm/graph/registry/GraphNodeExecutorResolver.js +0 -22
- package/lib/esm/graph/registry/index.js +0 -8
- package/lib/esm/graph/snapshots/GraphExecutionSnapshotMapper.js +0 -48
- package/lib/esm/graph/snapshots/index.js +0 -7
- package/lib/esm/graph/store/GraphCachedValue.js +0 -2
- package/lib/esm/graph/store/GraphValueKey.js +0 -7
- package/lib/esm/graph/store/GraphValueStore.js +0 -71
- package/lib/esm/graph/store/GraphValueStoreAdapter.js +0 -2
- package/lib/esm/graph/store/InMemoryGraphValueStoreAdapter.js +0 -64
- package/lib/esm/graph/store/index.js +0 -11
- package/lib/esm/graph/types.js +0 -2
- package/lib/esm/graph/validation/GraphDefinitionValidator.js +0 -28
- package/lib/esm/graph/validation/GraphPortSchemaResolver.js +0 -53
- package/lib/esm/graph/validation/GraphValueValidator.js +0 -47
- package/lib/esm/graph/validation/index.js +0 -9
- package/lib/types/graph/constants.d.cts +0 -101
- package/lib/types/graph/constants.d.mts +0 -101
- /package/lib/types/graph/{decorators.d.cts → engine/decorators.d.cts} +0 -0
- /package/lib/types/graph/{decorators.d.mts → engine/decorators.d.mts} +0 -0
- /package/lib/types/graph/{errors → engine/errors}/GraphCycleError.d.cts +0 -0
- /package/lib/types/graph/{errors → engine/errors}/GraphCycleError.d.mts +0 -0
- /package/lib/types/graph/{errors → engine/errors}/GraphExecutionError.d.cts +0 -0
- /package/lib/types/graph/{errors → engine/errors}/GraphExecutionError.d.mts +0 -0
- /package/lib/types/graph/{errors → engine/errors}/GraphInputError.d.cts +0 -0
- /package/lib/types/graph/{errors → engine/errors}/GraphInputError.d.mts +0 -0
- /package/lib/types/graph/{errors → engine/errors}/GraphLoopLimitError.d.cts +0 -0
- /package/lib/types/graph/{errors → engine/errors}/GraphLoopLimitError.d.mts +0 -0
- /package/lib/types/graph/{errors → engine/errors}/GraphPinningError.d.cts +0 -0
- /package/lib/types/graph/{errors → engine/errors}/GraphPinningError.d.mts +0 -0
- /package/lib/types/graph/{errors → engine/errors}/GraphPortError.d.cts +0 -0
- /package/lib/types/graph/{errors → engine/errors}/GraphPortError.d.mts +0 -0
- /package/lib/types/graph/{errors → engine/errors}/GraphStoreError.d.cts +0 -0
- /package/lib/types/graph/{errors → engine/errors}/GraphStoreError.d.mts +0 -0
- /package/lib/types/graph/{errors → engine/errors}/GraphTopologyError.d.cts +0 -0
- /package/lib/types/graph/{errors → engine/errors}/GraphTopologyError.d.mts +0 -0
- /package/lib/types/graph/{errors → engine/errors}/index.d.cts +0 -0
- /package/lib/types/graph/{errors → engine/errors}/index.d.mts +0 -0
- /package/lib/types/graph/{events → engine/events}/GraphExecutionEvent.d.cts +0 -0
- /package/lib/types/graph/{events → engine/events}/GraphExecutionEvent.d.mts +0 -0
- /package/lib/types/graph/{events → engine/events}/GraphExecutionEventEmitter.d.cts +0 -0
- /package/lib/types/graph/{events → engine/events}/GraphExecutionEventEmitter.d.mts +0 -0
- /package/lib/types/graph/{events → engine/events}/GraphExecutionEventFactory.d.cts +0 -0
- /package/lib/types/graph/{events → engine/events}/GraphExecutionEventFactory.d.mts +0 -0
- /package/lib/types/graph/{events → engine/events}/GraphExecutionObserver.d.cts +0 -0
- /package/lib/types/graph/{events → engine/events}/GraphExecutionObserver.d.mts +0 -0
- /package/lib/types/graph/{events → engine/events}/index.d.cts +0 -0
- /package/lib/types/graph/{events → engine/events}/index.d.mts +0 -0
- /package/lib/types/graph/{execution → engine/execution}/CodeSandboxEvaluator.d.cts +0 -0
- /package/lib/types/graph/{execution → engine/execution}/CodeSandboxEvaluator.d.mts +0 -0
- /package/lib/types/graph/{execution → engine/execution}/GraphExecutionContext.d.cts +0 -0
- /package/lib/types/graph/{execution → engine/execution}/GraphExecutionContext.d.mts +0 -0
- /package/lib/types/graph/{execution → engine/execution}/GraphExecutionEngine.d.cts +0 -0
- /package/lib/types/graph/{execution → engine/execution}/GraphExecutionEngine.d.mts +0 -0
- /package/lib/types/graph/{execution → engine/execution}/GraphExecutionFrame.d.cts +0 -0
- /package/lib/types/graph/{execution → engine/execution}/GraphExecutionFrame.d.mts +0 -0
- /package/lib/types/graph/{execution → engine/execution}/GraphNodeExecutor.d.cts +0 -0
- /package/lib/types/graph/{execution → engine/execution}/GraphNodeExecutor.d.mts +0 -0
- /package/lib/types/graph/{execution → engine/execution}/SwitchGraphNodeExecutor.d.cts +0 -0
- /package/lib/types/graph/{execution → engine/execution}/SwitchGraphNodeExecutor.d.mts +0 -0
- /package/lib/types/graph/{execution → engine/execution}/index.d.cts +0 -0
- /package/lib/types/graph/{execution → engine/execution}/index.d.mts +0 -0
- /package/lib/types/graph/{loops → engine/loops}/ForeachGraphNodeExecutor.d.cts +0 -0
- /package/lib/types/graph/{loops → engine/loops}/ForeachGraphNodeExecutor.d.mts +0 -0
- /package/lib/types/graph/{loops → engine/loops}/GraphLoopExecutionContext.d.cts +0 -0
- /package/lib/types/graph/{loops → engine/loops}/GraphLoopExecutionContext.d.mts +0 -0
- /package/lib/types/graph/{loops → engine/loops}/UntilGraphNodeExecutor.d.cts +0 -0
- /package/lib/types/graph/{loops → engine/loops}/UntilGraphNodeExecutor.d.mts +0 -0
- /package/lib/types/graph/{loops → engine/loops}/WhileGraphNodeExecutor.d.cts +0 -0
- /package/lib/types/graph/{loops → engine/loops}/WhileGraphNodeExecutor.d.mts +0 -0
- /package/lib/types/graph/{loops → engine/loops}/index.d.cts +0 -0
- /package/lib/types/graph/{loops → engine/loops}/index.d.mts +0 -0
- /package/lib/types/graph/{pinning → engine/pinning}/GraphPinningDependencyResolver.d.cts +0 -0
- /package/lib/types/graph/{pinning → engine/pinning}/GraphPinningDependencyResolver.d.mts +0 -0
- /package/lib/types/graph/{pinning → engine/pinning}/GraphPinningMetadata.d.cts +0 -0
- /package/lib/types/graph/{pinning → engine/pinning}/GraphPinningMetadata.d.mts +0 -0
- /package/lib/types/graph/{pinning → engine/pinning}/GraphPinningPolicy.d.cts +0 -0
- /package/lib/types/graph/{pinning → engine/pinning}/GraphPinningPolicy.d.mts +0 -0
- /package/lib/types/graph/{pinning → engine/pinning}/GraphPinningService.d.cts +0 -0
- /package/lib/types/graph/{pinning → engine/pinning}/GraphPinningService.d.mts +0 -0
- /package/lib/types/graph/{pinning → engine/pinning}/index.d.cts +0 -0
- /package/lib/types/graph/{pinning → engine/pinning}/index.d.mts +0 -0
- /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlan.d.cts +0 -0
- /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlan.d.mts +0 -0
- /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlanEdge.d.cts +0 -0
- /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlanEdge.d.mts +0 -0
- /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlanLayer.d.cts +0 -0
- /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlanLayer.d.mts +0 -0
- /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlanNode.d.cts +0 -0
- /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlanNode.d.mts +0 -0
- /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlanner.d.cts +0 -0
- /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlanner.d.mts +0 -0
- /package/lib/types/graph/{planning → engine/planning}/GraphRelationResolver.d.cts +0 -0
- /package/lib/types/graph/{planning → engine/planning}/GraphRelationResolver.d.mts +0 -0
- /package/lib/types/graph/{planning → engine/planning}/GraphTopology.d.cts +0 -0
- /package/lib/types/graph/{planning → engine/planning}/GraphTopology.d.mts +0 -0
- /package/lib/types/graph/{planning → engine/planning}/index.d.cts +0 -0
- /package/lib/types/graph/{planning → engine/planning}/index.d.mts +0 -0
- /package/lib/types/graph/{registry → engine/registry}/GraphNodeExecutorRegistry.d.cts +0 -0
- /package/lib/types/graph/{registry → engine/registry}/GraphNodeExecutorRegistry.d.mts +0 -0
- /package/lib/types/graph/{registry → engine/registry}/GraphNodeExecutorResolver.d.cts +0 -0
- /package/lib/types/graph/{registry → engine/registry}/GraphNodeExecutorResolver.d.mts +0 -0
- /package/lib/types/graph/{registry → engine/registry}/index.d.cts +0 -0
- /package/lib/types/graph/{registry → engine/registry}/index.d.mts +0 -0
- /package/lib/types/graph/{snapshots → engine/snapshots}/GraphExecutionSnapshotMapper.d.cts +0 -0
- /package/lib/types/graph/{snapshots → engine/snapshots}/GraphExecutionSnapshotMapper.d.mts +0 -0
- /package/lib/types/graph/{snapshots → engine/snapshots}/index.d.cts +0 -0
- /package/lib/types/graph/{snapshots → engine/snapshots}/index.d.mts +0 -0
- /package/lib/types/graph/{store → engine/store}/GraphCachedValue.d.cts +0 -0
- /package/lib/types/graph/{store → engine/store}/GraphCachedValue.d.mts +0 -0
- /package/lib/types/graph/{store → engine/store}/GraphValueKey.d.cts +0 -0
- /package/lib/types/graph/{store → engine/store}/GraphValueKey.d.mts +0 -0
- /package/lib/types/graph/{store → engine/store}/GraphValueStore.d.cts +0 -0
- /package/lib/types/graph/{store → engine/store}/GraphValueStore.d.mts +0 -0
- /package/lib/types/graph/{store → engine/store}/GraphValueStoreAdapter.d.cts +0 -0
- /package/lib/types/graph/{store → engine/store}/GraphValueStoreAdapter.d.mts +0 -0
- /package/lib/types/graph/{store → engine/store}/InMemoryGraphValueStoreAdapter.d.cts +0 -0
- /package/lib/types/graph/{store → engine/store}/InMemoryGraphValueStoreAdapter.d.mts +0 -0
- /package/lib/types/graph/{store → engine/store}/index.d.cts +0 -0
- /package/lib/types/graph/{store → engine/store}/index.d.mts +0 -0
- /package/lib/types/graph/{validation → engine/validation}/GraphDefinitionValidator.d.cts +0 -0
- /package/lib/types/graph/{validation → engine/validation}/GraphDefinitionValidator.d.mts +0 -0
- /package/lib/types/graph/{validation → engine/validation}/GraphPortSchemaResolver.d.cts +0 -0
- /package/lib/types/graph/{validation → engine/validation}/GraphPortSchemaResolver.d.mts +0 -0
- /package/lib/types/graph/{validation → engine/validation}/GraphValueValidator.d.cts +0 -0
- /package/lib/types/graph/{validation → engine/validation}/GraphValueValidator.d.mts +0 -0
- /package/lib/types/graph/{validation → engine/validation}/index.d.cts +0 -0
- /package/lib/types/graph/{validation → engine/validation}/index.d.mts +0 -0
- /package/lib/types/graph/{nodes → shared/nodes}/agent.d.cts +0 -0
- /package/lib/types/graph/{nodes → shared/nodes}/agent.d.mts +0 -0
- /package/lib/types/graph/{nodes → shared/nodes}/base.d.cts +0 -0
- /package/lib/types/graph/{nodes → shared/nodes}/base.d.mts +0 -0
- /package/lib/types/graph/{nodes → shared/nodes}/category-styles.d.cts +0 -0
- /package/lib/types/graph/{nodes → shared/nodes}/category-styles.d.mts +0 -0
- /package/lib/types/graph/{nodes → shared/nodes}/flow-control.d.cts +0 -0
- /package/lib/types/graph/{nodes → shared/nodes}/flow-control.d.mts +0 -0
- /package/lib/types/graph/{nodes → shared/nodes}/index.d.cts +0 -0
- /package/lib/types/graph/{nodes → shared/nodes}/index.d.mts +0 -0
- /package/lib/types/graph/{nodes → shared/nodes}/triggers.d.cts +0 -0
- /package/lib/types/graph/{nodes → shared/nodes}/triggers.d.mts +0 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module integrations/graph/errors/GraphPortError
|
|
3
|
+
* @summary Error thrown when a port reference is invalid.
|
|
4
|
+
* @description Raised by the relation resolver or validator when a referenced port is missing or unknown.
|
|
5
|
+
*/
|
|
6
|
+
import { GraphExecutionError } from "./GraphExecutionError.js";
|
|
7
|
+
/**
|
|
8
|
+
* Thrown when a port reference is invalid.
|
|
9
|
+
*/
|
|
10
|
+
export class GraphPortError extends GraphExecutionError {
|
|
11
|
+
constructor(message, details) {
|
|
12
|
+
super(message, "GRAPH_PORT_ERROR", details);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhQb3J0RXJyb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZ3JhcGgvZW5naW5lL2Vycm9ycy9HcmFwaFBvcnRFcnJvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBQ0gsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGlDQUE4QjtBQUU1RDs7R0FFRztBQUNILE1BQU0sT0FBTyxjQUFlLFNBQVEsbUJBQW1CO0lBQ3JELFlBQVksT0FBZSxFQUFFLE9BQWlCO1FBQzVDLEtBQUssQ0FBQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDOUMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9ucy9ncmFwaC9lcnJvcnMvR3JhcGhQb3J0RXJyb3JcbiAqIEBzdW1tYXJ5IEVycm9yIHRocm93biB3aGVuIGEgcG9ydCByZWZlcmVuY2UgaXMgaW52YWxpZC5cbiAqIEBkZXNjcmlwdGlvbiBSYWlzZWQgYnkgdGhlIHJlbGF0aW9uIHJlc29sdmVyIG9yIHZhbGlkYXRvciB3aGVuIGEgcmVmZXJlbmNlZCBwb3J0IGlzIG1pc3Npbmcgb3IgdW5rbm93bi5cbiAqL1xuaW1wb3J0IHsgR3JhcGhFeGVjdXRpb25FcnJvciB9IGZyb20gXCIuL0dyYXBoRXhlY3V0aW9uRXJyb3JcIjtcblxuLyoqXG4gKiBUaHJvd24gd2hlbiBhIHBvcnQgcmVmZXJlbmNlIGlzIGludmFsaWQuXG4gKi9cbmV4cG9ydCBjbGFzcyBHcmFwaFBvcnRFcnJvciBleHRlbmRzIEdyYXBoRXhlY3V0aW9uRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcsIGRldGFpbHM/OiB1bmtub3duKSB7XG4gICAgc3VwZXIobWVzc2FnZSwgXCJHUkFQSF9QT1JUX0VSUk9SXCIsIGRldGFpbHMpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module integrations/graph/errors/GraphStoreError
|
|
3
|
+
* @summary Error thrown when a value store operation fails.
|
|
4
|
+
* @description Raised by the value store or adapter when reading, writing, or deleting cached values fails.
|
|
5
|
+
*/
|
|
6
|
+
import { GraphExecutionError } from "./GraphExecutionError.js";
|
|
7
|
+
/**
|
|
8
|
+
* Thrown when a value store operation fails.
|
|
9
|
+
*/
|
|
10
|
+
export class GraphStoreError extends GraphExecutionError {
|
|
11
|
+
constructor(message, details) {
|
|
12
|
+
super(message, "GRAPH_STORE_ERROR", details);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhTdG9yZUVycm9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2dyYXBoL2VuZ2luZS9lcnJvcnMvR3JhcGhTdG9yZUVycm9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFDSCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsaUNBQThCO0FBRTVEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGVBQWdCLFNBQVEsbUJBQW1CO0lBQ3RELFlBQVksT0FBZSxFQUFFLE9BQWlCO1FBQzVDLEtBQUssQ0FBQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDL0MsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9ucy9ncmFwaC9lcnJvcnMvR3JhcGhTdG9yZUVycm9yXG4gKiBAc3VtbWFyeSBFcnJvciB0aHJvd24gd2hlbiBhIHZhbHVlIHN0b3JlIG9wZXJhdGlvbiBmYWlscy5cbiAqIEBkZXNjcmlwdGlvbiBSYWlzZWQgYnkgdGhlIHZhbHVlIHN0b3JlIG9yIGFkYXB0ZXIgd2hlbiByZWFkaW5nLCB3cml0aW5nLCBvciBkZWxldGluZyBjYWNoZWQgdmFsdWVzIGZhaWxzLlxuICovXG5pbXBvcnQgeyBHcmFwaEV4ZWN1dGlvbkVycm9yIH0gZnJvbSBcIi4vR3JhcGhFeGVjdXRpb25FcnJvclwiO1xuXG4vKipcbiAqIFRocm93biB3aGVuIGEgdmFsdWUgc3RvcmUgb3BlcmF0aW9uIGZhaWxzLlxuICovXG5leHBvcnQgY2xhc3MgR3JhcGhTdG9yZUVycm9yIGV4dGVuZHMgR3JhcGhFeGVjdXRpb25FcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZywgZGV0YWlscz86IHVua25vd24pIHtcbiAgICBzdXBlcihtZXNzYWdlLCBcIkdSQVBIX1NUT1JFX0VSUk9SXCIsIGRldGFpbHMpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module integrations/graph/errors/GraphTopologyError
|
|
3
|
+
* @summary Error thrown when workflow topology is invalid.
|
|
4
|
+
* @description Raised by the relation resolver or planner when an endpoint is unknown or ambiguous.
|
|
5
|
+
*/
|
|
6
|
+
import { GraphExecutionError } from "./GraphExecutionError.js";
|
|
7
|
+
/**
|
|
8
|
+
* Thrown when workflow topology is invalid.
|
|
9
|
+
*/
|
|
10
|
+
export class GraphTopologyError extends GraphExecutionError {
|
|
11
|
+
constructor(message, details) {
|
|
12
|
+
super(message, "GRAPH_TOPOLOGY_ERROR", details);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhUb3BvbG9neUVycm9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2dyYXBoL2VuZ2luZS9lcnJvcnMvR3JhcGhUb3BvbG9neUVycm9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFDSCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsaUNBQThCO0FBRTVEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGtCQUFtQixTQUFRLG1CQUFtQjtJQUN6RCxZQUFZLE9BQWUsRUFBRSxPQUFpQjtRQUM1QyxLQUFLLENBQUMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2xELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBpbnRlZ3JhdGlvbnMvZ3JhcGgvZXJyb3JzL0dyYXBoVG9wb2xvZ3lFcnJvclxuICogQHN1bW1hcnkgRXJyb3IgdGhyb3duIHdoZW4gd29ya2Zsb3cgdG9wb2xvZ3kgaXMgaW52YWxpZC5cbiAqIEBkZXNjcmlwdGlvbiBSYWlzZWQgYnkgdGhlIHJlbGF0aW9uIHJlc29sdmVyIG9yIHBsYW5uZXIgd2hlbiBhbiBlbmRwb2ludCBpcyB1bmtub3duIG9yIGFtYmlndW91cy5cbiAqL1xuaW1wb3J0IHsgR3JhcGhFeGVjdXRpb25FcnJvciB9IGZyb20gXCIuL0dyYXBoRXhlY3V0aW9uRXJyb3JcIjtcblxuLyoqXG4gKiBUaHJvd24gd2hlbiB3b3JrZmxvdyB0b3BvbG9neSBpcyBpbnZhbGlkLlxuICovXG5leHBvcnQgY2xhc3MgR3JhcGhUb3BvbG9neUVycm9yIGV4dGVuZHMgR3JhcGhFeGVjdXRpb25FcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZywgZGV0YWlscz86IHVua25vd24pIHtcbiAgICBzdXBlcihtZXNzYWdlLCBcIkdSQVBIX1RPUE9MT0dZX0VSUk9SXCIsIGRldGFpbHMpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module integrations/graph/errors
|
|
3
|
+
* @summary Graph execution error classes.
|
|
4
|
+
* @description Re-exports all structured error types used by the graph execution engine.
|
|
5
|
+
*/
|
|
6
|
+
export * from "./GraphExecutionError.js";
|
|
7
|
+
export * from "./GraphCycleError.js";
|
|
8
|
+
export * from "./GraphInputError.js";
|
|
9
|
+
export * from "./GraphLoopLimitError.js";
|
|
10
|
+
export * from "./GraphPinningError.js";
|
|
11
|
+
export * from "./GraphPortError.js";
|
|
12
|
+
export * from "./GraphStoreError.js";
|
|
13
|
+
export * from "./GraphTopologyError.js";
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZ3JhcGgvZW5naW5lL2Vycm9ycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBQ0gseUNBQXNDO0FBQ3RDLHFDQUFrQztBQUNsQyxxQ0FBa0M7QUFDbEMseUNBQXNDO0FBQ3RDLHVDQUFvQztBQUNwQyxvQ0FBaUM7QUFDakMscUNBQWtDO0FBQ2xDLHdDQUFxQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBpbnRlZ3JhdGlvbnMvZ3JhcGgvZXJyb3JzXG4gKiBAc3VtbWFyeSBHcmFwaCBleGVjdXRpb24gZXJyb3IgY2xhc3Nlcy5cbiAqIEBkZXNjcmlwdGlvbiBSZS1leHBvcnRzIGFsbCBzdHJ1Y3R1cmVkIGVycm9yIHR5cGVzIHVzZWQgYnkgdGhlIGdyYXBoIGV4ZWN1dGlvbiBlbmdpbmUuXG4gKi9cbmV4cG9ydCAqIGZyb20gXCIuL0dyYXBoRXhlY3V0aW9uRXJyb3JcIjtcbmV4cG9ydCAqIGZyb20gXCIuL0dyYXBoQ3ljbGVFcnJvclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vR3JhcGhJbnB1dEVycm9yXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9HcmFwaExvb3BMaW1pdEVycm9yXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9HcmFwaFBpbm5pbmdFcnJvclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vR3JhcGhQb3J0RXJyb3JcIjtcbmV4cG9ydCAqIGZyb20gXCIuL0dyYXBoU3RvcmVFcnJvclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vR3JhcGhUb3BvbG9neUVycm9yXCI7XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhFeGVjdXRpb25FdmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9ncmFwaC9lbmdpbmUvZXZlbnRzL0dyYXBoRXhlY3V0aW9uRXZlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBpbnRlZ3JhdGlvbnMvZ3JhcGgvZXZlbnRzL0dyYXBoRXhlY3V0aW9uRXZlbnRcbiAqIEBzdW1tYXJ5IFJlLWV4cG9ydCBvZiB0aGUgR3JhcGhFeGVjdXRpb25FdmVudCB0eXBlIGZvciB0aGUgZXZlbnRzIHN1YnBhdGguXG4gKiBAZGVzY3JpcHRpb24gVGhlIEdyYXBoRXhlY3V0aW9uRXZlbnQgaW50ZXJmYWNlIGlzIGRlZmluZWQgaW4gdGhlIHNoYXJlZCB0eXBlcyBtb2R1bGUgYW5kIHJlLWV4cG9ydGVkIGhlcmUgZm9yIGNvbnZlbmllbmNlLlxuICovXG5leHBvcnQgdHlwZSB7IEdyYXBoRXhlY3V0aW9uRXZlbnQgfSBmcm9tIFwiLi4vdHlwZXNcIjtcbiJdfQ==
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Manages observer registration and event dispatch for the graph execution
|
|
3
|
+
* engine.
|
|
4
|
+
*/
|
|
5
|
+
export class GraphExecutionEventEmitter {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.observers = new Set();
|
|
8
|
+
}
|
|
9
|
+
/** Registers an observer and returns an unsubscribe function. */
|
|
10
|
+
observe(observer) {
|
|
11
|
+
this.observers.add(observer);
|
|
12
|
+
return () => this.unObserve(observer);
|
|
13
|
+
}
|
|
14
|
+
/** Removes a previously-registered observer. */
|
|
15
|
+
unObserve(observer) {
|
|
16
|
+
this.observers.delete(observer);
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Notifies all registered observers of a new event.
|
|
20
|
+
*
|
|
21
|
+
* Observer failures are caught and swallowed so that a misbehaving observer
|
|
22
|
+
* cannot crash the workflow execution.
|
|
23
|
+
*/
|
|
24
|
+
async updateObservers(event) {
|
|
25
|
+
await Promise.all(Array.from(this.observers).map(async (observer) => {
|
|
26
|
+
try {
|
|
27
|
+
await Promise.resolve(observer.refresh(event));
|
|
28
|
+
}
|
|
29
|
+
catch {
|
|
30
|
+
// Observer failures must not crash execution.
|
|
31
|
+
}
|
|
32
|
+
}));
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhFeGVjdXRpb25FdmVudEVtaXR0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZ3JhcGgvZW5naW5lL2V2ZW50cy9HcmFwaEV4ZWN1dGlvbkV2ZW50RW1pdHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFTQTs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sMEJBQTBCO0lBQXZDO1FBRW1CLGNBQVMsR0FBRyxJQUFJLEdBQUcsRUFBMEIsQ0FBQztJQThCakUsQ0FBQztJQTVCQyxpRUFBaUU7SUFDakUsT0FBTyxDQUFDLFFBQWdDO1FBQ3RDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzdCLE9BQU8sR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsZ0RBQWdEO0lBQ2hELFNBQVMsQ0FBQyxRQUFnQztRQUN4QyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxLQUFLLENBQUMsZUFBZSxDQUFDLEtBQTBCO1FBQzlDLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FDZixLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxFQUFFO1lBQ2hELElBQUksQ0FBQztnQkFDSCxNQUFNLE9BQU8sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQ2pELENBQUM7WUFBQyxNQUFNLENBQUM7Z0JBQ1AsOENBQThDO1lBQ2hELENBQUM7UUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9ucy9ncmFwaC9ldmVudHMvR3JhcGhFeGVjdXRpb25FdmVudEVtaXR0ZXJcbiAqIEBzdW1tYXJ5IE9ic2VydmFibGUgaW1wbGVtZW50YXRpb24gZm9yIGdyYXBoIGV4ZWN1dGlvbiBldmVudHMuXG4gKiBAZGVzY3JpcHRpb24gSW1wbGVtZW50cyBEZWNhZidzIHtAbGluayBPYnNlcnZhYmxlfSBpbnRlcmZhY2Ugc28gb2JzZXJ2ZXJzIGNhbiBzdWJzY3JpYmUgdG8gZ3JhcGggZXhlY3V0aW9uIGV2ZW50cy4gT2JzZXJ2ZXIgZmFpbHVyZXMgYXJlIGlzb2xhdGVkIGFuZCBkbyBub3QgY3Jhc2ggdGhlIHdvcmtmbG93LlxuICovXG5pbXBvcnQgdHlwZSB7IE9ic2VydmFibGUgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB0eXBlIHsgR3JhcGhFeGVjdXRpb25PYnNlcnZlciB9IGZyb20gXCIuL0dyYXBoRXhlY3V0aW9uT2JzZXJ2ZXJcIjtcbmltcG9ydCB0eXBlIHsgR3JhcGhFeGVjdXRpb25FdmVudCB9IGZyb20gXCIuLi90eXBlc1wiO1xuXG4vKipcbiAqIE1hbmFnZXMgb2JzZXJ2ZXIgcmVnaXN0cmF0aW9uIGFuZCBldmVudCBkaXNwYXRjaCBmb3IgdGhlIGdyYXBoIGV4ZWN1dGlvblxuICogZW5naW5lLlxuICovXG5leHBvcnQgY2xhc3MgR3JhcGhFeGVjdXRpb25FdmVudEVtaXR0ZXJcbiAgaW1wbGVtZW50cyBPYnNlcnZhYmxlPFtHcmFwaEV4ZWN1dGlvbk9ic2VydmVyXSwgW0dyYXBoRXhlY3V0aW9uRXZlbnRdPiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgb2JzZXJ2ZXJzID0gbmV3IFNldDxHcmFwaEV4ZWN1dGlvbk9ic2VydmVyPigpO1xuXG4gIC8qKiBSZWdpc3RlcnMgYW4gb2JzZXJ2ZXIgYW5kIHJldHVybnMgYW4gdW5zdWJzY3JpYmUgZnVuY3Rpb24uICovXG4gIG9ic2VydmUob2JzZXJ2ZXI6IEdyYXBoRXhlY3V0aW9uT2JzZXJ2ZXIpOiAoKSA9PiB2b2lkIHtcbiAgICB0aGlzLm9ic2VydmVycy5hZGQob2JzZXJ2ZXIpO1xuICAgIHJldHVybiAoKSA9PiB0aGlzLnVuT2JzZXJ2ZShvYnNlcnZlcik7XG4gIH1cblxuICAvKiogUmVtb3ZlcyBhIHByZXZpb3VzbHktcmVnaXN0ZXJlZCBvYnNlcnZlci4gKi9cbiAgdW5PYnNlcnZlKG9ic2VydmVyOiBHcmFwaEV4ZWN1dGlvbk9ic2VydmVyKTogdm9pZCB7XG4gICAgdGhpcy5vYnNlcnZlcnMuZGVsZXRlKG9ic2VydmVyKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBOb3RpZmllcyBhbGwgcmVnaXN0ZXJlZCBvYnNlcnZlcnMgb2YgYSBuZXcgZXZlbnQuXG4gICAqXG4gICAqIE9ic2VydmVyIGZhaWx1cmVzIGFyZSBjYXVnaHQgYW5kIHN3YWxsb3dlZCBzbyB0aGF0IGEgbWlzYmVoYXZpbmcgb2JzZXJ2ZXJcbiAgICogY2Fubm90IGNyYXNoIHRoZSB3b3JrZmxvdyBleGVjdXRpb24uXG4gICAqL1xuICBhc3luYyB1cGRhdGVPYnNlcnZlcnMoZXZlbnQ6IEdyYXBoRXhlY3V0aW9uRXZlbnQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgIEFycmF5LmZyb20odGhpcy5vYnNlcnZlcnMpLm1hcChhc3luYyAob2JzZXJ2ZXIpID0+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBhd2FpdCBQcm9taXNlLnJlc29sdmUob2JzZXJ2ZXIucmVmcmVzaChldmVudCkpO1xuICAgICAgICB9IGNhdGNoIHtcbiAgICAgICAgICAvLyBPYnNlcnZlciBmYWlsdXJlcyBtdXN0IG5vdCBjcmFzaCBleGVjdXRpb24uXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Factory that enriches partial events with a unique id, an incrementing
|
|
3
|
+
* sequence number, and a timestamp.
|
|
4
|
+
*/
|
|
5
|
+
export class GraphExecutionEventFactory {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.sequence = 0;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Creates a fully-populated event from the given base fields.
|
|
11
|
+
*
|
|
12
|
+
* @param base - All event fields except `id`, `sequence`, and `timestamp`.
|
|
13
|
+
* @returns A complete {@link GraphExecutionEvent}.
|
|
14
|
+
*/
|
|
15
|
+
create(base) {
|
|
16
|
+
return {
|
|
17
|
+
...base,
|
|
18
|
+
id: this.createEventId(),
|
|
19
|
+
sequence: ++this.sequence,
|
|
20
|
+
timestamp: new Date(),
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Generates a unique event id using `crypto.randomUUID` when available,
|
|
25
|
+
* falling back to a timestamp + random string.
|
|
26
|
+
*/
|
|
27
|
+
createEventId() {
|
|
28
|
+
return (globalThis.crypto?.randomUUID?.() ??
|
|
29
|
+
`${Date.now()}-${Math.random().toString(36).slice(2)}`);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhFeGVjdXRpb25FdmVudEZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZ3JhcGgvZW5naW5lL2V2ZW50cy9HcmFwaEV4ZWN1dGlvbkV2ZW50RmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQTs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sMEJBQTBCO0lBQXZDO1FBQ1UsYUFBUSxHQUFHLENBQUMsQ0FBQztJQTZCdkIsQ0FBQztJQTNCQzs7Ozs7T0FLRztJQUNILE1BQU0sQ0FDSixJQUFnRTtRQUVoRSxPQUFPO1lBQ0wsR0FBRyxJQUFJO1lBQ1AsRUFBRSxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDeEIsUUFBUSxFQUFFLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDekIsU0FBUyxFQUFFLElBQUksSUFBSSxFQUFFO1NBQ3RCLENBQUM7SUFDSixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssYUFBYTtRQUNuQixPQUFPLENBQ0wsVUFBVSxDQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsRUFBRTtZQUNqQyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUN2RCxDQUFDO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9ucy9ncmFwaC9ldmVudHMvR3JhcGhFeGVjdXRpb25FdmVudEZhY3RvcnlcbiAqIEBzdW1tYXJ5IEZhY3RvcnkgZm9yIGNyZWF0aW5nIGdyYXBoIGV4ZWN1dGlvbiBldmVudHMgd2l0aCB1bmlxdWUgaWRzLCBzZXF1ZW5jZSBudW1iZXJzLCBhbmQgdGltZXN0YW1wcy5cbiAqIEBkZXNjcmlwdGlvbiBQcm92aWRlcyBhIHN0YXRlZnVsIGZhY3RvcnkgdGhhdCBwcm9kdWNlcyBtb25vdG9uaWNhbGx5LXNlcXVlbmNlZCBldmVudHMgZm9yIGEgc2luZ2xlIGV4ZWN1dGlvbiBydW4uXG4gKi9cbmltcG9ydCB0eXBlIHsgR3JhcGhFeGVjdXRpb25FdmVudCB9IGZyb20gXCIuLi90eXBlc1wiO1xuXG4vKipcbiAqIEZhY3RvcnkgdGhhdCBlbnJpY2hlcyBwYXJ0aWFsIGV2ZW50cyB3aXRoIGEgdW5pcXVlIGlkLCBhbiBpbmNyZW1lbnRpbmdcbiAqIHNlcXVlbmNlIG51bWJlciwgYW5kIGEgdGltZXN0YW1wLlxuICovXG5leHBvcnQgY2xhc3MgR3JhcGhFeGVjdXRpb25FdmVudEZhY3Rvcnkge1xuICBwcml2YXRlIHNlcXVlbmNlID0gMDtcblxuICAvKipcbiAgICogQ3JlYXRlcyBhIGZ1bGx5LXBvcHVsYXRlZCBldmVudCBmcm9tIHRoZSBnaXZlbiBiYXNlIGZpZWxkcy5cbiAgICpcbiAgICogQHBhcmFtIGJhc2UgLSBBbGwgZXZlbnQgZmllbGRzIGV4Y2VwdCBgaWRgLCBgc2VxdWVuY2VgLCBhbmQgYHRpbWVzdGFtcGAuXG4gICAqIEByZXR1cm5zIEEgY29tcGxldGUge0BsaW5rIEdyYXBoRXhlY3V0aW9uRXZlbnR9LlxuICAgKi9cbiAgY3JlYXRlKFxuICAgIGJhc2U6IE9taXQ8R3JhcGhFeGVjdXRpb25FdmVudCwgXCJpZFwiIHwgXCJzZXF1ZW5jZVwiIHwgXCJ0aW1lc3RhbXBcIj5cbiAgKTogR3JhcGhFeGVjdXRpb25FdmVudCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmJhc2UsXG4gICAgICBpZDogdGhpcy5jcmVhdGVFdmVudElkKCksXG4gICAgICBzZXF1ZW5jZTogKyt0aGlzLnNlcXVlbmNlLFxuICAgICAgdGltZXN0YW1wOiBuZXcgRGF0ZSgpLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogR2VuZXJhdGVzIGEgdW5pcXVlIGV2ZW50IGlkIHVzaW5nIGBjcnlwdG8ucmFuZG9tVVVJRGAgd2hlbiBhdmFpbGFibGUsXG4gICAqIGZhbGxpbmcgYmFjayB0byBhIHRpbWVzdGFtcCArIHJhbmRvbSBzdHJpbmcuXG4gICAqL1xuICBwcml2YXRlIGNyZWF0ZUV2ZW50SWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gKFxuICAgICAgZ2xvYmFsVGhpcy5jcnlwdG8/LnJhbmRvbVVVSUQ/LigpID8/XG4gICAgICBgJHtEYXRlLm5vdygpfS0ke01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnNsaWNlKDIpfWBcbiAgICApO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhFeGVjdXRpb25PYnNlcnZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9ncmFwaC9lbmdpbmUvZXZlbnRzL0dyYXBoRXhlY3V0aW9uT2JzZXJ2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBpbnRlZ3JhdGlvbnMvZ3JhcGgvZXZlbnRzL0dyYXBoRXhlY3V0aW9uT2JzZXJ2ZXJcbiAqIEBzdW1tYXJ5IE9ic2VydmVyIGludGVyZmFjZSBmb3IgZ3JhcGggZXhlY3V0aW9uIGV2ZW50cy5cbiAqIEBkZXNjcmlwdGlvbiBFeHRlbmRzIERlY2FmJ3Mge0BsaW5rIE9ic2VydmVyfSBzbyBncmFwaCBldmVudHMgZmxvdyB0aHJvdWdoIHRoZSBzdGFuZGFyZCBPYnNlcnZhYmxlL09ic2VydmVyIHBpcGVsaW5lLlxuICovXG5pbXBvcnQgdHlwZSB7IE9ic2VydmVyIH0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG5pbXBvcnQgdHlwZSB7IEdyYXBoRXhlY3V0aW9uRXZlbnQgfSBmcm9tIFwiLi4vdHlwZXNcIjtcblxuLyoqXG4gKiBPYnNlcnZlciB0aGF0IHJlY2VpdmVzIHtAbGluayBHcmFwaEV4ZWN1dGlvbkV2ZW50fSBpbnN0YW5jZXMgZnJvbSB0aGVcbiAqIGdyYXBoIGV4ZWN1dGlvbiBlbmdpbmUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR3JhcGhFeGVjdXRpb25PYnNlcnZlciBleHRlbmRzIE9ic2VydmVyPFtHcmFwaEV4ZWN1dGlvbkV2ZW50XT4ge1xuICAvKipcbiAgICogQ2FsbGVkIGJ5IHRoZSBlbmdpbmUgd2hlbiBhIG5ldyBncmFwaCBleGVjdXRpb24gZXZlbnQgaXMgZW1pdHRlZC5cbiAgICovXG4gIHJlZnJlc2goZXZlbnQ6IEdyYXBoRXhlY3V0aW9uRXZlbnQpOiBQcm9taXNlPHZvaWQ+O1xufVxuIl19
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module integrations/graph/events
|
|
3
|
+
* @summary Graph execution event pipeline.
|
|
4
|
+
* @description Re-exports the observer interface, event emitter, and event factory.
|
|
5
|
+
*/
|
|
6
|
+
export * from "./GraphExecutionEvent.js";
|
|
7
|
+
export * from "./GraphExecutionObserver.js";
|
|
8
|
+
export * from "./GraphExecutionEventEmitter.js";
|
|
9
|
+
export * from "./GraphExecutionEventFactory.js";
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZ3JhcGgvZW5naW5lL2V2ZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBQ0gseUNBQXNDO0FBQ3RDLDRDQUF5QztBQUN6QyxnREFBNkM7QUFDN0MsZ0RBQTZDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9ucy9ncmFwaC9ldmVudHNcbiAqIEBzdW1tYXJ5IEdyYXBoIGV4ZWN1dGlvbiBldmVudCBwaXBlbGluZS5cbiAqIEBkZXNjcmlwdGlvbiBSZS1leHBvcnRzIHRoZSBvYnNlcnZlciBpbnRlcmZhY2UsIGV2ZW50IGVtaXR0ZXIsIGFuZCBldmVudCBmYWN0b3J5LlxuICovXG5leHBvcnQgKiBmcm9tIFwiLi9HcmFwaEV4ZWN1dGlvbkV2ZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9HcmFwaEV4ZWN1dGlvbk9ic2VydmVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9HcmFwaEV4ZWN1dGlvbkV2ZW50RW1pdHRlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vR3JhcGhFeGVjdXRpb25FdmVudEZhY3RvcnlcIjtcbiJdfQ==
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module integrations/graph/execution/CodeSandboxEvaluator
|
|
3
|
+
* @summary Pluggable contract for evaluating code-based conditions (DECAF-32 §22.4).
|
|
4
|
+
* @description The engine does NOT implement the VM sandbox directly (§22.4).
|
|
5
|
+
* Downstream projects (e.g. ALFRED) register a `CodeSandboxEvaluator` via the
|
|
6
|
+
* `GraphExecutionEngineConfig.codeSandboxEvaluator` field. When absent, code
|
|
7
|
+
* conditions throw a `GRAPH_CODE_SANDBOX_NOT_CONFIGURED` error.
|
|
8
|
+
*
|
|
9
|
+
* The sandbox must follow the same restrictions as the Code Node (§22.4):
|
|
10
|
+
* - No system API access (`require`, `process`, `fs`, `child_process`, etc.)
|
|
11
|
+
* - Placeholder syntax for workflow data references (`{{ $input.foo }}`,
|
|
12
|
+
* `{{ $node["Name"].output }}`, `{{ $vars.bar }}`, etc.)
|
|
13
|
+
* - Static code validation (e.g. `acorn`-based) before execution
|
|
14
|
+
* - The code must return a boolean value (for conditions) or any value
|
|
15
|
+
* (for Code Node transforms)
|
|
16
|
+
*/
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29kZVNhbmRib3hFdmFsdWF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZ3JhcGgvZW5naW5lL2V4ZWN1dGlvbi9Db2RlU2FuZGJveEV2YWx1YXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUciLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgaW50ZWdyYXRpb25zL2dyYXBoL2V4ZWN1dGlvbi9Db2RlU2FuZGJveEV2YWx1YXRvclxuICogQHN1bW1hcnkgUGx1Z2dhYmxlIGNvbnRyYWN0IGZvciBldmFsdWF0aW5nIGNvZGUtYmFzZWQgY29uZGl0aW9ucyAoREVDQUYtMzIgwqcyMi40KS5cbiAqIEBkZXNjcmlwdGlvbiBUaGUgZW5naW5lIGRvZXMgTk9UIGltcGxlbWVudCB0aGUgVk0gc2FuZGJveCBkaXJlY3RseSAowqcyMi40KS5cbiAqIERvd25zdHJlYW0gcHJvamVjdHMgKGUuZy4gQUxGUkVEKSByZWdpc3RlciBhIGBDb2RlU2FuZGJveEV2YWx1YXRvcmAgdmlhIHRoZVxuICogYEdyYXBoRXhlY3V0aW9uRW5naW5lQ29uZmlnLmNvZGVTYW5kYm94RXZhbHVhdG9yYCBmaWVsZC4gV2hlbiBhYnNlbnQsIGNvZGVcbiAqIGNvbmRpdGlvbnMgdGhyb3cgYSBgR1JBUEhfQ09ERV9TQU5EQk9YX05PVF9DT05GSUdVUkVEYCBlcnJvci5cbiAqXG4gKiBUaGUgc2FuZGJveCBtdXN0IGZvbGxvdyB0aGUgc2FtZSByZXN0cmljdGlvbnMgYXMgdGhlIENvZGUgTm9kZSAowqcyMi40KTpcbiAqIC0gTm8gc3lzdGVtIEFQSSBhY2Nlc3MgKGByZXF1aXJlYCwgYHByb2Nlc3NgLCBgZnNgLCBgY2hpbGRfcHJvY2Vzc2AsIGV0Yy4pXG4gKiAtIFBsYWNlaG9sZGVyIHN5bnRheCBmb3Igd29ya2Zsb3cgZGF0YSByZWZlcmVuY2VzIChge3sgJGlucHV0LmZvbyB9fWAsXG4gKiAgIGB7eyAkbm9kZVtcIk5hbWVcIl0ub3V0cHV0IH19YCwgYHt7ICR2YXJzLmJhciB9fWAsIGV0Yy4pXG4gKiAtIFN0YXRpYyBjb2RlIHZhbGlkYXRpb24gKGUuZy4gYGFjb3JuYC1iYXNlZCkgYmVmb3JlIGV4ZWN1dGlvblxuICogLSBUaGUgY29kZSBtdXN0IHJldHVybiBhIGJvb2xlYW4gdmFsdWUgKGZvciBjb25kaXRpb25zKSBvciBhbnkgdmFsdWVcbiAqICAgKGZvciBDb2RlIE5vZGUgdHJhbnNmb3JtcylcbiAqL1xuXG4vKipcbiAqIENvbnRleHQgcGFzc2VkIHRvIHRoZSBjb2RlIHNhbmRib3ggZXZhbHVhdG9yLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvZGVTYW5kYm94Q29udGV4dCB7XG4gIC8qKiBUaGUgcmF3IGNvZGUgc3RyaW5nIGF1dGhvcmVkIGJ5IHRoZSB1c2VyLiAqL1xuICBjb2RlOiBzdHJpbmc7XG4gIC8qKiBUaGUgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2UgKGRlZmF1bHRzIHRvIGBcImphdmFzY3JpcHRcImApLiAqL1xuICBsYW5ndWFnZT86IFwiamF2YXNjcmlwdFwiIHwgXCJ0eXBlc2NyaXB0XCI7XG4gIC8qKiBUaGUgY3VycmVudCBpbnB1dCB2YWx1ZXMsIGFjY2Vzc2libGUgYXMgYCRpbnB1dGAgaW4gcGxhY2Vob2xkZXJzLiAqL1xuICBpbnB1dDogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gIC8qKiBXb3JrZmxvdyB2YXJpYWJsZXMsIGFjY2Vzc2libGUgYXMgYCR2YXJzYCBpbiBwbGFjZWhvbGRlcnMuICovXG4gIHZhcnM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgLyoqIEN1cnJlbnQgbG9vcCBpdGVtIChpZiBpbnNpZGUgYSBmb3JlYWNoKSwgYWNjZXNzaWJsZSBhcyBgJGl0ZW1gLiAqL1xuICBpdGVtPzogdW5rbm93bjtcbiAgLyoqIEN1cnJlbnQgbG9vcCBpbmRleCAoaWYgaW5zaWRlIGEgZm9yZWFjaCksIGFjY2Vzc2libGUgYXMgYCRpbmRleGAuICovXG4gIGluZGV4PzogbnVtYmVyO1xuICAvKiogT3V0cHV0cyBvZiB1cHN0cmVhbSBub2RlcywgYWNjZXNzaWJsZSBhcyBgJG5vZGVbXCJOYW1lXCJdLm91dHB1dGAuICovXG4gIG5vZGVzPzogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgdW5rbm93bj4+O1xufVxuXG4vKipcbiAqIFBsdWdnYWJsZSBldmFsdWF0b3IgZm9yIGNvZGUtYmFzZWQgY29uZGl0aW9ucyBhbmQgQ29kZSBOb2RlIHRyYW5zZm9ybXMuXG4gKlxuICogSW1wbGVtZW50YXRpb25zIE1VU1QgZW5mb3JjZSB0aGUgQ29kZSBOb2RlIHJlc3RyaWN0aW9ucyAowqcyMi40KTpcbiAqIG5vIHN5c3RlbSBBUEkgYWNjZXNzLCBzdGF0aWMgdmFsaWRhdGlvbiwgcGxhY2Vob2xkZXIgcmVzb2x1dGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb2RlU2FuZGJveEV2YWx1YXRvciB7XG4gIC8qKlxuICAgKiBFdmFsdWF0ZXMgdGhlIGdpdmVuIGNvZGUgaW4gYSByZXN0cmljdGVkIHNhbmRib3ggYW5kIHJldHVybnMgdGhlIHJlc3VsdC5cbiAgICpcbiAgICogRm9yIGNvbmRpdGlvbnMsIHRoZSBjb2RlIGlzIGV4cGVjdGVkIHRvIHJldHVybiBhIGJvb2xlYW4uXG4gICAqIEZvciBDb2RlIE5vZGUgdHJhbnNmb3JtcywgdGhlIGNvZGUgbWF5IHJldHVybiBhbnkgdmFsdWUuXG4gICAqXG4gICAqIEBwYXJhbSBjdHggLSBUaGUgc2FuZGJveCBjb250ZXh0IGNvbnRhaW5pbmcgY29kZSwgaW5wdXQsIGFuZCByZWZlcmVuY2VzLlxuICAgKiBAcmV0dXJucyBUaGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgdGhlIGNvZGUuXG4gICAqL1xuICBldmFsdWF0ZShjdHg6IENvZGVTYW5kYm94Q29udGV4dCk6IFByb21pc2U8dW5rbm93bj4gfCB1bmtub3duO1xufVxuIl19
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module integrations/graph/execution/GraphExecutionContext
|
|
3
|
+
* @summary Decaf Context for graph node execution.
|
|
4
|
+
* @description Extends Decaf's {@link Context} so node executors receive the same contextual plumbing as task handlers. Executors use the context to emit progress, log messages, and report state through the engine's observer pipeline.
|
|
5
|
+
*/
|
|
6
|
+
import { Context } from "@decaf-ts/core";
|
|
7
|
+
import { GraphExecutionEventType } from "./../../shared/constants.js";
|
|
8
|
+
/**
|
|
9
|
+
* Context passed to every graph node executor.
|
|
10
|
+
*
|
|
11
|
+
* Mirrors the `TaskEngine` / `TaskContext` pattern: the engine creates a
|
|
12
|
+
* `GraphExecutionContext` per node execution and passes it to
|
|
13
|
+
* `executor.execute(inputs, context)`. The executor uses `context.progress(...)`
|
|
14
|
+
* and `context.log(...)` to report intermediate state.
|
|
15
|
+
*/
|
|
16
|
+
export class GraphExecutionContext extends Context {
|
|
17
|
+
/**
|
|
18
|
+
* @param runId - Unique identifier for the current execution run.
|
|
19
|
+
* @param parentRunId - Run id of the parent execution (for nested loop bodies).
|
|
20
|
+
* @param workflow - The workflow definition being executed.
|
|
21
|
+
* @param node - The node definition being executed.
|
|
22
|
+
* @param path - Dotted path from the workflow root to this node.
|
|
23
|
+
* @param emitFn - Callback invoked when an event is emitted from this context.
|
|
24
|
+
* @param metadata - Free-form metadata attached to this context.
|
|
25
|
+
*/
|
|
26
|
+
constructor(runId, parentRunId, workflow, node, path, emitFn, metadata = {}) {
|
|
27
|
+
super();
|
|
28
|
+
this.runId = runId;
|
|
29
|
+
this.parentRunId = parentRunId;
|
|
30
|
+
this.workflow = workflow;
|
|
31
|
+
this.node = node;
|
|
32
|
+
this.path = path;
|
|
33
|
+
this.emitFn = emitFn;
|
|
34
|
+
this.metadata = metadata;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Emits a partial graph execution event. The engine fills in runId,
|
|
38
|
+
* parentRunId, workflowId, nodeId, and path automatically.
|
|
39
|
+
*/
|
|
40
|
+
async emit(event) {
|
|
41
|
+
await this.emitFn({
|
|
42
|
+
...event,
|
|
43
|
+
runId: this.runId,
|
|
44
|
+
parentRunId: this.parentRunId,
|
|
45
|
+
workflowId: this.workflow.name,
|
|
46
|
+
nodeId: this.node.name,
|
|
47
|
+
path: event.path ?? this.path,
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Emits a `NODE_OUTPUT` event with the given payload, useful for reporting
|
|
52
|
+
* intermediate progress from within a node executor.
|
|
53
|
+
*/
|
|
54
|
+
async progress(payload) {
|
|
55
|
+
await this.emit({
|
|
56
|
+
type: GraphExecutionEventType.NODE_OUTPUT,
|
|
57
|
+
payload,
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Emits a `NODE_OUTPUT` event with a structured `{ message, payload }` shape
|
|
62
|
+
* so executors can log human-readable messages.
|
|
63
|
+
*/
|
|
64
|
+
async log(message, payload) {
|
|
65
|
+
await this.emit({
|
|
66
|
+
type: GraphExecutionEventType.NODE_OUTPUT,
|
|
67
|
+
payload: {
|
|
68
|
+
message,
|
|
69
|
+
payload,
|
|
70
|
+
},
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhFeGVjdXRpb25Db250ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2dyYXBoL2VuZ2luZS9leGVjdXRpb24vR3JhcGhFeGVjdXRpb25Db250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFDSCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFNekMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLG9DQUErQjtBQU1qRTs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxPQUFPLHFCQUFzQixTQUFRLE9BQU87SUFDaEQ7Ozs7Ozs7O09BUUc7SUFDSCxZQUNXLEtBQWlCLEVBQ2pCLFdBQW1DLEVBQ25DLFFBQWlDLEVBQ2pDLElBQXlCLEVBQ3pCLElBQWMsRUFDTixNQUE4RCxFQUN0RSxXQUFvQyxFQUFFO1FBRS9DLEtBQUssRUFBRSxDQUFDO1FBUkMsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQUNqQixnQkFBVyxHQUFYLFdBQVcsQ0FBd0I7UUFDbkMsYUFBUSxHQUFSLFFBQVEsQ0FBeUI7UUFDakMsU0FBSSxHQUFKLElBQUksQ0FBcUI7UUFDekIsU0FBSSxHQUFKLElBQUksQ0FBVTtRQUNOLFdBQU0sR0FBTixNQUFNLENBQXdEO1FBQ3RFLGFBQVEsR0FBUixRQUFRLENBQThCO0lBR2pELENBQUM7SUFFRDs7O09BR0c7SUFDSCxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQW1DO1FBQzVDLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUNoQixHQUFHLEtBQUs7WUFDUixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQzdCLFVBQVUsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUk7WUFDOUIsTUFBTSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTtZQUN0QixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSTtTQUM5QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFnQjtRQUM3QixNQUFNLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDZCxJQUFJLEVBQUUsdUJBQXVCLENBQUMsV0FBVztZQUN6QyxPQUFPO1NBQ1IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBZSxFQUFFLE9BQWlCO1FBQzFDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQztZQUNkLElBQUksRUFBRSx1QkFBdUIsQ0FBQyxXQUFXO1lBQ3pDLE9BQU8sRUFBRTtnQkFDUCxPQUFPO2dCQUNQLE9BQU87YUFDUjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBpbnRlZ3JhdGlvbnMvZ3JhcGgvZXhlY3V0aW9uL0dyYXBoRXhlY3V0aW9uQ29udGV4dFxuICogQHN1bW1hcnkgRGVjYWYgQ29udGV4dCBmb3IgZ3JhcGggbm9kZSBleGVjdXRpb24uXG4gKiBAZGVzY3JpcHRpb24gRXh0ZW5kcyBEZWNhZidzIHtAbGluayBDb250ZXh0fSBzbyBub2RlIGV4ZWN1dG9ycyByZWNlaXZlIHRoZSBzYW1lIGNvbnRleHR1YWwgcGx1bWJpbmcgYXMgdGFzayBoYW5kbGVycy4gRXhlY3V0b3JzIHVzZSB0aGUgY29udGV4dCB0byBlbWl0IHByb2dyZXNzLCBsb2cgbWVzc2FnZXMsIGFuZCByZXBvcnQgc3RhdGUgdGhyb3VnaCB0aGUgZW5naW5lJ3Mgb2JzZXJ2ZXIgcGlwZWxpbmUuXG4gKi9cbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB0eXBlIHtcbiAgR3JhcGhOb2RlRGVmaW5pdGlvbixcbiAgR3JhcGhXb3JrZmxvd0RlZmluaXRpb24sXG59IGZyb20gXCJAZGVjYWYtdHMvdWktZGVjb3JhdG9ycy9ncmFwaFwiO1xuXG5pbXBvcnQgeyBHcmFwaEV4ZWN1dGlvbkV2ZW50VHlwZSB9IGZyb20gXCIuLi8uLi9zaGFyZWQvY29uc3RhbnRzXCI7XG5pbXBvcnQgdHlwZSB7XG4gIEdyYXBoRXhlY3V0aW9uRXZlbnQsXG4gIEdyYXBoUnVuSWQsXG59IGZyb20gXCIuLi90eXBlc1wiO1xuXG4vKipcbiAqIENvbnRleHQgcGFzc2VkIHRvIGV2ZXJ5IGdyYXBoIG5vZGUgZXhlY3V0b3IuXG4gKlxuICogTWlycm9ycyB0aGUgYFRhc2tFbmdpbmVgIC8gYFRhc2tDb250ZXh0YCBwYXR0ZXJuOiB0aGUgZW5naW5lIGNyZWF0ZXMgYVxuICogYEdyYXBoRXhlY3V0aW9uQ29udGV4dGAgcGVyIG5vZGUgZXhlY3V0aW9uIGFuZCBwYXNzZXMgaXQgdG9cbiAqIGBleGVjdXRvci5leGVjdXRlKGlucHV0cywgY29udGV4dClgLiBUaGUgZXhlY3V0b3IgdXNlcyBgY29udGV4dC5wcm9ncmVzcyguLi4pYFxuICogYW5kIGBjb250ZXh0LmxvZyguLi4pYCB0byByZXBvcnQgaW50ZXJtZWRpYXRlIHN0YXRlLlxuICovXG5leHBvcnQgY2xhc3MgR3JhcGhFeGVjdXRpb25Db250ZXh0IGV4dGVuZHMgQ29udGV4dCB7XG4gIC8qKlxuICAgKiBAcGFyYW0gcnVuSWQgLSBVbmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIGN1cnJlbnQgZXhlY3V0aW9uIHJ1bi5cbiAgICogQHBhcmFtIHBhcmVudFJ1bklkIC0gUnVuIGlkIG9mIHRoZSBwYXJlbnQgZXhlY3V0aW9uIChmb3IgbmVzdGVkIGxvb3AgYm9kaWVzKS5cbiAgICogQHBhcmFtIHdvcmtmbG93IC0gVGhlIHdvcmtmbG93IGRlZmluaXRpb24gYmVpbmcgZXhlY3V0ZWQuXG4gICAqIEBwYXJhbSBub2RlIC0gVGhlIG5vZGUgZGVmaW5pdGlvbiBiZWluZyBleGVjdXRlZC5cbiAgICogQHBhcmFtIHBhdGggLSBEb3R0ZWQgcGF0aCBmcm9tIHRoZSB3b3JrZmxvdyByb290IHRvIHRoaXMgbm9kZS5cbiAgICogQHBhcmFtIGVtaXRGbiAtIENhbGxiYWNrIGludm9rZWQgd2hlbiBhbiBldmVudCBpcyBlbWl0dGVkIGZyb20gdGhpcyBjb250ZXh0LlxuICAgKiBAcGFyYW0gbWV0YWRhdGEgLSBGcmVlLWZvcm0gbWV0YWRhdGEgYXR0YWNoZWQgdG8gdGhpcyBjb250ZXh0LlxuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgcmVhZG9ubHkgcnVuSWQ6IEdyYXBoUnVuSWQsXG4gICAgcmVhZG9ubHkgcGFyZW50UnVuSWQ6IEdyYXBoUnVuSWQgfCB1bmRlZmluZWQsXG4gICAgcmVhZG9ubHkgd29ya2Zsb3c6IEdyYXBoV29ya2Zsb3dEZWZpbml0aW9uLFxuICAgIHJlYWRvbmx5IG5vZGU6IEdyYXBoTm9kZURlZmluaXRpb24sXG4gICAgcmVhZG9ubHkgcGF0aDogc3RyaW5nW10sXG4gICAgcHJpdmF0ZSByZWFkb25seSBlbWl0Rm46IChldmVudDogUGFydGlhbDxHcmFwaEV4ZWN1dGlvbkV2ZW50PikgPT4gUHJvbWlzZTx2b2lkPixcbiAgICByZWFkb25seSBtZXRhZGF0YTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7fVxuICApIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIEVtaXRzIGEgcGFydGlhbCBncmFwaCBleGVjdXRpb24gZXZlbnQuIFRoZSBlbmdpbmUgZmlsbHMgaW4gcnVuSWQsXG4gICAqIHBhcmVudFJ1bklkLCB3b3JrZmxvd0lkLCBub2RlSWQsIGFuZCBwYXRoIGF1dG9tYXRpY2FsbHkuXG4gICAqL1xuICBhc3luYyBlbWl0KGV2ZW50OiBQYXJ0aWFsPEdyYXBoRXhlY3V0aW9uRXZlbnQ+KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5lbWl0Rm4oe1xuICAgICAgLi4uZXZlbnQsXG4gICAgICBydW5JZDogdGhpcy5ydW5JZCxcbiAgICAgIHBhcmVudFJ1bklkOiB0aGlzLnBhcmVudFJ1bklkLFxuICAgICAgd29ya2Zsb3dJZDogdGhpcy53b3JrZmxvdy5uYW1lLFxuICAgICAgbm9kZUlkOiB0aGlzLm5vZGUubmFtZSxcbiAgICAgIHBhdGg6IGV2ZW50LnBhdGggPz8gdGhpcy5wYXRoLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEVtaXRzIGEgYE5PREVfT1VUUFVUYCBldmVudCB3aXRoIHRoZSBnaXZlbiBwYXlsb2FkLCB1c2VmdWwgZm9yIHJlcG9ydGluZ1xuICAgKiBpbnRlcm1lZGlhdGUgcHJvZ3Jlc3MgZnJvbSB3aXRoaW4gYSBub2RlIGV4ZWN1dG9yLlxuICAgKi9cbiAgYXN5bmMgcHJvZ3Jlc3MocGF5bG9hZDogdW5rbm93bik6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuZW1pdCh7XG4gICAgICB0eXBlOiBHcmFwaEV4ZWN1dGlvbkV2ZW50VHlwZS5OT0RFX09VVFBVVCxcbiAgICAgIHBheWxvYWQsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogRW1pdHMgYSBgTk9ERV9PVVRQVVRgIGV2ZW50IHdpdGggYSBzdHJ1Y3R1cmVkIGB7IG1lc3NhZ2UsIHBheWxvYWQgfWAgc2hhcGVcbiAgICogc28gZXhlY3V0b3JzIGNhbiBsb2cgaHVtYW4tcmVhZGFibGUgbWVzc2FnZXMuXG4gICAqL1xuICBhc3luYyBsb2cobWVzc2FnZTogc3RyaW5nLCBwYXlsb2FkPzogdW5rbm93bik6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuZW1pdCh7XG4gICAgICB0eXBlOiBHcmFwaEV4ZWN1dGlvbkV2ZW50VHlwZS5OT0RFX09VVFBVVCxcbiAgICAgIHBheWxvYWQ6IHtcbiAgICAgICAgbWVzc2FnZSxcbiAgICAgICAgcGF5bG9hZCxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|