@decaf-ts/integrations 0.3.1 → 0.3.3
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/lib/cjs/graph/constants.cjs +94 -0
- package/lib/cjs/graph/constants.cjs.map +1 -0
- package/lib/cjs/graph/decorators.cjs +4 -0
- package/lib/cjs/graph/decorators.cjs.map +1 -0
- package/lib/cjs/graph/errors/GraphCycleError.cjs +20 -0
- package/lib/cjs/graph/errors/GraphCycleError.cjs.map +1 -0
- package/lib/cjs/graph/errors/GraphExecutionError.cjs +27 -0
- package/lib/cjs/graph/errors/GraphExecutionError.cjs.map +1 -0
- package/lib/cjs/graph/errors/GraphInputError.cjs +20 -0
- package/lib/cjs/graph/errors/GraphInputError.cjs.map +1 -0
- package/lib/cjs/graph/errors/GraphLoopLimitError.cjs +20 -0
- package/lib/cjs/graph/errors/GraphLoopLimitError.cjs.map +1 -0
- package/lib/cjs/graph/errors/GraphPinningError.cjs +20 -0
- package/lib/cjs/graph/errors/GraphPinningError.cjs.map +1 -0
- package/lib/cjs/graph/errors/GraphPortError.cjs +20 -0
- package/lib/cjs/graph/errors/GraphPortError.cjs.map +1 -0
- package/lib/cjs/graph/errors/GraphStoreError.cjs +20 -0
- package/lib/cjs/graph/errors/GraphStoreError.cjs.map +1 -0
- package/lib/cjs/graph/errors/GraphTopologyError.cjs +20 -0
- package/lib/cjs/graph/errors/GraphTopologyError.cjs.map +1 -0
- package/lib/cjs/graph/errors/index.cjs +31 -0
- package/lib/cjs/graph/errors/index.cjs.map +1 -0
- package/lib/cjs/graph/events/GraphExecutionEvent.cjs +4 -0
- package/lib/cjs/graph/events/GraphExecutionEvent.cjs.map +1 -0
- package/lib/cjs/graph/events/GraphExecutionEventEmitter.cjs +40 -0
- package/lib/cjs/graph/events/GraphExecutionEventEmitter.cjs.map +1 -0
- package/lib/cjs/graph/events/GraphExecutionEventFactory.cjs +37 -0
- package/lib/cjs/graph/events/GraphExecutionEventFactory.cjs.map +1 -0
- package/lib/cjs/graph/events/GraphExecutionObserver.cjs +4 -0
- package/lib/cjs/graph/events/GraphExecutionObserver.cjs.map +1 -0
- package/lib/cjs/graph/events/index.cjs +27 -0
- package/lib/cjs/graph/events/index.cjs.map +1 -0
- package/lib/cjs/graph/execution/GraphExecutionContext.cjs +79 -0
- package/lib/cjs/graph/execution/GraphExecutionContext.cjs.map +1 -0
- package/lib/cjs/graph/execution/GraphExecutionEngine.cjs +405 -0
- package/lib/cjs/graph/execution/GraphExecutionEngine.cjs.map +1 -0
- package/lib/cjs/graph/execution/GraphExecutionFrame.cjs +32 -0
- package/lib/cjs/graph/execution/GraphExecutionFrame.cjs.map +1 -0
- package/lib/cjs/graph/execution/GraphExecutionResult.cjs +30 -0
- package/lib/cjs/graph/execution/GraphExecutionResult.cjs.map +1 -0
- package/lib/cjs/graph/execution/GraphNodeExecutor.cjs +4 -0
- package/lib/cjs/graph/execution/GraphNodeExecutor.cjs.map +1 -0
- package/lib/cjs/graph/execution/index.cjs +28 -0
- package/lib/cjs/graph/execution/index.cjs.map +1 -0
- package/lib/cjs/graph/index.cjs +74 -0
- package/lib/cjs/graph/index.cjs.map +1 -0
- package/lib/cjs/graph/loops/ForeachGraphNodeExecutor.cjs +84 -0
- package/lib/cjs/graph/loops/ForeachGraphNodeExecutor.cjs.map +1 -0
- package/lib/cjs/graph/loops/GraphConditionEvaluator.cjs +63 -0
- package/lib/cjs/graph/loops/GraphConditionEvaluator.cjs.map +1 -0
- package/lib/cjs/graph/loops/GraphLoopExecutionContext.cjs +16 -0
- package/lib/cjs/graph/loops/GraphLoopExecutionContext.cjs.map +1 -0
- package/lib/cjs/graph/loops/UntilGraphNodeExecutor.cjs +76 -0
- package/lib/cjs/graph/loops/UntilGraphNodeExecutor.cjs.map +1 -0
- package/lib/cjs/graph/loops/WhileGraphNodeExecutor.cjs +77 -0
- package/lib/cjs/graph/loops/WhileGraphNodeExecutor.cjs.map +1 -0
- package/lib/cjs/graph/loops/index.cjs +28 -0
- package/lib/cjs/graph/loops/index.cjs.map +1 -0
- package/lib/cjs/graph/pinning/GraphPinningDependencyResolver.cjs +28 -0
- package/lib/cjs/graph/pinning/GraphPinningDependencyResolver.cjs.map +1 -0
- package/lib/cjs/graph/pinning/GraphPinningMetadata.cjs +20 -0
- package/lib/cjs/graph/pinning/GraphPinningMetadata.cjs.map +1 -0
- package/lib/cjs/graph/pinning/GraphPinningPolicy.cjs +34 -0
- package/lib/cjs/graph/pinning/GraphPinningPolicy.cjs.map +1 -0
- package/lib/cjs/graph/pinning/GraphPinningService.cjs +191 -0
- package/lib/cjs/graph/pinning/GraphPinningService.cjs.map +1 -0
- package/lib/cjs/graph/pinning/index.cjs +27 -0
- package/lib/cjs/graph/pinning/index.cjs.map +1 -0
- package/lib/cjs/graph/planning/GraphExecutionPlan.cjs +4 -0
- package/lib/cjs/graph/planning/GraphExecutionPlan.cjs.map +1 -0
- package/lib/cjs/graph/planning/GraphExecutionPlanEdge.cjs +4 -0
- package/lib/cjs/graph/planning/GraphExecutionPlanEdge.cjs.map +1 -0
- package/lib/cjs/graph/planning/GraphExecutionPlanLayer.cjs +4 -0
- package/lib/cjs/graph/planning/GraphExecutionPlanLayer.cjs.map +1 -0
- package/lib/cjs/graph/planning/GraphExecutionPlanNode.cjs +4 -0
- package/lib/cjs/graph/planning/GraphExecutionPlanNode.cjs.map +1 -0
- package/lib/cjs/graph/planning/GraphExecutionPlanner.cjs +197 -0
- package/lib/cjs/graph/planning/GraphExecutionPlanner.cjs.map +1 -0
- package/lib/cjs/graph/planning/GraphRelationResolver.cjs +172 -0
- package/lib/cjs/graph/planning/GraphRelationResolver.cjs.map +1 -0
- package/lib/cjs/graph/planning/GraphTopology.cjs +57 -0
- package/lib/cjs/graph/planning/GraphTopology.cjs.map +1 -0
- package/lib/cjs/graph/planning/index.cjs +30 -0
- package/lib/cjs/graph/planning/index.cjs.map +1 -0
- package/lib/cjs/graph/registry/GraphNodeExecutorRegistry.cjs +44 -0
- package/lib/cjs/graph/registry/GraphNodeExecutorRegistry.cjs.map +1 -0
- package/lib/cjs/graph/registry/GraphNodeExecutorResolver.cjs +27 -0
- package/lib/cjs/graph/registry/GraphNodeExecutorResolver.cjs.map +1 -0
- package/lib/cjs/graph/registry/index.cjs +25 -0
- package/lib/cjs/graph/registry/index.cjs.map +1 -0
- package/lib/cjs/graph/snapshots/GraphExecutionSnapshotMapper.cjs +53 -0
- package/lib/cjs/graph/snapshots/GraphExecutionSnapshotMapper.cjs.map +1 -0
- package/lib/cjs/graph/snapshots/index.cjs +24 -0
- package/lib/cjs/graph/snapshots/index.cjs.map +1 -0
- package/lib/cjs/graph/store/GraphCachedValue.cjs +4 -0
- package/lib/cjs/graph/store/GraphCachedValue.cjs.map +1 -0
- package/lib/cjs/graph/store/GraphValueKey.cjs +4 -0
- package/lib/cjs/graph/store/GraphValueKey.cjs.map +1 -0
- package/lib/cjs/graph/store/GraphValueStore.cjs +76 -0
- package/lib/cjs/graph/store/GraphValueStore.cjs.map +1 -0
- package/lib/cjs/graph/store/GraphValueStoreAdapter.cjs +4 -0
- package/lib/cjs/graph/store/GraphValueStoreAdapter.cjs.map +1 -0
- package/lib/cjs/graph/store/InMemoryGraphValueStoreAdapter.cjs +69 -0
- package/lib/cjs/graph/store/InMemoryGraphValueStoreAdapter.cjs.map +1 -0
- package/lib/cjs/graph/store/index.cjs +28 -0
- package/lib/cjs/graph/store/index.cjs.map +1 -0
- package/lib/cjs/graph/types.cjs +4 -0
- package/lib/cjs/graph/types.cjs.map +1 -0
- package/lib/cjs/graph/validation/GraphDefinitionValidator.cjs +33 -0
- package/lib/cjs/graph/validation/GraphDefinitionValidator.cjs.map +1 -0
- package/lib/cjs/graph/validation/GraphPortSchemaResolver.cjs +58 -0
- package/lib/cjs/graph/validation/GraphPortSchemaResolver.cjs.map +1 -0
- package/lib/cjs/graph/validation/GraphValueValidator.cjs +52 -0
- package/lib/cjs/graph/validation/GraphValueValidator.cjs.map +1 -0
- package/lib/cjs/graph/validation/index.cjs +26 -0
- package/lib/cjs/graph/validation/index.cjs.map +1 -0
- package/lib/cjs/index.cjs +3 -3
- package/lib/cjs/keycloak/services/KeycloakAuthService.cjs +2 -2
- package/lib/cjs/keycloak/services/KeycloakAuthService.cjs.map +1 -1
- package/lib/cjs/keycloak/services/KeycloakClientService.cjs +2 -2
- package/lib/cjs/keycloak/services/KeycloakClientService.cjs.map +1 -1
- package/lib/cjs/keycloak/services/KeycloakIdentityProviderService.cjs +2 -2
- package/lib/cjs/keycloak/services/KeycloakIdentityProviderService.cjs.map +1 -1
- package/lib/cjs/keycloak/services/KeycloakRealmService.cjs +2 -2
- package/lib/cjs/keycloak/services/KeycloakRealmService.cjs.map +1 -1
- package/lib/cjs/keycloak/services/KeycloakRoleService.cjs +2 -2
- package/lib/cjs/keycloak/services/KeycloakRoleService.cjs.map +1 -1
- package/lib/cjs/keycloak/services/KeycloakService.cjs +16 -9
- package/lib/cjs/keycloak/services/KeycloakService.cjs.map +1 -1
- package/lib/cjs/keycloak/services/KeycloakUserService.cjs +2 -2
- package/lib/cjs/keycloak/services/KeycloakUserService.cjs.map +1 -1
- package/lib/cjs/kibana/services/KibanaAuthService.cjs +3 -3
- package/lib/cjs/kibana/services/KibanaAuthService.cjs.map +1 -1
- package/lib/cjs/kibana/services/KibanaDashboardService.cjs +3 -3
- package/lib/cjs/kibana/services/KibanaDashboardService.cjs.map +1 -1
- package/lib/cjs/kibana/services/KibanaDataViewService.cjs +2 -2
- package/lib/cjs/kibana/services/KibanaDataViewService.cjs.map +1 -1
- package/lib/cjs/kibana/services/KibanaRoleService.cjs +2 -2
- package/lib/cjs/kibana/services/KibanaRoleService.cjs.map +1 -1
- package/lib/cjs/kibana/services/KibanaService.cjs +16 -9
- package/lib/cjs/kibana/services/KibanaService.cjs.map +1 -1
- package/lib/cjs/kibana/services/KibanaSpaceService.cjs +2 -2
- package/lib/cjs/kibana/services/KibanaSpaceService.cjs.map +1 -1
- package/lib/cjs/kibana/services/KibanaUserService.cjs +2 -2
- package/lib/cjs/kibana/services/KibanaUserService.cjs.map +1 -1
- package/lib/esm/graph/constants.js +106 -0
- package/lib/esm/graph/constants.js.map +1 -0
- package/lib/esm/graph/decorators.js +2 -0
- package/lib/esm/graph/decorators.js.map +1 -0
- package/lib/esm/graph/errors/GraphCycleError.js +15 -0
- package/lib/esm/graph/errors/GraphCycleError.js.map +1 -0
- package/lib/esm/graph/errors/GraphExecutionError.js +22 -0
- package/lib/esm/graph/errors/GraphExecutionError.js.map +1 -0
- package/lib/esm/graph/errors/GraphInputError.js +15 -0
- package/lib/esm/graph/errors/GraphInputError.js.map +1 -0
- package/lib/esm/graph/errors/GraphLoopLimitError.js +15 -0
- package/lib/esm/graph/errors/GraphLoopLimitError.js.map +1 -0
- package/lib/esm/graph/errors/GraphPinningError.js +15 -0
- package/lib/esm/graph/errors/GraphPinningError.js.map +1 -0
- package/lib/esm/graph/errors/GraphPortError.js +15 -0
- package/lib/esm/graph/errors/GraphPortError.js.map +1 -0
- package/lib/esm/graph/errors/GraphStoreError.js +15 -0
- package/lib/esm/graph/errors/GraphStoreError.js.map +1 -0
- package/lib/esm/graph/errors/GraphTopologyError.js +15 -0
- package/lib/esm/graph/errors/GraphTopologyError.js.map +1 -0
- package/lib/esm/graph/errors/index.js +14 -0
- package/lib/esm/graph/errors/index.js.map +1 -0
- package/lib/esm/graph/events/GraphExecutionEvent.js +2 -0
- package/lib/esm/graph/events/GraphExecutionEvent.js.map +1 -0
- package/lib/esm/graph/events/GraphExecutionEventEmitter.js +35 -0
- package/lib/esm/graph/events/GraphExecutionEventEmitter.js.map +1 -0
- package/lib/esm/graph/events/GraphExecutionEventFactory.js +32 -0
- package/lib/esm/graph/events/GraphExecutionEventFactory.js.map +1 -0
- package/lib/esm/graph/events/GraphExecutionObserver.js +2 -0
- package/lib/esm/graph/events/GraphExecutionObserver.js.map +1 -0
- package/lib/esm/graph/events/index.js +10 -0
- package/lib/esm/graph/events/index.js.map +1 -0
- package/lib/esm/graph/execution/GraphExecutionContext.js +74 -0
- package/lib/esm/graph/execution/GraphExecutionContext.js.map +1 -0
- package/lib/esm/graph/execution/GraphExecutionEngine.js +400 -0
- package/lib/esm/graph/execution/GraphExecutionEngine.js.map +1 -0
- package/lib/esm/graph/execution/GraphExecutionFrame.js +27 -0
- package/lib/esm/graph/execution/GraphExecutionFrame.js.map +1 -0
- package/lib/esm/graph/execution/GraphExecutionResult.js +26 -0
- package/lib/esm/graph/execution/GraphExecutionResult.js.map +1 -0
- package/lib/esm/graph/execution/GraphNodeExecutor.js +2 -0
- package/lib/esm/graph/execution/GraphNodeExecutor.js.map +1 -0
- package/lib/esm/graph/execution/index.js +11 -0
- package/lib/esm/graph/execution/index.js.map +1 -0
- package/lib/esm/graph/index.js +57 -0
- package/lib/esm/graph/index.js.map +1 -0
- package/lib/esm/graph/loops/ForeachGraphNodeExecutor.js +79 -0
- package/lib/esm/graph/loops/ForeachGraphNodeExecutor.js.map +1 -0
- package/lib/esm/graph/loops/GraphConditionEvaluator.js +58 -0
- package/lib/esm/graph/loops/GraphConditionEvaluator.js.map +1 -0
- package/lib/esm/graph/loops/GraphLoopExecutionContext.js +11 -0
- package/lib/esm/graph/loops/GraphLoopExecutionContext.js.map +1 -0
- package/lib/esm/graph/loops/UntilGraphNodeExecutor.js +71 -0
- package/lib/esm/graph/loops/UntilGraphNodeExecutor.js.map +1 -0
- package/lib/esm/graph/loops/WhileGraphNodeExecutor.js +72 -0
- package/lib/esm/graph/loops/WhileGraphNodeExecutor.js.map +1 -0
- package/lib/esm/graph/loops/index.js +11 -0
- package/lib/esm/graph/loops/index.js.map +1 -0
- package/lib/esm/graph/pinning/GraphPinningDependencyResolver.js +23 -0
- package/lib/esm/graph/pinning/GraphPinningDependencyResolver.js.map +1 -0
- package/lib/esm/graph/pinning/GraphPinningMetadata.js +15 -0
- package/lib/esm/graph/pinning/GraphPinningMetadata.js.map +1 -0
- package/lib/esm/graph/pinning/GraphPinningPolicy.js +29 -0
- package/lib/esm/graph/pinning/GraphPinningPolicy.js.map +1 -0
- package/lib/esm/graph/pinning/GraphPinningService.js +186 -0
- package/lib/esm/graph/pinning/GraphPinningService.js.map +1 -0
- package/lib/esm/graph/pinning/index.js +10 -0
- package/lib/esm/graph/pinning/index.js.map +1 -0
- package/lib/esm/graph/planning/GraphExecutionPlan.js +2 -0
- package/lib/esm/graph/planning/GraphExecutionPlan.js.map +1 -0
- package/lib/esm/graph/planning/GraphExecutionPlanEdge.js +7 -0
- package/lib/esm/graph/planning/GraphExecutionPlanEdge.js.map +1 -0
- package/lib/esm/graph/planning/GraphExecutionPlanLayer.js +2 -0
- package/lib/esm/graph/planning/GraphExecutionPlanLayer.js.map +1 -0
- package/lib/esm/graph/planning/GraphExecutionPlanNode.js +2 -0
- package/lib/esm/graph/planning/GraphExecutionPlanNode.js.map +1 -0
- package/lib/esm/graph/planning/GraphExecutionPlanner.js +192 -0
- package/lib/esm/graph/planning/GraphExecutionPlanner.js.map +1 -0
- package/lib/esm/graph/planning/GraphRelationResolver.js +167 -0
- package/lib/esm/graph/planning/GraphRelationResolver.js.map +1 -0
- package/lib/esm/graph/planning/GraphTopology.js +52 -0
- package/lib/esm/graph/planning/GraphTopology.js.map +1 -0
- package/lib/esm/graph/planning/index.js +13 -0
- package/lib/esm/graph/planning/index.js.map +1 -0
- package/lib/esm/graph/registry/GraphNodeExecutorRegistry.js +39 -0
- package/lib/esm/graph/registry/GraphNodeExecutorRegistry.js.map +1 -0
- package/lib/esm/graph/registry/GraphNodeExecutorResolver.js +22 -0
- package/lib/esm/graph/registry/GraphNodeExecutorResolver.js.map +1 -0
- package/lib/esm/graph/registry/index.js +8 -0
- package/lib/esm/graph/registry/index.js.map +1 -0
- package/lib/esm/graph/snapshots/GraphExecutionSnapshotMapper.js +48 -0
- package/lib/esm/graph/snapshots/GraphExecutionSnapshotMapper.js.map +1 -0
- package/lib/esm/graph/snapshots/index.js +7 -0
- package/lib/esm/graph/snapshots/index.js.map +1 -0
- package/lib/esm/graph/store/GraphCachedValue.js +2 -0
- package/lib/esm/graph/store/GraphCachedValue.js.map +1 -0
- package/lib/esm/graph/store/GraphValueKey.js +7 -0
- package/lib/esm/graph/store/GraphValueKey.js.map +1 -0
- package/lib/esm/graph/store/GraphValueStore.js +71 -0
- package/lib/esm/graph/store/GraphValueStore.js.map +1 -0
- package/lib/esm/graph/store/GraphValueStoreAdapter.js +2 -0
- package/lib/esm/graph/store/GraphValueStoreAdapter.js.map +1 -0
- package/lib/esm/graph/store/InMemoryGraphValueStoreAdapter.js +64 -0
- package/lib/esm/graph/store/InMemoryGraphValueStoreAdapter.js.map +1 -0
- package/lib/esm/graph/store/index.js +11 -0
- package/lib/esm/graph/store/index.js.map +1 -0
- package/lib/esm/graph/types.js +2 -0
- package/lib/esm/graph/types.js.map +1 -0
- package/lib/esm/graph/validation/GraphDefinitionValidator.js +28 -0
- package/lib/esm/graph/validation/GraphDefinitionValidator.js.map +1 -0
- package/lib/esm/graph/validation/GraphPortSchemaResolver.js +53 -0
- package/lib/esm/graph/validation/GraphPortSchemaResolver.js.map +1 -0
- package/lib/esm/graph/validation/GraphValueValidator.js +47 -0
- package/lib/esm/graph/validation/GraphValueValidator.js.map +1 -0
- package/lib/esm/graph/validation/index.js +9 -0
- package/lib/esm/graph/validation/index.js.map +1 -0
- package/lib/esm/index.js +3 -3
- package/lib/esm/keycloak/services/KeycloakAuthService.js +2 -2
- package/lib/esm/keycloak/services/KeycloakAuthService.js.map +1 -1
- package/lib/esm/keycloak/services/KeycloakClientService.js +2 -2
- package/lib/esm/keycloak/services/KeycloakClientService.js.map +1 -1
- package/lib/esm/keycloak/services/KeycloakIdentityProviderService.js +2 -2
- package/lib/esm/keycloak/services/KeycloakIdentityProviderService.js.map +1 -1
- package/lib/esm/keycloak/services/KeycloakRealmService.js +2 -2
- package/lib/esm/keycloak/services/KeycloakRealmService.js.map +1 -1
- package/lib/esm/keycloak/services/KeycloakRoleService.js +2 -2
- package/lib/esm/keycloak/services/KeycloakRoleService.js.map +1 -1
- package/lib/esm/keycloak/services/KeycloakService.js +16 -9
- package/lib/esm/keycloak/services/KeycloakService.js.map +1 -1
- package/lib/esm/keycloak/services/KeycloakUserService.js +2 -2
- package/lib/esm/keycloak/services/KeycloakUserService.js.map +1 -1
- package/lib/esm/kibana/services/KibanaAuthService.js +3 -3
- package/lib/esm/kibana/services/KibanaAuthService.js.map +1 -1
- package/lib/esm/kibana/services/KibanaDashboardService.js +3 -3
- package/lib/esm/kibana/services/KibanaDashboardService.js.map +1 -1
- package/lib/esm/kibana/services/KibanaDataViewService.js +2 -2
- package/lib/esm/kibana/services/KibanaDataViewService.js.map +1 -1
- package/lib/esm/kibana/services/KibanaRoleService.js +2 -2
- package/lib/esm/kibana/services/KibanaRoleService.js.map +1 -1
- package/lib/esm/kibana/services/KibanaService.js +16 -9
- package/lib/esm/kibana/services/KibanaService.js.map +1 -1
- package/lib/esm/kibana/services/KibanaSpaceService.js +2 -2
- package/lib/esm/kibana/services/KibanaSpaceService.js.map +1 -1
- package/lib/esm/kibana/services/KibanaUserService.js +2 -2
- package/lib/esm/kibana/services/KibanaUserService.js.map +1 -1
- package/lib/types/graph/constants.d.cts +101 -0
- package/lib/types/graph/constants.d.mts +101 -0
- package/lib/types/graph/decorators.d.cts +6 -0
- package/lib/types/graph/decorators.d.mts +6 -0
- package/lib/types/graph/errors/GraphCycleError.d.cts +12 -0
- package/lib/types/graph/errors/GraphCycleError.d.mts +12 -0
- package/lib/types/graph/errors/GraphExecutionError.d.cts +19 -0
- package/lib/types/graph/errors/GraphExecutionError.d.mts +19 -0
- package/lib/types/graph/errors/GraphInputError.d.cts +12 -0
- package/lib/types/graph/errors/GraphInputError.d.mts +12 -0
- package/lib/types/graph/errors/GraphLoopLimitError.d.cts +12 -0
- package/lib/types/graph/errors/GraphLoopLimitError.d.mts +12 -0
- package/lib/types/graph/errors/GraphPinningError.d.cts +12 -0
- package/lib/types/graph/errors/GraphPinningError.d.mts +12 -0
- package/lib/types/graph/errors/GraphPortError.d.cts +12 -0
- package/lib/types/graph/errors/GraphPortError.d.mts +12 -0
- package/lib/types/graph/errors/GraphStoreError.d.cts +12 -0
- package/lib/types/graph/errors/GraphStoreError.d.mts +12 -0
- package/lib/types/graph/errors/GraphTopologyError.d.cts +12 -0
- package/lib/types/graph/errors/GraphTopologyError.d.mts +12 -0
- package/lib/types/graph/errors/index.d.cts +13 -0
- package/lib/types/graph/errors/index.d.mts +13 -0
- package/lib/types/graph/events/GraphExecutionEvent.d.cts +6 -0
- package/lib/types/graph/events/GraphExecutionEvent.d.mts +6 -0
- package/lib/types/graph/events/GraphExecutionEventEmitter.d.cts +26 -0
- package/lib/types/graph/events/GraphExecutionEventEmitter.d.mts +26 -0
- package/lib/types/graph/events/GraphExecutionEventFactory.d.cts +25 -0
- package/lib/types/graph/events/GraphExecutionEventFactory.d.mts +25 -0
- package/lib/types/graph/events/GraphExecutionObserver.d.cts +17 -0
- package/lib/types/graph/events/GraphExecutionObserver.d.mts +17 -0
- package/lib/types/graph/events/index.d.cts +9 -0
- package/lib/types/graph/events/index.d.mts +9 -0
- package/lib/types/graph/execution/GraphExecutionContext.d.cts +50 -0
- package/lib/types/graph/execution/GraphExecutionContext.d.mts +50 -0
- package/lib/types/graph/execution/GraphExecutionEngine.d.cts +112 -0
- package/lib/types/graph/execution/GraphExecutionEngine.d.mts +112 -0
- package/lib/types/graph/execution/GraphExecutionFrame.d.cts +29 -0
- package/lib/types/graph/execution/GraphExecutionFrame.d.mts +29 -0
- package/lib/types/graph/execution/GraphExecutionResult.d.cts +13 -0
- package/lib/types/graph/execution/GraphExecutionResult.d.mts +13 -0
- package/lib/types/graph/execution/GraphNodeExecutor.d.cts +23 -0
- package/lib/types/graph/execution/GraphNodeExecutor.d.mts +23 -0
- package/lib/types/graph/execution/index.d.cts +10 -0
- package/lib/types/graph/execution/index.d.mts +10 -0
- package/lib/types/graph/index.d.cts +52 -0
- package/lib/types/graph/index.d.mts +52 -0
- package/lib/types/graph/loops/ForeachGraphNodeExecutor.d.cts +27 -0
- package/lib/types/graph/loops/ForeachGraphNodeExecutor.d.mts +27 -0
- package/lib/types/graph/loops/GraphConditionEvaluator.d.cts +23 -0
- package/lib/types/graph/loops/GraphConditionEvaluator.d.mts +23 -0
- package/lib/types/graph/loops/GraphLoopExecutionContext.d.cts +15 -0
- package/lib/types/graph/loops/GraphLoopExecutionContext.d.mts +15 -0
- package/lib/types/graph/loops/UntilGraphNodeExecutor.d.cts +22 -0
- package/lib/types/graph/loops/UntilGraphNodeExecutor.d.mts +22 -0
- package/lib/types/graph/loops/WhileGraphNodeExecutor.d.cts +26 -0
- package/lib/types/graph/loops/WhileGraphNodeExecutor.d.mts +26 -0
- package/lib/types/graph/loops/index.d.cts +10 -0
- package/lib/types/graph/loops/index.d.mts +10 -0
- package/lib/types/graph/pinning/GraphPinningDependencyResolver.d.cts +21 -0
- package/lib/types/graph/pinning/GraphPinningDependencyResolver.d.mts +21 -0
- package/lib/types/graph/pinning/GraphPinningMetadata.d.cts +14 -0
- package/lib/types/graph/pinning/GraphPinningMetadata.d.mts +14 -0
- package/lib/types/graph/pinning/GraphPinningPolicy.d.cts +20 -0
- package/lib/types/graph/pinning/GraphPinningPolicy.d.mts +20 -0
- package/lib/types/graph/pinning/GraphPinningService.d.cts +59 -0
- package/lib/types/graph/pinning/GraphPinningService.d.mts +59 -0
- package/lib/types/graph/pinning/index.d.cts +9 -0
- package/lib/types/graph/pinning/index.d.mts +9 -0
- package/lib/types/graph/planning/GraphExecutionPlan.d.cts +21 -0
- package/lib/types/graph/planning/GraphExecutionPlan.d.mts +21 -0
- package/lib/types/graph/planning/GraphExecutionPlanEdge.d.cts +21 -0
- package/lib/types/graph/planning/GraphExecutionPlanEdge.d.mts +21 -0
- package/lib/types/graph/planning/GraphExecutionPlanLayer.d.cts +13 -0
- package/lib/types/graph/planning/GraphExecutionPlanLayer.d.mts +13 -0
- package/lib/types/graph/planning/GraphExecutionPlanNode.d.cts +20 -0
- package/lib/types/graph/planning/GraphExecutionPlanNode.d.mts +20 -0
- package/lib/types/graph/planning/GraphExecutionPlanner.d.cts +60 -0
- package/lib/types/graph/planning/GraphExecutionPlanner.d.mts +60 -0
- package/lib/types/graph/planning/GraphRelationResolver.d.cts +62 -0
- package/lib/types/graph/planning/GraphRelationResolver.d.mts +62 -0
- package/lib/types/graph/planning/GraphTopology.d.cts +23 -0
- package/lib/types/graph/planning/GraphTopology.d.mts +23 -0
- package/lib/types/graph/planning/index.d.cts +12 -0
- package/lib/types/graph/planning/index.d.mts +12 -0
- package/lib/types/graph/registry/GraphNodeExecutorRegistry.d.cts +25 -0
- package/lib/types/graph/registry/GraphNodeExecutorRegistry.d.mts +25 -0
- package/lib/types/graph/registry/GraphNodeExecutorResolver.d.cts +21 -0
- package/lib/types/graph/registry/GraphNodeExecutorResolver.d.mts +21 -0
- package/lib/types/graph/registry/index.d.cts +7 -0
- package/lib/types/graph/registry/index.d.mts +7 -0
- package/lib/types/graph/snapshots/GraphExecutionSnapshotMapper.d.cts +10 -0
- package/lib/types/graph/snapshots/GraphExecutionSnapshotMapper.d.mts +10 -0
- package/lib/types/graph/snapshots/index.d.cts +6 -0
- package/lib/types/graph/snapshots/index.d.mts +6 -0
- package/lib/types/graph/store/GraphCachedValue.d.cts +20 -0
- package/lib/types/graph/store/GraphCachedValue.d.mts +20 -0
- package/lib/types/graph/store/GraphValueKey.d.cts +18 -0
- package/lib/types/graph/store/GraphValueKey.d.mts +18 -0
- package/lib/types/graph/store/GraphValueStore.d.cts +41 -0
- package/lib/types/graph/store/GraphValueStore.d.mts +41 -0
- package/lib/types/graph/store/GraphValueStoreAdapter.d.cts +32 -0
- package/lib/types/graph/store/GraphValueStoreAdapter.d.mts +32 -0
- package/lib/types/graph/store/InMemoryGraphValueStoreAdapter.d.cts +33 -0
- package/lib/types/graph/store/InMemoryGraphValueStoreAdapter.d.mts +33 -0
- package/lib/types/graph/store/index.d.cts +10 -0
- package/lib/types/graph/store/index.d.mts +10 -0
- package/lib/types/graph/types.d.cts +197 -0
- package/lib/types/graph/types.d.mts +197 -0
- package/lib/types/graph/validation/GraphDefinitionValidator.d.cts +21 -0
- package/lib/types/graph/validation/GraphDefinitionValidator.d.mts +21 -0
- package/lib/types/graph/validation/GraphPortSchemaResolver.d.cts +39 -0
- package/lib/types/graph/validation/GraphPortSchemaResolver.d.mts +39 -0
- package/lib/types/graph/validation/GraphValueValidator.d.cts +27 -0
- package/lib/types/graph/validation/GraphValueValidator.d.mts +27 -0
- package/lib/types/graph/validation/index.d.cts +8 -0
- package/lib/types/graph/validation/index.d.mts +8 -0
- package/lib/types/index.d.cts +2 -2
- package/lib/types/index.d.mts +2 -2
- package/lib/types/keycloak/services/KeycloakService.d.cts +1 -0
- package/lib/types/keycloak/services/KeycloakService.d.mts +1 -0
- package/lib/types/keycloak/types.d.cts +1 -4
- package/lib/types/keycloak/types.d.mts +1 -4
- package/lib/types/kibana/services/KibanaService.d.cts +1 -0
- package/lib/types/kibana/services/KibanaService.d.mts +1 -0
- package/lib/types/kibana/types.d.cts +1 -4
- package/lib/types/kibana/types.d.mts +1 -4
- package/package.json +17 -3
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module integrations/graph/planning/GraphExecutionPlanEdge
|
|
3
|
+
* @summary Plan edge type for the execution plan.
|
|
4
|
+
* @description Represents a directed value route between two endpoints (node-to-node or node-to-workflow-boundary).
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* An edge in the execution plan representing a value route from a source
|
|
8
|
+
* port to a target port.
|
|
9
|
+
*
|
|
10
|
+
* `sourceNodeId` or `targetNodeId` may be {@link GRAPH_WORKFLOW_BOUNDARY} when
|
|
11
|
+
* the edge connects to the workflow boundary.
|
|
12
|
+
*/
|
|
13
|
+
export interface GraphExecutionPlanEdge {
|
|
14
|
+
id: string;
|
|
15
|
+
sourceNodeId: string;
|
|
16
|
+
sourcePort: string;
|
|
17
|
+
targetNodeId: string;
|
|
18
|
+
targetPort: string;
|
|
19
|
+
label?: string;
|
|
20
|
+
metadata?: Record<string, unknown>;
|
|
21
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module integrations/graph/planning/GraphExecutionPlanLayer
|
|
3
|
+
* @summary A layer of nodes that can execute in parallel.
|
|
4
|
+
* @description Produced by the topological planner; all nodes in a layer have no dependencies on each other.
|
|
5
|
+
*/
|
|
6
|
+
import type { GraphExecutionPlanNode } from "./GraphExecutionPlanNode.d.cts";
|
|
7
|
+
/**
|
|
8
|
+
* A topological layer of nodes that may execute in parallel.
|
|
9
|
+
*/
|
|
10
|
+
export interface GraphExecutionPlanLayer {
|
|
11
|
+
index: number;
|
|
12
|
+
nodes: GraphExecutionPlanNode[];
|
|
13
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module integrations/graph/planning/GraphExecutionPlanLayer
|
|
3
|
+
* @summary A layer of nodes that can execute in parallel.
|
|
4
|
+
* @description Produced by the topological planner; all nodes in a layer have no dependencies on each other.
|
|
5
|
+
*/
|
|
6
|
+
import type { GraphExecutionPlanNode } from "./GraphExecutionPlanNode.d.mts";
|
|
7
|
+
/**
|
|
8
|
+
* A topological layer of nodes that may execute in parallel.
|
|
9
|
+
*/
|
|
10
|
+
export interface GraphExecutionPlanLayer {
|
|
11
|
+
index: number;
|
|
12
|
+
nodes: GraphExecutionPlanNode[];
|
|
13
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module integrations/graph/planning/GraphExecutionPlanNode
|
|
3
|
+
* @summary Plan node type for the execution plan.
|
|
4
|
+
* @description Represents a single node resolved from a workflow definition, ready for execution.
|
|
5
|
+
*/
|
|
6
|
+
import type { GraphNodeDefinition, GraphWorkflowNodeMetadata } from "@decaf-ts/ui-decorators/graph";
|
|
7
|
+
/**
|
|
8
|
+
* A node in the execution plan, derived from a workflow's node metadata and
|
|
9
|
+
* its resolved graph definition.
|
|
10
|
+
*/
|
|
11
|
+
export interface GraphExecutionPlanNode {
|
|
12
|
+
id: string;
|
|
13
|
+
kind: string;
|
|
14
|
+
label?: string;
|
|
15
|
+
source: GraphWorkflowNodeMetadata;
|
|
16
|
+
definition: GraphNodeDefinition;
|
|
17
|
+
inputPorts: string[];
|
|
18
|
+
outputPorts: string[];
|
|
19
|
+
metadata?: Record<string, unknown>;
|
|
20
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module integrations/graph/planning/GraphExecutionPlanNode
|
|
3
|
+
* @summary Plan node type for the execution plan.
|
|
4
|
+
* @description Represents a single node resolved from a workflow definition, ready for execution.
|
|
5
|
+
*/
|
|
6
|
+
import type { GraphNodeDefinition, GraphWorkflowNodeMetadata } from "@decaf-ts/ui-decorators/graph";
|
|
7
|
+
/**
|
|
8
|
+
* A node in the execution plan, derived from a workflow's node metadata and
|
|
9
|
+
* its resolved graph definition.
|
|
10
|
+
*/
|
|
11
|
+
export interface GraphExecutionPlanNode {
|
|
12
|
+
id: string;
|
|
13
|
+
kind: string;
|
|
14
|
+
label?: string;
|
|
15
|
+
source: GraphWorkflowNodeMetadata;
|
|
16
|
+
definition: GraphNodeDefinition;
|
|
17
|
+
inputPorts: string[];
|
|
18
|
+
outputPorts: string[];
|
|
19
|
+
metadata?: Record<string, unknown>;
|
|
20
|
+
}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module integrations/graph/planning/GraphExecutionPlanner
|
|
3
|
+
* @summary Topological planner for graph workflows.
|
|
4
|
+
* @description Resolves workflow nodes and relations, validates topology, detects cycles, and produces topological execution layers using Kahn's algorithm.
|
|
5
|
+
*/
|
|
6
|
+
import type { GraphWorkflowDefinition } from "@decaf-ts/ui-decorators/graph";
|
|
7
|
+
import type { GraphExecutionPlan } from "./GraphExecutionPlan.d.cts";
|
|
8
|
+
import { GraphRelationResolver } from "./GraphRelationResolver.d.cts";
|
|
9
|
+
/**
|
|
10
|
+
* Planner that turns a {@link GraphWorkflowDefinition} into a
|
|
11
|
+
* {@link GraphExecutionPlan} with topological layers.
|
|
12
|
+
*/
|
|
13
|
+
export declare class GraphExecutionPlanner {
|
|
14
|
+
private readonly resolver;
|
|
15
|
+
constructor(resolver?: GraphRelationResolver);
|
|
16
|
+
/**
|
|
17
|
+
* Plans a workflow for execution.
|
|
18
|
+
*
|
|
19
|
+
* @param workflow - The workflow definition to plan.
|
|
20
|
+
* @returns The execution plan with nodes, edges, layers, and maps.
|
|
21
|
+
* @throws {GraphTopologyError} when node IDs are not unique.
|
|
22
|
+
* @throws {GraphCycleError} when the workflow contains an unsupported cycle.
|
|
23
|
+
*/
|
|
24
|
+
plan(workflow: GraphWorkflowDefinition): GraphExecutionPlan;
|
|
25
|
+
/**
|
|
26
|
+
* Validates that all workflow node IDs are unique.
|
|
27
|
+
*/
|
|
28
|
+
private validateUniqueNodeIds;
|
|
29
|
+
/**
|
|
30
|
+
* Resolves workflow node metadata into plan nodes with full definitions.
|
|
31
|
+
*/
|
|
32
|
+
private resolveNodes;
|
|
33
|
+
/**
|
|
34
|
+
* Attempts to resolve the full graph node definition from metadata.
|
|
35
|
+
*
|
|
36
|
+
* Accepts either a decorated Model class/instance (resolved via
|
|
37
|
+
* `graphDefinitionOf`) or a plain `GraphNodeDefinition`-shaped object
|
|
38
|
+
* (useful for serialized workflows that inline node definitions).
|
|
39
|
+
*/
|
|
40
|
+
private resolveDefinition;
|
|
41
|
+
/**
|
|
42
|
+
* Returns `true` when a value looks like a raw {@link GraphNodeDefinition}
|
|
43
|
+
* (a plain object with a `ports` array and a `name` string).
|
|
44
|
+
*/
|
|
45
|
+
private isRawDefinition;
|
|
46
|
+
/**
|
|
47
|
+
* Builds a map of node id -> incoming edges.
|
|
48
|
+
*/
|
|
49
|
+
private buildIncomingMap;
|
|
50
|
+
/**
|
|
51
|
+
* Builds a map of node id -> outgoing edges.
|
|
52
|
+
*/
|
|
53
|
+
private buildOutgoingMap;
|
|
54
|
+
/**
|
|
55
|
+
* Produces topological layers using Kahn's algorithm.
|
|
56
|
+
*
|
|
57
|
+
* Workflow boundary edges do not count as executable-node dependencies.
|
|
58
|
+
*/
|
|
59
|
+
private topologicalLayers;
|
|
60
|
+
}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module integrations/graph/planning/GraphExecutionPlanner
|
|
3
|
+
* @summary Topological planner for graph workflows.
|
|
4
|
+
* @description Resolves workflow nodes and relations, validates topology, detects cycles, and produces topological execution layers using Kahn's algorithm.
|
|
5
|
+
*/
|
|
6
|
+
import type { GraphWorkflowDefinition } from "@decaf-ts/ui-decorators/graph";
|
|
7
|
+
import type { GraphExecutionPlan } from "./GraphExecutionPlan.d.mts";
|
|
8
|
+
import { GraphRelationResolver } from "./GraphRelationResolver.d.mts";
|
|
9
|
+
/**
|
|
10
|
+
* Planner that turns a {@link GraphWorkflowDefinition} into a
|
|
11
|
+
* {@link GraphExecutionPlan} with topological layers.
|
|
12
|
+
*/
|
|
13
|
+
export declare class GraphExecutionPlanner {
|
|
14
|
+
private readonly resolver;
|
|
15
|
+
constructor(resolver?: GraphRelationResolver);
|
|
16
|
+
/**
|
|
17
|
+
* Plans a workflow for execution.
|
|
18
|
+
*
|
|
19
|
+
* @param workflow - The workflow definition to plan.
|
|
20
|
+
* @returns The execution plan with nodes, edges, layers, and maps.
|
|
21
|
+
* @throws {GraphTopologyError} when node IDs are not unique.
|
|
22
|
+
* @throws {GraphCycleError} when the workflow contains an unsupported cycle.
|
|
23
|
+
*/
|
|
24
|
+
plan(workflow: GraphWorkflowDefinition): GraphExecutionPlan;
|
|
25
|
+
/**
|
|
26
|
+
* Validates that all workflow node IDs are unique.
|
|
27
|
+
*/
|
|
28
|
+
private validateUniqueNodeIds;
|
|
29
|
+
/**
|
|
30
|
+
* Resolves workflow node metadata into plan nodes with full definitions.
|
|
31
|
+
*/
|
|
32
|
+
private resolveNodes;
|
|
33
|
+
/**
|
|
34
|
+
* Attempts to resolve the full graph node definition from metadata.
|
|
35
|
+
*
|
|
36
|
+
* Accepts either a decorated Model class/instance (resolved via
|
|
37
|
+
* `graphDefinitionOf`) or a plain `GraphNodeDefinition`-shaped object
|
|
38
|
+
* (useful for serialized workflows that inline node definitions).
|
|
39
|
+
*/
|
|
40
|
+
private resolveDefinition;
|
|
41
|
+
/**
|
|
42
|
+
* Returns `true` when a value looks like a raw {@link GraphNodeDefinition}
|
|
43
|
+
* (a plain object with a `ports` array and a `name` string).
|
|
44
|
+
*/
|
|
45
|
+
private isRawDefinition;
|
|
46
|
+
/**
|
|
47
|
+
* Builds a map of node id -> incoming edges.
|
|
48
|
+
*/
|
|
49
|
+
private buildIncomingMap;
|
|
50
|
+
/**
|
|
51
|
+
* Builds a map of node id -> outgoing edges.
|
|
52
|
+
*/
|
|
53
|
+
private buildOutgoingMap;
|
|
54
|
+
/**
|
|
55
|
+
* Produces topological layers using Kahn's algorithm.
|
|
56
|
+
*
|
|
57
|
+
* Workflow boundary edges do not count as executable-node dependencies.
|
|
58
|
+
*/
|
|
59
|
+
private topologicalLayers;
|
|
60
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module integrations/graph/planning/GraphRelationResolver
|
|
3
|
+
* @summary Normalizes workflow relations into execution edges.
|
|
4
|
+
* @description Resolves workflow boundary aliases, validates endpoints and ports, and produces stable edge IDs.
|
|
5
|
+
*/
|
|
6
|
+
import type { GraphWorkflowDefinition } from "@decaf-ts/ui-decorators/graph";
|
|
7
|
+
import type { GraphExecutionPlanEdge } from "./GraphExecutionPlanEdge.d.cts";
|
|
8
|
+
/**
|
|
9
|
+
* Resolves raw workflow relation metadata into normalized execution edges.
|
|
10
|
+
*/
|
|
11
|
+
export declare class GraphRelationResolver {
|
|
12
|
+
/**
|
|
13
|
+
* Resolves all relations of a workflow into execution edges.
|
|
14
|
+
*
|
|
15
|
+
* @param workflow - The workflow definition.
|
|
16
|
+
* @returns Array of normalized edges.
|
|
17
|
+
* @throws {GraphTopologyError} when an endpoint is unknown or ambiguous.
|
|
18
|
+
* @throws {GraphPortError} when a referenced port is missing or unknown.
|
|
19
|
+
*/
|
|
20
|
+
resolve(workflow: GraphWorkflowDefinition): GraphExecutionPlanEdge[];
|
|
21
|
+
/**
|
|
22
|
+
* Resolves a single relation into an edge.
|
|
23
|
+
*/
|
|
24
|
+
private resolveRelation;
|
|
25
|
+
/**
|
|
26
|
+
* Resolves an endpoint (source or target) to a node id or the workflow boundary.
|
|
27
|
+
*/
|
|
28
|
+
private resolveEndpoint;
|
|
29
|
+
/**
|
|
30
|
+
* Validates that a port exists on the given node or boundary.
|
|
31
|
+
*/
|
|
32
|
+
private validatePort;
|
|
33
|
+
/**
|
|
34
|
+
* Builds the set of boundary aliases for a workflow.
|
|
35
|
+
*/
|
|
36
|
+
private boundaryAliases;
|
|
37
|
+
/**
|
|
38
|
+
* Extracts port names from a list of port definitions.
|
|
39
|
+
*/
|
|
40
|
+
private portNames;
|
|
41
|
+
/**
|
|
42
|
+
* Builds a map of node id -> { input ports, output ports }.
|
|
43
|
+
*/
|
|
44
|
+
private buildNodePortMap;
|
|
45
|
+
/**
|
|
46
|
+
* Attempts to resolve a node's full definition from its metadata.
|
|
47
|
+
*
|
|
48
|
+
* Accepts either a decorated Model class/instance (resolved via
|
|
49
|
+
* `graphDefinitionOf`) or a plain `GraphNodeDefinition`-shaped object
|
|
50
|
+
* (useful for serialized workflows that inline node definitions).
|
|
51
|
+
*/
|
|
52
|
+
private resolveNodeDefinition;
|
|
53
|
+
/**
|
|
54
|
+
* Returns `true` when a value looks like a raw {@link GraphNodeDefinition}
|
|
55
|
+
* (a plain object with a `ports` array and a `name` string).
|
|
56
|
+
*/
|
|
57
|
+
private isRawDefinition;
|
|
58
|
+
/**
|
|
59
|
+
* Creates a stable edge id from its endpoints and ports.
|
|
60
|
+
*/
|
|
61
|
+
private createEdgeId;
|
|
62
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module integrations/graph/planning/GraphRelationResolver
|
|
3
|
+
* @summary Normalizes workflow relations into execution edges.
|
|
4
|
+
* @description Resolves workflow boundary aliases, validates endpoints and ports, and produces stable edge IDs.
|
|
5
|
+
*/
|
|
6
|
+
import type { GraphWorkflowDefinition } from "@decaf-ts/ui-decorators/graph";
|
|
7
|
+
import type { GraphExecutionPlanEdge } from "./GraphExecutionPlanEdge.d.mts";
|
|
8
|
+
/**
|
|
9
|
+
* Resolves raw workflow relation metadata into normalized execution edges.
|
|
10
|
+
*/
|
|
11
|
+
export declare class GraphRelationResolver {
|
|
12
|
+
/**
|
|
13
|
+
* Resolves all relations of a workflow into execution edges.
|
|
14
|
+
*
|
|
15
|
+
* @param workflow - The workflow definition.
|
|
16
|
+
* @returns Array of normalized edges.
|
|
17
|
+
* @throws {GraphTopologyError} when an endpoint is unknown or ambiguous.
|
|
18
|
+
* @throws {GraphPortError} when a referenced port is missing or unknown.
|
|
19
|
+
*/
|
|
20
|
+
resolve(workflow: GraphWorkflowDefinition): GraphExecutionPlanEdge[];
|
|
21
|
+
/**
|
|
22
|
+
* Resolves a single relation into an edge.
|
|
23
|
+
*/
|
|
24
|
+
private resolveRelation;
|
|
25
|
+
/**
|
|
26
|
+
* Resolves an endpoint (source or target) to a node id or the workflow boundary.
|
|
27
|
+
*/
|
|
28
|
+
private resolveEndpoint;
|
|
29
|
+
/**
|
|
30
|
+
* Validates that a port exists on the given node or boundary.
|
|
31
|
+
*/
|
|
32
|
+
private validatePort;
|
|
33
|
+
/**
|
|
34
|
+
* Builds the set of boundary aliases for a workflow.
|
|
35
|
+
*/
|
|
36
|
+
private boundaryAliases;
|
|
37
|
+
/**
|
|
38
|
+
* Extracts port names from a list of port definitions.
|
|
39
|
+
*/
|
|
40
|
+
private portNames;
|
|
41
|
+
/**
|
|
42
|
+
* Builds a map of node id -> { input ports, output ports }.
|
|
43
|
+
*/
|
|
44
|
+
private buildNodePortMap;
|
|
45
|
+
/**
|
|
46
|
+
* Attempts to resolve a node's full definition from its metadata.
|
|
47
|
+
*
|
|
48
|
+
* Accepts either a decorated Model class/instance (resolved via
|
|
49
|
+
* `graphDefinitionOf`) or a plain `GraphNodeDefinition`-shaped object
|
|
50
|
+
* (useful for serialized workflows that inline node definitions).
|
|
51
|
+
*/
|
|
52
|
+
private resolveNodeDefinition;
|
|
53
|
+
/**
|
|
54
|
+
* Returns `true` when a value looks like a raw {@link GraphNodeDefinition}
|
|
55
|
+
* (a plain object with a `ports` array and a `name` string).
|
|
56
|
+
*/
|
|
57
|
+
private isRawDefinition;
|
|
58
|
+
/**
|
|
59
|
+
* Creates a stable edge id from its endpoints and ports.
|
|
60
|
+
*/
|
|
61
|
+
private createEdgeId;
|
|
62
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module integrations/graph/planning/GraphTopology
|
|
3
|
+
* @summary Utility helpers for graph topology analysis.
|
|
4
|
+
* @description Provides helper functions used by the planner and pinning dependency resolver.
|
|
5
|
+
*/
|
|
6
|
+
import type { GraphExecutionPlanEdge } from "./GraphExecutionPlanEdge.d.cts";
|
|
7
|
+
/**
|
|
8
|
+
* Topology utility for traversing the execution plan's edges.
|
|
9
|
+
*/
|
|
10
|
+
export declare class GraphTopology {
|
|
11
|
+
/**
|
|
12
|
+
* Returns the set of upstream node ids reachable from `nodeId` by following
|
|
13
|
+
* incoming edges. The workflow boundary node is excluded.
|
|
14
|
+
*/
|
|
15
|
+
static upstreamNodes(nodeId: string, incomingByNode: Map<string, GraphExecutionPlanEdge[]>, includeBoundary?: boolean): Set<string>;
|
|
16
|
+
/**
|
|
17
|
+
* Returns the set of downstream node ids reachable from `nodeId` by following
|
|
18
|
+
* outgoing edges. The workflow boundary node is excluded.
|
|
19
|
+
*/
|
|
20
|
+
static downstreamNodes(nodeId: string, outgoingByNode: Map<string, GraphExecutionPlanEdge[]>, includeBoundary?: boolean): Set<string>;
|
|
21
|
+
/** Returns whether a node id is the workflow boundary. */
|
|
22
|
+
static isBoundary(nodeId: string): boolean;
|
|
23
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module integrations/graph/planning/GraphTopology
|
|
3
|
+
* @summary Utility helpers for graph topology analysis.
|
|
4
|
+
* @description Provides helper functions used by the planner and pinning dependency resolver.
|
|
5
|
+
*/
|
|
6
|
+
import type { GraphExecutionPlanEdge } from "./GraphExecutionPlanEdge.d.mts";
|
|
7
|
+
/**
|
|
8
|
+
* Topology utility for traversing the execution plan's edges.
|
|
9
|
+
*/
|
|
10
|
+
export declare class GraphTopology {
|
|
11
|
+
/**
|
|
12
|
+
* Returns the set of upstream node ids reachable from `nodeId` by following
|
|
13
|
+
* incoming edges. The workflow boundary node is excluded.
|
|
14
|
+
*/
|
|
15
|
+
static upstreamNodes(nodeId: string, incomingByNode: Map<string, GraphExecutionPlanEdge[]>, includeBoundary?: boolean): Set<string>;
|
|
16
|
+
/**
|
|
17
|
+
* Returns the set of downstream node ids reachable from `nodeId` by following
|
|
18
|
+
* outgoing edges. The workflow boundary node is excluded.
|
|
19
|
+
*/
|
|
20
|
+
static downstreamNodes(nodeId: string, outgoingByNode: Map<string, GraphExecutionPlanEdge[]>, includeBoundary?: boolean): Set<string>;
|
|
21
|
+
/** Returns whether a node id is the workflow boundary. */
|
|
22
|
+
static isBoundary(nodeId: string): boolean;
|
|
23
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module integrations/graph/planning
|
|
3
|
+
* @summary Graph execution planning.
|
|
4
|
+
* @description Re-exports the execution plan types, relation resolver, and topological planner.
|
|
5
|
+
*/
|
|
6
|
+
export * from "./GraphExecutionPlanNode.d.cts";
|
|
7
|
+
export * from "./GraphExecutionPlanEdge.d.cts";
|
|
8
|
+
export * from "./GraphExecutionPlanLayer.d.cts";
|
|
9
|
+
export * from "./GraphExecutionPlan.d.cts";
|
|
10
|
+
export * from "./GraphRelationResolver.d.cts";
|
|
11
|
+
export * from "./GraphExecutionPlanner.d.cts";
|
|
12
|
+
export * from "./GraphTopology.d.cts";
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module integrations/graph/planning
|
|
3
|
+
* @summary Graph execution planning.
|
|
4
|
+
* @description Re-exports the execution plan types, relation resolver, and topological planner.
|
|
5
|
+
*/
|
|
6
|
+
export * from "./GraphExecutionPlanNode.d.mts";
|
|
7
|
+
export * from "./GraphExecutionPlanEdge.d.mts";
|
|
8
|
+
export * from "./GraphExecutionPlanLayer.d.mts";
|
|
9
|
+
export * from "./GraphExecutionPlan.d.mts";
|
|
10
|
+
export * from "./GraphRelationResolver.d.mts";
|
|
11
|
+
export * from "./GraphExecutionPlanner.d.mts";
|
|
12
|
+
export * from "./GraphTopology.d.mts";
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module integrations/graph/registry/GraphNodeExecutorRegistry
|
|
3
|
+
* @summary Registry for graph node executors.
|
|
4
|
+
* @description Maps node kinds to their executor implementations. The engine resolves executors by node kind at execution time.
|
|
5
|
+
*/
|
|
6
|
+
import type { GraphNodeExecutor } from "../execution/GraphNodeExecutor.d.cts";
|
|
7
|
+
/**
|
|
8
|
+
* Registry that maps node `kind` strings to {@link GraphNodeExecutor}
|
|
9
|
+
* instances.
|
|
10
|
+
*/
|
|
11
|
+
export declare class GraphNodeExecutorRegistry {
|
|
12
|
+
private readonly executors;
|
|
13
|
+
/** Registers an executor for the given node kind. */
|
|
14
|
+
register(kind: string, executor: GraphNodeExecutor): this;
|
|
15
|
+
/** Removes the executor for the given node kind. */
|
|
16
|
+
unregister(kind: string): this;
|
|
17
|
+
/** Returns whether an executor is registered for the given kind. */
|
|
18
|
+
has(kind: string): boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Resolves the executor for the given node kind.
|
|
21
|
+
*
|
|
22
|
+
* @throws {GraphExecutionError} when no executor is registered for `kind`.
|
|
23
|
+
*/
|
|
24
|
+
resolve(kind: string): GraphNodeExecutor;
|
|
25
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module integrations/graph/registry/GraphNodeExecutorRegistry
|
|
3
|
+
* @summary Registry for graph node executors.
|
|
4
|
+
* @description Maps node kinds to their executor implementations. The engine resolves executors by node kind at execution time.
|
|
5
|
+
*/
|
|
6
|
+
import type { GraphNodeExecutor } from "../execution/GraphNodeExecutor.d.mts";
|
|
7
|
+
/**
|
|
8
|
+
* Registry that maps node `kind` strings to {@link GraphNodeExecutor}
|
|
9
|
+
* instances.
|
|
10
|
+
*/
|
|
11
|
+
export declare class GraphNodeExecutorRegistry {
|
|
12
|
+
private readonly executors;
|
|
13
|
+
/** Registers an executor for the given node kind. */
|
|
14
|
+
register(kind: string, executor: GraphNodeExecutor): this;
|
|
15
|
+
/** Removes the executor for the given node kind. */
|
|
16
|
+
unregister(kind: string): this;
|
|
17
|
+
/** Returns whether an executor is registered for the given kind. */
|
|
18
|
+
has(kind: string): boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Resolves the executor for the given node kind.
|
|
21
|
+
*
|
|
22
|
+
* @throws {GraphExecutionError} when no executor is registered for `kind`.
|
|
23
|
+
*/
|
|
24
|
+
resolve(kind: string): GraphNodeExecutor;
|
|
25
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module integrations/graph/registry/GraphNodeExecutorResolver
|
|
3
|
+
* @summary Utility for resolving executors from a registry with fallback.
|
|
4
|
+
* @description Provides a helper that attempts to resolve an executor by kind, falling back to a default executor when the kind is not registered.
|
|
5
|
+
*/
|
|
6
|
+
import type { GraphNodeExecutor } from "../execution/GraphNodeExecutor.d.cts";
|
|
7
|
+
import type { GraphNodeExecutorRegistry } from "./GraphNodeExecutorRegistry.d.cts";
|
|
8
|
+
/**
|
|
9
|
+
* Resolver that wraps a {@link GraphNodeExecutorRegistry} and optionally
|
|
10
|
+
* falls back to a default executor when a kind is not found.
|
|
11
|
+
*/
|
|
12
|
+
export declare class GraphNodeExecutorResolver {
|
|
13
|
+
private readonly registry;
|
|
14
|
+
private readonly defaultExecutor?;
|
|
15
|
+
constructor(registry: GraphNodeExecutorRegistry, defaultExecutor?: GraphNodeExecutor);
|
|
16
|
+
/**
|
|
17
|
+
* Resolves the executor for `kind`, falling back to the default executor
|
|
18
|
+
* when provided.
|
|
19
|
+
*/
|
|
20
|
+
resolve(kind: string): GraphNodeExecutor;
|
|
21
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module integrations/graph/registry/GraphNodeExecutorResolver
|
|
3
|
+
* @summary Utility for resolving executors from a registry with fallback.
|
|
4
|
+
* @description Provides a helper that attempts to resolve an executor by kind, falling back to a default executor when the kind is not registered.
|
|
5
|
+
*/
|
|
6
|
+
import type { GraphNodeExecutor } from "../execution/GraphNodeExecutor.d.mts";
|
|
7
|
+
import type { GraphNodeExecutorRegistry } from "./GraphNodeExecutorRegistry.d.mts";
|
|
8
|
+
/**
|
|
9
|
+
* Resolver that wraps a {@link GraphNodeExecutorRegistry} and optionally
|
|
10
|
+
* falls back to a default executor when a kind is not found.
|
|
11
|
+
*/
|
|
12
|
+
export declare class GraphNodeExecutorResolver {
|
|
13
|
+
private readonly registry;
|
|
14
|
+
private readonly defaultExecutor?;
|
|
15
|
+
constructor(registry: GraphNodeExecutorRegistry, defaultExecutor?: GraphNodeExecutor);
|
|
16
|
+
/**
|
|
17
|
+
* Resolves the executor for `kind`, falling back to the default executor
|
|
18
|
+
* when provided.
|
|
19
|
+
*/
|
|
20
|
+
resolve(kind: string): GraphNodeExecutor;
|
|
21
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module integrations/graph/registry
|
|
3
|
+
* @summary Graph node executor registry and resolver.
|
|
4
|
+
* @description Re-exports the executor registry and resolver.
|
|
5
|
+
*/
|
|
6
|
+
export * from "./GraphNodeExecutorRegistry.d.cts";
|
|
7
|
+
export * from "./GraphNodeExecutorResolver.d.cts";
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module integrations/graph/registry
|
|
3
|
+
* @summary Graph node executor registry and resolver.
|
|
4
|
+
* @description Re-exports the executor registry and resolver.
|
|
5
|
+
*/
|
|
6
|
+
export * from "./GraphNodeExecutorRegistry.d.mts";
|
|
7
|
+
export * from "./GraphNodeExecutorResolver.d.mts";
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { GraphExecutionResult, GraphExecutionSnapshotPatch } from "../types.d.cts";
|
|
2
|
+
/**
|
|
3
|
+
* Maps a {@link GraphExecutionResult} to a {@link GraphExecutionSnapshotPatch}.
|
|
4
|
+
*/
|
|
5
|
+
export declare class GraphExecutionSnapshotMapper {
|
|
6
|
+
/**
|
|
7
|
+
* Creates a snapshot patch from an execution result.
|
|
8
|
+
*/
|
|
9
|
+
map(result: GraphExecutionResult): GraphExecutionSnapshotPatch;
|
|
10
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { GraphExecutionResult, GraphExecutionSnapshotPatch } from "../types.d.mts";
|
|
2
|
+
/**
|
|
3
|
+
* Maps a {@link GraphExecutionResult} to a {@link GraphExecutionSnapshotPatch}.
|
|
4
|
+
*/
|
|
5
|
+
export declare class GraphExecutionSnapshotMapper {
|
|
6
|
+
/**
|
|
7
|
+
* Creates a snapshot patch from an execution result.
|
|
8
|
+
*/
|
|
9
|
+
map(result: GraphExecutionResult): GraphExecutionSnapshotPatch;
|
|
10
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module integrations/graph/store/GraphCachedValue
|
|
3
|
+
* @summary A cached graph value with pinning metadata.
|
|
4
|
+
* @description Represents a node's output that has been cached (and optionally pinned) in the value store.
|
|
5
|
+
*/
|
|
6
|
+
import type { GraphExecutionValues } from "../types.d.cts";
|
|
7
|
+
import type { GraphValueKey } from "./GraphValueKey.d.cts";
|
|
8
|
+
/**
|
|
9
|
+
* A value stored in the cache, including the outputs, pinning state, and
|
|
10
|
+
* timestamps for TTL-based expiry.
|
|
11
|
+
*/
|
|
12
|
+
export interface GraphCachedValue {
|
|
13
|
+
key: GraphValueKey;
|
|
14
|
+
outputs: GraphExecutionValues;
|
|
15
|
+
pinned: boolean;
|
|
16
|
+
createdAt: string;
|
|
17
|
+
updatedAt: string;
|
|
18
|
+
expiresAt?: string;
|
|
19
|
+
metadata?: Record<string, unknown>;
|
|
20
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module integrations/graph/store/GraphCachedValue
|
|
3
|
+
* @summary A cached graph value with pinning metadata.
|
|
4
|
+
* @description Represents a node's output that has been cached (and optionally pinned) in the value store.
|
|
5
|
+
*/
|
|
6
|
+
import type { GraphExecutionValues } from "../types.d.mts";
|
|
7
|
+
import type { GraphValueKey } from "./GraphValueKey.d.mts";
|
|
8
|
+
/**
|
|
9
|
+
* A value stored in the cache, including the outputs, pinning state, and
|
|
10
|
+
* timestamps for TTL-based expiry.
|
|
11
|
+
*/
|
|
12
|
+
export interface GraphCachedValue {
|
|
13
|
+
key: GraphValueKey;
|
|
14
|
+
outputs: GraphExecutionValues;
|
|
15
|
+
pinned: boolean;
|
|
16
|
+
createdAt: string;
|
|
17
|
+
updatedAt: string;
|
|
18
|
+
expiresAt?: string;
|
|
19
|
+
metadata?: Record<string, unknown>;
|
|
20
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module integrations/graph/store/GraphValueKey
|
|
3
|
+
* @summary Stable key for cached graph values.
|
|
4
|
+
* @description Identifies a cached value in the store by workflow, node, fingerprint, and optional namespace/version.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Key used to read/write cached values in a {@link GraphValueStoreAdapter}.
|
|
8
|
+
*
|
|
9
|
+
* The `fingerprint` must change when meaningful inputs or dependencies change
|
|
10
|
+
* so stale values are never accidentally reused.
|
|
11
|
+
*/
|
|
12
|
+
export interface GraphValueKey {
|
|
13
|
+
workflowId: string;
|
|
14
|
+
nodeId: string;
|
|
15
|
+
fingerprint: string;
|
|
16
|
+
namespace?: string;
|
|
17
|
+
version?: string;
|
|
18
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module integrations/graph/store/GraphValueKey
|
|
3
|
+
* @summary Stable key for cached graph values.
|
|
4
|
+
* @description Identifies a cached value in the store by workflow, node, fingerprint, and optional namespace/version.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Key used to read/write cached values in a {@link GraphValueStoreAdapter}.
|
|
8
|
+
*
|
|
9
|
+
* The `fingerprint` must change when meaningful inputs or dependencies change
|
|
10
|
+
* so stale values are never accidentally reused.
|
|
11
|
+
*/
|
|
12
|
+
export interface GraphValueKey {
|
|
13
|
+
workflowId: string;
|
|
14
|
+
nodeId: string;
|
|
15
|
+
fingerprint: string;
|
|
16
|
+
namespace?: string;
|
|
17
|
+
version?: string;
|
|
18
|
+
}
|