@decaf-ts/integrations 0.10.4 → 0.10.8
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 +1 -1
- package/docker/minio-compose.yml +9 -7
- package/jest.config.cjs +2 -0
- package/lib/cjs/blob/s3/S3BlobStoreService.cjs +7 -4
- package/lib/cjs/blob/s3/S3BlobStoreService.cjs.map +1 -1
- package/lib/cjs/graph/engine/catalog/GraphBuiltInRegistrations.cjs +12 -73
- package/lib/cjs/graph/engine/catalog/GraphBuiltInRegistrations.cjs.map +1 -1
- package/lib/cjs/graph/engine/execution/GraphExecutionContext.cjs +5 -1
- package/lib/cjs/graph/engine/execution/GraphExecutionContext.cjs.map +1 -1
- package/lib/cjs/graph/engine/execution/GraphExecutionEngine.cjs +66 -1
- package/lib/cjs/graph/engine/execution/GraphExecutionEngine.cjs.map +1 -1
- package/lib/cjs/graph/engine/execution/GraphExecutionFrame.cjs +16 -0
- package/lib/cjs/graph/engine/execution/GraphExecutionFrame.cjs.map +1 -1
- package/lib/cjs/graph/engine/execution/index.cjs +0 -4
- package/lib/cjs/graph/engine/execution/index.cjs.map +1 -1
- package/lib/cjs/graph/engine/index.cjs +0 -7
- package/lib/cjs/graph/engine/index.cjs.map +1 -1
- package/lib/cjs/graph/engine/loops/index.cjs +0 -3
- package/lib/cjs/graph/engine/loops/index.cjs.map +1 -1
- package/lib/cjs/graph/engine/validation/GraphLooseNodeValidation.cjs +36 -0
- package/lib/cjs/graph/engine/validation/GraphLooseNodeValidation.cjs.map +1 -0
- package/lib/cjs/graph/engine/validation/GraphParameterValidator.cjs +36 -3
- package/lib/cjs/graph/engine/validation/GraphParameterValidator.cjs.map +1 -1
- package/lib/cjs/graph/engine/validation/GraphWorkflowDocumentValidator.cjs +32 -1
- package/lib/cjs/graph/engine/validation/GraphWorkflowDocumentValidator.cjs.map +1 -1
- package/lib/cjs/graph/engine/validation/index.cjs +1 -0
- package/lib/cjs/graph/engine/validation/index.cjs.map +1 -1
- package/lib/cjs/graph/nodes/agents/agent.cjs +118 -0
- package/lib/cjs/graph/nodes/agents/agent.cjs.map +1 -0
- package/lib/cjs/graph/nodes/base.cjs +61 -0
- package/lib/cjs/graph/nodes/base.cjs.map +1 -0
- package/lib/cjs/graph/nodes/boundary/input-value.cjs +59 -0
- package/lib/cjs/graph/nodes/boundary/input-value.cjs.map +1 -0
- package/lib/cjs/graph/nodes/flow-control/break.cjs +71 -0
- package/lib/cjs/graph/nodes/flow-control/break.cjs.map +1 -0
- package/lib/cjs/graph/nodes/flow-control/error-boundary.cjs +72 -0
- package/lib/cjs/graph/nodes/flow-control/error-boundary.cjs.map +1 -0
- package/lib/cjs/graph/nodes/flow-control/human-approval.cjs +80 -0
- package/lib/cjs/graph/nodes/flow-control/human-approval.cjs.map +1 -0
- package/lib/cjs/graph/nodes/flow-control/if.cjs +82 -0
- package/lib/cjs/graph/nodes/flow-control/if.cjs.map +1 -0
- package/lib/cjs/graph/nodes/flow-control/parallel.cjs +69 -0
- package/lib/cjs/graph/nodes/flow-control/parallel.cjs.map +1 -0
- package/lib/cjs/graph/nodes/flow-control/switch.cjs +190 -0
- package/lib/cjs/graph/nodes/flow-control/switch.cjs.map +1 -0
- package/lib/cjs/graph/nodes/index.cjs +162 -0
- package/lib/cjs/graph/nodes/index.cjs.map +1 -0
- package/lib/cjs/graph/nodes/loops/foreach.cjs +189 -0
- package/lib/cjs/graph/nodes/loops/foreach.cjs.map +1 -0
- package/lib/cjs/graph/nodes/loops/loop-metadata.cjs +48 -0
- package/lib/cjs/graph/nodes/loops/loop-metadata.cjs.map +1 -0
- package/lib/cjs/graph/nodes/loops/until.cjs +136 -0
- package/lib/cjs/graph/nodes/loops/until.cjs.map +1 -0
- package/lib/cjs/graph/nodes/loops/while.cjs +133 -0
- package/lib/cjs/graph/nodes/loops/while.cjs.map +1 -0
- package/lib/cjs/graph/nodes/manifests.cjs +342 -0
- package/lib/cjs/graph/nodes/manifests.cjs.map +1 -0
- package/lib/cjs/graph/nodes/triggers/chat.cjs +82 -0
- package/lib/cjs/graph/nodes/triggers/chat.cjs.map +1 -0
- package/lib/cjs/graph/nodes/triggers/event.cjs +63 -0
- package/lib/cjs/graph/nodes/triggers/event.cjs.map +1 -0
- package/lib/cjs/graph/nodes/triggers/form.cjs +64 -0
- package/lib/cjs/graph/nodes/triggers/form.cjs.map +1 -0
- package/lib/cjs/graph/nodes/triggers/manual.cjs +65 -0
- package/lib/cjs/graph/nodes/triggers/manual.cjs.map +1 -0
- package/lib/cjs/graph/nodes/triggers/schedule.cjs +65 -0
- package/lib/cjs/graph/nodes/triggers/schedule.cjs.map +1 -0
- package/lib/cjs/graph/nodes/triggers/webhook.cjs +67 -0
- package/lib/cjs/graph/nodes/triggers/webhook.cjs.map +1 -0
- package/lib/cjs/graph/nodes/utility/code.cjs +139 -0
- package/lib/cjs/graph/nodes/utility/code.cjs.map +1 -0
- package/lib/cjs/graph/nodes/utility/delay.cjs +66 -0
- package/lib/cjs/graph/nodes/utility/delay.cjs.map +1 -0
- package/lib/cjs/graph/nodes/utility/log.cjs +70 -0
- package/lib/cjs/graph/nodes/utility/log.cjs.map +1 -0
- package/lib/cjs/graph/nodes/utility/map.cjs +69 -0
- package/lib/cjs/graph/nodes/utility/map.cjs.map +1 -0
- package/lib/cjs/graph/nodes/utility/merge.cjs +67 -0
- package/lib/cjs/graph/nodes/utility/merge.cjs.map +1 -0
- package/lib/cjs/graph/nodes/utility/return.cjs +69 -0
- package/lib/cjs/graph/nodes/utility/return.cjs.map +1 -0
- package/lib/cjs/graph/nodes/utility/utility-log.cjs +77 -0
- package/lib/cjs/graph/nodes/utility/utility-log.cjs.map +1 -0
- package/lib/cjs/index.cjs +3 -3
- package/lib/cjs/nest/graph/GraphExecutorRegistryFactory.cjs +8 -4
- package/lib/cjs/nest/graph/GraphExecutorRegistryFactory.cjs.map +1 -1
- package/lib/cjs/nest/graph/GraphWorkflowBoundaryValidation.cjs +2 -0
- package/lib/cjs/nest/graph/GraphWorkflowBoundaryValidation.cjs.map +1 -1
- package/lib/cjs/nest/graph/GraphWorkflowService.cjs +1 -13
- package/lib/cjs/nest/graph/GraphWorkflowService.cjs.map +1 -1
- package/lib/esm/blob/s3/S3BlobStoreService.js +7 -4
- package/lib/esm/blob/s3/S3BlobStoreService.js.map +1 -1
- package/lib/esm/graph/engine/catalog/GraphBuiltInRegistrations.js +11 -72
- package/lib/esm/graph/engine/catalog/GraphBuiltInRegistrations.js.map +1 -1
- package/lib/esm/graph/engine/execution/GraphExecutionContext.js +5 -1
- package/lib/esm/graph/engine/execution/GraphExecutionContext.js.map +1 -1
- package/lib/esm/graph/engine/execution/GraphExecutionEngine.js +66 -1
- package/lib/esm/graph/engine/execution/GraphExecutionEngine.js.map +1 -1
- package/lib/esm/graph/engine/execution/GraphExecutionFrame.js +16 -0
- package/lib/esm/graph/engine/execution/GraphExecutionFrame.js.map +1 -1
- package/lib/esm/graph/engine/execution/index.js +0 -4
- package/lib/esm/graph/engine/execution/index.js.map +1 -1
- package/lib/esm/graph/engine/index.js +0 -7
- package/lib/esm/graph/engine/index.js.map +1 -1
- package/lib/esm/graph/engine/loops/index.js +0 -3
- package/lib/esm/graph/engine/loops/index.js.map +1 -1
- package/lib/esm/graph/engine/validation/GraphLooseNodeValidation.js +32 -0
- package/lib/esm/graph/engine/validation/GraphLooseNodeValidation.js.map +1 -0
- package/lib/esm/graph/engine/validation/GraphParameterValidator.js +36 -3
- package/lib/esm/graph/engine/validation/GraphParameterValidator.js.map +1 -1
- package/lib/esm/graph/engine/validation/GraphWorkflowDocumentValidator.js +32 -1
- package/lib/esm/graph/engine/validation/GraphWorkflowDocumentValidator.js.map +1 -1
- package/lib/esm/graph/engine/validation/index.js +1 -0
- package/lib/esm/graph/engine/validation/index.js.map +1 -1
- package/lib/esm/graph/nodes/agents/agent.js +109 -0
- package/lib/esm/graph/nodes/agents/agent.js.map +1 -0
- package/lib/esm/graph/nodes/base.js +56 -0
- package/lib/esm/graph/nodes/base.js.map +1 -0
- package/lib/esm/graph/nodes/boundary/input-value.js +50 -0
- package/lib/esm/graph/nodes/boundary/input-value.js.map +1 -0
- package/lib/esm/graph/nodes/flow-control/break.js +62 -0
- package/lib/esm/graph/nodes/flow-control/break.js.map +1 -0
- package/lib/esm/graph/nodes/flow-control/error-boundary.js +63 -0
- package/lib/esm/graph/nodes/flow-control/error-boundary.js.map +1 -0
- package/lib/esm/graph/nodes/flow-control/human-approval.js +71 -0
- package/lib/esm/graph/nodes/flow-control/human-approval.js.map +1 -0
- package/lib/esm/graph/nodes/flow-control/if.js +73 -0
- package/lib/esm/graph/nodes/flow-control/if.js.map +1 -0
- package/lib/esm/graph/nodes/flow-control/parallel.js +60 -0
- package/lib/esm/graph/nodes/flow-control/parallel.js.map +1 -0
- package/lib/esm/graph/nodes/flow-control/switch.js +181 -0
- package/lib/esm/graph/nodes/flow-control/switch.js.map +1 -0
- package/lib/esm/graph/nodes/index.js +144 -0
- package/lib/esm/graph/nodes/index.js.map +1 -0
- package/lib/esm/graph/nodes/loops/foreach.js +180 -0
- package/lib/esm/graph/nodes/loops/foreach.js.map +1 -0
- package/lib/esm/graph/nodes/loops/loop-metadata.js +44 -0
- package/lib/esm/graph/nodes/loops/loop-metadata.js.map +1 -0
- package/lib/esm/graph/nodes/loops/until.js +127 -0
- package/lib/esm/graph/nodes/loops/until.js.map +1 -0
- package/lib/esm/graph/nodes/loops/while.js +124 -0
- package/lib/esm/graph/nodes/loops/while.js.map +1 -0
- package/lib/esm/graph/nodes/manifests.js +338 -0
- package/lib/esm/graph/nodes/manifests.js.map +1 -0
- package/lib/esm/graph/nodes/triggers/chat.js +73 -0
- package/lib/esm/graph/nodes/triggers/chat.js.map +1 -0
- package/lib/esm/graph/nodes/triggers/event.js +54 -0
- package/lib/esm/graph/nodes/triggers/event.js.map +1 -0
- package/lib/esm/graph/nodes/triggers/form.js +55 -0
- package/lib/esm/graph/nodes/triggers/form.js.map +1 -0
- package/lib/esm/graph/nodes/triggers/manual.js +56 -0
- package/lib/esm/graph/nodes/triggers/manual.js.map +1 -0
- package/lib/esm/graph/nodes/triggers/schedule.js +56 -0
- package/lib/esm/graph/nodes/triggers/schedule.js.map +1 -0
- package/lib/esm/graph/nodes/triggers/webhook.js +58 -0
- package/lib/esm/graph/nodes/triggers/webhook.js.map +1 -0
- package/lib/esm/graph/nodes/utility/code.js +130 -0
- package/lib/esm/graph/nodes/utility/code.js.map +1 -0
- package/lib/esm/graph/nodes/utility/delay.js +57 -0
- package/lib/esm/graph/nodes/utility/delay.js.map +1 -0
- package/lib/esm/graph/nodes/utility/log.js +61 -0
- package/lib/esm/graph/nodes/utility/log.js.map +1 -0
- package/lib/esm/graph/nodes/utility/map.js +60 -0
- package/lib/esm/graph/nodes/utility/map.js.map +1 -0
- package/lib/esm/graph/nodes/utility/merge.js +58 -0
- package/lib/esm/graph/nodes/utility/merge.js.map +1 -0
- package/lib/esm/graph/nodes/utility/return.js +60 -0
- package/lib/esm/graph/nodes/utility/return.js.map +1 -0
- package/lib/esm/graph/nodes/utility/utility-log.js +68 -0
- package/lib/esm/graph/nodes/utility/utility-log.js.map +1 -0
- package/lib/esm/index.js +3 -3
- package/lib/esm/nest/graph/GraphExecutorRegistryFactory.js +8 -4
- package/lib/esm/nest/graph/GraphExecutorRegistryFactory.js.map +1 -1
- package/lib/esm/nest/graph/GraphWorkflowBoundaryValidation.js +2 -0
- package/lib/esm/nest/graph/GraphWorkflowBoundaryValidation.js.map +1 -1
- package/lib/esm/nest/graph/GraphWorkflowService.js +2 -14
- package/lib/esm/nest/graph/GraphWorkflowService.js.map +1 -1
- package/lib/types/graph/engine/catalog/GraphBuiltInRegistrations.d.cts +4 -7
- package/lib/types/graph/engine/catalog/GraphBuiltInRegistrations.d.mts +4 -7
- package/lib/types/graph/engine/execution/GraphExecutionContext.d.cts +6 -1
- package/lib/types/graph/engine/execution/GraphExecutionContext.d.mts +6 -1
- package/lib/types/graph/engine/execution/GraphExecutionEngine.d.cts +27 -0
- package/lib/types/graph/engine/execution/GraphExecutionEngine.d.mts +27 -0
- package/lib/types/graph/engine/execution/GraphExecutionFrame.d.cts +12 -0
- package/lib/types/graph/engine/execution/GraphExecutionFrame.d.mts +12 -0
- package/lib/types/graph/engine/execution/index.d.cts +0 -4
- package/lib/types/graph/engine/execution/index.d.mts +0 -4
- package/lib/types/graph/engine/index.d.cts +0 -7
- package/lib/types/graph/engine/index.d.mts +0 -7
- package/lib/types/graph/engine/loops/index.d.cts +0 -3
- package/lib/types/graph/engine/loops/index.d.mts +0 -3
- package/lib/types/graph/engine/validation/GraphLooseNodeValidation.d.cts +21 -0
- package/lib/types/graph/engine/validation/GraphLooseNodeValidation.d.mts +21 -0
- package/lib/types/graph/engine/validation/GraphParameterValidator.d.cts +25 -1
- package/lib/types/graph/engine/validation/GraphParameterValidator.d.mts +25 -1
- package/lib/types/graph/engine/validation/index.d.cts +1 -0
- package/lib/types/graph/engine/validation/index.d.mts +1 -0
- package/lib/types/graph/nodes/agents/agent.d.cts +31 -0
- package/lib/types/graph/nodes/agents/agent.d.mts +31 -0
- package/lib/types/graph/nodes/base.d.cts +58 -0
- package/lib/types/graph/nodes/base.d.mts +58 -0
- package/lib/types/graph/nodes/boundary/input-value.d.cts +6 -0
- package/lib/types/graph/nodes/boundary/input-value.d.mts +6 -0
- package/lib/types/graph/nodes/flow-control/break.d.cts +8 -0
- package/lib/types/graph/nodes/flow-control/break.d.mts +8 -0
- package/lib/types/graph/nodes/flow-control/error-boundary.d.cts +8 -0
- package/lib/types/graph/nodes/flow-control/error-boundary.d.mts +8 -0
- package/lib/types/graph/nodes/flow-control/human-approval.d.cts +8 -0
- package/lib/types/graph/nodes/flow-control/human-approval.d.mts +8 -0
- package/lib/types/graph/nodes/flow-control/if.d.cts +8 -0
- package/lib/types/graph/nodes/flow-control/if.d.mts +8 -0
- package/lib/types/graph/nodes/flow-control/parallel.d.cts +7 -0
- package/lib/types/graph/nodes/flow-control/parallel.d.mts +7 -0
- package/lib/types/graph/nodes/flow-control/switch.d.cts +23 -0
- package/lib/types/graph/nodes/flow-control/switch.d.mts +23 -0
- package/lib/types/graph/nodes/index.d.cts +93 -0
- package/lib/types/graph/nodes/index.d.mts +93 -0
- package/lib/types/graph/nodes/loops/foreach.d.cts +11 -0
- package/lib/types/graph/nodes/loops/foreach.d.mts +11 -0
- package/lib/types/graph/nodes/loops/loop-metadata.d.cts +20 -0
- package/lib/types/graph/nodes/loops/loop-metadata.d.mts +20 -0
- package/lib/types/graph/nodes/loops/until.d.cts +8 -0
- package/lib/types/graph/nodes/loops/until.d.mts +8 -0
- package/lib/types/graph/nodes/loops/while.d.cts +8 -0
- package/lib/types/graph/nodes/loops/while.d.mts +8 -0
- package/lib/types/graph/nodes/manifests.d.cts +62 -0
- package/lib/types/graph/nodes/manifests.d.mts +62 -0
- package/lib/types/graph/nodes/triggers/chat.d.cts +8 -0
- package/lib/types/graph/nodes/triggers/chat.d.mts +8 -0
- package/lib/types/graph/nodes/triggers/event.d.cts +6 -0
- package/lib/types/graph/nodes/triggers/event.d.mts +6 -0
- package/lib/types/graph/nodes/triggers/form.d.cts +6 -0
- package/lib/types/graph/nodes/triggers/form.d.mts +6 -0
- package/lib/types/graph/nodes/triggers/manual.d.cts +6 -0
- package/lib/types/graph/nodes/triggers/manual.d.mts +6 -0
- package/lib/types/graph/nodes/triggers/schedule.d.cts +6 -0
- package/lib/types/graph/nodes/triggers/schedule.d.mts +6 -0
- package/lib/types/graph/nodes/triggers/webhook.d.cts +6 -0
- package/lib/types/graph/nodes/triggers/webhook.d.mts +6 -0
- package/lib/types/graph/nodes/utility/code.d.cts +36 -0
- package/lib/types/graph/nodes/utility/code.d.mts +36 -0
- package/lib/types/graph/nodes/utility/delay.d.cts +7 -0
- package/lib/types/graph/nodes/utility/delay.d.mts +7 -0
- package/lib/types/graph/nodes/utility/log.d.cts +8 -0
- package/lib/types/graph/nodes/utility/log.d.mts +8 -0
- package/lib/types/graph/nodes/utility/map.d.cts +7 -0
- package/lib/types/graph/nodes/utility/map.d.mts +7 -0
- package/lib/types/graph/nodes/utility/merge.d.cts +7 -0
- package/lib/types/graph/nodes/utility/merge.d.mts +7 -0
- package/lib/types/graph/nodes/utility/return.d.cts +7 -0
- package/lib/types/graph/nodes/utility/return.d.mts +7 -0
- package/lib/types/graph/nodes/utility/utility-log.d.cts +10 -0
- package/lib/types/graph/nodes/utility/utility-log.d.mts +10 -0
- package/lib/types/index.d.cts +2 -2
- package/lib/types/index.d.mts +2 -2
- package/lib/types/nest/graph/GraphExecutorRegistryFactory.d.cts +5 -3
- package/lib/types/nest/graph/GraphExecutorRegistryFactory.d.mts +5 -3
- package/package.json +1 -1
- package/lib/cjs/graph/engine/execution/BreakGraphNodeExecutor.cjs +0 -24
- package/lib/cjs/graph/engine/execution/BreakGraphNodeExecutor.cjs.map +0 -1
- package/lib/cjs/graph/engine/execution/CodeGraphNodeExecutor.cjs +0 -103
- package/lib/cjs/graph/engine/execution/CodeGraphNodeExecutor.cjs.map +0 -1
- package/lib/cjs/graph/engine/execution/LogGraphNodeExecutor.cjs +0 -47
- package/lib/cjs/graph/engine/execution/LogGraphNodeExecutor.cjs.map +0 -1
- package/lib/cjs/graph/engine/execution/SwitchGraphNodeExecutor.cjs +0 -121
- package/lib/cjs/graph/engine/execution/SwitchGraphNodeExecutor.cjs.map +0 -1
- package/lib/cjs/graph/engine/loops/ForeachGraphNodeExecutor.cjs +0 -146
- package/lib/cjs/graph/engine/loops/ForeachGraphNodeExecutor.cjs.map +0 -1
- package/lib/cjs/graph/engine/loops/UntilGraphNodeExecutor.cjs +0 -102
- package/lib/cjs/graph/engine/loops/UntilGraphNodeExecutor.cjs.map +0 -1
- package/lib/cjs/graph/engine/loops/WhileGraphNodeExecutor.cjs +0 -103
- package/lib/cjs/graph/engine/loops/WhileGraphNodeExecutor.cjs.map +0 -1
- package/lib/esm/graph/engine/execution/BreakGraphNodeExecutor.js +0 -19
- package/lib/esm/graph/engine/execution/BreakGraphNodeExecutor.js.map +0 -1
- package/lib/esm/graph/engine/execution/CodeGraphNodeExecutor.js +0 -98
- package/lib/esm/graph/engine/execution/CodeGraphNodeExecutor.js.map +0 -1
- package/lib/esm/graph/engine/execution/LogGraphNodeExecutor.js +0 -42
- package/lib/esm/graph/engine/execution/LogGraphNodeExecutor.js.map +0 -1
- package/lib/esm/graph/engine/execution/SwitchGraphNodeExecutor.js +0 -116
- package/lib/esm/graph/engine/execution/SwitchGraphNodeExecutor.js.map +0 -1
- package/lib/esm/graph/engine/loops/ForeachGraphNodeExecutor.js +0 -141
- package/lib/esm/graph/engine/loops/ForeachGraphNodeExecutor.js.map +0 -1
- package/lib/esm/graph/engine/loops/UntilGraphNodeExecutor.js +0 -97
- package/lib/esm/graph/engine/loops/UntilGraphNodeExecutor.js.map +0 -1
- package/lib/esm/graph/engine/loops/WhileGraphNodeExecutor.js +0 -98
- package/lib/esm/graph/engine/loops/WhileGraphNodeExecutor.js.map +0 -1
- package/lib/types/graph/engine/execution/BreakGraphNodeExecutor.d.cts +0 -22
- package/lib/types/graph/engine/execution/BreakGraphNodeExecutor.d.mts +0 -22
- package/lib/types/graph/engine/execution/CodeGraphNodeExecutor.d.cts +0 -65
- package/lib/types/graph/engine/execution/CodeGraphNodeExecutor.d.mts +0 -65
- package/lib/types/graph/engine/execution/LogGraphNodeExecutor.d.cts +0 -25
- package/lib/types/graph/engine/execution/LogGraphNodeExecutor.d.mts +0 -25
- package/lib/types/graph/engine/execution/SwitchGraphNodeExecutor.d.cts +0 -43
- package/lib/types/graph/engine/execution/SwitchGraphNodeExecutor.d.mts +0 -43
- package/lib/types/graph/engine/loops/ForeachGraphNodeExecutor.d.cts +0 -35
- package/lib/types/graph/engine/loops/ForeachGraphNodeExecutor.d.mts +0 -35
- package/lib/types/graph/engine/loops/UntilGraphNodeExecutor.d.cts +0 -22
- package/lib/types/graph/engine/loops/UntilGraphNodeExecutor.d.mts +0 -22
- package/lib/types/graph/engine/loops/WhileGraphNodeExecutor.d.cts +0 -26
- package/lib/types/graph/engine/loops/WhileGraphNodeExecutor.d.mts +0 -26
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* @module integrations/graph/nodes/agents/agent
|
|
12
|
+
* @summary Production Agent node declaration.
|
|
13
|
+
* @description The Agent node is the primary AI agent entrypoint. It is a
|
|
14
|
+
* rectangular node with `@connection()` ports for its structural
|
|
15
|
+
* dependencies: `model` (the LLM), `memory` (the memory store), and
|
|
16
|
+
* `workspace` (the workspace/context). Connections are rendered on the
|
|
17
|
+
* bottom side of the node (DECAF-32 §21.3). Each connection category has a
|
|
18
|
+
* distinct color defined in the category style registry.
|
|
19
|
+
*
|
|
20
|
+
* The single `prompt` input accepts placeholder expressions (§22.4) such as
|
|
21
|
+
* `{{ $input.brief }}` or `{{ $node["Research"].output.summary }}` that are
|
|
22
|
+
* resolved at execution time by the placeholder compiler.
|
|
23
|
+
*/
|
|
24
|
+
import { model, required } from "@decaf-ts/decorator-validation";
|
|
25
|
+
import { uielement } from "@decaf-ts/ui-decorators";
|
|
26
|
+
import { connection, input, node, output } from "@decaf-ts/ui-decorators/graph";
|
|
27
|
+
import { GraphNode } from "./../base.js";
|
|
28
|
+
/**
|
|
29
|
+
* Agent node — an AI agent that orchestrates a model, memory, and workspace.
|
|
30
|
+
*
|
|
31
|
+
* The agent has:
|
|
32
|
+
* - `@input` port on the **left**: `prompt` (the task prompt; supports
|
|
33
|
+
* placeholder expressions like `{{ $input.something }}` per §22.4).
|
|
34
|
+
* - `@output` ports on the **right**: `response` (the agent's output), `actions`
|
|
35
|
+
* (any actions the agent decided to take).
|
|
36
|
+
* - `@connection` ports on the **bottom**: `model` (LLM), `memory` (memory
|
|
37
|
+
* store), `workspace` (workspace/context). Each connection has a distinct
|
|
38
|
+
* category color.
|
|
39
|
+
*
|
|
40
|
+
* The node is rectangular (not rounded) to visually distinguish it from
|
|
41
|
+
* regular processing nodes. The `color` and `icon` are omitted from `@node()`
|
|
42
|
+
* so they are resolved from the `"Agent"` category style.
|
|
43
|
+
*/
|
|
44
|
+
let AgentNode = class AgentNode extends GraphNode {
|
|
45
|
+
static execute(request) {
|
|
46
|
+
return {
|
|
47
|
+
response: `[Agent response] ${String(request.inputs["prompt"] ?? "")}`,
|
|
48
|
+
actions: [],
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
__decorate([
|
|
53
|
+
required(),
|
|
54
|
+
uielement("textarea", {
|
|
55
|
+
label: "Prompt",
|
|
56
|
+
placeholder: 'Enter task prompt. Supports placeholders like {{ $input.brief }} or {{ $node["Research"].output.summary }}',
|
|
57
|
+
}),
|
|
58
|
+
input({ handle: "prompt" }),
|
|
59
|
+
__metadata("design:type", String)
|
|
60
|
+
], AgentNode.prototype, "prompt", void 0);
|
|
61
|
+
__decorate([
|
|
62
|
+
required(),
|
|
63
|
+
uielement("textarea", { label: "Response", placeholder: "Agent response" }),
|
|
64
|
+
output({ handle: "response" }),
|
|
65
|
+
__metadata("design:type", String)
|
|
66
|
+
], AgentNode.prototype, "response", void 0);
|
|
67
|
+
__decorate([
|
|
68
|
+
required(),
|
|
69
|
+
uielement("textarea", {
|
|
70
|
+
label: "Actions",
|
|
71
|
+
placeholder: "Actions taken by the agent",
|
|
72
|
+
}),
|
|
73
|
+
output({ handle: "actions" }),
|
|
74
|
+
__metadata("design:type", Array)
|
|
75
|
+
], AgentNode.prototype, "actions", void 0);
|
|
76
|
+
__decorate([
|
|
77
|
+
connection({ category: "model", handle: "model" }),
|
|
78
|
+
__metadata("design:type", Object)
|
|
79
|
+
], AgentNode.prototype, "model", void 0);
|
|
80
|
+
__decorate([
|
|
81
|
+
connection({ category: "memory", handle: "memory" }),
|
|
82
|
+
__metadata("design:type", Object)
|
|
83
|
+
], AgentNode.prototype, "memory", void 0);
|
|
84
|
+
__decorate([
|
|
85
|
+
connection({ category: "workspace", handle: "workspace" }),
|
|
86
|
+
__metadata("design:type", Object)
|
|
87
|
+
], AgentNode.prototype, "workspace", void 0);
|
|
88
|
+
AgentNode = __decorate([
|
|
89
|
+
node("core.agent", {
|
|
90
|
+
kind: "core.agent",
|
|
91
|
+
category: "Agent",
|
|
92
|
+
// color and icon omitted — resolved from the "Agent" category style
|
|
93
|
+
width: 140,
|
|
94
|
+
height: 120,
|
|
95
|
+
labels: ["agent", "ai", "orchestrator"],
|
|
96
|
+
metadata: {
|
|
97
|
+
title: "Agent",
|
|
98
|
+
description: "AI agent that orchestrates a model, memory, and workspace to complete a task.",
|
|
99
|
+
shape: "rectangle",
|
|
100
|
+
},
|
|
101
|
+
}),
|
|
102
|
+
model()
|
|
103
|
+
], AgentNode);
|
|
104
|
+
export { AgentNode };
|
|
105
|
+
/**
|
|
106
|
+
* All built-in agent node constructors.
|
|
107
|
+
*/
|
|
108
|
+
export const GRAPH_AGENT_NODES = [AgentNode];
|
|
109
|
+
//# sourceMappingURL=agent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../../../src/graph/nodes/agents/agent.ts"],"names":[],"mappings":";;;;;;;;;AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,qBAAgB;AAMpC;;;;;;;;;;;;;;;GAeG;AAgBI,IAAM,SAAS,GAAf,MAAM,SAAU,SAAQ,SAAS;IACtC,MAAM,CAAC,OAAO,CAAC,OAAkC;QAC/C,OAAO;YACL,QAAQ,EAAE,oBAAoB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE;YACtE,OAAO,EAAE,EAAE;SACZ,CAAC;IACJ,CAAC;CAsCF,CAAA;AA3BC;IAPC,QAAQ,EAAE;IACV,SAAS,CAAC,UAAU,EAAE;QACrB,KAAK,EAAE,QAAQ;QACf,WAAW,EACT,4GAA4G;KAC/G,CAAC;IACD,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;;yCACZ;AAOhB;IAHC,QAAQ,EAAE;IACV,SAAS,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC;IAC3E,MAAM,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;;2CACb;AAQlB;IANC,QAAQ,EAAE;IACV,SAAS,CAAC,UAAU,EAAE;QACrB,KAAK,EAAE,SAAS;QAChB,WAAW,EAAE,4BAA4B;KAC1C,CAAC;IACD,MAAM,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;;0CACV;AAKpB;IADC,UAAU,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;;wCACnC;AAGhB;IADC,UAAU,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;;yCACpC;AAGjB;IADC,UAAU,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;;4CACvC;AA3CT,SAAS;IAfrB,IAAI,CAAC,YAAY,EAAE;QAClB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,OAAO;QACjB,oEAAoE;QACpE,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,GAAG;QACX,MAAM,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,cAAc,CAAC;QACvC,QAAQ,EAAE;YACR,KAAK,EAAE,OAAO;YACd,WAAW,EACT,+EAA+E;YACjF,KAAK,EAAE,WAAW;SACnB;KACF,CAAC;IACD,KAAK,EAAE;GACK,SAAS,CA4CrB;;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,SAAS,CAAU,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module integrations/graph/nodes/base
|
|
3
|
+
* @summary Base class for backend graph node declarations.
|
|
4
|
+
* @description `GraphNode` is the single authoritative backend representation of
|
|
5
|
+
* a built-in node kind (DECAF-50 §4.26 R2-1): the `@node`-decorated class
|
|
6
|
+
* carries both the published manifest metadata and the executable behaviour via
|
|
7
|
+
* `execute`. The catalogue derives each kind's executor from the class, so there
|
|
8
|
+
* is exactly one authority per node kind.
|
|
9
|
+
*/
|
|
10
|
+
import { Model } from "@decaf-ts/decorator-validation";
|
|
11
|
+
import { GraphExecutionError } from "./../engine/errors/GraphExecutionError.js";
|
|
12
|
+
/**
|
|
13
|
+
* Base class for the built-in backend node kinds.
|
|
14
|
+
*
|
|
15
|
+
* Extends `Model` so the `@node`/`@uielement` decorators and the manifest
|
|
16
|
+
* compiler keep working unchanged. Concrete kinds override `execute`; the default
|
|
17
|
+
* throws so a kind that forgets to implement behaviour fails fast rather than
|
|
18
|
+
* silently producing no output.
|
|
19
|
+
*/
|
|
20
|
+
export class GraphNode extends Model {
|
|
21
|
+
/**
|
|
22
|
+
* Executes the node's behaviour against the request inputs and run context.
|
|
23
|
+
*
|
|
24
|
+
* @param _request - The node execution request (inputs, parameters,
|
|
25
|
+
* credentials, metadata).
|
|
26
|
+
* @param _context - The run-scoped execution context.
|
|
27
|
+
* @returns The node's output values keyed by port name.
|
|
28
|
+
* @throws {GraphExecutionError} when the kind does not implement `execute`.
|
|
29
|
+
*/
|
|
30
|
+
static execute(
|
|
31
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
32
|
+
_request,
|
|
33
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
34
|
+
_context) {
|
|
35
|
+
throw new GraphExecutionError(`Graph node kind '${this.name}' does not implement execute`, "GRAPH_NODE_EXECUTE_NOT_IMPLEMENTED", { kind: this.name });
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Applies a metadata patch to this node class, returning the resulting
|
|
39
|
+
* ports, size, and data patches.
|
|
40
|
+
*
|
|
41
|
+
* The default implementation returns `null` (no changes). Concrete node
|
|
42
|
+
* kinds that support dynamic metadata override this to compute their own
|
|
43
|
+
* ports and size from the metadata — the caller (renderer) simply relays
|
|
44
|
+
* the result to the diagram model.
|
|
45
|
+
*
|
|
46
|
+
* @param _meta - The metadata patch (node-kind-specific, e.g.
|
|
47
|
+
* `SwitchNodeMetadata`).
|
|
48
|
+
* @returns The computed change, or `null` when the node kind does not
|
|
49
|
+
* support dynamic metadata.
|
|
50
|
+
*/
|
|
51
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
52
|
+
static applyMetadata(_meta) {
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=base.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../src/graph/nodes/base.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAOvD,OAAO,EAAE,mBAAmB,EAAE,kDAA6C;AAgB3E;;;;;;;GAOG;AACH,MAAM,OAAO,SAAU,SAAQ,KAAK;IAClC;;;;;;;;OAQG;IAEH,MAAM,CAAC,OAAO;IACZ,6DAA6D;IAC7D,QAAmC;IACnC,6DAA6D;IAC7D,QAA+B;QAE/B,MAAM,IAAI,mBAAmB,CAC3B,oBAAoB,IAAI,CAAC,IAAI,8BAA8B,EAC3D,oCAAoC,EACpC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CACpB,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,6DAA6D;IAC7D,MAAM,CAAC,aAAa,CAAC,KAAc;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* @module integrations/graph/nodes/boundary/input-value
|
|
12
|
+
* @summary Workflow input value boundary node declaration.
|
|
13
|
+
* @description Shared canvas node representing a workflow input value
|
|
14
|
+
* (decorator id `graph-input-value-node`), moved from the for-angular
|
|
15
|
+
* boundary nodes so both sides share the declaration. Reusable value node
|
|
16
|
+
* whose single `value` output may feed multiple targets.
|
|
17
|
+
*/
|
|
18
|
+
import { model } from "@decaf-ts/decorator-validation";
|
|
19
|
+
import { output, node } from "@decaf-ts/ui-decorators/graph";
|
|
20
|
+
import { GraphNode } from "./../base.js";
|
|
21
|
+
let GraphInputValueNode = class GraphInputValueNode extends GraphNode {
|
|
22
|
+
static execute(request) {
|
|
23
|
+
return { value: request.inputs["value"] ?? null };
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
__decorate([
|
|
27
|
+
output({
|
|
28
|
+
handle: "value",
|
|
29
|
+
connectionRules: {
|
|
30
|
+
allowMultiple: true,
|
|
31
|
+
},
|
|
32
|
+
}),
|
|
33
|
+
__metadata("design:type", Object)
|
|
34
|
+
], GraphInputValueNode.prototype, "value", void 0);
|
|
35
|
+
GraphInputValueNode = __decorate([
|
|
36
|
+
node("graph-input-value-node", {
|
|
37
|
+
kind: "value",
|
|
38
|
+
category: "Boundary",
|
|
39
|
+
color: "#0f766e",
|
|
40
|
+
icon: "ti-circle-plus",
|
|
41
|
+
labels: ["workflow", "input", "value"],
|
|
42
|
+
metadata: {
|
|
43
|
+
title: "Workflow input value",
|
|
44
|
+
description: "Reusable canvas value node representing a workflow input.",
|
|
45
|
+
},
|
|
46
|
+
}),
|
|
47
|
+
model()
|
|
48
|
+
], GraphInputValueNode);
|
|
49
|
+
export { GraphInputValueNode };
|
|
50
|
+
//# sourceMappingURL=input-value.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input-value.js","sourceRoot":"","sources":["../../../../../src/graph/nodes/boundary/input-value.ts"],"names":[],"mappings":";;;;;;;;;AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,qBAAgB;AAkB7B,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,SAAS;IAChD,MAAM,CAAC,OAAO,CAAC,OAAkC;QAC/C,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC;IACpD,CAAC;CASF,CAAA;AADC;IANC,MAAM,CAAC;QACN,MAAM,EAAE,OAAO;QACf,eAAe,EAAE;YACf,aAAa,EAAE,IAAI;SACpB;KACF,CAAC;;kDACc;AAXL,mBAAmB;IAZ/B,IAAI,CAAC,wBAAwB,EAAE;QAC9B,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,gBAAgB;QACtB,MAAM,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC;QACtC,QAAQ,EAAE;YACR,KAAK,EAAE,sBAAsB;YAC7B,WAAW,EAAE,2DAA2D;SACzE;KACF,CAAC;IACD,KAAK,EAAE;GACK,mBAAmB,CAY/B"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* @module integrations/graph/nodes/flow-control/break
|
|
12
|
+
* @summary Break flow-control node declaration (DECAF-32 §22.2.2).
|
|
13
|
+
* @description Break — breaks out of the enclosing loop (foreach/while/until).
|
|
14
|
+
* When executed inside a loop body, the loop terminates early and the loop's
|
|
15
|
+
* `completed`/`state` output carries the results collected so far. The Break
|
|
16
|
+
* node's static `execute` throws a `GraphBreakSignal` that the enclosing loop
|
|
17
|
+
* node class catches.
|
|
18
|
+
*/
|
|
19
|
+
import { model, required } from "@decaf-ts/decorator-validation";
|
|
20
|
+
import { uielement } from "@decaf-ts/ui-decorators";
|
|
21
|
+
import { input, node, output } from "@decaf-ts/ui-decorators/graph";
|
|
22
|
+
import { GraphNode } from "./../base.js";
|
|
23
|
+
import { GraphBreakSignal } from "./../../engine/errors/GraphBreakSignal.js";
|
|
24
|
+
let BreakFlowNode = class BreakFlowNode extends GraphNode {
|
|
25
|
+
static execute(request,
|
|
26
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
27
|
+
_context) {
|
|
28
|
+
throw new GraphBreakSignal(request.inputs["value"]);
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
__decorate([
|
|
32
|
+
required(),
|
|
33
|
+
uielement("textarea", {
|
|
34
|
+
label: "Value",
|
|
35
|
+
placeholder: "Value to forward (collected as the last partial result)",
|
|
36
|
+
}),
|
|
37
|
+
input({ handle: "value" }),
|
|
38
|
+
__metadata("design:type", Object)
|
|
39
|
+
], BreakFlowNode.prototype, "value", void 0);
|
|
40
|
+
__decorate([
|
|
41
|
+
required(),
|
|
42
|
+
output({ handle: "broken" }),
|
|
43
|
+
__metadata("design:type", Object)
|
|
44
|
+
], BreakFlowNode.prototype, "broken", void 0);
|
|
45
|
+
BreakFlowNode = __decorate([
|
|
46
|
+
node("core.flow.break", {
|
|
47
|
+
kind: "core.flow.break",
|
|
48
|
+
category: "Flow Control",
|
|
49
|
+
color: "#f59e0b",
|
|
50
|
+
icon: "ti-square-arrow-right",
|
|
51
|
+
width: 96,
|
|
52
|
+
height: 96,
|
|
53
|
+
labels: ["flow", "break", "loop", "control"],
|
|
54
|
+
metadata: {
|
|
55
|
+
title: "Break",
|
|
56
|
+
description: "Breaks out of the enclosing loop. The loop terminates early and returns the results collected so far.",
|
|
57
|
+
},
|
|
58
|
+
}),
|
|
59
|
+
model()
|
|
60
|
+
], BreakFlowNode);
|
|
61
|
+
export { BreakFlowNode };
|
|
62
|
+
//# sourceMappingURL=break.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"break.js","sourceRoot":"","sources":["../../../../../src/graph/nodes/flow-control/break.ts"],"names":[],"mappings":";;;;;;;;;AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,qBAAgB;AAMpC,OAAO,EAAE,gBAAgB,EAAE,kDAA6C;AAiBjE,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,SAAS;IAC1C,MAAM,CAAC,OAAO,CACZ,OAAkC;IAClC,6DAA6D;IAC7D,QAA+B;QAE/B,MAAM,IAAI,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IACtD,CAAC;CAaF,CAAA;AALC;IANC,QAAQ,EAAE;IACV,SAAS,CAAC,UAAU,EAAE;QACrB,KAAK,EAAE,OAAO;QACd,WAAW,EAAE,yDAAyD;KACvE,CAAC;IACD,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;;4CACX;AAIhB;IAFC,QAAQ,EAAE;IACV,MAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;;6CACZ;AAnBN,aAAa;IAfzB,IAAI,CAAC,iBAAiB,EAAE;QACvB,IAAI,EAAE,iBAAiB;QACvB,QAAQ,EAAE,cAAc;QACxB,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,uBAAuB;QAC7B,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,EAAE;QACV,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC;QAC5C,QAAQ,EAAE;YACR,KAAK,EAAE,OAAO;YACd,WAAW,EACT,uGAAuG;SAC1G;KACF,CAAC;IACD,KAAK,EAAE;GACK,aAAa,CAoBzB"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* @module integrations/graph/nodes/flow-control/error-boundary
|
|
12
|
+
* @summary Error-boundary flow-control node declaration (DECAF-32 §22.2.2).
|
|
13
|
+
* @description Error boundary — try/catch/finally workflow behaviour.
|
|
14
|
+
*/
|
|
15
|
+
import { model, required } from "@decaf-ts/decorator-validation";
|
|
16
|
+
import { uielement } from "@decaf-ts/ui-decorators";
|
|
17
|
+
import { input, node, output } from "@decaf-ts/ui-decorators/graph";
|
|
18
|
+
import { GraphNode } from "./../base.js";
|
|
19
|
+
let ErrorBoundaryFlowNode = class ErrorBoundaryFlowNode extends GraphNode {
|
|
20
|
+
static execute(request) {
|
|
21
|
+
return { result: request.inputs["value"] ?? request.inputs };
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
__decorate([
|
|
25
|
+
required(),
|
|
26
|
+
uielement("textarea", {
|
|
27
|
+
label: "Input value",
|
|
28
|
+
placeholder: "Value to guard",
|
|
29
|
+
}),
|
|
30
|
+
input({ handle: "value" }),
|
|
31
|
+
__metadata("design:type", Object)
|
|
32
|
+
], ErrorBoundaryFlowNode.prototype, "value", void 0);
|
|
33
|
+
__decorate([
|
|
34
|
+
required(),
|
|
35
|
+
uielement("input", { label: "Result", placeholder: "Output on success" }),
|
|
36
|
+
output({ handle: "result" }),
|
|
37
|
+
__metadata("design:type", Object)
|
|
38
|
+
], ErrorBoundaryFlowNode.prototype, "result", void 0);
|
|
39
|
+
__decorate([
|
|
40
|
+
required(),
|
|
41
|
+
uielement("input", { label: "Error", placeholder: "Output on failure" }),
|
|
42
|
+
output({ handle: "error" }),
|
|
43
|
+
__metadata("design:type", Object)
|
|
44
|
+
], ErrorBoundaryFlowNode.prototype, "error", void 0);
|
|
45
|
+
ErrorBoundaryFlowNode = __decorate([
|
|
46
|
+
node("core.flow.errorBoundary", {
|
|
47
|
+
kind: "core.flow.errorBoundary",
|
|
48
|
+
category: "Flow Control",
|
|
49
|
+
color: "#f59e0b",
|
|
50
|
+
icon: "ti-shield-check",
|
|
51
|
+
width: 96,
|
|
52
|
+
height: 96,
|
|
53
|
+
labels: ["flow", "error", "try-catch"],
|
|
54
|
+
metadata: {
|
|
55
|
+
title: "Error boundary",
|
|
56
|
+
description: "Wraps the input in a try/catch/finally. Emits the result on success, or the error on failure.",
|
|
57
|
+
finally: false,
|
|
58
|
+
},
|
|
59
|
+
}),
|
|
60
|
+
model()
|
|
61
|
+
], ErrorBoundaryFlowNode);
|
|
62
|
+
export { ErrorBoundaryFlowNode };
|
|
63
|
+
//# sourceMappingURL=error-boundary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-boundary.js","sourceRoot":"","sources":["../../../../../src/graph/nodes/flow-control/error-boundary.ts"],"names":[],"mappings":";;;;;;;;;AAAA;;;;GAIG;AACH,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,qBAAgB;AAsB7B,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,SAAS;IAClD,MAAM,CAAC,OAAO,CAAC,OAAkC;QAC/C,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAC/D,CAAC;CAmBF,CAAA;AAXC;IANC,QAAQ,EAAE;IACV,SAAS,CAAC,UAAU,EAAE;QACrB,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,gBAAgB;KAC9B,CAAC;IACD,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;;oDACX;AAKhB;IAHC,QAAQ,EAAE;IACV,SAAS,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC;IACzE,MAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;;qDACZ;AAKjB;IAHC,QAAQ,EAAE;IACV,SAAS,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC;IACxE,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;;oDACZ;AArBL,qBAAqB;IAhBjC,IAAI,CAAC,yBAAyB,EAAE;QAC/B,IAAI,EAAE,yBAAyB;QAC/B,QAAQ,EAAE,cAAc;QACxB,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,iBAAiB;QACvB,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,EAAE;QACV,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC;QACtC,QAAQ,EAAE;YACR,KAAK,EAAE,gBAAgB;YACvB,WAAW,EACT,+FAA+F;YACjG,OAAO,EAAE,KAAK;SACf;KACF,CAAC;IACD,KAAK,EAAE;GACK,qBAAqB,CAsBjC"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* @module integrations/graph/nodes/flow-control/human-approval
|
|
12
|
+
* @summary Human-approval flow-control node declaration (DECAF-32 §22.2.2).
|
|
13
|
+
* @description Human approval — suspends execution until a human approves
|
|
14
|
+
* or rejects.
|
|
15
|
+
*/
|
|
16
|
+
import { model, required } from "@decaf-ts/decorator-validation";
|
|
17
|
+
import { uielement } from "@decaf-ts/ui-decorators";
|
|
18
|
+
import { input, node, output } from "@decaf-ts/ui-decorators/graph";
|
|
19
|
+
import { GraphNode } from "./../base.js";
|
|
20
|
+
let HumanApprovalFlowNode = class HumanApprovalFlowNode extends GraphNode {
|
|
21
|
+
static execute(request) {
|
|
22
|
+
return { approved: request.inputs["value"] ?? request.inputs };
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
__decorate([
|
|
26
|
+
required(),
|
|
27
|
+
uielement("textarea", {
|
|
28
|
+
label: "Input value",
|
|
29
|
+
placeholder: "Value pending approval",
|
|
30
|
+
}),
|
|
31
|
+
input({ handle: "value" }),
|
|
32
|
+
__metadata("design:type", Object)
|
|
33
|
+
], HumanApprovalFlowNode.prototype, "value", void 0);
|
|
34
|
+
__decorate([
|
|
35
|
+
required(),
|
|
36
|
+
uielement("input", {
|
|
37
|
+
label: "Approved",
|
|
38
|
+
placeholder: "Output when approved",
|
|
39
|
+
}),
|
|
40
|
+
output({ handle: "approved" }),
|
|
41
|
+
__metadata("design:type", Object)
|
|
42
|
+
], HumanApprovalFlowNode.prototype, "approved", void 0);
|
|
43
|
+
__decorate([
|
|
44
|
+
required(),
|
|
45
|
+
uielement("input", {
|
|
46
|
+
label: "Rejected",
|
|
47
|
+
placeholder: "Output when rejected",
|
|
48
|
+
}),
|
|
49
|
+
output({ handle: "rejected" }),
|
|
50
|
+
__metadata("design:type", Object)
|
|
51
|
+
], HumanApprovalFlowNode.prototype, "rejected", void 0);
|
|
52
|
+
HumanApprovalFlowNode = __decorate([
|
|
53
|
+
node("core.flow.humanApproval", {
|
|
54
|
+
kind: "core.flow.humanApproval",
|
|
55
|
+
category: "Flow Control",
|
|
56
|
+
color: "#f59e0b",
|
|
57
|
+
icon: "ti-user-check",
|
|
58
|
+
width: 96,
|
|
59
|
+
height: 96,
|
|
60
|
+
labels: ["flow", "approval", "suspend"],
|
|
61
|
+
metadata: {
|
|
62
|
+
title: "Human approval",
|
|
63
|
+
description: "Suspends execution until a human approves or rejects. Emits the approved value or a rejection.",
|
|
64
|
+
approvers: [],
|
|
65
|
+
timeoutMs: 86400000,
|
|
66
|
+
},
|
|
67
|
+
}),
|
|
68
|
+
model()
|
|
69
|
+
], HumanApprovalFlowNode);
|
|
70
|
+
export { HumanApprovalFlowNode };
|
|
71
|
+
//# sourceMappingURL=human-approval.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"human-approval.js","sourceRoot":"","sources":["../../../../../src/graph/nodes/flow-control/human-approval.ts"],"names":[],"mappings":";;;;;;;;;AAAA;;;;;GAKG;AACH,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,qBAAgB;AAuB7B,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,SAAS;IAClD,MAAM,CAAC,OAAO,CAAC,OAAkC;QAC/C,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IACjE,CAAC;CAyBF,CAAA;AAjBC;IANC,QAAQ,EAAE;IACV,SAAS,CAAC,UAAU,EAAE;QACrB,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,wBAAwB;KACtC,CAAC;IACD,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;;oDACX;AAQhB;IANC,QAAQ,EAAE;IACV,SAAS,CAAC,OAAO,EAAE;QAClB,KAAK,EAAE,UAAU;QACjB,WAAW,EAAE,sBAAsB;KACpC,CAAC;IACD,MAAM,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;;uDACZ;AAQnB;IANC,QAAQ,EAAE;IACV,SAAS,CAAC,OAAO,EAAE;QAClB,KAAK,EAAE,UAAU;QACjB,WAAW,EAAE,sBAAsB;KACpC,CAAC;IACD,MAAM,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;;uDACZ;AA3BR,qBAAqB;IAjBjC,IAAI,CAAC,yBAAyB,EAAE;QAC/B,IAAI,EAAE,yBAAyB;QAC/B,QAAQ,EAAE,cAAc;QACxB,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,eAAe;QACrB,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,EAAE;QACV,MAAM,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC;QACvC,QAAQ,EAAE;YACR,KAAK,EAAE,gBAAgB;YACvB,WAAW,EACT,gGAAgG;YAClG,SAAS,EAAE,EAAE;YACb,SAAS,EAAE,QAAQ;SACpB;KACF,CAAC;IACD,KAAK,EAAE;GACK,qBAAqB,CA4BjC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* @module integrations/graph/nodes/flow-control/if
|
|
12
|
+
* @summary If flow-control node declaration (DECAF-32 §22.2.2).
|
|
13
|
+
* @description If — conditional branch. Evaluates a `ConditionExpression`
|
|
14
|
+
* (§22.3) and routes the input to the `then` or `else` output. A graph-level
|
|
15
|
+
* macro: the engine's planner recognises it as an ordinary executable node
|
|
16
|
+
* (§5.7) but it has no built-in executor — downstream projects register
|
|
17
|
+
* custom executors or compile it into composition APIs (§22.2.2).
|
|
18
|
+
*/
|
|
19
|
+
import { model, required } from "@decaf-ts/decorator-validation";
|
|
20
|
+
import { uielement } from "@decaf-ts/ui-decorators";
|
|
21
|
+
import { input, node, output } from "@decaf-ts/ui-decorators/graph";
|
|
22
|
+
import { GraphNode } from "./../base.js";
|
|
23
|
+
let IfFlowNode = class IfFlowNode extends GraphNode {
|
|
24
|
+
static execute(request) {
|
|
25
|
+
return { then: request.inputs["value"] ?? request.inputs };
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
__decorate([
|
|
29
|
+
required(),
|
|
30
|
+
uielement("textarea", {
|
|
31
|
+
label: "Input value",
|
|
32
|
+
placeholder: "Value to evaluate",
|
|
33
|
+
}),
|
|
34
|
+
input({ handle: "value" }),
|
|
35
|
+
__metadata("design:type", Object)
|
|
36
|
+
], IfFlowNode.prototype, "value", void 0);
|
|
37
|
+
__decorate([
|
|
38
|
+
required(),
|
|
39
|
+
uielement("input", {
|
|
40
|
+
label: "Then",
|
|
41
|
+
placeholder: "Output when condition is true",
|
|
42
|
+
}),
|
|
43
|
+
output({ handle: "then" }),
|
|
44
|
+
__metadata("design:type", Object)
|
|
45
|
+
], IfFlowNode.prototype, "then", void 0);
|
|
46
|
+
__decorate([
|
|
47
|
+
required(),
|
|
48
|
+
uielement("input", {
|
|
49
|
+
label: "Else",
|
|
50
|
+
placeholder: "Output when condition is false",
|
|
51
|
+
}),
|
|
52
|
+
output({ handle: "else" }),
|
|
53
|
+
__metadata("design:type", Object)
|
|
54
|
+
], IfFlowNode.prototype, "else", void 0);
|
|
55
|
+
IfFlowNode = __decorate([
|
|
56
|
+
node("core.flow.if", {
|
|
57
|
+
kind: "core.flow.if",
|
|
58
|
+
category: "Flow Control",
|
|
59
|
+
color: "#f59e0b",
|
|
60
|
+
icon: "ti-arrows-split-2",
|
|
61
|
+
width: 96,
|
|
62
|
+
height: 96,
|
|
63
|
+
labels: ["flow", "conditional", "branch"],
|
|
64
|
+
metadata: {
|
|
65
|
+
title: "If",
|
|
66
|
+
description: "Conditional branch. Evaluates the configured condition and routes the input to the matching output.",
|
|
67
|
+
condition: { op: "eq", left: { const: true }, right: { const: true } },
|
|
68
|
+
},
|
|
69
|
+
}),
|
|
70
|
+
model()
|
|
71
|
+
], IfFlowNode);
|
|
72
|
+
export { IfFlowNode };
|
|
73
|
+
//# sourceMappingURL=if.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"if.js","sourceRoot":"","sources":["../../../../../src/graph/nodes/flow-control/if.ts"],"names":[],"mappings":";;;;;;;;;AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,qBAAgB;AAsB7B,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,SAAS;IACvC,MAAM,CAAC,OAAO,CAAC,OAAkC;QAC/C,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAC7D,CAAC;CAyBF,CAAA;AAjBC;IANC,QAAQ,EAAE;IACV,SAAS,CAAC,UAAU,EAAE;QACrB,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,mBAAmB;KACjC,CAAC;IACD,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;;yCACX;AAQhB;IANC,QAAQ,EAAE;IACV,SAAS,CAAC,OAAO,EAAE;QAClB,KAAK,EAAE,MAAM;QACb,WAAW,EAAE,+BAA+B;KAC7C,CAAC;IACD,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;;wCACZ;AAQf;IANC,QAAQ,EAAE;IACV,SAAS,CAAC,OAAO,EAAE;QAClB,KAAK,EAAE,MAAM;QACb,WAAW,EAAE,gCAAgC;KAC9C,CAAC;IACD,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;;wCACZ;AA3BJ,UAAU;IAhBtB,IAAI,CAAC,cAAc,EAAE;QACpB,IAAI,EAAE,cAAc;QACpB,QAAQ,EAAE,cAAc;QACxB,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,mBAAmB;QACzB,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,EAAE;QACV,MAAM,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC;QACzC,QAAQ,EAAE;YACR,KAAK,EAAE,IAAI;YACX,WAAW,EACT,qGAAqG;YACvG,SAAS,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;SACvE;KACF,CAAC;IACD,KAAK,EAAE;GACK,UAAU,CA4BtB"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* @module integrations/graph/nodes/flow-control/parallel
|
|
12
|
+
* @summary Parallel flow-control node declaration (DECAF-32 §22.2.2).
|
|
13
|
+
* @description Parallel — splits execution into concurrent branches.
|
|
14
|
+
*/
|
|
15
|
+
import { model, required } from "@decaf-ts/decorator-validation";
|
|
16
|
+
import { uielement } from "@decaf-ts/ui-decorators";
|
|
17
|
+
import { input, node, output } from "@decaf-ts/ui-decorators/graph";
|
|
18
|
+
import { GraphNode } from "./../base.js";
|
|
19
|
+
let ParallelFlowNode = class ParallelFlowNode extends GraphNode {
|
|
20
|
+
static execute(request) {
|
|
21
|
+
return { branches: [request.inputs["value"] ?? request.inputs] };
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
__decorate([
|
|
25
|
+
required(),
|
|
26
|
+
uielement("textarea", {
|
|
27
|
+
label: "Input value",
|
|
28
|
+
placeholder: "Value to fan out",
|
|
29
|
+
}),
|
|
30
|
+
input({ handle: "value" }),
|
|
31
|
+
__metadata("design:type", Object)
|
|
32
|
+
], ParallelFlowNode.prototype, "value", void 0);
|
|
33
|
+
__decorate([
|
|
34
|
+
required(),
|
|
35
|
+
uielement("input", {
|
|
36
|
+
label: "Branches",
|
|
37
|
+
placeholder: "Collected branch outputs",
|
|
38
|
+
}),
|
|
39
|
+
output({ handle: "branches" }),
|
|
40
|
+
__metadata("design:type", Array)
|
|
41
|
+
], ParallelFlowNode.prototype, "branches", void 0);
|
|
42
|
+
ParallelFlowNode = __decorate([
|
|
43
|
+
node("core.flow.parallel", {
|
|
44
|
+
kind: "core.flow.parallel",
|
|
45
|
+
category: "Flow Control",
|
|
46
|
+
color: "#f59e0b",
|
|
47
|
+
icon: "ti-arrows-vertical",
|
|
48
|
+
width: 96,
|
|
49
|
+
height: 96,
|
|
50
|
+
labels: ["flow", "parallel", "concurrent"],
|
|
51
|
+
metadata: {
|
|
52
|
+
title: "Parallel",
|
|
53
|
+
description: "Splits execution into concurrent branches. All branches run in parallel and outputs are collected.",
|
|
54
|
+
branchCount: 2,
|
|
55
|
+
},
|
|
56
|
+
}),
|
|
57
|
+
model()
|
|
58
|
+
], ParallelFlowNode);
|
|
59
|
+
export { ParallelFlowNode };
|
|
60
|
+
//# sourceMappingURL=parallel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parallel.js","sourceRoot":"","sources":["../../../../../src/graph/nodes/flow-control/parallel.ts"],"names":[],"mappings":";;;;;;;;;AAAA;;;;GAIG;AACH,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,qBAAgB;AAsB7B,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,SAAS;IAC7C,MAAM,CAAC,OAAO,CAAC,OAAkC;QAC/C,OAAO,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;IACnE,CAAC;CAiBF,CAAA;AATC;IANC,QAAQ,EAAE;IACV,SAAS,CAAC,UAAU,EAAE;QACrB,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,kBAAkB;KAChC,CAAC;IACD,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;;+CACX;AAQhB;IANC,QAAQ,EAAE;IACV,SAAS,CAAC,OAAO,EAAE;QAClB,KAAK,EAAE,UAAU;QACjB,WAAW,EAAE,0BAA0B;KACxC,CAAC;IACD,MAAM,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;;kDACV;AAnBV,gBAAgB;IAhB5B,IAAI,CAAC,oBAAoB,EAAE;QAC1B,IAAI,EAAE,oBAAoB;QAC1B,QAAQ,EAAE,cAAc;QACxB,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,oBAAoB;QAC1B,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,EAAE;QACV,MAAM,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,CAAC;QAC1C,QAAQ,EAAE;YACR,KAAK,EAAE,UAAU;YACjB,WAAW,EACT,oGAAoG;YACtG,WAAW,EAAE,CAAC;SACf;KACF,CAAC;IACD,KAAK,EAAE;GACK,gBAAgB,CAoB5B"}
|