@decaf-ts/ui-decorators 0.20.4 → 0.20.7
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/ui-decorators.cjs +1059 -2
- package/dist/ui-decorators.js +1090 -2
- package/lib/cjs/dashboard/constants.cjs +11 -0
- package/lib/cjs/dashboard/decorators.cjs +61 -0
- package/lib/cjs/dashboard/index.cjs +23 -0
- package/lib/cjs/dashboard/reader.cjs +67 -0
- package/lib/cjs/dashboard/registry.cjs +45 -0
- package/lib/cjs/dashboard/types.cjs +4 -0
- package/lib/cjs/graph/GraphExecutionStateMapper.cjs +97 -0
- package/lib/cjs/graph/GraphResolution.cjs +17 -0
- package/lib/cjs/graph/catalog/GraphConnectionPolicy.cjs +2 -2
- package/lib/cjs/graph/catalog/GraphCredentialReference.cjs +2 -2
- package/lib/cjs/graph/catalog/GraphCredentialRequirement.cjs +2 -2
- package/lib/cjs/graph/catalog/GraphDynamicPortRule.cjs +2 -2
- package/lib/cjs/graph/catalog/GraphIconReference.cjs +2 -2
- package/lib/cjs/graph/catalog/GraphManifestCompiler.cjs +2 -2
- package/lib/cjs/graph/catalog/GraphNodeCapability.cjs +2 -2
- package/lib/cjs/graph/catalog/GraphNodeDisplayManifest.cjs +2 -2
- package/lib/cjs/graph/catalog/GraphNodeManifest.cjs +2 -2
- package/lib/cjs/graph/catalog/GraphNodeManifestSerialization.cjs +2 -2
- package/lib/cjs/graph/catalog/GraphNodeMethodManifest.cjs +2 -2
- package/lib/cjs/graph/catalog/GraphNodePolicyManifest.cjs +2 -2
- package/lib/cjs/graph/catalog/GraphParameterBase.cjs +2 -2
- package/lib/cjs/graph/catalog/GraphParameterDefinition.cjs +2 -2
- package/lib/cjs/graph/catalog/GraphParameterOption.cjs +2 -2
- package/lib/cjs/graph/catalog/GraphParameterValidation.cjs +2 -2
- package/lib/cjs/graph/catalog/GraphPortManifest.cjs +2 -2
- package/lib/cjs/graph/catalog/GraphResourceLocatorMode.cjs +2 -2
- package/lib/cjs/graph/catalog/GraphValueSchema.cjs +2 -2
- package/lib/cjs/graph/catalog/GraphValueSchemaDerivation.cjs +2 -2
- package/lib/cjs/graph/catalog/GraphVisibilityExpression.cjs +2 -2
- package/lib/cjs/graph/catalog/index.cjs +2 -2
- package/lib/cjs/graph/constants.cjs +159 -3
- package/lib/cjs/graph/decorators.cjs +2 -2
- package/lib/cjs/graph/document/GraphDecoratedWorkflowCompiler.cjs +2 -2
- package/lib/cjs/graph/document/GraphEdgeInstance.cjs +2 -2
- package/lib/cjs/graph/document/GraphEndpoint.cjs +2 -2
- package/lib/cjs/graph/document/GraphJsonValue.cjs +2 -2
- package/lib/cjs/graph/document/GraphLoopConfiguration.cjs +2 -2
- package/lib/cjs/graph/document/GraphNodeBinding.cjs +2 -2
- package/lib/cjs/graph/document/GraphNodeInstance.cjs +2 -2
- package/lib/cjs/graph/document/GraphWorkflowDocument.cjs +2 -2
- package/lib/cjs/graph/document/GraphWorkflowDocumentBuilder.cjs +2 -2
- package/lib/cjs/graph/document/GraphWorkflowDocumentReader.cjs +2 -2
- package/lib/cjs/graph/document/GraphWorkflowDocumentSerializer.cjs +2 -2
- package/lib/cjs/graph/document/GraphWorkflowUiState.cjs +2 -2
- package/lib/cjs/graph/document/index.cjs +2 -2
- package/lib/cjs/graph/index.cjs +5 -2
- package/lib/cjs/graph/nodes/agents/agent.cjs +110 -0
- package/lib/cjs/graph/nodes/base.cjs +36 -0
- package/lib/cjs/graph/nodes/boundary/input-value.cjs +57 -0
- package/lib/cjs/graph/nodes/category-styles.cjs +38 -0
- package/lib/cjs/graph/nodes/flow-control/break.cjs +63 -0
- package/lib/cjs/graph/nodes/flow-control/error-boundary.cjs +67 -0
- package/lib/cjs/graph/nodes/flow-control/human-approval.cjs +69 -0
- package/lib/cjs/graph/nodes/flow-control/if.cjs +71 -0
- package/lib/cjs/graph/nodes/flow-control/parallel.cjs +61 -0
- package/lib/cjs/graph/nodes/flow-control/switch.cjs +121 -0
- package/lib/cjs/graph/nodes/index.cjs +123 -0
- package/lib/cjs/graph/nodes/loops/foreach.cjs +86 -0
- package/lib/cjs/graph/nodes/loops/until.cjs +74 -0
- package/lib/cjs/graph/nodes/loops/while.cjs +74 -0
- package/lib/cjs/graph/nodes/manifests.cjs +338 -0
- package/lib/cjs/graph/nodes/triggers/chat.cjs +70 -0
- package/lib/cjs/graph/nodes/triggers/event.cjs +58 -0
- package/lib/cjs/graph/nodes/triggers/form.cjs +59 -0
- package/lib/cjs/graph/nodes/triggers/manual.cjs +60 -0
- package/lib/cjs/graph/nodes/triggers/schedule.cjs +60 -0
- package/lib/cjs/graph/nodes/triggers/webhook.cjs +62 -0
- package/lib/cjs/graph/nodes/utility/code.cjs +99 -0
- package/lib/cjs/graph/nodes/utility/delay.cjs +61 -0
- package/lib/cjs/graph/nodes/utility/log.cjs +62 -0
- package/lib/cjs/graph/nodes/utility/map.cjs +61 -0
- package/lib/cjs/graph/nodes/utility/merge.cjs +62 -0
- package/lib/cjs/graph/nodes/utility/return.cjs +61 -0
- package/lib/cjs/graph/nodes/utility/utility-log.cjs +66 -0
- package/lib/cjs/graph/overrides/Metadata.cjs +2 -2
- package/lib/cjs/graph/overrides/Rendering.cjs +2 -2
- package/lib/cjs/graph/overrides/index.cjs +2 -2
- package/lib/cjs/graph/overrides/overrides.cjs +2 -2
- package/lib/cjs/graph/reader.cjs +2 -2
- package/lib/cjs/graph/registry.cjs +2 -2
- package/lib/cjs/graph/snapshot.cjs +2 -2
- package/lib/cjs/graph/types.cjs +2 -2
- package/lib/cjs/index.cjs +6 -5
- package/lib/cjs/model/Renderable.cjs +2 -2
- package/lib/cjs/model/decorators.cjs +2 -2
- package/lib/cjs/model/index.cjs +2 -2
- package/lib/cjs/model/model.cjs +2 -2
- package/lib/cjs/model/overrides.cjs +2 -2
- package/lib/cjs/overrides/ModelBuilderExtensions.cjs +2 -2
- package/lib/cjs/overrides/index.cjs +2 -2
- package/lib/cjs/ui/DecafComponent.cjs +2 -2
- package/lib/cjs/ui/DecafEventHandler.cjs +2 -2
- package/lib/cjs/ui/DecafTranslateService.cjs +2 -2
- package/lib/cjs/ui/Rendering.cjs +2 -2
- package/lib/cjs/ui/UIValidator.cjs +2 -2
- package/lib/cjs/ui/constants.cjs +2 -2
- package/lib/cjs/ui/decorators.cjs +2 -2
- package/lib/cjs/ui/errors.cjs +2 -2
- package/lib/cjs/ui/index.cjs +2 -2
- package/lib/cjs/ui/interfaces/IDecafModal.cjs +2 -2
- package/lib/cjs/ui/interfaces/IDecafRouter.cjs +2 -2
- package/lib/cjs/ui/interfaces/IDecafSpinner.cjs +2 -2
- package/lib/cjs/ui/interfaces/IDecafToast.cjs +2 -2
- package/lib/cjs/ui/interfaces/index.cjs +2 -2
- package/lib/cjs/ui/overrides.cjs +2 -2
- package/lib/cjs/ui/types.cjs +2 -2
- package/lib/cjs/ui/utils.cjs +2 -2
- package/lib/cjs/ui/validator.cjs +2 -2
- package/lib/cjs/user-requests/UserRequestHandler.cjs +2 -2
- package/lib/cjs/user-requests/constants.cjs +2 -2
- package/lib/cjs/user-requests/decorators.cjs +2 -2
- package/lib/cjs/user-requests/errors.cjs +2 -2
- package/lib/cjs/user-requests/index.cjs +2 -2
- package/lib/cjs/user-requests/types.cjs +2 -2
- package/lib/esm/dashboard/constants.js +24 -0
- package/lib/esm/dashboard/decorators.js +57 -0
- package/lib/esm/dashboard/index.js +6 -0
- package/lib/esm/dashboard/reader.js +62 -0
- package/lib/esm/dashboard/registry.js +39 -0
- package/lib/esm/dashboard/types.js +9 -0
- package/lib/esm/graph/GraphExecutionStateMapper.js +91 -0
- package/lib/esm/graph/GraphResolution.js +13 -0
- package/lib/esm/graph/catalog/GraphConnectionPolicy.js +1 -1
- package/lib/esm/graph/catalog/GraphCredentialReference.js +1 -1
- package/lib/esm/graph/catalog/GraphCredentialRequirement.js +1 -1
- package/lib/esm/graph/catalog/GraphDynamicPortRule.js +1 -1
- package/lib/esm/graph/catalog/GraphIconReference.js +1 -1
- package/lib/esm/graph/catalog/GraphManifestCompiler.js +1 -1
- package/lib/esm/graph/catalog/GraphNodeCapability.js +1 -1
- package/lib/esm/graph/catalog/GraphNodeDisplayManifest.js +1 -1
- package/lib/esm/graph/catalog/GraphNodeManifest.js +1 -1
- package/lib/esm/graph/catalog/GraphNodeManifestSerialization.js +1 -1
- package/lib/esm/graph/catalog/GraphNodeMethodManifest.js +1 -1
- package/lib/esm/graph/catalog/GraphNodePolicyManifest.js +1 -1
- package/lib/esm/graph/catalog/GraphParameterBase.js +1 -1
- package/lib/esm/graph/catalog/GraphParameterDefinition.js +1 -1
- package/lib/esm/graph/catalog/GraphParameterOption.js +1 -1
- package/lib/esm/graph/catalog/GraphParameterValidation.js +1 -1
- package/lib/esm/graph/catalog/GraphPortManifest.js +1 -1
- package/lib/esm/graph/catalog/GraphResourceLocatorMode.js +1 -1
- package/lib/esm/graph/catalog/GraphValueSchema.js +1 -1
- package/lib/esm/graph/catalog/GraphValueSchemaDerivation.js +1 -1
- package/lib/esm/graph/catalog/GraphVisibilityExpression.js +1 -1
- package/lib/esm/graph/catalog/index.js +1 -1
- package/lib/esm/graph/constants.js +180 -1
- package/lib/esm/graph/decorators.js +1 -1
- package/lib/esm/graph/document/GraphDecoratedWorkflowCompiler.js +1 -1
- package/lib/esm/graph/document/GraphEdgeInstance.js +1 -1
- package/lib/esm/graph/document/GraphEndpoint.js +1 -1
- package/lib/esm/graph/document/GraphJsonValue.js +1 -1
- package/lib/esm/graph/document/GraphLoopConfiguration.js +1 -1
- package/lib/esm/graph/document/GraphNodeBinding.js +1 -1
- package/lib/esm/graph/document/GraphNodeInstance.js +1 -1
- package/lib/esm/graph/document/GraphWorkflowDocument.js +1 -1
- package/lib/esm/graph/document/GraphWorkflowDocumentBuilder.js +1 -1
- package/lib/esm/graph/document/GraphWorkflowDocumentReader.js +1 -1
- package/lib/esm/graph/document/GraphWorkflowDocumentSerializer.js +1 -1
- package/lib/esm/graph/document/GraphWorkflowUiState.js +1 -1
- package/lib/esm/graph/document/index.js +1 -1
- package/lib/esm/graph/index.js +4 -1
- package/lib/esm/graph/nodes/agents/agent.js +101 -0
- package/lib/esm/graph/nodes/base.js +31 -0
- package/lib/esm/graph/nodes/boundary/input-value.js +48 -0
- package/lib/esm/graph/nodes/category-styles.js +34 -0
- package/lib/esm/graph/nodes/flow-control/break.js +54 -0
- package/lib/esm/graph/nodes/flow-control/error-boundary.js +58 -0
- package/lib/esm/graph/nodes/flow-control/human-approval.js +60 -0
- package/lib/esm/graph/nodes/flow-control/if.js +62 -0
- package/lib/esm/graph/nodes/flow-control/parallel.js +52 -0
- package/lib/esm/graph/nodes/flow-control/switch.js +112 -0
- package/lib/esm/graph/nodes/index.js +105 -0
- package/lib/esm/graph/nodes/loops/foreach.js +77 -0
- package/lib/esm/graph/nodes/loops/until.js +65 -0
- package/lib/esm/graph/nodes/loops/while.js +65 -0
- package/lib/esm/graph/nodes/manifests.js +334 -0
- package/lib/esm/graph/nodes/triggers/chat.js +61 -0
- package/lib/esm/graph/nodes/triggers/event.js +49 -0
- package/lib/esm/graph/nodes/triggers/form.js +50 -0
- package/lib/esm/graph/nodes/triggers/manual.js +51 -0
- package/lib/esm/graph/nodes/triggers/schedule.js +51 -0
- package/lib/esm/graph/nodes/triggers/webhook.js +53 -0
- package/lib/esm/graph/nodes/utility/code.js +90 -0
- package/lib/esm/graph/nodes/utility/delay.js +52 -0
- package/lib/esm/graph/nodes/utility/log.js +53 -0
- package/lib/esm/graph/nodes/utility/map.js +52 -0
- package/lib/esm/graph/nodes/utility/merge.js +53 -0
- package/lib/esm/graph/nodes/utility/return.js +52 -0
- package/lib/esm/graph/nodes/utility/utility-log.js +57 -0
- package/lib/esm/graph/overrides/Metadata.js +1 -1
- package/lib/esm/graph/overrides/Rendering.js +1 -1
- package/lib/esm/graph/overrides/index.js +1 -1
- package/lib/esm/graph/overrides/overrides.js +1 -1
- package/lib/esm/graph/reader.js +1 -1
- package/lib/esm/graph/registry.js +1 -1
- package/lib/esm/graph/snapshot.js +1 -1
- package/lib/esm/graph/types.js +1 -1
- package/lib/esm/index.js +5 -4
- package/lib/esm/model/Renderable.js +1 -1
- package/lib/esm/model/decorators.js +1 -1
- package/lib/esm/model/index.js +1 -1
- package/lib/esm/model/model.js +1 -1
- package/lib/esm/model/overrides.js +1 -1
- package/lib/esm/overrides/ModelBuilderExtensions.js +1 -1
- package/lib/esm/overrides/index.js +1 -1
- package/lib/esm/ui/DecafComponent.js +1 -1
- package/lib/esm/ui/DecafEventHandler.js +1 -1
- package/lib/esm/ui/DecafTranslateService.js +1 -1
- package/lib/esm/ui/Rendering.js +1 -1
- package/lib/esm/ui/UIValidator.js +1 -1
- package/lib/esm/ui/constants.js +1 -1
- package/lib/esm/ui/decorators.js +1 -1
- package/lib/esm/ui/errors.js +1 -1
- package/lib/esm/ui/index.js +1 -1
- package/lib/esm/ui/interfaces/IDecafModal.js +1 -1
- package/lib/esm/ui/interfaces/IDecafRouter.js +1 -1
- package/lib/esm/ui/interfaces/IDecafSpinner.js +1 -1
- package/lib/esm/ui/interfaces/IDecafToast.js +1 -1
- package/lib/esm/ui/interfaces/index.js +1 -1
- package/lib/esm/ui/overrides.js +1 -1
- package/lib/esm/ui/types.js +1 -1
- package/lib/esm/ui/utils.js +1 -1
- package/lib/esm/ui/validator.js +1 -1
- package/lib/esm/user-requests/UserRequestHandler.js +1 -1
- package/lib/esm/user-requests/constants.js +1 -1
- package/lib/esm/user-requests/decorators.js +1 -1
- package/lib/esm/user-requests/errors.js +1 -1
- package/lib/esm/user-requests/index.js +1 -1
- package/lib/esm/user-requests/types.js +1 -1
- package/lib/types/dashboard/constants.d.cts +22 -0
- package/lib/types/dashboard/constants.d.mts +22 -0
- package/lib/types/dashboard/decorators.d.cts +34 -0
- package/lib/types/dashboard/decorators.d.mts +34 -0
- package/lib/types/dashboard/index.d.cts +5 -0
- package/lib/types/dashboard/index.d.mts +5 -0
- package/lib/types/dashboard/reader.d.cts +30 -0
- package/lib/types/dashboard/reader.d.mts +30 -0
- package/lib/types/dashboard/registry.d.cts +29 -0
- package/lib/types/dashboard/registry.d.mts +29 -0
- package/lib/types/dashboard/types.d.cts +67 -0
- package/lib/types/dashboard/types.d.mts +67 -0
- package/lib/types/graph/GraphExecutionStateMapper.d.cts +66 -0
- package/lib/types/graph/GraphExecutionStateMapper.d.mts +66 -0
- package/lib/types/graph/GraphResolution.d.cts +53 -0
- package/lib/types/graph/GraphResolution.d.mts +53 -0
- package/lib/types/graph/constants.d.cts +165 -0
- package/lib/types/graph/constants.d.mts +165 -0
- package/lib/types/graph/index.d.cts +3 -0
- package/lib/types/graph/index.d.mts +3 -0
- package/lib/types/graph/nodes/agents/agent.d.cts +44 -0
- package/lib/types/graph/nodes/agents/agent.d.mts +44 -0
- package/lib/types/graph/nodes/base.d.cts +28 -0
- package/lib/types/graph/nodes/base.d.mts +28 -0
- package/lib/types/graph/nodes/boundary/input-value.d.cts +13 -0
- package/lib/types/graph/nodes/boundary/input-value.d.mts +13 -0
- package/lib/types/graph/nodes/category-styles.d.cts +8 -0
- package/lib/types/graph/nodes/category-styles.d.mts +8 -0
- package/lib/types/graph/nodes/flow-control/break.d.cts +15 -0
- package/lib/types/graph/nodes/flow-control/break.d.mts +15 -0
- package/lib/types/graph/nodes/flow-control/error-boundary.d.cts +12 -0
- package/lib/types/graph/nodes/flow-control/error-boundary.d.mts +12 -0
- package/lib/types/graph/nodes/flow-control/human-approval.d.cts +13 -0
- package/lib/types/graph/nodes/flow-control/human-approval.d.mts +13 -0
- package/lib/types/graph/nodes/flow-control/if.d.cts +16 -0
- package/lib/types/graph/nodes/flow-control/if.d.mts +16 -0
- package/lib/types/graph/nodes/flow-control/parallel.d.cts +11 -0
- package/lib/types/graph/nodes/flow-control/parallel.d.mts +11 -0
- package/lib/types/graph/nodes/flow-control/switch.d.cts +21 -0
- package/lib/types/graph/nodes/flow-control/switch.d.mts +21 -0
- package/lib/types/graph/nodes/index.d.cts +79 -0
- package/lib/types/graph/nodes/index.d.mts +79 -0
- package/lib/types/graph/nodes/loops/foreach.d.cts +19 -0
- package/lib/types/graph/nodes/loops/foreach.d.mts +19 -0
- package/lib/types/graph/nodes/loops/until.d.cts +16 -0
- package/lib/types/graph/nodes/loops/until.d.mts +16 -0
- package/lib/types/graph/nodes/loops/while.d.cts +16 -0
- package/lib/types/graph/nodes/loops/while.d.mts +16 -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 +13 -0
- package/lib/types/graph/nodes/triggers/chat.d.mts +13 -0
- package/lib/types/graph/nodes/triggers/event.d.cts +10 -0
- package/lib/types/graph/nodes/triggers/event.d.mts +10 -0
- package/lib/types/graph/nodes/triggers/form.d.cts +11 -0
- package/lib/types/graph/nodes/triggers/form.d.mts +11 -0
- package/lib/types/graph/nodes/triggers/manual.d.cts +12 -0
- package/lib/types/graph/nodes/triggers/manual.d.mts +12 -0
- package/lib/types/graph/nodes/triggers/schedule.d.cts +11 -0
- package/lib/types/graph/nodes/triggers/schedule.d.mts +11 -0
- package/lib/types/graph/nodes/triggers/webhook.d.cts +11 -0
- package/lib/types/graph/nodes/triggers/webhook.d.mts +11 -0
- package/lib/types/graph/nodes/utility/code.d.cts +31 -0
- package/lib/types/graph/nodes/utility/code.d.mts +31 -0
- package/lib/types/graph/nodes/utility/delay.d.cts +11 -0
- package/lib/types/graph/nodes/utility/delay.d.mts +11 -0
- package/lib/types/graph/nodes/utility/log.d.cts +13 -0
- package/lib/types/graph/nodes/utility/log.d.mts +13 -0
- package/lib/types/graph/nodes/utility/map.d.cts +11 -0
- package/lib/types/graph/nodes/utility/map.d.mts +11 -0
- package/lib/types/graph/nodes/utility/merge.d.cts +12 -0
- package/lib/types/graph/nodes/utility/merge.d.mts +12 -0
- package/lib/types/graph/nodes/utility/return.d.cts +11 -0
- package/lib/types/graph/nodes/utility/return.d.mts +11 -0
- package/lib/types/graph/nodes/utility/utility-log.d.cts +15 -0
- package/lib/types/graph/nodes/utility/utility-log.d.mts +15 -0
- package/lib/types/graph/types.d.cts +286 -0
- package/lib/types/graph/types.d.mts +286 -0
- package/lib/types/index.d.cts +4 -3
- package/lib/types/index.d.mts +4 -3
- package/package.json +1 -1
- package/dist/ui-decorators.cjs.map +0 -1
- package/dist/ui-decorators.js.map +0 -1
- package/lib/cjs/graph/catalog/GraphConnectionPolicy.cjs.map +0 -1
- package/lib/cjs/graph/catalog/GraphCredentialReference.cjs.map +0 -1
- package/lib/cjs/graph/catalog/GraphCredentialRequirement.cjs.map +0 -1
- package/lib/cjs/graph/catalog/GraphDynamicPortRule.cjs.map +0 -1
- package/lib/cjs/graph/catalog/GraphIconReference.cjs.map +0 -1
- package/lib/cjs/graph/catalog/GraphManifestCompiler.cjs.map +0 -1
- package/lib/cjs/graph/catalog/GraphNodeCapability.cjs.map +0 -1
- package/lib/cjs/graph/catalog/GraphNodeDisplayManifest.cjs.map +0 -1
- package/lib/cjs/graph/catalog/GraphNodeManifest.cjs.map +0 -1
- package/lib/cjs/graph/catalog/GraphNodeManifestSerialization.cjs.map +0 -1
- package/lib/cjs/graph/catalog/GraphNodeMethodManifest.cjs.map +0 -1
- package/lib/cjs/graph/catalog/GraphNodePolicyManifest.cjs.map +0 -1
- package/lib/cjs/graph/catalog/GraphParameterBase.cjs.map +0 -1
- package/lib/cjs/graph/catalog/GraphParameterDefinition.cjs.map +0 -1
- package/lib/cjs/graph/catalog/GraphParameterOption.cjs.map +0 -1
- package/lib/cjs/graph/catalog/GraphParameterValidation.cjs.map +0 -1
- package/lib/cjs/graph/catalog/GraphPortManifest.cjs.map +0 -1
- package/lib/cjs/graph/catalog/GraphResourceLocatorMode.cjs.map +0 -1
- package/lib/cjs/graph/catalog/GraphValueSchema.cjs.map +0 -1
- package/lib/cjs/graph/catalog/GraphValueSchemaDerivation.cjs.map +0 -1
- package/lib/cjs/graph/catalog/GraphVisibilityExpression.cjs.map +0 -1
- package/lib/cjs/graph/catalog/index.cjs.map +0 -1
- package/lib/cjs/graph/constants.cjs.map +0 -1
- package/lib/cjs/graph/decorators.cjs.map +0 -1
- package/lib/cjs/graph/document/GraphDecoratedWorkflowCompiler.cjs.map +0 -1
- package/lib/cjs/graph/document/GraphEdgeInstance.cjs.map +0 -1
- package/lib/cjs/graph/document/GraphEndpoint.cjs.map +0 -1
- package/lib/cjs/graph/document/GraphJsonValue.cjs.map +0 -1
- package/lib/cjs/graph/document/GraphLoopConfiguration.cjs.map +0 -1
- package/lib/cjs/graph/document/GraphNodeBinding.cjs.map +0 -1
- package/lib/cjs/graph/document/GraphNodeInstance.cjs.map +0 -1
- package/lib/cjs/graph/document/GraphWorkflowDocument.cjs.map +0 -1
- package/lib/cjs/graph/document/GraphWorkflowDocumentBuilder.cjs.map +0 -1
- package/lib/cjs/graph/document/GraphWorkflowDocumentReader.cjs.map +0 -1
- package/lib/cjs/graph/document/GraphWorkflowDocumentSerializer.cjs.map +0 -1
- package/lib/cjs/graph/document/GraphWorkflowUiState.cjs.map +0 -1
- package/lib/cjs/graph/document/index.cjs.map +0 -1
- package/lib/cjs/graph/index.cjs.map +0 -1
- package/lib/cjs/graph/overrides/Metadata.cjs.map +0 -1
- package/lib/cjs/graph/overrides/Rendering.cjs.map +0 -1
- package/lib/cjs/graph/overrides/index.cjs.map +0 -1
- package/lib/cjs/graph/overrides/overrides.cjs.map +0 -1
- package/lib/cjs/graph/reader.cjs.map +0 -1
- package/lib/cjs/graph/registry.cjs.map +0 -1
- package/lib/cjs/graph/snapshot.cjs.map +0 -1
- package/lib/cjs/graph/types.cjs.map +0 -1
- package/lib/cjs/index.cjs.map +0 -1
- package/lib/cjs/model/Renderable.cjs.map +0 -1
- package/lib/cjs/model/decorators.cjs.map +0 -1
- package/lib/cjs/model/index.cjs.map +0 -1
- package/lib/cjs/model/model.cjs.map +0 -1
- package/lib/cjs/model/overrides.cjs.map +0 -1
- package/lib/cjs/overrides/ModelBuilderExtensions.cjs.map +0 -1
- package/lib/cjs/overrides/index.cjs.map +0 -1
- package/lib/cjs/ui/DecafComponent.cjs.map +0 -1
- package/lib/cjs/ui/DecafEventHandler.cjs.map +0 -1
- package/lib/cjs/ui/DecafTranslateService.cjs.map +0 -1
- package/lib/cjs/ui/Rendering.cjs.map +0 -1
- package/lib/cjs/ui/UIValidator.cjs.map +0 -1
- package/lib/cjs/ui/constants.cjs.map +0 -1
- package/lib/cjs/ui/decorators.cjs.map +0 -1
- package/lib/cjs/ui/errors.cjs.map +0 -1
- package/lib/cjs/ui/index.cjs.map +0 -1
- package/lib/cjs/ui/interfaces/IDecafModal.cjs.map +0 -1
- package/lib/cjs/ui/interfaces/IDecafRouter.cjs.map +0 -1
- package/lib/cjs/ui/interfaces/IDecafSpinner.cjs.map +0 -1
- package/lib/cjs/ui/interfaces/IDecafToast.cjs.map +0 -1
- package/lib/cjs/ui/interfaces/index.cjs.map +0 -1
- package/lib/cjs/ui/overrides.cjs.map +0 -1
- package/lib/cjs/ui/types.cjs.map +0 -1
- package/lib/cjs/ui/utils.cjs.map +0 -1
- package/lib/cjs/ui/validator.cjs.map +0 -1
- package/lib/cjs/user-requests/UserRequestHandler.cjs.map +0 -1
- package/lib/cjs/user-requests/constants.cjs.map +0 -1
- package/lib/cjs/user-requests/decorators.cjs.map +0 -1
- package/lib/cjs/user-requests/errors.cjs.map +0 -1
- package/lib/cjs/user-requests/index.cjs.map +0 -1
- package/lib/cjs/user-requests/types.cjs.map +0 -1
- package/lib/esm/graph/catalog/GraphConnectionPolicy.js.map +0 -1
- package/lib/esm/graph/catalog/GraphCredentialReference.js.map +0 -1
- package/lib/esm/graph/catalog/GraphCredentialRequirement.js.map +0 -1
- package/lib/esm/graph/catalog/GraphDynamicPortRule.js.map +0 -1
- package/lib/esm/graph/catalog/GraphIconReference.js.map +0 -1
- package/lib/esm/graph/catalog/GraphManifestCompiler.js.map +0 -1
- package/lib/esm/graph/catalog/GraphNodeCapability.js.map +0 -1
- package/lib/esm/graph/catalog/GraphNodeDisplayManifest.js.map +0 -1
- package/lib/esm/graph/catalog/GraphNodeManifest.js.map +0 -1
- package/lib/esm/graph/catalog/GraphNodeManifestSerialization.js.map +0 -1
- package/lib/esm/graph/catalog/GraphNodeMethodManifest.js.map +0 -1
- package/lib/esm/graph/catalog/GraphNodePolicyManifest.js.map +0 -1
- package/lib/esm/graph/catalog/GraphParameterBase.js.map +0 -1
- package/lib/esm/graph/catalog/GraphParameterDefinition.js.map +0 -1
- package/lib/esm/graph/catalog/GraphParameterOption.js.map +0 -1
- package/lib/esm/graph/catalog/GraphParameterValidation.js.map +0 -1
- package/lib/esm/graph/catalog/GraphPortManifest.js.map +0 -1
- package/lib/esm/graph/catalog/GraphResourceLocatorMode.js.map +0 -1
- package/lib/esm/graph/catalog/GraphValueSchema.js.map +0 -1
- package/lib/esm/graph/catalog/GraphValueSchemaDerivation.js.map +0 -1
- package/lib/esm/graph/catalog/GraphVisibilityExpression.js.map +0 -1
- package/lib/esm/graph/catalog/index.js.map +0 -1
- package/lib/esm/graph/constants.js.map +0 -1
- package/lib/esm/graph/decorators.js.map +0 -1
- package/lib/esm/graph/document/GraphDecoratedWorkflowCompiler.js.map +0 -1
- package/lib/esm/graph/document/GraphEdgeInstance.js.map +0 -1
- package/lib/esm/graph/document/GraphEndpoint.js.map +0 -1
- package/lib/esm/graph/document/GraphJsonValue.js.map +0 -1
- package/lib/esm/graph/document/GraphLoopConfiguration.js.map +0 -1
- package/lib/esm/graph/document/GraphNodeBinding.js.map +0 -1
- package/lib/esm/graph/document/GraphNodeInstance.js.map +0 -1
- package/lib/esm/graph/document/GraphWorkflowDocument.js.map +0 -1
- package/lib/esm/graph/document/GraphWorkflowDocumentBuilder.js.map +0 -1
- package/lib/esm/graph/document/GraphWorkflowDocumentReader.js.map +0 -1
- package/lib/esm/graph/document/GraphWorkflowDocumentSerializer.js.map +0 -1
- package/lib/esm/graph/document/GraphWorkflowUiState.js.map +0 -1
- package/lib/esm/graph/document/index.js.map +0 -1
- package/lib/esm/graph/index.js.map +0 -1
- package/lib/esm/graph/overrides/Metadata.js.map +0 -1
- package/lib/esm/graph/overrides/Rendering.js.map +0 -1
- package/lib/esm/graph/overrides/index.js.map +0 -1
- package/lib/esm/graph/overrides/overrides.js.map +0 -1
- package/lib/esm/graph/reader.js.map +0 -1
- package/lib/esm/graph/registry.js.map +0 -1
- package/lib/esm/graph/snapshot.js.map +0 -1
- package/lib/esm/graph/types.js.map +0 -1
- package/lib/esm/index.js.map +0 -1
- package/lib/esm/model/Renderable.js.map +0 -1
- package/lib/esm/model/decorators.js.map +0 -1
- package/lib/esm/model/index.js.map +0 -1
- package/lib/esm/model/model.js.map +0 -1
- package/lib/esm/model/overrides.js.map +0 -1
- package/lib/esm/overrides/ModelBuilderExtensions.js.map +0 -1
- package/lib/esm/overrides/index.js.map +0 -1
- package/lib/esm/ui/DecafComponent.js.map +0 -1
- package/lib/esm/ui/DecafEventHandler.js.map +0 -1
- package/lib/esm/ui/DecafTranslateService.js.map +0 -1
- package/lib/esm/ui/Rendering.js.map +0 -1
- package/lib/esm/ui/UIValidator.js.map +0 -1
- package/lib/esm/ui/constants.js.map +0 -1
- package/lib/esm/ui/decorators.js.map +0 -1
- package/lib/esm/ui/errors.js.map +0 -1
- package/lib/esm/ui/index.js.map +0 -1
- package/lib/esm/ui/interfaces/IDecafModal.js.map +0 -1
- package/lib/esm/ui/interfaces/IDecafRouter.js.map +0 -1
- package/lib/esm/ui/interfaces/IDecafSpinner.js.map +0 -1
- package/lib/esm/ui/interfaces/IDecafToast.js.map +0 -1
- package/lib/esm/ui/interfaces/index.js.map +0 -1
- package/lib/esm/ui/overrides.js.map +0 -1
- package/lib/esm/ui/types.js.map +0 -1
- package/lib/esm/ui/utils.js.map +0 -1
- package/lib/esm/ui/validator.js.map +0 -1
- package/lib/esm/user-requests/UserRequestHandler.js.map +0 -1
- package/lib/esm/user-requests/constants.js.map +0 -1
- package/lib/esm/user-requests/decorators.js.map +0 -1
- package/lib/esm/user-requests/errors.js.map +0 -1
- package/lib/esm/user-requests/index.js.map +0 -1
- package/lib/esm/user-requests/types.js.map +0 -1
|
@@ -0,0 +1,54 @@
|
|
|
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 ui-decorators/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 executor throws a `GraphBreakSignal` that the enclosing loop executor
|
|
17
|
+
* catches.
|
|
18
|
+
*/
|
|
19
|
+
import { Model, model, required } from "@decaf-ts/decorator-validation";
|
|
20
|
+
import { uielement } from "./../../../ui/decorators.js";
|
|
21
|
+
import { input, node, output } from "./../../decorators.js";
|
|
22
|
+
// Ensure category styles are registered (idempotent).
|
|
23
|
+
import "./../category-styles.js";
|
|
24
|
+
let BreakFlowNode = class BreakFlowNode extends Model {
|
|
25
|
+
};
|
|
26
|
+
__decorate([
|
|
27
|
+
required(),
|
|
28
|
+
uielement("textarea", { label: "Value", placeholder: "Value to forward (collected as the last partial result)" }),
|
|
29
|
+
input({ handle: "value" }),
|
|
30
|
+
__metadata("design:type", Object)
|
|
31
|
+
], BreakFlowNode.prototype, "value", void 0);
|
|
32
|
+
__decorate([
|
|
33
|
+
required(),
|
|
34
|
+
output({ handle: "broken" }),
|
|
35
|
+
__metadata("design:type", Object)
|
|
36
|
+
], BreakFlowNode.prototype, "broken", void 0);
|
|
37
|
+
BreakFlowNode = __decorate([
|
|
38
|
+
node("core.flow.break", {
|
|
39
|
+
kind: "core.flow.break",
|
|
40
|
+
category: "Flow Control",
|
|
41
|
+
color: "#ef4444",
|
|
42
|
+
icon: "ti-square-arrow-right",
|
|
43
|
+
width: 96,
|
|
44
|
+
height: 96,
|
|
45
|
+
labels: ["flow", "break", "loop", "control"],
|
|
46
|
+
metadata: {
|
|
47
|
+
title: "Break",
|
|
48
|
+
description: "Breaks out of the enclosing loop. The loop terminates early and returns the results collected so far.",
|
|
49
|
+
},
|
|
50
|
+
}),
|
|
51
|
+
model()
|
|
52
|
+
], BreakFlowNode);
|
|
53
|
+
export { BreakFlowNode };
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWsuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZ3JhcGgvbm9kZXMvZmxvdy1jb250cm9sL2JyZWFrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOzs7Ozs7OztHQVFHO0FBQ0gsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxvQ0FBK0I7QUFDbkQsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLDhCQUF5QjtBQUV2RCxzREFBc0Q7QUFDdEQsaUNBQTRCO0FBZ0JyQixJQUFNLGFBQWEsR0FBbkIsTUFBTSxhQUFjLFNBQVEsS0FBSztDQVN2QyxDQUFBO0FBTEM7SUFIQyxRQUFRLEVBQUU7SUFDVixTQUFTLENBQUMsVUFBVSxFQUFFLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUseURBQXlELEVBQUUsQ0FBQztJQUNqSCxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUM7OzRDQUNYO0FBSWhCO0lBRkMsUUFBUSxFQUFFO0lBQ1YsTUFBTSxDQUFDLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxDQUFDOzs2Q0FDWjtBQVJOLGFBQWE7SUFkekIsSUFBSSxDQUFDLGlCQUFpQixFQUFFO1FBQ3ZCLElBQUksRUFBRSxpQkFBaUI7UUFDdkIsUUFBUSxFQUFFLGNBQWM7UUFDeEIsS0FBSyxFQUFFLFNBQVM7UUFDaEIsSUFBSSxFQUFFLHVCQUF1QjtRQUM3QixLQUFLLEVBQUUsRUFBRTtRQUNULE1BQU0sRUFBRSxFQUFFO1FBQ1YsTUFBTSxFQUFFLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxDQUFDO1FBQzVDLFFBQVEsRUFBRTtZQUNSLEtBQUssRUFBRSxPQUFPO1lBQ2QsV0FBVyxFQUFFLHVHQUF1RztTQUNySDtLQUNGLENBQUM7SUFDRCxLQUFLLEVBQUU7R0FDSyxhQUFhLENBU3pCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIHVpLWRlY29yYXRvcnMvZ3JhcGgvbm9kZXMvZmxvdy1jb250cm9sL2JyZWFrXG4gKiBAc3VtbWFyeSBCcmVhayBmbG93LWNvbnRyb2wgbm9kZSBkZWNsYXJhdGlvbiAoREVDQUYtMzIgwqcyMi4yLjIpLlxuICogQGRlc2NyaXB0aW9uIEJyZWFrIOKAlCBicmVha3Mgb3V0IG9mIHRoZSBlbmNsb3NpbmcgbG9vcCAoZm9yZWFjaC93aGlsZS91bnRpbCkuXG4gKiBXaGVuIGV4ZWN1dGVkIGluc2lkZSBhIGxvb3AgYm9keSwgdGhlIGxvb3AgdGVybWluYXRlcyBlYXJseSBhbmQgdGhlIGxvb3Anc1xuICogYGNvbXBsZXRlZGAvYHN0YXRlYCBvdXRwdXQgY2FycmllcyB0aGUgcmVzdWx0cyBjb2xsZWN0ZWQgc28gZmFyLiBUaGUgQnJlYWtcbiAqIG5vZGUgZXhlY3V0b3IgdGhyb3dzIGEgYEdyYXBoQnJlYWtTaWduYWxgIHRoYXQgdGhlIGVuY2xvc2luZyBsb29wIGV4ZWN1dG9yXG4gKiBjYXRjaGVzLlxuICovXG5pbXBvcnQgeyBNb2RlbCwgbW9kZWwsIHJlcXVpcmVkIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgdWllbGVtZW50IH0gZnJvbSBcIi4uLy4uLy4uL3VpL2RlY29yYXRvcnNcIjtcbmltcG9ydCB7IGlucHV0LCBub2RlLCBvdXRwdXQgfSBmcm9tIFwiLi4vLi4vZGVjb3JhdG9yc1wiO1xuXG4vLyBFbnN1cmUgY2F0ZWdvcnkgc3R5bGVzIGFyZSByZWdpc3RlcmVkIChpZGVtcG90ZW50KS5cbmltcG9ydCBcIi4uL2NhdGVnb3J5LXN0eWxlc1wiO1xuXG5Abm9kZShcImNvcmUuZmxvdy5icmVha1wiLCB7XG4gIGtpbmQ6IFwiY29yZS5mbG93LmJyZWFrXCIsXG4gIGNhdGVnb3J5OiBcIkZsb3cgQ29udHJvbFwiLFxuICBjb2xvcjogXCIjZWY0NDQ0XCIsXG4gIGljb246IFwidGktc3F1YXJlLWFycm93LXJpZ2h0XCIsXG4gIHdpZHRoOiA5NixcbiAgaGVpZ2h0OiA5NixcbiAgbGFiZWxzOiBbXCJmbG93XCIsIFwiYnJlYWtcIiwgXCJsb29wXCIsIFwiY29udHJvbFwiXSxcbiAgbWV0YWRhdGE6IHtcbiAgICB0aXRsZTogXCJCcmVha1wiLFxuICAgIGRlc2NyaXB0aW9uOiBcIkJyZWFrcyBvdXQgb2YgdGhlIGVuY2xvc2luZyBsb29wLiBUaGUgbG9vcCB0ZXJtaW5hdGVzIGVhcmx5IGFuZCByZXR1cm5zIHRoZSByZXN1bHRzIGNvbGxlY3RlZCBzbyBmYXIuXCIsXG4gIH0sXG59KVxuQG1vZGVsKClcbmV4cG9ydCBjbGFzcyBCcmVha0Zsb3dOb2RlIGV4dGVuZHMgTW9kZWwge1xuICBAcmVxdWlyZWQoKVxuICBAdWllbGVtZW50KFwidGV4dGFyZWFcIiwgeyBsYWJlbDogXCJWYWx1ZVwiLCBwbGFjZWhvbGRlcjogXCJWYWx1ZSB0byBmb3J3YXJkIChjb2xsZWN0ZWQgYXMgdGhlIGxhc3QgcGFydGlhbCByZXN1bHQpXCIgfSlcbiAgQGlucHV0KHsgaGFuZGxlOiBcInZhbHVlXCIgfSlcbiAgdmFsdWUhOiB1bmtub3duO1xuXG4gIEByZXF1aXJlZCgpXG4gIEBvdXRwdXQoeyBoYW5kbGU6IFwiYnJva2VuXCIgfSlcbiAgYnJva2VuITogdW5rbm93bjtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,58 @@
|
|
|
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 ui-decorators/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, model, required } from "@decaf-ts/decorator-validation";
|
|
16
|
+
import { uielement } from "./../../../ui/decorators.js";
|
|
17
|
+
import { input, node, output } from "./../../decorators.js";
|
|
18
|
+
// Ensure category styles are registered (idempotent).
|
|
19
|
+
import "./../category-styles.js";
|
|
20
|
+
let ErrorBoundaryFlowNode = class ErrorBoundaryFlowNode extends Model {
|
|
21
|
+
};
|
|
22
|
+
__decorate([
|
|
23
|
+
required(),
|
|
24
|
+
uielement("textarea", { label: "Input value", placeholder: "Value to guard" }),
|
|
25
|
+
input({ handle: "value" }),
|
|
26
|
+
__metadata("design:type", Object)
|
|
27
|
+
], ErrorBoundaryFlowNode.prototype, "value", void 0);
|
|
28
|
+
__decorate([
|
|
29
|
+
required(),
|
|
30
|
+
uielement("input", { label: "Result", placeholder: "Output on success" }),
|
|
31
|
+
output({ handle: "result" }),
|
|
32
|
+
__metadata("design:type", Object)
|
|
33
|
+
], ErrorBoundaryFlowNode.prototype, "result", void 0);
|
|
34
|
+
__decorate([
|
|
35
|
+
required(),
|
|
36
|
+
uielement("input", { label: "Error", placeholder: "Output on failure" }),
|
|
37
|
+
output({ handle: "error" }),
|
|
38
|
+
__metadata("design:type", Object)
|
|
39
|
+
], ErrorBoundaryFlowNode.prototype, "error", void 0);
|
|
40
|
+
ErrorBoundaryFlowNode = __decorate([
|
|
41
|
+
node("core.flow.errorBoundary", {
|
|
42
|
+
kind: "core.flow.errorBoundary",
|
|
43
|
+
category: "Flow Control",
|
|
44
|
+
color: "#ef4444",
|
|
45
|
+
icon: "ti-shield-check",
|
|
46
|
+
width: 96,
|
|
47
|
+
height: 96,
|
|
48
|
+
labels: ["flow", "error", "try-catch"],
|
|
49
|
+
metadata: {
|
|
50
|
+
title: "Error boundary",
|
|
51
|
+
description: "Wraps the input in a try/catch/finally. Emits the result on success, or the error on failure.",
|
|
52
|
+
finally: false,
|
|
53
|
+
},
|
|
54
|
+
}),
|
|
55
|
+
model()
|
|
56
|
+
], ErrorBoundaryFlowNode);
|
|
57
|
+
export { ErrorBoundaryFlowNode };
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItYm91bmRhcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZ3JhcGgvbm9kZXMvZmxvdy1jb250cm9sL2Vycm9yLWJvdW5kYXJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOzs7O0dBSUc7QUFDSCxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsU0FBUyxFQUFFLG9DQUErQjtBQUNuRCxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsOEJBQXlCO0FBRXZELHNEQUFzRDtBQUN0RCxpQ0FBNEI7QUFpQnJCLElBQU0scUJBQXFCLEdBQTNCLE1BQU0scUJBQXNCLFNBQVEsS0FBSztDQWUvQyxDQUFBO0FBWEM7SUFIQyxRQUFRLEVBQUU7SUFDVixTQUFTLENBQUMsVUFBVSxFQUFFLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQztJQUM5RSxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUM7O29EQUNYO0FBS2hCO0lBSEMsUUFBUSxFQUFFO0lBQ1YsU0FBUyxDQUFDLE9BQU8sRUFBRSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLENBQUM7SUFDekUsTUFBTSxDQUFDLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxDQUFDOztxREFDWjtBQUtqQjtJQUhDLFFBQVEsRUFBRTtJQUNWLFNBQVMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxDQUFDO0lBQ3hFLE1BQU0sQ0FBQyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsQ0FBQzs7b0RBQ1o7QUFkTCxxQkFBcUI7SUFmakMsSUFBSSxDQUFDLHlCQUF5QixFQUFFO1FBQy9CLElBQUksRUFBRSx5QkFBeUI7UUFDL0IsUUFBUSxFQUFFLGNBQWM7UUFDeEIsS0FBSyxFQUFFLFNBQVM7UUFDaEIsSUFBSSxFQUFFLGlCQUFpQjtRQUN2QixLQUFLLEVBQUUsRUFBRTtRQUNULE1BQU0sRUFBRSxFQUFFO1FBQ1YsTUFBTSxFQUFFLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxXQUFXLENBQUM7UUFDdEMsUUFBUSxFQUFFO1lBQ1IsS0FBSyxFQUFFLGdCQUFnQjtZQUN2QixXQUFXLEVBQUUsK0ZBQStGO1lBQzVHLE9BQU8sRUFBRSxLQUFLO1NBQ2Y7S0FDRixDQUFDO0lBQ0QsS0FBSyxFQUFFO0dBQ0sscUJBQXFCLENBZWpDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIHVpLWRlY29yYXRvcnMvZ3JhcGgvbm9kZXMvZmxvdy1jb250cm9sL2Vycm9yLWJvdW5kYXJ5XG4gKiBAc3VtbWFyeSBFcnJvci1ib3VuZGFyeSBmbG93LWNvbnRyb2wgbm9kZSBkZWNsYXJhdGlvbiAoREVDQUYtMzIgwqcyMi4yLjIpLlxuICogQGRlc2NyaXB0aW9uIEVycm9yIGJvdW5kYXJ5IOKAlCB0cnkvY2F0Y2gvZmluYWxseSB3b3JrZmxvdyBiZWhhdmlvdXIuXG4gKi9cbmltcG9ydCB7IE1vZGVsLCBtb2RlbCwgcmVxdWlyZWQgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyB1aWVsZW1lbnQgfSBmcm9tIFwiLi4vLi4vLi4vdWkvZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgaW5wdXQsIG5vZGUsIG91dHB1dCB9IGZyb20gXCIuLi8uLi9kZWNvcmF0b3JzXCI7XG5cbi8vIEVuc3VyZSBjYXRlZ29yeSBzdHlsZXMgYXJlIHJlZ2lzdGVyZWQgKGlkZW1wb3RlbnQpLlxuaW1wb3J0IFwiLi4vY2F0ZWdvcnktc3R5bGVzXCI7XG5cbkBub2RlKFwiY29yZS5mbG93LmVycm9yQm91bmRhcnlcIiwge1xuICBraW5kOiBcImNvcmUuZmxvdy5lcnJvckJvdW5kYXJ5XCIsXG4gIGNhdGVnb3J5OiBcIkZsb3cgQ29udHJvbFwiLFxuICBjb2xvcjogXCIjZWY0NDQ0XCIsXG4gIGljb246IFwidGktc2hpZWxkLWNoZWNrXCIsXG4gIHdpZHRoOiA5NixcbiAgaGVpZ2h0OiA5NixcbiAgbGFiZWxzOiBbXCJmbG93XCIsIFwiZXJyb3JcIiwgXCJ0cnktY2F0Y2hcIl0sXG4gIG1ldGFkYXRhOiB7XG4gICAgdGl0bGU6IFwiRXJyb3IgYm91bmRhcnlcIixcbiAgICBkZXNjcmlwdGlvbjogXCJXcmFwcyB0aGUgaW5wdXQgaW4gYSB0cnkvY2F0Y2gvZmluYWxseS4gRW1pdHMgdGhlIHJlc3VsdCBvbiBzdWNjZXNzLCBvciB0aGUgZXJyb3Igb24gZmFpbHVyZS5cIixcbiAgICBmaW5hbGx5OiBmYWxzZSxcbiAgfSxcbn0pXG5AbW9kZWwoKVxuZXhwb3J0IGNsYXNzIEVycm9yQm91bmRhcnlGbG93Tm9kZSBleHRlbmRzIE1vZGVsIHtcbiAgQHJlcXVpcmVkKClcbiAgQHVpZWxlbWVudChcInRleHRhcmVhXCIsIHsgbGFiZWw6IFwiSW5wdXQgdmFsdWVcIiwgcGxhY2Vob2xkZXI6IFwiVmFsdWUgdG8gZ3VhcmRcIiB9KVxuICBAaW5wdXQoeyBoYW5kbGU6IFwidmFsdWVcIiB9KVxuICB2YWx1ZSE6IHVua25vd247XG5cbiAgQHJlcXVpcmVkKClcbiAgQHVpZWxlbWVudChcImlucHV0XCIsIHsgbGFiZWw6IFwiUmVzdWx0XCIsIHBsYWNlaG9sZGVyOiBcIk91dHB1dCBvbiBzdWNjZXNzXCIgfSlcbiAgQG91dHB1dCh7IGhhbmRsZTogXCJyZXN1bHRcIiB9KVxuICByZXN1bHQhOiB1bmtub3duO1xuXG4gIEByZXF1aXJlZCgpXG4gIEB1aWVsZW1lbnQoXCJpbnB1dFwiLCB7IGxhYmVsOiBcIkVycm9yXCIsIHBsYWNlaG9sZGVyOiBcIk91dHB1dCBvbiBmYWlsdXJlXCIgfSlcbiAgQG91dHB1dCh7IGhhbmRsZTogXCJlcnJvclwiIH0pXG4gIGVycm9yITogdW5rbm93bjtcbn1cbiJdfQ==
|
|
@@ -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 ui-decorators/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, model, required } from "@decaf-ts/decorator-validation";
|
|
17
|
+
import { uielement } from "./../../../ui/decorators.js";
|
|
18
|
+
import { input, node, output } from "./../../decorators.js";
|
|
19
|
+
// Ensure category styles are registered (idempotent).
|
|
20
|
+
import "./../category-styles.js";
|
|
21
|
+
let HumanApprovalFlowNode = class HumanApprovalFlowNode extends Model {
|
|
22
|
+
};
|
|
23
|
+
__decorate([
|
|
24
|
+
required(),
|
|
25
|
+
uielement("textarea", { label: "Input value", placeholder: "Value pending approval" }),
|
|
26
|
+
input({ handle: "value" }),
|
|
27
|
+
__metadata("design:type", Object)
|
|
28
|
+
], HumanApprovalFlowNode.prototype, "value", void 0);
|
|
29
|
+
__decorate([
|
|
30
|
+
required(),
|
|
31
|
+
uielement("input", { label: "Approved", placeholder: "Output when approved" }),
|
|
32
|
+
output({ handle: "approved" }),
|
|
33
|
+
__metadata("design:type", Object)
|
|
34
|
+
], HumanApprovalFlowNode.prototype, "approved", void 0);
|
|
35
|
+
__decorate([
|
|
36
|
+
required(),
|
|
37
|
+
uielement("input", { label: "Rejected", placeholder: "Output when rejected" }),
|
|
38
|
+
output({ handle: "rejected" }),
|
|
39
|
+
__metadata("design:type", Object)
|
|
40
|
+
], HumanApprovalFlowNode.prototype, "rejected", void 0);
|
|
41
|
+
HumanApprovalFlowNode = __decorate([
|
|
42
|
+
node("core.flow.humanApproval", {
|
|
43
|
+
kind: "core.flow.humanApproval",
|
|
44
|
+
category: "Flow Control",
|
|
45
|
+
color: "#d946ef",
|
|
46
|
+
icon: "ti-user-check",
|
|
47
|
+
width: 96,
|
|
48
|
+
height: 96,
|
|
49
|
+
labels: ["flow", "approval", "suspend"],
|
|
50
|
+
metadata: {
|
|
51
|
+
title: "Human approval",
|
|
52
|
+
description: "Suspends execution until a human approves or rejects. Emits the approved value or a rejection.",
|
|
53
|
+
approvers: [],
|
|
54
|
+
timeoutMs: 86400000,
|
|
55
|
+
},
|
|
56
|
+
}),
|
|
57
|
+
model()
|
|
58
|
+
], HumanApprovalFlowNode);
|
|
59
|
+
export { HumanApprovalFlowNode };
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHVtYW4tYXBwcm92YWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZ3JhcGgvbm9kZXMvZmxvdy1jb250cm9sL2h1bWFuLWFwcHJvdmFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOzs7OztHQUtHO0FBQ0gsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxvQ0FBK0I7QUFDbkQsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLDhCQUF5QjtBQUV2RCxzREFBc0Q7QUFDdEQsaUNBQTRCO0FBa0JyQixJQUFNLHFCQUFxQixHQUEzQixNQUFNLHFCQUFzQixTQUFRLEtBQUs7Q0FlL0MsQ0FBQTtBQVhDO0lBSEMsUUFBUSxFQUFFO0lBQ1YsU0FBUyxDQUFDLFVBQVUsRUFBRSxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLHdCQUF3QixFQUFFLENBQUM7SUFDdEYsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDOztvREFDWDtBQUtoQjtJQUhDLFFBQVEsRUFBRTtJQUNWLFNBQVMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxzQkFBc0IsRUFBRSxDQUFDO0lBQzlFLE1BQU0sQ0FBQyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsQ0FBQzs7dURBQ1o7QUFLbkI7SUFIQyxRQUFRLEVBQUU7SUFDVixTQUFTLENBQUMsT0FBTyxFQUFFLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsc0JBQXNCLEVBQUUsQ0FBQztJQUM5RSxNQUFNLENBQUMsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLENBQUM7O3VEQUNaO0FBZFIscUJBQXFCO0lBaEJqQyxJQUFJLENBQUMseUJBQXlCLEVBQUU7UUFDL0IsSUFBSSxFQUFFLHlCQUF5QjtRQUMvQixRQUFRLEVBQUUsY0FBYztRQUN4QixLQUFLLEVBQUUsU0FBUztRQUNoQixJQUFJLEVBQUUsZUFBZTtRQUNyQixLQUFLLEVBQUUsRUFBRTtRQUNULE1BQU0sRUFBRSxFQUFFO1FBQ1YsTUFBTSxFQUFFLENBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxTQUFTLENBQUM7UUFDdkMsUUFBUSxFQUFFO1lBQ1IsS0FBSyxFQUFFLGdCQUFnQjtZQUN2QixXQUFXLEVBQUUsZ0dBQWdHO1lBQzdHLFNBQVMsRUFBRSxFQUFFO1lBQ2IsU0FBUyxFQUFFLFFBQVE7U0FDcEI7S0FDRixDQUFDO0lBQ0QsS0FBSyxFQUFFO0dBQ0sscUJBQXFCLENBZWpDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIHVpLWRlY29yYXRvcnMvZ3JhcGgvbm9kZXMvZmxvdy1jb250cm9sL2h1bWFuLWFwcHJvdmFsXG4gKiBAc3VtbWFyeSBIdW1hbi1hcHByb3ZhbCBmbG93LWNvbnRyb2wgbm9kZSBkZWNsYXJhdGlvbiAoREVDQUYtMzIgwqcyMi4yLjIpLlxuICogQGRlc2NyaXB0aW9uIEh1bWFuIGFwcHJvdmFsIOKAlCBzdXNwZW5kcyBleGVjdXRpb24gdW50aWwgYSBodW1hbiBhcHByb3Zlc1xuICogb3IgcmVqZWN0cy5cbiAqL1xuaW1wb3J0IHsgTW9kZWwsIG1vZGVsLCByZXF1aXJlZCB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IHVpZWxlbWVudCB9IGZyb20gXCIuLi8uLi8uLi91aS9kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBpbnB1dCwgbm9kZSwgb3V0cHV0IH0gZnJvbSBcIi4uLy4uL2RlY29yYXRvcnNcIjtcblxuLy8gRW5zdXJlIGNhdGVnb3J5IHN0eWxlcyBhcmUgcmVnaXN0ZXJlZCAoaWRlbXBvdGVudCkuXG5pbXBvcnQgXCIuLi9jYXRlZ29yeS1zdHlsZXNcIjtcblxuQG5vZGUoXCJjb3JlLmZsb3cuaHVtYW5BcHByb3ZhbFwiLCB7XG4gIGtpbmQ6IFwiY29yZS5mbG93Lmh1bWFuQXBwcm92YWxcIixcbiAgY2F0ZWdvcnk6IFwiRmxvdyBDb250cm9sXCIsXG4gIGNvbG9yOiBcIiNkOTQ2ZWZcIixcbiAgaWNvbjogXCJ0aS11c2VyLWNoZWNrXCIsXG4gIHdpZHRoOiA5NixcbiAgaGVpZ2h0OiA5NixcbiAgbGFiZWxzOiBbXCJmbG93XCIsIFwiYXBwcm92YWxcIiwgXCJzdXNwZW5kXCJdLFxuICBtZXRhZGF0YToge1xuICAgIHRpdGxlOiBcIkh1bWFuIGFwcHJvdmFsXCIsXG4gICAgZGVzY3JpcHRpb246IFwiU3VzcGVuZHMgZXhlY3V0aW9uIHVudGlsIGEgaHVtYW4gYXBwcm92ZXMgb3IgcmVqZWN0cy4gRW1pdHMgdGhlIGFwcHJvdmVkIHZhbHVlIG9yIGEgcmVqZWN0aW9uLlwiLFxuICAgIGFwcHJvdmVyczogW10sXG4gICAgdGltZW91dE1zOiA4NjQwMDAwMCxcbiAgfSxcbn0pXG5AbW9kZWwoKVxuZXhwb3J0IGNsYXNzIEh1bWFuQXBwcm92YWxGbG93Tm9kZSBleHRlbmRzIE1vZGVsIHtcbiAgQHJlcXVpcmVkKClcbiAgQHVpZWxlbWVudChcInRleHRhcmVhXCIsIHsgbGFiZWw6IFwiSW5wdXQgdmFsdWVcIiwgcGxhY2Vob2xkZXI6IFwiVmFsdWUgcGVuZGluZyBhcHByb3ZhbFwiIH0pXG4gIEBpbnB1dCh7IGhhbmRsZTogXCJ2YWx1ZVwiIH0pXG4gIHZhbHVlITogdW5rbm93bjtcblxuICBAcmVxdWlyZWQoKVxuICBAdWllbGVtZW50KFwiaW5wdXRcIiwgeyBsYWJlbDogXCJBcHByb3ZlZFwiLCBwbGFjZWhvbGRlcjogXCJPdXRwdXQgd2hlbiBhcHByb3ZlZFwiIH0pXG4gIEBvdXRwdXQoeyBoYW5kbGU6IFwiYXBwcm92ZWRcIiB9KVxuICBhcHByb3ZlZCE6IHVua25vd247XG5cbiAgQHJlcXVpcmVkKClcbiAgQHVpZWxlbWVudChcImlucHV0XCIsIHsgbGFiZWw6IFwiUmVqZWN0ZWRcIiwgcGxhY2Vob2xkZXI6IFwiT3V0cHV0IHdoZW4gcmVqZWN0ZWRcIiB9KVxuICBAb3V0cHV0KHsgaGFuZGxlOiBcInJlamVjdGVkXCIgfSlcbiAgcmVqZWN0ZWQhOiB1bmtub3duO1xufVxuIl19
|
|
@@ -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 ui-decorators/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, model, required } from "@decaf-ts/decorator-validation";
|
|
20
|
+
import { uielement } from "./../../../ui/decorators.js";
|
|
21
|
+
import { input, node, output } from "./../../decorators.js";
|
|
22
|
+
// Ensure category styles are registered (idempotent).
|
|
23
|
+
import "./../category-styles.js";
|
|
24
|
+
let IfFlowNode = class IfFlowNode extends Model {
|
|
25
|
+
};
|
|
26
|
+
__decorate([
|
|
27
|
+
required(),
|
|
28
|
+
uielement("textarea", { label: "Input value", placeholder: "Value to evaluate" }),
|
|
29
|
+
input({ handle: "value" }),
|
|
30
|
+
__metadata("design:type", Object)
|
|
31
|
+
], IfFlowNode.prototype, "value", void 0);
|
|
32
|
+
__decorate([
|
|
33
|
+
required(),
|
|
34
|
+
uielement("input", { label: "Then", placeholder: "Output when condition is true" }),
|
|
35
|
+
output({ handle: "then" }),
|
|
36
|
+
__metadata("design:type", Object)
|
|
37
|
+
], IfFlowNode.prototype, "then", void 0);
|
|
38
|
+
__decorate([
|
|
39
|
+
required(),
|
|
40
|
+
uielement("input", { label: "Else", placeholder: "Output when condition is false" }),
|
|
41
|
+
output({ handle: "else" }),
|
|
42
|
+
__metadata("design:type", Object)
|
|
43
|
+
], IfFlowNode.prototype, "else", void 0);
|
|
44
|
+
IfFlowNode = __decorate([
|
|
45
|
+
node("core.flow.if", {
|
|
46
|
+
kind: "core.flow.if",
|
|
47
|
+
category: "Flow Control",
|
|
48
|
+
color: "#f59e0b",
|
|
49
|
+
icon: "ti-arrows-split-2",
|
|
50
|
+
width: 96,
|
|
51
|
+
height: 96,
|
|
52
|
+
labels: ["flow", "conditional", "branch"],
|
|
53
|
+
metadata: {
|
|
54
|
+
title: "If",
|
|
55
|
+
description: "Conditional branch. Evaluates the configured condition and routes the input to the matching output.",
|
|
56
|
+
condition: { op: "eq", left: { const: true }, right: { const: true } },
|
|
57
|
+
},
|
|
58
|
+
}),
|
|
59
|
+
model()
|
|
60
|
+
], IfFlowNode);
|
|
61
|
+
export { IfFlowNode };
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZ3JhcGgvbm9kZXMvZmxvdy1jb250cm9sL2lmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOzs7Ozs7OztHQVFHO0FBQ0gsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxvQ0FBK0I7QUFDbkQsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLDhCQUF5QjtBQUV2RCxzREFBc0Q7QUFDdEQsaUNBQTRCO0FBaUJyQixJQUFNLFVBQVUsR0FBaEIsTUFBTSxVQUFXLFNBQVEsS0FBSztDQWVwQyxDQUFBO0FBWEM7SUFIQyxRQUFRLEVBQUU7SUFDVixTQUFTLENBQUMsVUFBVSxFQUFFLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQztJQUNqRixLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUM7O3lDQUNYO0FBS2hCO0lBSEMsUUFBUSxFQUFFO0lBQ1YsU0FBUyxDQUFDLE9BQU8sRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLCtCQUErQixFQUFFLENBQUM7SUFDbkYsTUFBTSxDQUFDLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxDQUFDOzt3Q0FDWjtBQUtmO0lBSEMsUUFBUSxFQUFFO0lBQ1YsU0FBUyxDQUFDLE9BQU8sRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLGdDQUFnQyxFQUFFLENBQUM7SUFDcEYsTUFBTSxDQUFDLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxDQUFDOzt3Q0FDWjtBQWRKLFVBQVU7SUFmdEIsSUFBSSxDQUFDLGNBQWMsRUFBRTtRQUNwQixJQUFJLEVBQUUsY0FBYztRQUNwQixRQUFRLEVBQUUsY0FBYztRQUN4QixLQUFLLEVBQUUsU0FBUztRQUNoQixJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLEtBQUssRUFBRSxFQUFFO1FBQ1QsTUFBTSxFQUFFLEVBQUU7UUFDVixNQUFNLEVBQUUsQ0FBQyxNQUFNLEVBQUUsYUFBYSxFQUFFLFFBQVEsQ0FBQztRQUN6QyxRQUFRLEVBQUU7WUFDUixLQUFLLEVBQUUsSUFBSTtZQUNYLFdBQVcsRUFBRSxxR0FBcUc7WUFDbEgsU0FBUyxFQUFFLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxFQUFFO1NBQ3ZFO0tBQ0YsQ0FBQztJQUNELEtBQUssRUFBRTtHQUNLLFVBQVUsQ0FldEIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgdWktZGVjb3JhdG9ycy9ncmFwaC9ub2Rlcy9mbG93LWNvbnRyb2wvaWZcbiAqIEBzdW1tYXJ5IElmIGZsb3ctY29udHJvbCBub2RlIGRlY2xhcmF0aW9uIChERUNBRi0zMiDCpzIyLjIuMikuXG4gKiBAZGVzY3JpcHRpb24gSWYg4oCUIGNvbmRpdGlvbmFsIGJyYW5jaC4gRXZhbHVhdGVzIGEgYENvbmRpdGlvbkV4cHJlc3Npb25gXG4gKiAowqcyMi4zKSBhbmQgcm91dGVzIHRoZSBpbnB1dCB0byB0aGUgYHRoZW5gIG9yIGBlbHNlYCBvdXRwdXQuIEEgZ3JhcGgtbGV2ZWxcbiAqIG1hY3JvOiB0aGUgZW5naW5lJ3MgcGxhbm5lciByZWNvZ25pc2VzIGl0IGFzIGFuIG9yZGluYXJ5IGV4ZWN1dGFibGUgbm9kZVxuICogKMKnNS43KSBidXQgaXQgaGFzIG5vIGJ1aWx0LWluIGV4ZWN1dG9yIOKAlCBkb3duc3RyZWFtIHByb2plY3RzIHJlZ2lzdGVyXG4gKiBjdXN0b20gZXhlY3V0b3JzIG9yIGNvbXBpbGUgaXQgaW50byBjb21wb3NpdGlvbiBBUElzICjCpzIyLjIuMikuXG4gKi9cbmltcG9ydCB7IE1vZGVsLCBtb2RlbCwgcmVxdWlyZWQgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyB1aWVsZW1lbnQgfSBmcm9tIFwiLi4vLi4vLi4vdWkvZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgaW5wdXQsIG5vZGUsIG91dHB1dCB9IGZyb20gXCIuLi8uLi9kZWNvcmF0b3JzXCI7XG5cbi8vIEVuc3VyZSBjYXRlZ29yeSBzdHlsZXMgYXJlIHJlZ2lzdGVyZWQgKGlkZW1wb3RlbnQpLlxuaW1wb3J0IFwiLi4vY2F0ZWdvcnktc3R5bGVzXCI7XG5cbkBub2RlKFwiY29yZS5mbG93LmlmXCIsIHtcbiAga2luZDogXCJjb3JlLmZsb3cuaWZcIixcbiAgY2F0ZWdvcnk6IFwiRmxvdyBDb250cm9sXCIsXG4gIGNvbG9yOiBcIiNmNTllMGJcIixcbiAgaWNvbjogXCJ0aS1hcnJvd3Mtc3BsaXQtMlwiLFxuICB3aWR0aDogOTYsXG4gIGhlaWdodDogOTYsXG4gIGxhYmVsczogW1wiZmxvd1wiLCBcImNvbmRpdGlvbmFsXCIsIFwiYnJhbmNoXCJdLFxuICBtZXRhZGF0YToge1xuICAgIHRpdGxlOiBcIklmXCIsXG4gICAgZGVzY3JpcHRpb246IFwiQ29uZGl0aW9uYWwgYnJhbmNoLiBFdmFsdWF0ZXMgdGhlIGNvbmZpZ3VyZWQgY29uZGl0aW9uIGFuZCByb3V0ZXMgdGhlIGlucHV0IHRvIHRoZSBtYXRjaGluZyBvdXRwdXQuXCIsXG4gICAgY29uZGl0aW9uOiB7IG9wOiBcImVxXCIsIGxlZnQ6IHsgY29uc3Q6IHRydWUgfSwgcmlnaHQ6IHsgY29uc3Q6IHRydWUgfSB9LFxuICB9LFxufSlcbkBtb2RlbCgpXG5leHBvcnQgY2xhc3MgSWZGbG93Tm9kZSBleHRlbmRzIE1vZGVsIHtcbiAgQHJlcXVpcmVkKClcbiAgQHVpZWxlbWVudChcInRleHRhcmVhXCIsIHsgbGFiZWw6IFwiSW5wdXQgdmFsdWVcIiwgcGxhY2Vob2xkZXI6IFwiVmFsdWUgdG8gZXZhbHVhdGVcIiB9KVxuICBAaW5wdXQoeyBoYW5kbGU6IFwidmFsdWVcIiB9KVxuICB2YWx1ZSE6IHVua25vd247XG5cbiAgQHJlcXVpcmVkKClcbiAgQHVpZWxlbWVudChcImlucHV0XCIsIHsgbGFiZWw6IFwiVGhlblwiLCBwbGFjZWhvbGRlcjogXCJPdXRwdXQgd2hlbiBjb25kaXRpb24gaXMgdHJ1ZVwiIH0pXG4gIEBvdXRwdXQoeyBoYW5kbGU6IFwidGhlblwiIH0pXG4gIHRoZW4hOiB1bmtub3duO1xuXG4gIEByZXF1aXJlZCgpXG4gIEB1aWVsZW1lbnQoXCJpbnB1dFwiLCB7IGxhYmVsOiBcIkVsc2VcIiwgcGxhY2Vob2xkZXI6IFwiT3V0cHV0IHdoZW4gY29uZGl0aW9uIGlzIGZhbHNlXCIgfSlcbiAgQG91dHB1dCh7IGhhbmRsZTogXCJlbHNlXCIgfSlcbiAgZWxzZSE6IHVua25vd247XG59XG4iXX0=
|
|
@@ -0,0 +1,52 @@
|
|
|
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 ui-decorators/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, model, required } from "@decaf-ts/decorator-validation";
|
|
16
|
+
import { uielement } from "./../../../ui/decorators.js";
|
|
17
|
+
import { input, node, output } from "./../../decorators.js";
|
|
18
|
+
// Ensure category styles are registered (idempotent).
|
|
19
|
+
import "./../category-styles.js";
|
|
20
|
+
let ParallelFlowNode = class ParallelFlowNode extends Model {
|
|
21
|
+
};
|
|
22
|
+
__decorate([
|
|
23
|
+
required(),
|
|
24
|
+
uielement("textarea", { label: "Input value", placeholder: "Value to fan out" }),
|
|
25
|
+
input({ handle: "value" }),
|
|
26
|
+
__metadata("design:type", Object)
|
|
27
|
+
], ParallelFlowNode.prototype, "value", void 0);
|
|
28
|
+
__decorate([
|
|
29
|
+
required(),
|
|
30
|
+
uielement("input", { label: "Branches", placeholder: "Collected branch outputs" }),
|
|
31
|
+
output({ handle: "branches" }),
|
|
32
|
+
__metadata("design:type", Array)
|
|
33
|
+
], ParallelFlowNode.prototype, "branches", void 0);
|
|
34
|
+
ParallelFlowNode = __decorate([
|
|
35
|
+
node("core.flow.parallel", {
|
|
36
|
+
kind: "core.flow.parallel",
|
|
37
|
+
category: "Flow Control",
|
|
38
|
+
color: "#06b6d4",
|
|
39
|
+
icon: "ti-arrows-vertical",
|
|
40
|
+
width: 96,
|
|
41
|
+
height: 96,
|
|
42
|
+
labels: ["flow", "parallel", "concurrent"],
|
|
43
|
+
metadata: {
|
|
44
|
+
title: "Parallel",
|
|
45
|
+
description: "Splits execution into concurrent branches. All branches run in parallel and outputs are collected.",
|
|
46
|
+
branchCount: 2,
|
|
47
|
+
},
|
|
48
|
+
}),
|
|
49
|
+
model()
|
|
50
|
+
], ParallelFlowNode);
|
|
51
|
+
export { ParallelFlowNode };
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYWxsZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZ3JhcGgvbm9kZXMvZmxvdy1jb250cm9sL3BhcmFsbGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOzs7O0dBSUc7QUFDSCxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsU0FBUyxFQUFFLG9DQUErQjtBQUNuRCxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsOEJBQXlCO0FBRXZELHNEQUFzRDtBQUN0RCxpQ0FBNEI7QUFpQnJCLElBQU0sZ0JBQWdCLEdBQXRCLE1BQU0sZ0JBQWlCLFNBQVEsS0FBSztDQVUxQyxDQUFBO0FBTkM7SUFIQyxRQUFRLEVBQUU7SUFDVixTQUFTLENBQUMsVUFBVSxFQUFFLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQztJQUNoRixLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUM7OytDQUNYO0FBS2hCO0lBSEMsUUFBUSxFQUFFO0lBQ1YsU0FBUyxDQUFDLE9BQU8sRUFBRSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLDBCQUEwQixFQUFFLENBQUM7SUFDbEYsTUFBTSxDQUFDLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxDQUFDOztrREFDVjtBQVRWLGdCQUFnQjtJQWY1QixJQUFJLENBQUMsb0JBQW9CLEVBQUU7UUFDMUIsSUFBSSxFQUFFLG9CQUFvQjtRQUMxQixRQUFRLEVBQUUsY0FBYztRQUN4QixLQUFLLEVBQUUsU0FBUztRQUNoQixJQUFJLEVBQUUsb0JBQW9CO1FBQzFCLEtBQUssRUFBRSxFQUFFO1FBQ1QsTUFBTSxFQUFFLEVBQUU7UUFDVixNQUFNLEVBQUUsQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLFlBQVksQ0FBQztRQUMxQyxRQUFRLEVBQUU7WUFDUixLQUFLLEVBQUUsVUFBVTtZQUNqQixXQUFXLEVBQUUsb0dBQW9HO1lBQ2pILFdBQVcsRUFBRSxDQUFDO1NBQ2Y7S0FDRixDQUFDO0lBQ0QsS0FBSyxFQUFFO0dBQ0ssZ0JBQWdCLENBVTVCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIHVpLWRlY29yYXRvcnMvZ3JhcGgvbm9kZXMvZmxvdy1jb250cm9sL3BhcmFsbGVsXG4gKiBAc3VtbWFyeSBQYXJhbGxlbCBmbG93LWNvbnRyb2wgbm9kZSBkZWNsYXJhdGlvbiAoREVDQUYtMzIgwqcyMi4yLjIpLlxuICogQGRlc2NyaXB0aW9uIFBhcmFsbGVsIOKAlCBzcGxpdHMgZXhlY3V0aW9uIGludG8gY29uY3VycmVudCBicmFuY2hlcy5cbiAqL1xuaW1wb3J0IHsgTW9kZWwsIG1vZGVsLCByZXF1aXJlZCB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IHVpZWxlbWVudCB9IGZyb20gXCIuLi8uLi8uLi91aS9kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBpbnB1dCwgbm9kZSwgb3V0cHV0IH0gZnJvbSBcIi4uLy4uL2RlY29yYXRvcnNcIjtcblxuLy8gRW5zdXJlIGNhdGVnb3J5IHN0eWxlcyBhcmUgcmVnaXN0ZXJlZCAoaWRlbXBvdGVudCkuXG5pbXBvcnQgXCIuLi9jYXRlZ29yeS1zdHlsZXNcIjtcblxuQG5vZGUoXCJjb3JlLmZsb3cucGFyYWxsZWxcIiwge1xuICBraW5kOiBcImNvcmUuZmxvdy5wYXJhbGxlbFwiLFxuICBjYXRlZ29yeTogXCJGbG93IENvbnRyb2xcIixcbiAgY29sb3I6IFwiIzA2YjZkNFwiLFxuICBpY29uOiBcInRpLWFycm93cy12ZXJ0aWNhbFwiLFxuICB3aWR0aDogOTYsXG4gIGhlaWdodDogOTYsXG4gIGxhYmVsczogW1wiZmxvd1wiLCBcInBhcmFsbGVsXCIsIFwiY29uY3VycmVudFwiXSxcbiAgbWV0YWRhdGE6IHtcbiAgICB0aXRsZTogXCJQYXJhbGxlbFwiLFxuICAgIGRlc2NyaXB0aW9uOiBcIlNwbGl0cyBleGVjdXRpb24gaW50byBjb25jdXJyZW50IGJyYW5jaGVzLiBBbGwgYnJhbmNoZXMgcnVuIGluIHBhcmFsbGVsIGFuZCBvdXRwdXRzIGFyZSBjb2xsZWN0ZWQuXCIsXG4gICAgYnJhbmNoQ291bnQ6IDIsXG4gIH0sXG59KVxuQG1vZGVsKClcbmV4cG9ydCBjbGFzcyBQYXJhbGxlbEZsb3dOb2RlIGV4dGVuZHMgTW9kZWwge1xuICBAcmVxdWlyZWQoKVxuICBAdWllbGVtZW50KFwidGV4dGFyZWFcIiwgeyBsYWJlbDogXCJJbnB1dCB2YWx1ZVwiLCBwbGFjZWhvbGRlcjogXCJWYWx1ZSB0byBmYW4gb3V0XCIgfSlcbiAgQGlucHV0KHsgaGFuZGxlOiBcInZhbHVlXCIgfSlcbiAgdmFsdWUhOiB1bmtub3duO1xuXG4gIEByZXF1aXJlZCgpXG4gIEB1aWVsZW1lbnQoXCJpbnB1dFwiLCB7IGxhYmVsOiBcIkJyYW5jaGVzXCIsIHBsYWNlaG9sZGVyOiBcIkNvbGxlY3RlZCBicmFuY2ggb3V0cHV0c1wiIH0pXG4gIEBvdXRwdXQoeyBoYW5kbGU6IFwiYnJhbmNoZXNcIiB9KVxuICBicmFuY2hlcyE6IHVua25vd25bXTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,112 @@
|
|
|
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 ui-decorators/graph/nodes/flow-control/switch
|
|
12
|
+
* @summary Switch flow-control node declaration (DECAF-32 §22.2.2).
|
|
13
|
+
* @description Switch — multi-branch. Routes the input to one of the case
|
|
14
|
+
* output ports or `default` based on matching conditions. Each case defines
|
|
15
|
+
* a `SwitchCaseCondition` (graphical or code mode) and a dedicated output
|
|
16
|
+
* port. Cases are stored in `metadata.switch.cases` and the renderer creates
|
|
17
|
+
* dynamic output ports from them (DECAF-32 §22.2.2).
|
|
18
|
+
*
|
|
19
|
+
* The node grows in height as cases are added. Each case gets its own
|
|
20
|
+
* output port on the right side, labeled with the case label.
|
|
21
|
+
*/
|
|
22
|
+
import { model, required } from "@decaf-ts/decorator-validation";
|
|
23
|
+
import { uielement } from "./../../../ui/decorators.js";
|
|
24
|
+
import { input, node, output, } from "./../../decorators.js";
|
|
25
|
+
import { PortDirection, } from "./../../constants.js";
|
|
26
|
+
import { graphDefinitionOf } from "./../../reader.js";
|
|
27
|
+
import { GraphNode } from "./../base.js";
|
|
28
|
+
// Ensure category styles are registered (idempotent).
|
|
29
|
+
import "./../category-styles.js";
|
|
30
|
+
let SwitchFlowNode = class SwitchFlowNode extends GraphNode {
|
|
31
|
+
/**
|
|
32
|
+
* Computes the node's ports, size, and data patch from the given switch
|
|
33
|
+
* metadata. Each case gets its own output port on the right side; the
|
|
34
|
+
* `default` port always renders **last** (DECAF-32 §21 port-ordering rule,
|
|
35
|
+
* DECAF-34 §6.2). When `hasDefault` is `false`, the `default` output port
|
|
36
|
+
* is omitted entirely. The node grows in height as cases are added.
|
|
37
|
+
*
|
|
38
|
+
* @param meta - The switch metadata patch (`metadata.switch`), carrying
|
|
39
|
+
* the cases and the optional default-port configuration.
|
|
40
|
+
* @returns The computed {@link NodeMetadataChange}: reordered ports
|
|
41
|
+
* (case outputs inserted before the optional default), the grown size,
|
|
42
|
+
* and the `switchMetadata` data patch.
|
|
43
|
+
*/
|
|
44
|
+
static applyMetadata(meta) {
|
|
45
|
+
const definition = graphDefinitionOf(this);
|
|
46
|
+
const defaultPortName = meta.defaultPort ?? "default";
|
|
47
|
+
const hasDefault = meta.hasDefault === true;
|
|
48
|
+
// Base ports excluding any port that collides with a case output port.
|
|
49
|
+
const basePorts = definition.ports.filter((p) => !meta.cases.some((c) => c.outputPort === p.property));
|
|
50
|
+
// Separate the default output port so it can be placed last (or omitted).
|
|
51
|
+
const nonDefaultPorts = basePorts.filter((p) => p.property !== defaultPortName);
|
|
52
|
+
const defaultPort = basePorts.find((p) => p.property === defaultPortName);
|
|
53
|
+
const casePorts = meta.cases.map((c) => ({
|
|
54
|
+
property: c.outputPort,
|
|
55
|
+
name: c.label,
|
|
56
|
+
direction: PortDirection.OUTPUT,
|
|
57
|
+
label: c.label,
|
|
58
|
+
required: false,
|
|
59
|
+
hidden: false,
|
|
60
|
+
path: c.outputPort,
|
|
61
|
+
}));
|
|
62
|
+
// Port order: inputs/non-default outputs first, case outputs next, default last.
|
|
63
|
+
const ports = [...nonDefaultPorts, ...casePorts];
|
|
64
|
+
if (hasDefault && defaultPort) {
|
|
65
|
+
ports.push(defaultPort);
|
|
66
|
+
}
|
|
67
|
+
const caseCount = meta.cases.length;
|
|
68
|
+
return {
|
|
69
|
+
ports,
|
|
70
|
+
size: {
|
|
71
|
+
width: definition.width ?? 120,
|
|
72
|
+
height: caseCount > 0 ? 140 + caseCount * 24 : definition.height ?? 140,
|
|
73
|
+
},
|
|
74
|
+
dataPatch: { switchMetadata: meta },
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
__decorate([
|
|
79
|
+
required(),
|
|
80
|
+
uielement("textarea", { label: "Input value", placeholder: "Value to switch on" }),
|
|
81
|
+
input({ handle: "value" }),
|
|
82
|
+
__metadata("design:type", Object)
|
|
83
|
+
], SwitchFlowNode.prototype, "value", void 0);
|
|
84
|
+
__decorate([
|
|
85
|
+
required(),
|
|
86
|
+
uielement("input", { label: "Default", placeholder: "Default output when no case matches" }),
|
|
87
|
+
output({ handle: "default" }),
|
|
88
|
+
__metadata("design:type", Object)
|
|
89
|
+
], SwitchFlowNode.prototype, "default", void 0);
|
|
90
|
+
SwitchFlowNode = __decorate([
|
|
91
|
+
node("core.flow.switch", {
|
|
92
|
+
kind: "core.flow.switch",
|
|
93
|
+
category: "Flow Control",
|
|
94
|
+
color: "#f97316",
|
|
95
|
+
icon: "ti-arrows-shuffle",
|
|
96
|
+
width: 120,
|
|
97
|
+
height: 140,
|
|
98
|
+
labels: ["flow", "switch", "multi-branch"],
|
|
99
|
+
metadata: {
|
|
100
|
+
title: "Switch",
|
|
101
|
+
description: "Multi-branch switch. Routes the input to the first matching case output, or the default output.",
|
|
102
|
+
switch: {
|
|
103
|
+
cases: [],
|
|
104
|
+
defaultPort: "default",
|
|
105
|
+
hasDefault: false,
|
|
106
|
+
},
|
|
107
|
+
},
|
|
108
|
+
}),
|
|
109
|
+
model()
|
|
110
|
+
], SwitchFlowNode);
|
|
111
|
+
export { SwitchFlowNode };
|
|
112
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2dyYXBoL25vZGVzL2Zsb3ctY29udHJvbC9zd2l0Y2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsb0NBQStCO0FBQ25ELE9BQU8sRUFDTCxLQUFLLEVBQ0wsSUFBSSxFQUNKLE1BQU0sR0FDUCw4QkFBeUI7QUFDMUIsT0FBTyxFQUNMLGFBQWEsR0FFZCw2QkFBd0I7QUFDekIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLDBCQUFxQjtBQUVqRCxPQUFPLEVBQUUsU0FBUyxFQUFFLHFCQUFnQjtBQUVwQyxzREFBc0Q7QUFDdEQsaUNBQTRCO0FBcUJyQixJQUFNLGNBQWMsR0FBcEIsTUFBTSxjQUFlLFNBQVEsU0FBUztJQVczQzs7Ozs7Ozs7Ozs7O09BWUc7SUFDSCxNQUFNLENBQVUsYUFBYSxDQUFDLElBQXdCO1FBQ3BELE1BQU0sVUFBVSxHQUFHLGlCQUFpQixDQUFDLElBQWEsQ0FBQyxDQUFDO1FBQ3BELE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxXQUFXLElBQUksU0FBUyxDQUFDO1FBQ3RELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLEtBQUssSUFBSSxDQUFDO1FBRTVDLHVFQUF1RTtRQUN2RSxNQUFNLFNBQVMsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FDdkMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUM1RCxDQUFDO1FBQ0YsMEVBQTBFO1FBQzFFLE1BQU0sZUFBZSxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQ3RDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxLQUFLLGVBQWUsQ0FDdEMsQ0FBQztRQUNGLE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEtBQUssZUFBZSxDQUFDLENBQUM7UUFFMUUsTUFBTSxTQUFTLEdBQTBCLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzlELFFBQVEsRUFBRSxDQUFDLENBQUMsVUFBVTtZQUN0QixJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQUs7WUFDYixTQUFTLEVBQUUsYUFBYSxDQUFDLE1BQU07WUFDL0IsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLO1lBQ2QsUUFBUSxFQUFFLEtBQUs7WUFDZixNQUFNLEVBQUUsS0FBSztZQUNiLElBQUksRUFBRSxDQUFDLENBQUMsVUFBVTtTQUNuQixDQUFDLENBQUMsQ0FBQztRQUVKLGlGQUFpRjtRQUNqRixNQUFNLEtBQUssR0FBRyxDQUFDLEdBQUcsZUFBZSxFQUFFLEdBQUcsU0FBUyxDQUFDLENBQUM7UUFDakQsSUFBSSxVQUFVLElBQUksV0FBVyxFQUFFLENBQUM7WUFDOUIsS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMxQixDQUFDO1FBRUQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDcEMsT0FBTztZQUNMLEtBQUs7WUFDTCxJQUFJLEVBQUU7Z0JBQ0osS0FBSyxFQUFFLFVBQVUsQ0FBQyxLQUFLLElBQUksR0FBRztnQkFDOUIsTUFBTSxFQUFFLFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxTQUFTLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTSxJQUFJLEdBQUc7YUFDeEU7WUFDRCxTQUFTLEVBQUUsRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFO1NBQ3BDLENBQUM7SUFDSixDQUFDO0NBQ0YsQ0FBQTtBQTdEQztJQUhDLFFBQVEsRUFBRTtJQUNWLFNBQVMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxvQkFBb0IsRUFBRSxDQUFDO0lBQ2xGLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsQ0FBQzs7NkNBQ1g7QUFLaEI7SUFIQyxRQUFRLEVBQUU7SUFDVixTQUFTLENBQUMsT0FBTyxFQUFFLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUscUNBQXFDLEVBQUUsQ0FBQztJQUM1RixNQUFNLENBQUMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLENBQUM7OytDQUNaO0FBVFAsY0FBYztJQW5CMUIsSUFBSSxDQUFDLGtCQUFrQixFQUFFO1FBQ3hCLElBQUksRUFBRSxrQkFBa0I7UUFDeEIsUUFBUSxFQUFFLGNBQWM7UUFDeEIsS0FBSyxFQUFFLFNBQVM7UUFDaEIsSUFBSSxFQUFFLG1CQUFtQjtRQUN6QixLQUFLLEVBQUUsR0FBRztRQUNWLE1BQU0sRUFBRSxHQUFHO1FBQ1gsTUFBTSxFQUFFLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxjQUFjLENBQUM7UUFDMUMsUUFBUSxFQUFFO1lBQ1IsS0FBSyxFQUFFLFFBQVE7WUFDZixXQUFXLEVBQUUsaUdBQWlHO1lBQzlHLE1BQU0sRUFBRTtnQkFDTixLQUFLLEVBQUUsRUFBRTtnQkFDVCxXQUFXLEVBQUUsU0FBUztnQkFDdEIsVUFBVSxFQUFFLEtBQUs7YUFDbEI7U0FDRjtLQUNGLENBQUM7SUFDRCxLQUFLLEVBQUU7R0FDSyxjQUFjLENBaUUxQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSB1aS1kZWNvcmF0b3JzL2dyYXBoL25vZGVzL2Zsb3ctY29udHJvbC9zd2l0Y2hcbiAqIEBzdW1tYXJ5IFN3aXRjaCBmbG93LWNvbnRyb2wgbm9kZSBkZWNsYXJhdGlvbiAoREVDQUYtMzIgwqcyMi4yLjIpLlxuICogQGRlc2NyaXB0aW9uIFN3aXRjaCDigJQgbXVsdGktYnJhbmNoLiBSb3V0ZXMgdGhlIGlucHV0IHRvIG9uZSBvZiB0aGUgY2FzZVxuICogb3V0cHV0IHBvcnRzIG9yIGBkZWZhdWx0YCBiYXNlZCBvbiBtYXRjaGluZyBjb25kaXRpb25zLiBFYWNoIGNhc2UgZGVmaW5lc1xuICogYSBgU3dpdGNoQ2FzZUNvbmRpdGlvbmAgKGdyYXBoaWNhbCBvciBjb2RlIG1vZGUpIGFuZCBhIGRlZGljYXRlZCBvdXRwdXRcbiAqIHBvcnQuIENhc2VzIGFyZSBzdG9yZWQgaW4gYG1ldGFkYXRhLnN3aXRjaC5jYXNlc2AgYW5kIHRoZSByZW5kZXJlciBjcmVhdGVzXG4gKiBkeW5hbWljIG91dHB1dCBwb3J0cyBmcm9tIHRoZW0gKERFQ0FGLTMyIMKnMjIuMi4yKS5cbiAqXG4gKiBUaGUgbm9kZSBncm93cyBpbiBoZWlnaHQgYXMgY2FzZXMgYXJlIGFkZGVkLiBFYWNoIGNhc2UgZ2V0cyBpdHMgb3duXG4gKiBvdXRwdXQgcG9ydCBvbiB0aGUgcmlnaHQgc2lkZSwgbGFiZWxlZCB3aXRoIHRoZSBjYXNlIGxhYmVsLlxuICovXG5pbXBvcnQgeyBtb2RlbCwgcmVxdWlyZWQgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyB1aWVsZW1lbnQgfSBmcm9tIFwiLi4vLi4vLi4vdWkvZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHtcbiAgaW5wdXQsXG4gIG5vZGUsXG4gIG91dHB1dCxcbn0gZnJvbSBcIi4uLy4uL2RlY29yYXRvcnNcIjtcbmltcG9ydCB7XG4gIFBvcnREaXJlY3Rpb24sXG4gIHR5cGUgR3JhcGhQb3J0RGVmaW5pdGlvbixcbn0gZnJvbSBcIi4uLy4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgZ3JhcGhEZWZpbml0aW9uT2YgfSBmcm9tIFwiLi4vLi4vcmVhZGVyXCI7XG5pbXBvcnQgdHlwZSB7IE5vZGVNZXRhZGF0YUNoYW5nZSwgU3dpdGNoTm9kZU1ldGFkYXRhIH0gZnJvbSBcIi4uLy4uL3R5cGVzXCI7XG5pbXBvcnQgeyBHcmFwaE5vZGUgfSBmcm9tIFwiLi4vYmFzZVwiO1xuXG4vLyBFbnN1cmUgY2F0ZWdvcnkgc3R5bGVzIGFyZSByZWdpc3RlcmVkIChpZGVtcG90ZW50KS5cbmltcG9ydCBcIi4uL2NhdGVnb3J5LXN0eWxlc1wiO1xuXG5Abm9kZShcImNvcmUuZmxvdy5zd2l0Y2hcIiwge1xuICBraW5kOiBcImNvcmUuZmxvdy5zd2l0Y2hcIixcbiAgY2F0ZWdvcnk6IFwiRmxvdyBDb250cm9sXCIsXG4gIGNvbG9yOiBcIiNmOTczMTZcIixcbiAgaWNvbjogXCJ0aS1hcnJvd3Mtc2h1ZmZsZVwiLFxuICB3aWR0aDogMTIwLFxuICBoZWlnaHQ6IDE0MCxcbiAgbGFiZWxzOiBbXCJmbG93XCIsIFwic3dpdGNoXCIsIFwibXVsdGktYnJhbmNoXCJdLFxuICBtZXRhZGF0YToge1xuICAgIHRpdGxlOiBcIlN3aXRjaFwiLFxuICAgIGRlc2NyaXB0aW9uOiBcIk11bHRpLWJyYW5jaCBzd2l0Y2guIFJvdXRlcyB0aGUgaW5wdXQgdG8gdGhlIGZpcnN0IG1hdGNoaW5nIGNhc2Ugb3V0cHV0LCBvciB0aGUgZGVmYXVsdCBvdXRwdXQuXCIsXG4gICAgc3dpdGNoOiB7XG4gICAgICBjYXNlczogW10sXG4gICAgICBkZWZhdWx0UG9ydDogXCJkZWZhdWx0XCIsXG4gICAgICBoYXNEZWZhdWx0OiBmYWxzZSxcbiAgICB9LFxuICB9LFxufSlcbkBtb2RlbCgpXG5leHBvcnQgY2xhc3MgU3dpdGNoRmxvd05vZGUgZXh0ZW5kcyBHcmFwaE5vZGUge1xuICBAcmVxdWlyZWQoKVxuICBAdWllbGVtZW50KFwidGV4dGFyZWFcIiwgeyBsYWJlbDogXCJJbnB1dCB2YWx1ZVwiLCBwbGFjZWhvbGRlcjogXCJWYWx1ZSB0byBzd2l0Y2ggb25cIiB9KVxuICBAaW5wdXQoeyBoYW5kbGU6IFwidmFsdWVcIiB9KVxuICB2YWx1ZSE6IHVua25vd247XG5cbiAgQHJlcXVpcmVkKClcbiAgQHVpZWxlbWVudChcImlucHV0XCIsIHsgbGFiZWw6IFwiRGVmYXVsdFwiLCBwbGFjZWhvbGRlcjogXCJEZWZhdWx0IG91dHB1dCB3aGVuIG5vIGNhc2UgbWF0Y2hlc1wiIH0pXG4gIEBvdXRwdXQoeyBoYW5kbGU6IFwiZGVmYXVsdFwiIH0pXG4gIGRlZmF1bHQhOiB1bmtub3duO1xuXG4gIC8qKlxuICAgKiBDb21wdXRlcyB0aGUgbm9kZSdzIHBvcnRzLCBzaXplLCBhbmQgZGF0YSBwYXRjaCBmcm9tIHRoZSBnaXZlbiBzd2l0Y2hcbiAgICogbWV0YWRhdGEuIEVhY2ggY2FzZSBnZXRzIGl0cyBvd24gb3V0cHV0IHBvcnQgb24gdGhlIHJpZ2h0IHNpZGU7IHRoZVxuICAgKiBgZGVmYXVsdGAgcG9ydCBhbHdheXMgcmVuZGVycyAqKmxhc3QqKiAoREVDQUYtMzIgwqcyMSBwb3J0LW9yZGVyaW5nIHJ1bGUsXG4gICAqIERFQ0FGLTM0IMKnNi4yKS4gV2hlbiBgaGFzRGVmYXVsdGAgaXMgYGZhbHNlYCwgdGhlIGBkZWZhdWx0YCBvdXRwdXQgcG9ydFxuICAgKiBpcyBvbWl0dGVkIGVudGlyZWx5LiBUaGUgbm9kZSBncm93cyBpbiBoZWlnaHQgYXMgY2FzZXMgYXJlIGFkZGVkLlxuICAgKlxuICAgKiBAcGFyYW0gbWV0YSAtIFRoZSBzd2l0Y2ggbWV0YWRhdGEgcGF0Y2ggKGBtZXRhZGF0YS5zd2l0Y2hgKSwgY2FycnlpbmdcbiAgICogICB0aGUgY2FzZXMgYW5kIHRoZSBvcHRpb25hbCBkZWZhdWx0LXBvcnQgY29uZmlndXJhdGlvbi5cbiAgICogQHJldHVybnMgVGhlIGNvbXB1dGVkIHtAbGluayBOb2RlTWV0YWRhdGFDaGFuZ2V9OiByZW9yZGVyZWQgcG9ydHNcbiAgICogICAoY2FzZSBvdXRwdXRzIGluc2VydGVkIGJlZm9yZSB0aGUgb3B0aW9uYWwgZGVmYXVsdCksIHRoZSBncm93biBzaXplLFxuICAgKiAgIGFuZCB0aGUgYHN3aXRjaE1ldGFkYXRhYCBkYXRhIHBhdGNoLlxuICAgKi9cbiAgc3RhdGljIG92ZXJyaWRlIGFwcGx5TWV0YWRhdGEobWV0YTogU3dpdGNoTm9kZU1ldGFkYXRhKTogTm9kZU1ldGFkYXRhQ2hhbmdlIHtcbiAgICBjb25zdCBkZWZpbml0aW9uID0gZ3JhcGhEZWZpbml0aW9uT2YodGhpcyBhcyBuZXZlcik7XG4gICAgY29uc3QgZGVmYXVsdFBvcnROYW1lID0gbWV0YS5kZWZhdWx0UG9ydCA/PyBcImRlZmF1bHRcIjtcbiAgICBjb25zdCBoYXNEZWZhdWx0ID0gbWV0YS5oYXNEZWZhdWx0ID09PSB0cnVlO1xuXG4gICAgLy8gQmFzZSBwb3J0cyBleGNsdWRpbmcgYW55IHBvcnQgdGhhdCBjb2xsaWRlcyB3aXRoIGEgY2FzZSBvdXRwdXQgcG9ydC5cbiAgICBjb25zdCBiYXNlUG9ydHMgPSBkZWZpbml0aW9uLnBvcnRzLmZpbHRlcihcbiAgICAgIChwKSA9PiAhbWV0YS5jYXNlcy5zb21lKChjKSA9PiBjLm91dHB1dFBvcnQgPT09IHAucHJvcGVydHkpXG4gICAgKTtcbiAgICAvLyBTZXBhcmF0ZSB0aGUgZGVmYXVsdCBvdXRwdXQgcG9ydCBzbyBpdCBjYW4gYmUgcGxhY2VkIGxhc3QgKG9yIG9taXR0ZWQpLlxuICAgIGNvbnN0IG5vbkRlZmF1bHRQb3J0cyA9IGJhc2VQb3J0cy5maWx0ZXIoXG4gICAgICAocCkgPT4gcC5wcm9wZXJ0eSAhPT0gZGVmYXVsdFBvcnROYW1lXG4gICAgKTtcbiAgICBjb25zdCBkZWZhdWx0UG9ydCA9IGJhc2VQb3J0cy5maW5kKChwKSA9PiBwLnByb3BlcnR5ID09PSBkZWZhdWx0UG9ydE5hbWUpO1xuXG4gICAgY29uc3QgY2FzZVBvcnRzOiBHcmFwaFBvcnREZWZpbml0aW9uW10gPSBtZXRhLmNhc2VzLm1hcCgoYykgPT4gKHtcbiAgICAgIHByb3BlcnR5OiBjLm91dHB1dFBvcnQsXG4gICAgICBuYW1lOiBjLmxhYmVsLFxuICAgICAgZGlyZWN0aW9uOiBQb3J0RGlyZWN0aW9uLk9VVFBVVCxcbiAgICAgIGxhYmVsOiBjLmxhYmVsLFxuICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgaGlkZGVuOiBmYWxzZSxcbiAgICAgIHBhdGg6IGMub3V0cHV0UG9ydCxcbiAgICB9KSk7XG5cbiAgICAvLyBQb3J0IG9yZGVyOiBpbnB1dHMvbm9uLWRlZmF1bHQgb3V0cHV0cyBmaXJzdCwgY2FzZSBvdXRwdXRzIG5leHQsIGRlZmF1bHQgbGFzdC5cbiAgICBjb25zdCBwb3J0cyA9IFsuLi5ub25EZWZhdWx0UG9ydHMsIC4uLmNhc2VQb3J0c107XG4gICAgaWYgKGhhc0RlZmF1bHQgJiYgZGVmYXVsdFBvcnQpIHtcbiAgICAgIHBvcnRzLnB1c2goZGVmYXVsdFBvcnQpO1xuICAgIH1cblxuICAgIGNvbnN0IGNhc2VDb3VudCA9IG1ldGEuY2FzZXMubGVuZ3RoO1xuICAgIHJldHVybiB7XG4gICAgICBwb3J0cyxcbiAgICAgIHNpemU6IHtcbiAgICAgICAgd2lkdGg6IGRlZmluaXRpb24ud2lkdGggPz8gMTIwLFxuICAgICAgICBoZWlnaHQ6IGNhc2VDb3VudCA+IDAgPyAxNDAgKyBjYXNlQ291bnQgKiAyNCA6IGRlZmluaXRpb24uaGVpZ2h0ID8/IDE0MCxcbiAgICAgIH0sXG4gICAgICBkYXRhUGF0Y2g6IHsgc3dpdGNoTWV0YWRhdGE6IG1ldGEgfSxcbiAgICB9O1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module ui-decorators/graph/nodes
|
|
3
|
+
* @summary Shared node kind declarations (DECAF-32 §22.2, DECAF-50 Phase A).
|
|
4
|
+
* @description Canonical `@node`-decorated classes for the ALFRED-5 node kind
|
|
5
|
+
* taxonomy, laid out one node per file under `nodes/<category>/<node>.ts`:
|
|
6
|
+
* triggers (§22.2.1), flow-control and utility nodes (§22.2.2–22.2.3), the
|
|
7
|
+
* Agent node (§21.3), the three loop kinds (`core.loop.foreach/while/until`,
|
|
8
|
+
* §5.9), and the workflow input-value boundary node. Shared non-node support
|
|
9
|
+
* (base class, category styles, manifests) lives in sibling files under the
|
|
10
|
+
* same tree. Consumers (for-angular, ALFRED, etc.) import these declarations
|
|
11
|
+
* to populate node palettes, registries, and reference snapshots.
|
|
12
|
+
*/
|
|
13
|
+
export * from "./base.js";
|
|
14
|
+
export * from "./category-styles.js";
|
|
15
|
+
export * from "./flow-control/break.js";
|
|
16
|
+
export * from "./flow-control/error-boundary.js";
|
|
17
|
+
export * from "./flow-control/human-approval.js";
|
|
18
|
+
export * from "./flow-control/if.js";
|
|
19
|
+
export * from "./flow-control/parallel.js";
|
|
20
|
+
export * from "./flow-control/switch.js";
|
|
21
|
+
export * from "./utility/code.js";
|
|
22
|
+
export * from "./utility/delay.js";
|
|
23
|
+
export * from "./utility/log.js";
|
|
24
|
+
export * from "./utility/map.js";
|
|
25
|
+
export * from "./utility/merge.js";
|
|
26
|
+
export * from "./utility/return.js";
|
|
27
|
+
export * from "./utility/utility-log.js";
|
|
28
|
+
export * from "./triggers/chat.js";
|
|
29
|
+
export * from "./triggers/event.js";
|
|
30
|
+
export * from "./triggers/form.js";
|
|
31
|
+
export * from "./triggers/manual.js";
|
|
32
|
+
export * from "./triggers/schedule.js";
|
|
33
|
+
export * from "./triggers/webhook.js";
|
|
34
|
+
export * from "./agents/agent.js";
|
|
35
|
+
export * from "./loops/foreach.js";
|
|
36
|
+
export * from "./loops/until.js";
|
|
37
|
+
export * from "./loops/while.js";
|
|
38
|
+
export * from "./boundary/input-value.js";
|
|
39
|
+
export * from "./manifests.js";
|
|
40
|
+
import { BreakFlowNode } from "./flow-control/break.js";
|
|
41
|
+
import { ErrorBoundaryFlowNode } from "./flow-control/error-boundary.js";
|
|
42
|
+
import { HumanApprovalFlowNode } from "./flow-control/human-approval.js";
|
|
43
|
+
import { IfFlowNode } from "./flow-control/if.js";
|
|
44
|
+
import { ParallelFlowNode } from "./flow-control/parallel.js";
|
|
45
|
+
import { SwitchFlowNode } from "./flow-control/switch.js";
|
|
46
|
+
import { CodeFlowNode } from "./utility/code.js";
|
|
47
|
+
import { DelayFlowNode } from "./utility/delay.js";
|
|
48
|
+
import { LogFlowNode } from "./utility/log.js";
|
|
49
|
+
import { MapFlowNode } from "./utility/map.js";
|
|
50
|
+
import { MergeFlowNode } from "./utility/merge.js";
|
|
51
|
+
import { ReturnFlowNode } from "./utility/return.js";
|
|
52
|
+
import { UtilityLogNode } from "./utility/utility-log.js";
|
|
53
|
+
import { ChatTriggerNode } from "./triggers/chat.js";
|
|
54
|
+
import { EventTriggerNode } from "./triggers/event.js";
|
|
55
|
+
import { FormTriggerNode } from "./triggers/form.js";
|
|
56
|
+
import { ManualTriggerNode } from "./triggers/manual.js";
|
|
57
|
+
import { ScheduleTriggerNode } from "./triggers/schedule.js";
|
|
58
|
+
import { WebhookTriggerNode } from "./triggers/webhook.js";
|
|
59
|
+
import { GraphForeachLoopNode } from "./loops/foreach.js";
|
|
60
|
+
import { GraphUntilLoopNode } from "./loops/until.js";
|
|
61
|
+
import { GraphWhileLoopNode } from "./loops/while.js";
|
|
62
|
+
import { GraphInputValueNode } from "./boundary/input-value.js";
|
|
63
|
+
/**
|
|
64
|
+
* All built-in trigger node constructors.
|
|
65
|
+
*/
|
|
66
|
+
export const GRAPH_TRIGGER_NODES = [
|
|
67
|
+
ManualTriggerNode,
|
|
68
|
+
WebhookTriggerNode,
|
|
69
|
+
ScheduleTriggerNode,
|
|
70
|
+
EventTriggerNode,
|
|
71
|
+
FormTriggerNode,
|
|
72
|
+
ChatTriggerNode,
|
|
73
|
+
];
|
|
74
|
+
/**
|
|
75
|
+
* All built-in flow-control node constructors.
|
|
76
|
+
*/
|
|
77
|
+
export const GRAPH_FLOW_CONTROL_NODES = [
|
|
78
|
+
IfFlowNode,
|
|
79
|
+
SwitchFlowNode,
|
|
80
|
+
ParallelFlowNode,
|
|
81
|
+
MergeFlowNode,
|
|
82
|
+
MapFlowNode,
|
|
83
|
+
DelayFlowNode,
|
|
84
|
+
ErrorBoundaryFlowNode,
|
|
85
|
+
HumanApprovalFlowNode,
|
|
86
|
+
ReturnFlowNode,
|
|
87
|
+
CodeFlowNode,
|
|
88
|
+
LogFlowNode,
|
|
89
|
+
UtilityLogNode,
|
|
90
|
+
BreakFlowNode,
|
|
91
|
+
];
|
|
92
|
+
/**
|
|
93
|
+
* All built-in loop node constructors (shared declarations of the
|
|
94
|
+
* `core.loop.*` system kinds).
|
|
95
|
+
*/
|
|
96
|
+
export const GRAPH_LOOP_NODES = [
|
|
97
|
+
GraphForeachLoopNode,
|
|
98
|
+
GraphWhileLoopNode,
|
|
99
|
+
GraphUntilLoopNode,
|
|
100
|
+
];
|
|
101
|
+
/**
|
|
102
|
+
* All built-in boundary node constructors.
|
|
103
|
+
*/
|
|
104
|
+
export const GRAPH_BOUNDARY_NODES = [GraphInputValueNode];
|
|
105
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZ3JhcGgvbm9kZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCwwQkFBdUI7QUFDdkIscUNBQWtDO0FBQ2xDLHdDQUFxQztBQUNyQyxpREFBOEM7QUFDOUMsaURBQThDO0FBQzlDLHFDQUFrQztBQUNsQywyQ0FBd0M7QUFDeEMseUNBQXNDO0FBQ3RDLGtDQUErQjtBQUMvQixtQ0FBZ0M7QUFDaEMsaUNBQThCO0FBQzlCLGlDQUE4QjtBQUM5QixtQ0FBZ0M7QUFDaEMsb0NBQWlDO0FBQ2pDLHlDQUFzQztBQUN0QyxtQ0FBZ0M7QUFDaEMsb0NBQWlDO0FBQ2pDLG1DQUFnQztBQUNoQyxxQ0FBa0M7QUFDbEMsdUNBQW9DO0FBQ3BDLHNDQUFtQztBQUNuQyxrQ0FBK0I7QUFDL0IsbUNBQWdDO0FBQ2hDLGlDQUE4QjtBQUM5QixpQ0FBOEI7QUFDOUIsMENBQXVDO0FBQ3ZDLCtCQUE0QjtBQUU1QixPQUFPLEVBQUUsYUFBYSxFQUFFLGdDQUE2QjtBQUNyRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUseUNBQXNDO0FBQ3RFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSx5Q0FBc0M7QUFDdEUsT0FBTyxFQUFFLFVBQVUsRUFBRSw2QkFBMEI7QUFDL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLG1DQUFnQztBQUMzRCxPQUFPLEVBQUUsY0FBYyxFQUFFLGlDQUE4QjtBQUN2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLDBCQUF1QjtBQUM5QyxPQUFPLEVBQUUsYUFBYSxFQUFFLDJCQUF3QjtBQUNoRCxPQUFPLEVBQUUsV0FBVyxFQUFFLHlCQUFzQjtBQUM1QyxPQUFPLEVBQUUsV0FBVyxFQUFFLHlCQUFzQjtBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLDJCQUF3QjtBQUNoRCxPQUFPLEVBQUUsY0FBYyxFQUFFLDRCQUF5QjtBQUNsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLGlDQUE4QjtBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLDJCQUF3QjtBQUNsRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsNEJBQXlCO0FBQ3BELE9BQU8sRUFBRSxlQUFlLEVBQUUsMkJBQXdCO0FBQ2xELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSw2QkFBMEI7QUFDdEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLCtCQUE0QjtBQUMxRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsOEJBQTJCO0FBQ3hELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSwyQkFBd0I7QUFDdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLHlCQUFzQjtBQUNuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUseUJBQXNCO0FBQ25ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxrQ0FBK0I7QUFFN0Q7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRztJQUNqQyxpQkFBaUI7SUFDakIsa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixnQkFBZ0I7SUFDaEIsZUFBZTtJQUNmLGVBQWU7Q0FDUCxDQUFDO0FBRVg7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRztJQUN0QyxVQUFVO0lBQ1YsY0FBYztJQUNkLGdCQUFnQjtJQUNoQixhQUFhO0lBQ2IsV0FBVztJQUNYLGFBQWE7SUFDYixxQkFBcUI7SUFDckIscUJBQXFCO0lBQ3JCLGNBQWM7SUFDZCxZQUFZO0lBQ1osV0FBVztJQUNYLGNBQWM7SUFDZCxhQUFhO0NBQ0wsQ0FBQztBQUVYOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHO0lBQzlCLG9CQUFvQjtJQUNwQixrQkFBa0I7SUFDbEIsa0JBQWtCO0NBQ1YsQ0FBQztBQUVYOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIHVpLWRlY29yYXRvcnMvZ3JhcGgvbm9kZXNcbiAqIEBzdW1tYXJ5IFNoYXJlZCBub2RlIGtpbmQgZGVjbGFyYXRpb25zIChERUNBRi0zMiDCpzIyLjIsIERFQ0FGLTUwIFBoYXNlIEEpLlxuICogQGRlc2NyaXB0aW9uIENhbm9uaWNhbCBgQG5vZGVgLWRlY29yYXRlZCBjbGFzc2VzIGZvciB0aGUgQUxGUkVELTUgbm9kZSBraW5kXG4gKiB0YXhvbm9teSwgbGFpZCBvdXQgb25lIG5vZGUgcGVyIGZpbGUgdW5kZXIgYG5vZGVzLzxjYXRlZ29yeT4vPG5vZGU+LnRzYDpcbiAqIHRyaWdnZXJzICjCpzIyLjIuMSksIGZsb3ctY29udHJvbCBhbmQgdXRpbGl0eSBub2RlcyAowqcyMi4yLjLigJMyMi4yLjMpLCB0aGVcbiAqIEFnZW50IG5vZGUgKMKnMjEuMyksIHRoZSB0aHJlZSBsb29wIGtpbmRzIChgY29yZS5sb29wLmZvcmVhY2gvd2hpbGUvdW50aWxgLFxuICogwqc1LjkpLCBhbmQgdGhlIHdvcmtmbG93IGlucHV0LXZhbHVlIGJvdW5kYXJ5IG5vZGUuIFNoYXJlZCBub24tbm9kZSBzdXBwb3J0XG4gKiAoYmFzZSBjbGFzcywgY2F0ZWdvcnkgc3R5bGVzLCBtYW5pZmVzdHMpIGxpdmVzIGluIHNpYmxpbmcgZmlsZXMgdW5kZXIgdGhlXG4gKiBzYW1lIHRyZWUuIENvbnN1bWVycyAoZm9yLWFuZ3VsYXIsIEFMRlJFRCwgZXRjLikgaW1wb3J0IHRoZXNlIGRlY2xhcmF0aW9uc1xuICogdG8gcG9wdWxhdGUgbm9kZSBwYWxldHRlcywgcmVnaXN0cmllcywgYW5kIHJlZmVyZW5jZSBzbmFwc2hvdHMuXG4gKi9cbmV4cG9ydCAqIGZyb20gXCIuL2Jhc2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NhdGVnb3J5LXN0eWxlc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZmxvdy1jb250cm9sL2JyZWFrXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9mbG93LWNvbnRyb2wvZXJyb3ItYm91bmRhcnlcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2Zsb3ctY29udHJvbC9odW1hbi1hcHByb3ZhbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZmxvdy1jb250cm9sL2lmXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9mbG93LWNvbnRyb2wvcGFyYWxsZWxcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2Zsb3ctY29udHJvbC9zd2l0Y2hcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3V0aWxpdHkvY29kZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdXRpbGl0eS9kZWxheVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdXRpbGl0eS9sb2dcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3V0aWxpdHkvbWFwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi91dGlsaXR5L21lcmdlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi91dGlsaXR5L3JldHVyblwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdXRpbGl0eS91dGlsaXR5LWxvZ1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdHJpZ2dlcnMvY2hhdFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdHJpZ2dlcnMvZXZlbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RyaWdnZXJzL2Zvcm1cIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RyaWdnZXJzL21hbnVhbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdHJpZ2dlcnMvc2NoZWR1bGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RyaWdnZXJzL3dlYmhvb2tcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2FnZW50cy9hZ2VudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbG9vcHMvZm9yZWFjaFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbG9vcHMvdW50aWxcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xvb3BzL3doaWxlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9ib3VuZGFyeS9pbnB1dC12YWx1ZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbWFuaWZlc3RzXCI7XG5cbmltcG9ydCB7IEJyZWFrRmxvd05vZGUgfSBmcm9tIFwiLi9mbG93LWNvbnRyb2wvYnJlYWtcIjtcbmltcG9ydCB7IEVycm9yQm91bmRhcnlGbG93Tm9kZSB9IGZyb20gXCIuL2Zsb3ctY29udHJvbC9lcnJvci1ib3VuZGFyeVwiO1xuaW1wb3J0IHsgSHVtYW5BcHByb3ZhbEZsb3dOb2RlIH0gZnJvbSBcIi4vZmxvdy1jb250cm9sL2h1bWFuLWFwcHJvdmFsXCI7XG5pbXBvcnQgeyBJZkZsb3dOb2RlIH0gZnJvbSBcIi4vZmxvdy1jb250cm9sL2lmXCI7XG5pbXBvcnQgeyBQYXJhbGxlbEZsb3dOb2RlIH0gZnJvbSBcIi4vZmxvdy1jb250cm9sL3BhcmFsbGVsXCI7XG5pbXBvcnQgeyBTd2l0Y2hGbG93Tm9kZSB9IGZyb20gXCIuL2Zsb3ctY29udHJvbC9zd2l0Y2hcIjtcbmltcG9ydCB7IENvZGVGbG93Tm9kZSB9IGZyb20gXCIuL3V0aWxpdHkvY29kZVwiO1xuaW1wb3J0IHsgRGVsYXlGbG93Tm9kZSB9IGZyb20gXCIuL3V0aWxpdHkvZGVsYXlcIjtcbmltcG9ydCB7IExvZ0Zsb3dOb2RlIH0gZnJvbSBcIi4vdXRpbGl0eS9sb2dcIjtcbmltcG9ydCB7IE1hcEZsb3dOb2RlIH0gZnJvbSBcIi4vdXRpbGl0eS9tYXBcIjtcbmltcG9ydCB7IE1lcmdlRmxvd05vZGUgfSBmcm9tIFwiLi91dGlsaXR5L21lcmdlXCI7XG5pbXBvcnQgeyBSZXR1cm5GbG93Tm9kZSB9IGZyb20gXCIuL3V0aWxpdHkvcmV0dXJuXCI7XG5pbXBvcnQgeyBVdGlsaXR5TG9nTm9kZSB9IGZyb20gXCIuL3V0aWxpdHkvdXRpbGl0eS1sb2dcIjtcbmltcG9ydCB7IENoYXRUcmlnZ2VyTm9kZSB9IGZyb20gXCIuL3RyaWdnZXJzL2NoYXRcIjtcbmltcG9ydCB7IEV2ZW50VHJpZ2dlck5vZGUgfSBmcm9tIFwiLi90cmlnZ2Vycy9ldmVudFwiO1xuaW1wb3J0IHsgRm9ybVRyaWdnZXJOb2RlIH0gZnJvbSBcIi4vdHJpZ2dlcnMvZm9ybVwiO1xuaW1wb3J0IHsgTWFudWFsVHJpZ2dlck5vZGUgfSBmcm9tIFwiLi90cmlnZ2Vycy9tYW51YWxcIjtcbmltcG9ydCB7IFNjaGVkdWxlVHJpZ2dlck5vZGUgfSBmcm9tIFwiLi90cmlnZ2Vycy9zY2hlZHVsZVwiO1xuaW1wb3J0IHsgV2ViaG9va1RyaWdnZXJOb2RlIH0gZnJvbSBcIi4vdHJpZ2dlcnMvd2ViaG9va1wiO1xuaW1wb3J0IHsgR3JhcGhGb3JlYWNoTG9vcE5vZGUgfSBmcm9tIFwiLi9sb29wcy9mb3JlYWNoXCI7XG5pbXBvcnQgeyBHcmFwaFVudGlsTG9vcE5vZGUgfSBmcm9tIFwiLi9sb29wcy91bnRpbFwiO1xuaW1wb3J0IHsgR3JhcGhXaGlsZUxvb3BOb2RlIH0gZnJvbSBcIi4vbG9vcHMvd2hpbGVcIjtcbmltcG9ydCB7IEdyYXBoSW5wdXRWYWx1ZU5vZGUgfSBmcm9tIFwiLi9ib3VuZGFyeS9pbnB1dC12YWx1ZVwiO1xuXG4vKipcbiAqIEFsbCBidWlsdC1pbiB0cmlnZ2VyIG5vZGUgY29uc3RydWN0b3JzLlxuICovXG5leHBvcnQgY29uc3QgR1JBUEhfVFJJR0dFUl9OT0RFUyA9IFtcbiAgTWFudWFsVHJpZ2dlck5vZGUsXG4gIFdlYmhvb2tUcmlnZ2VyTm9kZSxcbiAgU2NoZWR1bGVUcmlnZ2VyTm9kZSxcbiAgRXZlbnRUcmlnZ2VyTm9kZSxcbiAgRm9ybVRyaWdnZXJOb2RlLFxuICBDaGF0VHJpZ2dlck5vZGUsXG5dIGFzIGNvbnN0O1xuXG4vKipcbiAqIEFsbCBidWlsdC1pbiBmbG93LWNvbnRyb2wgbm9kZSBjb25zdHJ1Y3RvcnMuXG4gKi9cbmV4cG9ydCBjb25zdCBHUkFQSF9GTE9XX0NPTlRST0xfTk9ERVMgPSBbXG4gIElmRmxvd05vZGUsXG4gIFN3aXRjaEZsb3dOb2RlLFxuICBQYXJhbGxlbEZsb3dOb2RlLFxuICBNZXJnZUZsb3dOb2RlLFxuICBNYXBGbG93Tm9kZSxcbiAgRGVsYXlGbG93Tm9kZSxcbiAgRXJyb3JCb3VuZGFyeUZsb3dOb2RlLFxuICBIdW1hbkFwcHJvdmFsRmxvd05vZGUsXG4gIFJldHVybkZsb3dOb2RlLFxuICBDb2RlRmxvd05vZGUsXG4gIExvZ0Zsb3dOb2RlLFxuICBVdGlsaXR5TG9nTm9kZSxcbiAgQnJlYWtGbG93Tm9kZSxcbl0gYXMgY29uc3Q7XG5cbi8qKlxuICogQWxsIGJ1aWx0LWluIGxvb3Agbm9kZSBjb25zdHJ1Y3RvcnMgKHNoYXJlZCBkZWNsYXJhdGlvbnMgb2YgdGhlXG4gKiBgY29yZS5sb29wLipgIHN5c3RlbSBraW5kcykuXG4gKi9cbmV4cG9ydCBjb25zdCBHUkFQSF9MT09QX05PREVTID0gW1xuICBHcmFwaEZvcmVhY2hMb29wTm9kZSxcbiAgR3JhcGhXaGlsZUxvb3BOb2RlLFxuICBHcmFwaFVudGlsTG9vcE5vZGUsXG5dIGFzIGNvbnN0O1xuXG4vKipcbiAqIEFsbCBidWlsdC1pbiBib3VuZGFyeSBub2RlIGNvbnN0cnVjdG9ycy5cbiAqL1xuZXhwb3J0IGNvbnN0IEdSQVBIX0JPVU5EQVJZX05PREVTID0gW0dyYXBoSW5wdXRWYWx1ZU5vZGVdIGFzIGNvbnN0O1xuIl19
|