@smthrs/flow 0.0.0-stage → 1.0.0-rc.12
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/CHANGELOG.md +161 -0
- package/LICENSE +21 -0
- package/README.md +212 -2
- package/THIRD_PARTY_NOTICES.md +52 -0
- package/dist/cjs/Action/Action.d.ts +250 -0
- package/dist/cjs/Action/Action.d.ts.map +1 -0
- package/dist/cjs/Action/Action.js +42 -0
- package/dist/cjs/Action/Action.js.map +7 -0
- package/dist/cjs/Action/AttemptTimedOut.d.ts +33 -0
- package/dist/cjs/Action/AttemptTimedOut.d.ts.map +1 -0
- package/dist/cjs/Action/AttemptTimedOut.js +51 -0
- package/dist/cjs/Action/AttemptTimedOut.js.map +7 -0
- package/dist/cjs/Action/BoundaryMode.d.ts +29 -0
- package/dist/cjs/Action/BoundaryMode.d.ts.map +1 -0
- package/dist/cjs/Action/BoundaryMode.js +36 -0
- package/dist/cjs/Action/BoundaryMode.js.map +7 -0
- package/dist/cjs/Action/CacheEnvironment.d.ts +158 -0
- package/dist/cjs/Action/CacheEnvironment.d.ts.map +1 -0
- package/dist/cjs/Action/CacheEnvironment.js +57 -0
- package/dist/cjs/Action/CacheEnvironment.js.map +7 -0
- package/dist/cjs/Action/ConcurrentKeylessDispatch.d.ts +34 -0
- package/dist/cjs/Action/ConcurrentKeylessDispatch.d.ts.map +1 -0
- package/dist/cjs/Action/ConcurrentKeylessDispatch.js +46 -0
- package/dist/cjs/Action/ConcurrentKeylessDispatch.js.map +7 -0
- package/dist/cjs/Action/Context.d.ts +131 -0
- package/dist/cjs/Action/Context.d.ts.map +1 -0
- package/dist/cjs/Action/Context.js +68 -0
- package/dist/cjs/Action/Context.js.map +7 -0
- package/dist/cjs/Action/DuplicateImplementation.d.ts +20 -0
- package/dist/cjs/Action/DuplicateImplementation.d.ts.map +1 -0
- package/dist/cjs/Action/DuplicateImplementation.js +46 -0
- package/dist/cjs/Action/DuplicateImplementation.js.map +7 -0
- package/dist/cjs/Action/FileBoundary.d.ts +59 -0
- package/dist/cjs/Action/FileBoundary.d.ts.map +1 -0
- package/dist/cjs/Action/FileBoundary.js +81 -0
- package/dist/cjs/Action/FileBoundary.js.map +7 -0
- package/dist/cjs/Action/FileInput.d.ts +28 -0
- package/dist/cjs/Action/FileInput.d.ts.map +1 -0
- package/dist/cjs/Action/FileInput.js +42 -0
- package/dist/cjs/Action/FileInput.js.map +7 -0
- package/dist/cjs/Action/Filegroup.d.ts +16 -0
- package/dist/cjs/Action/Filegroup.d.ts.map +1 -0
- package/dist/cjs/Action/Filegroup.js +27 -0
- package/dist/cjs/Action/Filegroup.js.map +7 -0
- package/dist/cjs/Action/Glob.d.ts +8 -0
- package/dist/cjs/Action/Glob.d.ts.map +1 -0
- package/dist/cjs/Action/Glob.js +28 -0
- package/dist/cjs/Action/Glob.js.map +7 -0
- package/dist/cjs/Action/ImplementationVersionMismatch.d.ts +26 -0
- package/dist/cjs/Action/ImplementationVersionMismatch.d.ts.map +1 -0
- package/dist/cjs/Action/ImplementationVersionMismatch.js +45 -0
- package/dist/cjs/Action/ImplementationVersionMismatch.js.map +7 -0
- package/dist/cjs/Action/Implementations.d.ts +114 -0
- package/dist/cjs/Action/Implementations.d.ts.map +1 -0
- package/dist/cjs/Action/Implementations.js +65 -0
- package/dist/cjs/Action/Implementations.js.map +7 -0
- package/dist/cjs/Action/InfraInterrupt.d.ts +26 -0
- package/dist/cjs/Action/InfraInterrupt.d.ts.map +1 -0
- package/dist/cjs/Action/InfraInterrupt.js +46 -0
- package/dist/cjs/Action/InfraInterrupt.js.map +7 -0
- package/dist/cjs/Action/InfraInterruptRetriesExhausted.d.ts +33 -0
- package/dist/cjs/Action/InfraInterruptRetriesExhausted.d.ts.map +1 -0
- package/dist/cjs/Action/InfraInterruptRetriesExhausted.js +54 -0
- package/dist/cjs/Action/InfraInterruptRetriesExhausted.js.map +7 -0
- package/dist/cjs/Action/IrreversibleRetryRequiresIdempotencyKey.d.ts +26 -0
- package/dist/cjs/Action/IrreversibleRetryRequiresIdempotencyKey.d.ts.map +1 -0
- package/dist/cjs/Action/IrreversibleRetryRequiresIdempotencyKey.js +47 -0
- package/dist/cjs/Action/IrreversibleRetryRequiresIdempotencyKey.js.map +7 -0
- package/dist/cjs/Action/StepIdentity.d.ts +153 -0
- package/dist/cjs/Action/StepIdentity.d.ts.map +1 -0
- package/dist/cjs/Action/StepIdentity.js +75 -0
- package/dist/cjs/Action/StepIdentity.js.map +7 -0
- package/dist/cjs/Action/TreeArtifact.d.ts +8 -0
- package/dist/cjs/Action/TreeArtifact.d.ts.map +1 -0
- package/dist/cjs/Action/TreeArtifact.js +25 -0
- package/dist/cjs/Action/TreeArtifact.js.map +7 -0
- package/dist/cjs/Action/TypeId.d.ts +8 -0
- package/dist/cjs/Action/TypeId.d.ts.map +1 -0
- package/dist/cjs/Action/TypeId.js +25 -0
- package/dist/cjs/Action/TypeId.js.map +7 -0
- package/dist/cjs/Action/UncanonicalIdempotencyKey.d.ts +32 -0
- package/dist/cjs/Action/UncanonicalIdempotencyKey.d.ts.map +1 -0
- package/dist/cjs/Action/UncanonicalIdempotencyKey.js +51 -0
- package/dist/cjs/Action/UncanonicalIdempotencyKey.js.map +7 -0
- package/dist/cjs/Action/idempotencyKey.d.ts +21 -0
- package/dist/cjs/Action/idempotencyKey.d.ts.map +1 -0
- package/dist/cjs/Action/idempotencyKey.js +59 -0
- package/dist/cjs/Action/idempotencyKey.js.map +7 -0
- package/dist/cjs/Action/index.d.ts +29 -0
- package/dist/cjs/Action/index.d.ts.map +1 -0
- package/dist/cjs/Action/index.js +60 -0
- package/dist/cjs/Action/index.js.map +7 -0
- package/dist/cjs/Action/make.d.ts +128 -0
- package/dist/cjs/Action/make.d.ts.map +1 -0
- package/dist/cjs/Action/make.js +387 -0
- package/dist/cjs/Action/make.js.map +7 -0
- package/dist/cjs/Action/raceAll.d.ts +21 -0
- package/dist/cjs/Action/raceAll.d.ts.map +1 -0
- package/dist/cjs/Action/raceAll.js +46 -0
- package/dist/cjs/Action/raceAll.js.map +7 -0
- package/dist/cjs/Action/retry.d.ts +19 -0
- package/dist/cjs/Action/retry.d.ts.map +1 -0
- package/dist/cjs/Action/retry.js +75 -0
- package/dist/cjs/Action/retry.js.map +7 -0
- package/dist/cjs/Deadline.d.ts +110 -0
- package/dist/cjs/Deadline.d.ts.map +1 -0
- package/dist/cjs/Deadline.js +112 -0
- package/dist/cjs/Deadline.js.map +7 -0
- package/dist/cjs/DurableClock.d.ts +60 -0
- package/dist/cjs/DurableClock.d.ts.map +1 -0
- package/dist/cjs/DurableClock.js +107 -0
- package/dist/cjs/DurableClock.js.map +7 -0
- package/dist/cjs/DurableDeferred.d.ts +311 -0
- package/dist/cjs/DurableDeferred.d.ts.map +1 -0
- package/dist/cjs/DurableDeferred.js +322 -0
- package/dist/cjs/DurableDeferred.js.map +7 -0
- package/dist/cjs/DurableQueue.d.ts +160 -0
- package/dist/cjs/DurableQueue.d.ts.map +1 -0
- package/dist/cjs/DurableQueue.js +229 -0
- package/dist/cjs/DurableQueue.js.map +7 -0
- package/dist/cjs/ExternalJob.d.ts +179 -0
- package/dist/cjs/ExternalJob.d.ts.map +1 -0
- package/dist/cjs/ExternalJob.js +339 -0
- package/dist/cjs/ExternalJob.js.map +7 -0
- package/dist/cjs/Fault.d.ts +131 -0
- package/dist/cjs/Fault.d.ts.map +1 -0
- package/dist/cjs/Fault.js +157 -0
- package/dist/cjs/Fault.js.map +7 -0
- package/dist/cjs/Flow/Annotations.d.ts +245 -0
- package/dist/cjs/Flow/Annotations.d.ts.map +1 -0
- package/dist/cjs/Flow/Annotations.js +72 -0
- package/dist/cjs/Flow/Annotations.js.map +7 -0
- package/dist/cjs/Flow/CapabilityCeiling.d.ts +21 -0
- package/dist/cjs/Flow/CapabilityCeiling.d.ts.map +1 -0
- package/dist/cjs/Flow/CapabilityCeiling.js +49 -0
- package/dist/cjs/Flow/CapabilityCeiling.js.map +7 -0
- package/dist/cjs/Flow/DeadlineExceeded.d.ts +33 -0
- package/dist/cjs/Flow/DeadlineExceeded.d.ts.map +1 -0
- package/dist/cjs/Flow/DeadlineExceeded.js +52 -0
- package/dist/cjs/Flow/DeadlineExceeded.js.map +7 -0
- package/dist/cjs/Flow/ExecutionIdRequired.d.ts +25 -0
- package/dist/cjs/Flow/ExecutionIdRequired.d.ts.map +1 -0
- package/dist/cjs/Flow/ExecutionIdRequired.js +46 -0
- package/dist/cjs/Flow/ExecutionIdRequired.js.map +7 -0
- package/dist/cjs/Flow/ExecutionIds.d.ts +80 -0
- package/dist/cjs/Flow/ExecutionIds.d.ts.map +1 -0
- package/dist/cjs/Flow/ExecutionIds.js +66 -0
- package/dist/cjs/Flow/ExecutionIds.js.map +7 -0
- package/dist/cjs/Flow/Flow.d.ts +422 -0
- package/dist/cjs/Flow/Flow.d.ts.map +1 -0
- package/dist/cjs/Flow/Flow.js +17 -0
- package/dist/cjs/Flow/Flow.js.map +7 -0
- package/dist/cjs/Flow/MaxRoundsExceeded.d.ts +35 -0
- package/dist/cjs/Flow/MaxRoundsExceeded.d.ts.map +1 -0
- package/dist/cjs/Flow/MaxRoundsExceeded.js +50 -0
- package/dist/cjs/Flow/MaxRoundsExceeded.js.map +7 -0
- package/dist/cjs/Flow/Outcome.d.ts +162 -0
- package/dist/cjs/Flow/Outcome.d.ts.map +1 -0
- package/dist/cjs/Flow/Outcome.js +80 -0
- package/dist/cjs/Flow/Outcome.js.map +7 -0
- package/dist/cjs/Flow/Result.d.ts +186 -0
- package/dist/cjs/Flow/Result.d.ts.map +1 -0
- package/dist/cjs/Flow/Result.js +159 -0
- package/dist/cjs/Flow/Result.js.map +7 -0
- package/dist/cjs/Flow/Runtime.d.ts +98 -0
- package/dist/cjs/Flow/Runtime.d.ts.map +1 -0
- package/dist/cjs/Flow/Runtime.js +186 -0
- package/dist/cjs/Flow/Runtime.js.map +7 -0
- package/dist/cjs/Flow/TypeId.d.ts +8 -0
- package/dist/cjs/Flow/TypeId.d.ts.map +1 -0
- package/dist/cjs/Flow/TypeId.js +25 -0
- package/dist/cjs/Flow/TypeId.js.map +7 -0
- package/dist/cjs/Flow/index.d.ts +17 -0
- package/dist/cjs/Flow/index.d.ts.map +1 -0
- package/dist/cjs/Flow/index.js +29 -0
- package/dist/cjs/Flow/index.js.map +7 -0
- package/dist/cjs/Flow/internal.d.ts +34 -0
- package/dist/cjs/Flow/internal.d.ts.map +1 -0
- package/dist/cjs/Flow/internal.js +187 -0
- package/dist/cjs/Flow/internal.js.map +7 -0
- package/dist/cjs/Flow/make.d.ts +135 -0
- package/dist/cjs/Flow/make.d.ts.map +1 -0
- package/dist/cjs/Flow/make.js +107 -0
- package/dist/cjs/Flow/make.js.map +7 -0
- package/dist/cjs/FlowRuntime/CancelRequestFailed.d.ts +55 -0
- package/dist/cjs/FlowRuntime/CancelRequestFailed.d.ts.map +1 -0
- package/dist/cjs/FlowRuntime/CancelRequestFailed.js +51 -0
- package/dist/cjs/FlowRuntime/CancelRequestFailed.js.map +7 -0
- package/dist/cjs/FlowRuntime/ExecutionIdentityConflict.d.ts +23 -0
- package/dist/cjs/FlowRuntime/ExecutionIdentityConflict.d.ts.map +1 -0
- package/dist/cjs/FlowRuntime/ExecutionIdentityConflict.js +55 -0
- package/dist/cjs/FlowRuntime/ExecutionIdentityConflict.js.map +7 -0
- package/dist/cjs/FlowRuntime/FlowCycleDetected.d.ts +28 -0
- package/dist/cjs/FlowRuntime/FlowCycleDetected.d.ts.map +1 -0
- package/dist/cjs/FlowRuntime/FlowCycleDetected.js +49 -0
- package/dist/cjs/FlowRuntime/FlowCycleDetected.js.map +7 -0
- package/dist/cjs/FlowRuntime/FlowExecutionNotFound.d.ts +38 -0
- package/dist/cjs/FlowRuntime/FlowExecutionNotFound.d.ts.map +1 -0
- package/dist/cjs/FlowRuntime/FlowExecutionNotFound.js +53 -0
- package/dist/cjs/FlowRuntime/FlowExecutionNotFound.js.map +7 -0
- package/dist/cjs/FlowRuntime/FlowInstance.d.ts +115 -0
- package/dist/cjs/FlowRuntime/FlowInstance.d.ts.map +1 -0
- package/dist/cjs/FlowRuntime/FlowInstance.js +37 -0
- package/dist/cjs/FlowRuntime/FlowInstance.js.map +7 -0
- package/dist/cjs/FlowRuntime/FlowRuntime.d.ts +204 -0
- package/dist/cjs/FlowRuntime/FlowRuntime.d.ts.map +1 -0
- package/dist/cjs/FlowRuntime/FlowRuntime.js +37 -0
- package/dist/cjs/FlowRuntime/FlowRuntime.js.map +7 -0
- package/dist/cjs/FlowRuntime/NodeRecord.d.ts +177 -0
- package/dist/cjs/FlowRuntime/NodeRecord.d.ts.map +1 -0
- package/dist/cjs/FlowRuntime/NodeRecord.js +17 -0
- package/dist/cjs/FlowRuntime/NodeRecord.js.map +7 -0
- package/dist/cjs/FlowRuntime/WaitingAnnotation.d.ts +69 -0
- package/dist/cjs/FlowRuntime/WaitingAnnotation.d.ts.map +1 -0
- package/dist/cjs/FlowRuntime/WaitingAnnotation.js +53 -0
- package/dist/cjs/FlowRuntime/WaitingAnnotation.js.map +7 -0
- package/dist/cjs/FlowRuntime/index.d.ts +14 -0
- package/dist/cjs/FlowRuntime/index.d.ts.map +1 -0
- package/dist/cjs/FlowRuntime/index.js +26 -0
- package/dist/cjs/FlowRuntime/index.js.map +7 -0
- package/dist/cjs/Graph.d.ts +325 -0
- package/dist/cjs/Graph.d.ts.map +1 -0
- package/dist/cjs/Graph.js +1020 -0
- package/dist/cjs/Graph.js.map +7 -0
- package/dist/cjs/HumanTask.d.ts +442 -0
- package/dist/cjs/HumanTask.d.ts.map +1 -0
- package/dist/cjs/HumanTask.js +413 -0
- package/dist/cjs/HumanTask.js.map +7 -0
- package/dist/cjs/Interpreter.d.ts +223 -0
- package/dist/cjs/Interpreter.d.ts.map +1 -0
- package/dist/cjs/Interpreter.js +908 -0
- package/dist/cjs/Interpreter.js.map +7 -0
- package/dist/cjs/Poll.d.ts +240 -0
- package/dist/cjs/Poll.d.ts.map +1 -0
- package/dist/cjs/Poll.js +154 -0
- package/dist/cjs/Poll.js.map +7 -0
- package/dist/cjs/RetryPolicy.d.ts +273 -0
- package/dist/cjs/RetryPolicy.d.ts.map +1 -0
- package/dist/cjs/RetryPolicy.js +251 -0
- package/dist/cjs/RetryPolicy.js.map +7 -0
- package/dist/cjs/Sleep.d.ts +98 -0
- package/dist/cjs/Sleep.d.ts.map +1 -0
- package/dist/cjs/Sleep.js +141 -0
- package/dist/cjs/Sleep.js.map +7 -0
- package/dist/cjs/Stall.d.ts +173 -0
- package/dist/cjs/Stall.d.ts.map +1 -0
- package/dist/cjs/Stall.js +92 -0
- package/dist/cjs/Stall.js.map +7 -0
- package/dist/cjs/WaitFor.d.ts +109 -0
- package/dist/cjs/WaitFor.d.ts.map +1 -0
- package/dist/cjs/WaitFor.js +117 -0
- package/dist/cjs/WaitFor.js.map +7 -0
- package/dist/cjs/index.d.ts +107 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +69 -0
- package/dist/cjs/index.js.map +7 -0
- package/dist/cjs/internal/BoundedJson.d.ts +48 -0
- package/dist/cjs/internal/BoundedJson.d.ts.map +1 -0
- package/dist/cjs/internal/BoundedJson.js +96 -0
- package/dist/cjs/internal/BoundedJson.js.map +7 -0
- package/dist/cjs/internal/DeclarationSite.d.ts +135 -0
- package/dist/cjs/internal/DeclarationSite.d.ts.map +1 -0
- package/dist/cjs/internal/DeclarationSite.js +89 -0
- package/dist/cjs/internal/DeclarationSite.js.map +7 -0
- package/dist/cjs/internal/Declarations.d.ts +35 -0
- package/dist/cjs/internal/Declarations.d.ts.map +1 -0
- package/dist/cjs/internal/Declarations.js +50 -0
- package/dist/cjs/internal/Declarations.js.map +7 -0
- package/dist/cjs/internal/ExecutionMiddleware.d.ts +21 -0
- package/dist/cjs/internal/ExecutionMiddleware.d.ts.map +1 -0
- package/dist/cjs/internal/ExecutionMiddleware.js +39 -0
- package/dist/cjs/internal/ExecutionMiddleware.js.map +7 -0
- package/dist/cjs/internal/JsonSchemaSubset.d.ts +133 -0
- package/dist/cjs/internal/JsonSchemaSubset.d.ts.map +1 -0
- package/dist/cjs/internal/JsonSchemaSubset.js +229 -0
- package/dist/cjs/internal/JsonSchemaSubset.js.map +7 -0
- package/dist/cjs/internal/OutcomeMarker.d.ts +18 -0
- package/dist/cjs/internal/OutcomeMarker.d.ts.map +1 -0
- package/dist/cjs/internal/OutcomeMarker.js +27 -0
- package/dist/cjs/internal/OutcomeMarker.js.map +7 -0
- package/dist/cjs/package.json +1 -0
- package/dist/esm/Action/Action.d.ts +250 -0
- package/dist/esm/Action/Action.d.ts.map +1 -0
- package/dist/esm/Action/Action.js +30 -0
- package/dist/esm/Action/Action.js.map +1 -0
- package/dist/esm/Action/AttemptTimedOut.d.ts +33 -0
- package/dist/esm/Action/AttemptTimedOut.d.ts.map +1 -0
- package/dist/esm/Action/AttemptTimedOut.js +32 -0
- package/dist/esm/Action/AttemptTimedOut.js.map +1 -0
- package/dist/esm/Action/BoundaryMode.d.ts +29 -0
- package/dist/esm/Action/BoundaryMode.d.ts.map +1 -0
- package/dist/esm/Action/BoundaryMode.js +23 -0
- package/dist/esm/Action/BoundaryMode.js.map +1 -0
- package/dist/esm/Action/CacheEnvironment.d.ts +158 -0
- package/dist/esm/Action/CacheEnvironment.d.ts.map +1 -0
- package/dist/esm/Action/CacheEnvironment.js +130 -0
- package/dist/esm/Action/CacheEnvironment.js.map +1 -0
- package/dist/esm/Action/ConcurrentKeylessDispatch.d.ts +34 -0
- package/dist/esm/Action/ConcurrentKeylessDispatch.d.ts.map +1 -0
- package/dist/esm/Action/ConcurrentKeylessDispatch.js +33 -0
- package/dist/esm/Action/ConcurrentKeylessDispatch.js.map +1 -0
- package/dist/esm/Action/Context.d.ts +131 -0
- package/dist/esm/Action/Context.d.ts.map +1 -0
- package/dist/esm/Action/Context.js +99 -0
- package/dist/esm/Action/Context.js.map +1 -0
- package/dist/esm/Action/DuplicateImplementation.d.ts +20 -0
- package/dist/esm/Action/DuplicateImplementation.d.ts.map +1 -0
- package/dist/esm/Action/DuplicateImplementation.js +20 -0
- package/dist/esm/Action/DuplicateImplementation.js.map +1 -0
- package/dist/esm/Action/FileBoundary.d.ts +59 -0
- package/dist/esm/Action/FileBoundary.d.ts.map +1 -0
- package/dist/esm/Action/FileBoundary.js +60 -0
- package/dist/esm/Action/FileBoundary.js.map +1 -0
- package/dist/esm/Action/FileInput.d.ts +28 -0
- package/dist/esm/Action/FileInput.d.ts.map +1 -0
- package/dist/esm/Action/FileInput.js +32 -0
- package/dist/esm/Action/FileInput.js.map +1 -0
- package/dist/esm/Action/Filegroup.d.ts +16 -0
- package/dist/esm/Action/Filegroup.d.ts.map +1 -0
- package/dist/esm/Action/Filegroup.js +15 -0
- package/dist/esm/Action/Filegroup.js.map +1 -0
- package/dist/esm/Action/Glob.d.ts +8 -0
- package/dist/esm/Action/Glob.d.ts.map +1 -0
- package/dist/esm/Action/Glob.js +7 -0
- package/dist/esm/Action/Glob.js.map +1 -0
- package/dist/esm/Action/ImplementationVersionMismatch.d.ts +26 -0
- package/dist/esm/Action/ImplementationVersionMismatch.d.ts.map +1 -0
- package/dist/esm/Action/ImplementationVersionMismatch.js +24 -0
- package/dist/esm/Action/ImplementationVersionMismatch.js.map +1 -0
- package/dist/esm/Action/Implementations.d.ts +114 -0
- package/dist/esm/Action/Implementations.d.ts.map +1 -0
- package/dist/esm/Action/Implementations.js +94 -0
- package/dist/esm/Action/Implementations.js.map +1 -0
- package/dist/esm/Action/InfraInterrupt.d.ts +26 -0
- package/dist/esm/Action/InfraInterrupt.d.ts.map +1 -0
- package/dist/esm/Action/InfraInterrupt.js +25 -0
- package/dist/esm/Action/InfraInterrupt.js.map +1 -0
- package/dist/esm/Action/InfraInterruptRetriesExhausted.d.ts +33 -0
- package/dist/esm/Action/InfraInterruptRetriesExhausted.d.ts.map +1 -0
- package/dist/esm/Action/InfraInterruptRetriesExhausted.js +32 -0
- package/dist/esm/Action/InfraInterruptRetriesExhausted.js.map +1 -0
- package/dist/esm/Action/IrreversibleRetryRequiresIdempotencyKey.d.ts +26 -0
- package/dist/esm/Action/IrreversibleRetryRequiresIdempotencyKey.d.ts.map +1 -0
- package/dist/esm/Action/IrreversibleRetryRequiresIdempotencyKey.js +25 -0
- package/dist/esm/Action/IrreversibleRetryRequiresIdempotencyKey.js.map +1 -0
- package/dist/esm/Action/StepIdentity.d.ts +153 -0
- package/dist/esm/Action/StepIdentity.d.ts.map +1 -0
- package/dist/esm/Action/StepIdentity.js +139 -0
- package/dist/esm/Action/StepIdentity.js.map +1 -0
- package/dist/esm/Action/TreeArtifact.d.ts +8 -0
- package/dist/esm/Action/TreeArtifact.d.ts.map +1 -0
- package/dist/esm/Action/TreeArtifact.js +7 -0
- package/dist/esm/Action/TreeArtifact.js.map +1 -0
- package/dist/esm/Action/TypeId.d.ts +8 -0
- package/dist/esm/Action/TypeId.d.ts.map +1 -0
- package/dist/esm/Action/TypeId.js +9 -0
- package/dist/esm/Action/TypeId.js.map +1 -0
- package/dist/esm/Action/UncanonicalIdempotencyKey.d.ts +32 -0
- package/dist/esm/Action/UncanonicalIdempotencyKey.d.ts.map +1 -0
- package/dist/esm/Action/UncanonicalIdempotencyKey.js +31 -0
- package/dist/esm/Action/UncanonicalIdempotencyKey.js.map +1 -0
- package/dist/esm/Action/idempotencyKey.d.ts +21 -0
- package/dist/esm/Action/idempotencyKey.d.ts.map +1 -0
- package/dist/esm/Action/idempotencyKey.js +50 -0
- package/dist/esm/Action/idempotencyKey.js.map +1 -0
- package/dist/esm/Action/index.d.ts +29 -0
- package/dist/esm/Action/index.d.ts.map +1 -0
- package/dist/esm/Action/index.js +30 -0
- package/dist/esm/Action/index.js.map +1 -0
- package/dist/esm/Action/make.d.ts +128 -0
- package/dist/esm/Action/make.d.ts.map +1 -0
- package/dist/esm/Action/make.js +413 -0
- package/dist/esm/Action/make.js.map +1 -0
- package/dist/esm/Action/raceAll.d.ts +21 -0
- package/dist/esm/Action/raceAll.d.ts.map +1 -0
- package/dist/esm/Action/raceAll.js +20 -0
- package/dist/esm/Action/raceAll.js.map +1 -0
- package/dist/esm/Action/retry.d.ts +19 -0
- package/dist/esm/Action/retry.d.ts.map +1 -0
- package/dist/esm/Action/retry.js +72 -0
- package/dist/esm/Action/retry.js.map +1 -0
- package/dist/esm/Deadline.d.ts +110 -0
- package/dist/esm/Deadline.d.ts.map +1 -0
- package/dist/esm/Deadline.js +164 -0
- package/dist/esm/Deadline.js.map +1 -0
- package/dist/esm/DurableClock.d.ts +60 -0
- package/dist/esm/DurableClock.d.ts.map +1 -0
- package/dist/esm/DurableClock.js +122 -0
- package/dist/esm/DurableClock.js.map +1 -0
- package/dist/esm/DurableDeferred.d.ts +311 -0
- package/dist/esm/DurableDeferred.d.ts.map +1 -0
- package/dist/esm/DurableDeferred.js +357 -0
- package/dist/esm/DurableDeferred.js.map +1 -0
- package/dist/esm/DurableQueue.d.ts +160 -0
- package/dist/esm/DurableQueue.d.ts.map +1 -0
- package/dist/esm/DurableQueue.js +303 -0
- package/dist/esm/DurableQueue.js.map +1 -0
- package/dist/esm/ExternalJob.d.ts +179 -0
- package/dist/esm/ExternalJob.d.ts.map +1 -0
- package/dist/esm/ExternalJob.js +296 -0
- package/dist/esm/ExternalJob.js.map +1 -0
- package/dist/esm/Fault.d.ts +131 -0
- package/dist/esm/Fault.d.ts.map +1 -0
- package/dist/esm/Fault.js +198 -0
- package/dist/esm/Fault.js.map +1 -0
- package/dist/esm/Flow/Annotations.d.ts +245 -0
- package/dist/esm/Flow/Annotations.d.ts.map +1 -0
- package/dist/esm/Flow/Annotations.js +110 -0
- package/dist/esm/Flow/Annotations.js.map +1 -0
- package/dist/esm/Flow/CapabilityCeiling.d.ts +21 -0
- package/dist/esm/Flow/CapabilityCeiling.d.ts.map +1 -0
- package/dist/esm/Flow/CapabilityCeiling.js +27 -0
- package/dist/esm/Flow/CapabilityCeiling.js.map +1 -0
- package/dist/esm/Flow/DeadlineExceeded.d.ts +33 -0
- package/dist/esm/Flow/DeadlineExceeded.d.ts.map +1 -0
- package/dist/esm/Flow/DeadlineExceeded.js +34 -0
- package/dist/esm/Flow/DeadlineExceeded.js.map +1 -0
- package/dist/esm/Flow/ExecutionIdRequired.d.ts +25 -0
- package/dist/esm/Flow/ExecutionIdRequired.d.ts.map +1 -0
- package/dist/esm/Flow/ExecutionIdRequired.js +30 -0
- package/dist/esm/Flow/ExecutionIdRequired.js.map +1 -0
- package/dist/esm/Flow/ExecutionIds.d.ts +80 -0
- package/dist/esm/Flow/ExecutionIds.d.ts.map +1 -0
- package/dist/esm/Flow/ExecutionIds.js +91 -0
- package/dist/esm/Flow/ExecutionIds.js.map +1 -0
- package/dist/esm/Flow/Flow.d.ts +422 -0
- package/dist/esm/Flow/Flow.d.ts.map +1 -0
- package/dist/esm/Flow/Flow.js +3 -0
- package/dist/esm/Flow/Flow.js.map +1 -0
- package/dist/esm/Flow/MaxRoundsExceeded.d.ts +35 -0
- package/dist/esm/Flow/MaxRoundsExceeded.d.ts.map +1 -0
- package/dist/esm/Flow/MaxRoundsExceeded.js +34 -0
- package/dist/esm/Flow/MaxRoundsExceeded.js.map +1 -0
- package/dist/esm/Flow/Outcome.d.ts +162 -0
- package/dist/esm/Flow/Outcome.d.ts.map +1 -0
- package/dist/esm/Flow/Outcome.js +115 -0
- package/dist/esm/Flow/Outcome.js.map +1 -0
- package/dist/esm/Flow/Result.d.ts +186 -0
- package/dist/esm/Flow/Result.d.ts.map +1 -0
- package/dist/esm/Flow/Result.js +171 -0
- package/dist/esm/Flow/Result.js.map +1 -0
- package/dist/esm/Flow/Runtime.d.ts +98 -0
- package/dist/esm/Flow/Runtime.d.ts.map +1 -0
- package/dist/esm/Flow/Runtime.js +252 -0
- package/dist/esm/Flow/Runtime.js.map +1 -0
- package/dist/esm/Flow/TypeId.d.ts +8 -0
- package/dist/esm/Flow/TypeId.d.ts.map +1 -0
- package/dist/esm/Flow/TypeId.js +9 -0
- package/dist/esm/Flow/TypeId.js.map +1 -0
- package/dist/esm/Flow/index.d.ts +17 -0
- package/dist/esm/Flow/index.d.ts.map +1 -0
- package/dist/esm/Flow/index.js +18 -0
- package/dist/esm/Flow/index.js.map +1 -0
- package/dist/esm/Flow/internal.d.ts +34 -0
- package/dist/esm/Flow/internal.d.ts.map +1 -0
- package/dist/esm/Flow/internal.js +149 -0
- package/dist/esm/Flow/internal.js.map +1 -0
- package/dist/esm/Flow/make.d.ts +135 -0
- package/dist/esm/Flow/make.d.ts.map +1 -0
- package/dist/esm/Flow/make.js +111 -0
- package/dist/esm/Flow/make.js.map +1 -0
- package/dist/esm/FlowRuntime/CancelRequestFailed.d.ts +55 -0
- package/dist/esm/FlowRuntime/CancelRequestFailed.d.ts.map +1 -0
- package/dist/esm/FlowRuntime/CancelRequestFailed.js +53 -0
- package/dist/esm/FlowRuntime/CancelRequestFailed.js.map +1 -0
- package/dist/esm/FlowRuntime/ExecutionIdentityConflict.d.ts +23 -0
- package/dist/esm/FlowRuntime/ExecutionIdentityConflict.d.ts.map +1 -0
- package/dist/esm/FlowRuntime/ExecutionIdentityConflict.js +24 -0
- package/dist/esm/FlowRuntime/ExecutionIdentityConflict.js.map +1 -0
- package/dist/esm/FlowRuntime/FlowCycleDetected.d.ts +28 -0
- package/dist/esm/FlowRuntime/FlowCycleDetected.d.ts.map +1 -0
- package/dist/esm/FlowRuntime/FlowCycleDetected.js +35 -0
- package/dist/esm/FlowRuntime/FlowCycleDetected.js.map +1 -0
- package/dist/esm/FlowRuntime/FlowExecutionNotFound.d.ts +38 -0
- package/dist/esm/FlowRuntime/FlowExecutionNotFound.d.ts.map +1 -0
- package/dist/esm/FlowRuntime/FlowExecutionNotFound.js +40 -0
- package/dist/esm/FlowRuntime/FlowExecutionNotFound.js.map +1 -0
- package/dist/esm/FlowRuntime/FlowInstance.d.ts +115 -0
- package/dist/esm/FlowRuntime/FlowInstance.d.ts.map +1 -0
- package/dist/esm/FlowRuntime/FlowInstance.js +24 -0
- package/dist/esm/FlowRuntime/FlowInstance.js.map +1 -0
- package/dist/esm/FlowRuntime/FlowRuntime.d.ts +204 -0
- package/dist/esm/FlowRuntime/FlowRuntime.d.ts.map +1 -0
- package/dist/esm/FlowRuntime/FlowRuntime.js +34 -0
- package/dist/esm/FlowRuntime/FlowRuntime.js.map +1 -0
- package/dist/esm/FlowRuntime/NodeRecord.d.ts +177 -0
- package/dist/esm/FlowRuntime/NodeRecord.d.ts.map +1 -0
- package/dist/esm/FlowRuntime/NodeRecord.js +21 -0
- package/dist/esm/FlowRuntime/NodeRecord.js.map +1 -0
- package/dist/esm/FlowRuntime/WaitingAnnotation.d.ts +69 -0
- package/dist/esm/FlowRuntime/WaitingAnnotation.d.ts.map +1 -0
- package/dist/esm/FlowRuntime/WaitingAnnotation.js +53 -0
- package/dist/esm/FlowRuntime/WaitingAnnotation.js.map +1 -0
- package/dist/esm/FlowRuntime/index.d.ts +14 -0
- package/dist/esm/FlowRuntime/index.d.ts.map +1 -0
- package/dist/esm/FlowRuntime/index.js +15 -0
- package/dist/esm/FlowRuntime/index.js.map +1 -0
- package/dist/esm/Graph.d.ts +325 -0
- package/dist/esm/Graph.d.ts.map +1 -0
- package/dist/esm/Graph.js +1485 -0
- package/dist/esm/Graph.js.map +1 -0
- package/dist/esm/HumanTask.d.ts +442 -0
- package/dist/esm/HumanTask.d.ts.map +1 -0
- package/dist/esm/HumanTask.js +798 -0
- package/dist/esm/HumanTask.js.map +1 -0
- package/dist/esm/Interpreter.d.ts +223 -0
- package/dist/esm/Interpreter.d.ts.map +1 -0
- package/dist/esm/Interpreter.js +1289 -0
- package/dist/esm/Interpreter.js.map +1 -0
- package/dist/esm/Poll.d.ts +240 -0
- package/dist/esm/Poll.d.ts.map +1 -0
- package/dist/esm/Poll.js +289 -0
- package/dist/esm/Poll.js.map +1 -0
- package/dist/esm/RetryPolicy.d.ts +273 -0
- package/dist/esm/RetryPolicy.d.ts.map +1 -0
- package/dist/esm/RetryPolicy.js +429 -0
- package/dist/esm/RetryPolicy.js.map +1 -0
- package/dist/esm/Sleep.d.ts +98 -0
- package/dist/esm/Sleep.d.ts.map +1 -0
- package/dist/esm/Sleep.js +256 -0
- package/dist/esm/Sleep.js.map +1 -0
- package/dist/esm/Stall.d.ts +173 -0
- package/dist/esm/Stall.d.ts.map +1 -0
- package/dist/esm/Stall.js +138 -0
- package/dist/esm/Stall.js.map +1 -0
- package/dist/esm/WaitFor.d.ts +109 -0
- package/dist/esm/WaitFor.d.ts.map +1 -0
- package/dist/esm/WaitFor.js +184 -0
- package/dist/esm/WaitFor.js.map +1 -0
- package/dist/esm/index.d.ts +107 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +108 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/internal/BoundedJson.d.ts +48 -0
- package/dist/esm/internal/BoundedJson.d.ts.map +1 -0
- package/dist/esm/internal/BoundedJson.js +107 -0
- package/dist/esm/internal/BoundedJson.js.map +1 -0
- package/dist/esm/internal/DeclarationSite.d.ts +135 -0
- package/dist/esm/internal/DeclarationSite.d.ts.map +1 -0
- package/dist/esm/internal/DeclarationSite.js +196 -0
- package/dist/esm/internal/DeclarationSite.js.map +1 -0
- package/dist/esm/internal/Declarations.d.ts +35 -0
- package/dist/esm/internal/Declarations.d.ts.map +1 -0
- package/dist/esm/internal/Declarations.js +43 -0
- package/dist/esm/internal/Declarations.js.map +1 -0
- package/dist/esm/internal/ExecutionMiddleware.d.ts +21 -0
- package/dist/esm/internal/ExecutionMiddleware.d.ts.map +1 -0
- package/dist/esm/internal/ExecutionMiddleware.js +13 -0
- package/dist/esm/internal/ExecutionMiddleware.js.map +1 -0
- package/dist/esm/internal/JsonSchemaSubset.d.ts +133 -0
- package/dist/esm/internal/JsonSchemaSubset.d.ts.map +1 -0
- package/dist/esm/internal/JsonSchemaSubset.js +363 -0
- package/dist/esm/internal/JsonSchemaSubset.js.map +1 -0
- package/dist/esm/internal/OutcomeMarker.d.ts +18 -0
- package/dist/esm/internal/OutcomeMarker.d.ts.map +1 -0
- package/dist/esm/internal/OutcomeMarker.js +18 -0
- package/dist/esm/internal/OutcomeMarker.js.map +1 -0
- package/docs/README.md +152 -0
- package/docs/api.md +440 -0
- package/docs/concepts/bodies-and-plans.md +167 -0
- package/docs/concepts/execution-identity.md +142 -0
- package/docs/concepts/flows-and-actions.md +129 -0
- package/docs/concepts/suspension-and-replay.md +130 -0
- package/docs/concepts/the-runtime-port.md +110 -0
- package/docs/concepts/trampoline-rounds.md +151 -0
- package/docs/guides/ask-a-person.md +184 -0
- package/docs/guides/build-a-body.md +164 -0
- package/docs/guides/cancel-and-roll-back.md +112 -0
- package/docs/guides/implement-an-action.md +155 -0
- package/docs/guides/inspect-the-plan.md +235 -0
- package/docs/guides/poll-until-ready.md +169 -0
- package/docs/guides/queue-work-to-a-worker.md +122 -0
- package/docs/guides/retry-a-failing-action.md +243 -0
- package/docs/guides/reuse-a-recorded-result.md +129 -0
- package/docs/guides/run-a-child-flow.md +108 -0
- package/docs/guides/run-an-external-job.md +86 -0
- package/docs/guides/use-a-prompt.md +38 -0
- package/docs/guides/wait-for-a-deadline.md +141 -0
- package/docs/guides/wait-for-an-external-signal.md +151 -0
- package/docs/installation.md +87 -0
- package/docs/quickstart.md +164 -0
- package/docs/reference/flow.md +1835 -0
- package/docs/testing.md +157 -0
- package/docs/troubleshooting.md +286 -0
- package/package.json +327 -3
- package/src/Action/Action.ts +333 -0
- package/src/Action/AttemptTimedOut.ts +37 -0
- package/src/Action/BoundaryMode.ts +33 -0
- package/src/Action/CacheEnvironment.ts +170 -0
- package/src/Action/ConcurrentKeylessDispatch.ts +38 -0
- package/src/Action/Context.ts +156 -0
- package/src/Action/DuplicateImplementation.ts +24 -0
- package/src/Action/FileBoundary.ts +77 -0
- package/src/Action/FileInput.ts +42 -0
- package/src/Action/Filegroup.ts +16 -0
- package/src/Action/Glob.ts +8 -0
- package/src/Action/ImplementationVersionMismatch.ts +27 -0
- package/src/Action/Implementations.ts +149 -0
- package/src/Action/InfraInterrupt.ts +30 -0
- package/src/Action/InfraInterruptRetriesExhausted.ts +37 -0
- package/src/Action/IrreversibleRetryRequiresIdempotencyKey.ts +32 -0
- package/src/Action/StepIdentity.ts +219 -0
- package/src/Action/TreeArtifact.ts +8 -0
- package/src/Action/TypeId.ts +9 -0
- package/src/Action/UncanonicalIdempotencyKey.ts +36 -0
- package/src/Action/idempotencyKey.ts +67 -0
- package/src/Action/index.ts +31 -0
- package/src/Action/make.ts +671 -0
- package/src/Action/raceAll.ts +48 -0
- package/src/Action/retry.ts +92 -0
- package/src/Deadline.ts +201 -0
- package/src/DurableClock.ts +176 -0
- package/src/DurableDeferred.ts +753 -0
- package/src/DurableQueue.ts +519 -0
- package/src/ExternalJob.ts +437 -0
- package/src/Fault.ts +279 -0
- package/src/Flow/Annotations.ts +151 -0
- package/src/Flow/CapabilityCeiling.ts +37 -0
- package/src/Flow/DeadlineExceeded.ts +40 -0
- package/src/Flow/ExecutionIdRequired.ts +36 -0
- package/src/Flow/ExecutionIds.ts +133 -0
- package/src/Flow/Flow.ts +576 -0
- package/src/Flow/MaxRoundsExceeded.ts +39 -0
- package/src/Flow/Outcome.ts +179 -0
- package/src/Flow/Result.ts +284 -0
- package/src/Flow/Runtime.ts +339 -0
- package/src/Flow/TypeId.ts +9 -0
- package/src/Flow/index.ts +19 -0
- package/src/Flow/internal.ts +237 -0
- package/src/Flow/make.ts +285 -0
- package/src/FlowRuntime/CancelRequestFailed.ts +56 -0
- package/src/FlowRuntime/ExecutionIdentityConflict.ts +32 -0
- package/src/FlowRuntime/FlowCycleDetected.ts +41 -0
- package/src/FlowRuntime/FlowExecutionNotFound.ts +46 -0
- package/src/FlowRuntime/FlowInstance.ts +128 -0
- package/src/FlowRuntime/FlowRuntime.ts +339 -0
- package/src/FlowRuntime/NodeRecord.ts +185 -0
- package/src/FlowRuntime/WaitingAnnotation.ts +85 -0
- package/src/FlowRuntime/index.ts +17 -0
- package/src/Graph.ts +1865 -0
- package/src/HumanTask.ts +1007 -0
- package/src/Interpreter.ts +1620 -0
- package/src/Poll.ts +420 -0
- package/src/RetryPolicy.ts +550 -0
- package/src/Sleep.ts +296 -0
- package/src/Stall.ts +217 -0
- package/src/WaitFor.ts +228 -0
- package/src/index.ts +125 -0
- package/src/internal/BoundedJson.ts +109 -0
- package/src/internal/DeclarationSite.ts +214 -0
- package/src/internal/Declarations.ts +49 -0
- package/src/internal/ExecutionMiddleware.ts +29 -0
- package/src/internal/JsonSchemaSubset.ts +392 -0
- package/src/internal/OutcomeMarker.ts +19 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/Action/Implementations.ts"],
|
|
4
|
+
"sourcesContent": ["/**\n * The table a driver resolves a declared action's implementation through.\n *\n * `docs/concepts/flows-and-actions.md` splits an Action in two: a\n * declaration that is pure data and travels everywhere, and an implementation\n * attached separately as a layer, on the hosts that can run it. A body names\n * the declaration \u2014 `Increment.call({ path })` records a node and executes\n * nothing \u2014 so whatever later drives that node has to find the implementation\n * by name, from context, at execution time. That is this service: `toLayer`\n * files the implementation here when the table is present, and a driver asks\n * for it by the tag the node carries.\n *\n * \"When the table is present\" means present while the implementation layer\n * ITSELF is built, so ONE table goes under the implementations AND under\n * whatever drives them:\n *\n * ```ts\n * Layer.mergeAll(Read.toLayer(read), Write.toLayer(write), Interpreter.layer(Pipeline)).pipe(\n * Layer.provideMerge(Action.layerImplementations)\n * )\n * ```\n *\n * Filing is a build-time effect, not a declared output, so the type checker\n * cannot catch a composition that builds one table for the implementations and\n * a second for the driver. That composition files into the first and reads the\n * second, and the driver refuses the call at run time naming the action.\n *\n * The table is deliberately not part of `FlowRuntime`. The runtime port is what\n * a flow, an action, or a durable wait is EXECUTED against, and an\n * implementation table is not an execution capability: it is authoring data,\n * assembled by the same layers that assemble the declarations, and every\n * runtime implementation can serve one identically.\n *\n * @since 0.1.0\n */\n\nimport * as Context from \"effect/Context\"\nimport type * as Crypto from \"effect/Crypto\"\nimport * as Effect from \"effect/Effect\"\nimport * as Layer from \"effect/Layer\"\nimport * as Option from \"effect/Option\"\nimport type { Scope } from \"effect/Scope\"\nimport type { FlowInstance } from \"../FlowRuntime/FlowInstance.ts\"\nimport type { FlowRuntime } from \"../FlowRuntime/FlowRuntime.ts\"\nimport { DuplicateImplementation } from \"./DuplicateImplementation.ts\"\n\n/**\n * One declared action's implementation, as a driver consumes it: a name to\n * resolve it by, and the durable action a payload produces.\n *\n * `action` returns the same `Action.make` value `toLayer` registers with\n * the runtime, so a node driven through it takes the ordinary action path \u2014\n * invocation key, attempt journal, tier, retry policy \u2014 rather than a second\n * execution mechanism that would have to keep up with the first.\n *\n * @category models\n * @since 0.1.0\n */\nexport interface Implementation {\n readonly name: string\n /** Semantic version attested by the implementation registration. */\n readonly implementationVersion?: string | undefined\n readonly action: (\n payload: unknown\n ) => Effect.Effect<unknown, unknown, Crypto.Crypto | FlowRuntime | FlowInstance>\n}\n\n/**\n * Service holding the declared action implementations a composition wired\n * up, keyed by action tag.\n *\n * **When to use**\n *\n * Use when driving a flow body, whose action calls name declarations rather\n * than carry code. A composition that only drives behavior registered directly\n * with the runtime never needs it, which is why `Action.toLayer` files an\n * implementation here when the service is present and skips it otherwise.\n *\n * @category services\n * @since 0.1.0\n */\nexport class Implementations extends Context.Service<\n Implementations,\n {\n /**\n * Files an implementation under its action tag for the lifetime of the\n * registering scope. A conflicting registration dies unless `override: true` explicitly replaces the\n * earlier one, and closing the registering scope exposes the newest\n * registration whose scope is still open. Which of two merged layers is later is not a guarantee Effect\n * makes, so a substitution replaces the implementation layer in the\n * composition rather than stacking a second one on top of it \u2014 and a\n * NESTED provision that reaches this same table through layer\n * memoization shadows the enclosing entry only while it lives, instead\n * of leaking its replacement into the enclosing composition.\n */\n readonly add: (\n implementation: Implementation,\n options?: { readonly override?: boolean }\n ) => Effect.Effect<void, never, Scope>\n\n /**\n * The implementation registered for an action tag, if a layer supplied\n * one.\n */\n readonly get: (name: string) => Effect.Effect<Option.Option<Implementation>>\n }\n>()(\"@smthrs/flow/Action/Implementations\") {}\n\n/**\n * Layer providing an implementation table scoped to the composition that\n * builds it.\n *\n * The table is mutable and lives for the layer's lifetime, exactly like the\n * flow registry a runtime keeps: registration happens while layers are built,\n * and every lookup happens later, when a run drives a node. Because filing is\n * a build-time effect, provide this UNDER the implementation layers \u2014 see the\n * wiring at the top of this module \u2014 rather than merging it beside them.\n *\n * @category layers\n * @since 0.1.0\n */\nexport const layerImplementations: Layer.Layer<Implementations> = Layer.effect(Implementations)(\n Effect.sync(() => {\n const registered = new Map<string, Array<{ readonly implementation: Implementation }>>()\n return Implementations.of({\n add: (implementation, options) =>\n Effect.suspend(() => {\n const entries = registered.get(implementation.name) ?? []\n if (entries.length > 0 && options?.override !== true && entries.at(-1)?.implementation !== implementation) {\n return Effect.die(new DuplicateImplementation({ name: implementation.name }))\n }\n // Ownership belongs to this registration, not the implementation\n // object: two scopes may file the very same implementation. Sibling\n // scopes can close in either order, so a captured predecessor is not\n // proof that its resources are still alive when an override closes.\n const entry = { implementation }\n entries.push(entry)\n registered.set(implementation.name, entries)\n return Effect.addFinalizer(() =>\n Effect.sync(() => {\n entries.splice(entries.indexOf(entry), 1)\n if (entries.length === 0) registered.delete(implementation.name)\n })\n )\n }),\n get: (name) => Effect.sync(() => Option.fromNullishOr(registered.get(name)?.at(-1)?.implementation))\n })\n })\n)\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAoCA,cAAyB;AAEzB,aAAwB;AACxB,YAAuB;AACvB,aAAwB;AAIxB,qCAAwC;AAqCjC,MAAM,wBAAwB,QAAQ,QAyB3C,EAAE,qCAAqC,EAAE;AAAC;AAerC,MAAM,uBAAqD,MAAM,OAAO,eAAe;AAAA,EAC5F,OAAO,KAAK,MAAM;AAChB,UAAM,aAAa,oBAAI,IAAgE;AACvF,WAAO,gBAAgB,GAAG;AAAA,MACxB,KAAK,CAAC,gBAAgB,YACpB,OAAO,QAAQ,MAAM;AACnB,cAAM,UAAU,WAAW,IAAI,eAAe,IAAI,KAAK,CAAC;AACxD,YAAI,QAAQ,SAAS,KAAK,SAAS,aAAa,QAAQ,QAAQ,GAAG,EAAE,GAAG,mBAAmB,gBAAgB;AACzG,iBAAO,OAAO,IAAI,IAAI,uDAAwB,EAAE,MAAM,eAAe,KAAK,CAAC,CAAC;AAAA,QAC9E;AAKA,cAAM,QAAQ,EAAE,eAAe;AAC/B,gBAAQ,KAAK,KAAK;AAClB,mBAAW,IAAI,eAAe,MAAM,OAAO;AAC3C,eAAO,OAAO;AAAA,UAAa,MACzB,OAAO,KAAK,MAAM;AAChB,oBAAQ,OAAO,QAAQ,QAAQ,KAAK,GAAG,CAAC;AACxC,gBAAI,QAAQ,WAAW,EAAG,YAAW,OAAO,eAAe,IAAI;AAAA,UACjE,CAAC;AAAA,QACH;AAAA,MACF,CAAC;AAAA,MACH,KAAK,CAAC,SAAS,OAAO,KAAK,MAAM,OAAO,cAAc,WAAW,IAAI,IAAI,GAAG,GAAG,EAAE,GAAG,cAAc,CAAC;AAAA,IACrG,CAAC;AAAA,EACH,CAAC;AACH;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Defines the `InfraInterrupt` action failure.
|
|
3
|
+
*
|
|
4
|
+
* The `_tag` string was settled under `@smthrs/flow/` for 1.0.0-rc.0. The RC
|
|
5
|
+
* makes no compatibility promise to 0.x journals, and the tag freezes when
|
|
6
|
+
* the RC ships.
|
|
7
|
+
*
|
|
8
|
+
* @since 0.1.0
|
|
9
|
+
*/
|
|
10
|
+
import * as Schema from "effect/Schema";
|
|
11
|
+
declare const InfraInterrupt_base: Schema.Class<InfraInterrupt, Schema.TaggedStruct<"@smthrs/flow/InfraInterrupt", {
|
|
12
|
+
readonly code: Schema.withConstructorDefault<Schema.Literal<"infra_interrupt">>;
|
|
13
|
+
readonly reason: Schema.optional<Schema.Unknown>;
|
|
14
|
+
}>, import("effect/Cause").YieldableError>;
|
|
15
|
+
/**
|
|
16
|
+
* Marker an action implementation or adapter raises for an infrastructure
|
|
17
|
+
* event it wants the action's `interruptRetryPolicy` to retry. Shipped engines
|
|
18
|
+
* do not synthesize it from ordinary fiber interruption.
|
|
19
|
+
*
|
|
20
|
+
* @category errors
|
|
21
|
+
* @since 0.1.0
|
|
22
|
+
*/
|
|
23
|
+
export declare class InfraInterrupt extends InfraInterrupt_base {
|
|
24
|
+
}
|
|
25
|
+
export {};
|
|
26
|
+
//# sourceMappingURL=InfraInterrupt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InfraInterrupt.d.ts","sourceRoot":"","sources":["../../../src/Action/InfraInterrupt.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;;;;;AAEvC;;;;;;;GAOG;AACH,qBAAa,cAAe,SAAQ,mBAQnC;CAAG"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var InfraInterrupt_exports = {};
|
|
30
|
+
__export(InfraInterrupt_exports, {
|
|
31
|
+
InfraInterrupt: () => InfraInterrupt
|
|
32
|
+
});
|
|
33
|
+
module.exports = __toCommonJS(InfraInterrupt_exports);
|
|
34
|
+
var Effect = __toESM(require("effect/Effect"), 1);
|
|
35
|
+
var Schema = __toESM(require("effect/Schema"), 1);
|
|
36
|
+
class InfraInterrupt extends Schema.TaggedError()(
|
|
37
|
+
"@smthrs/flow/InfraInterrupt",
|
|
38
|
+
{
|
|
39
|
+
code: Schema.Literal("infra_interrupt").pipe(
|
|
40
|
+
Schema.withConstructorDefault(Effect.succeed("infra_interrupt"))
|
|
41
|
+
),
|
|
42
|
+
reason: Schema.optional(Schema.Unknown)
|
|
43
|
+
}
|
|
44
|
+
) {
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=InfraInterrupt.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/Action/InfraInterrupt.ts"],
|
|
4
|
+
"sourcesContent": ["/**\n * Defines the `InfraInterrupt` action failure.\n *\n * The `_tag` string was settled under `@smthrs/flow/` for 1.0.0-rc.0. The RC\n * makes no compatibility promise to 0.x journals, and the tag freezes when\n * the RC ships.\n *\n * @since 0.1.0\n */\n\nimport * as Effect from \"effect/Effect\"\nimport * as Schema from \"effect/Schema\"\n\n/**\n * Marker an action implementation or adapter raises for an infrastructure\n * event it wants the action's `interruptRetryPolicy` to retry. Shipped engines\n * do not synthesize it from ordinary fiber interruption.\n *\n * @category errors\n * @since 0.1.0\n */\nexport class InfraInterrupt extends Schema.TaggedError<InfraInterrupt>()(\n \"@smthrs/flow/InfraInterrupt\",\n {\n code: Schema.Literal(\"infra_interrupt\").pipe(\n Schema.withConstructorDefault(Effect.succeed(\"infra_interrupt\"))\n ),\n reason: Schema.optional(Schema.Unknown)\n }\n) {}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAUA,aAAwB;AACxB,aAAwB;AAUjB,MAAM,uBAAuB,OAAO,YAA4B;AAAA,EACrE;AAAA,EACA;AAAA,IACE,MAAM,OAAO,QAAQ,iBAAiB,EAAE;AAAA,MACtC,OAAO,uBAAuB,OAAO,QAAQ,iBAAiB,CAAC;AAAA,IACjE;AAAA,IACA,QAAQ,OAAO,SAAS,OAAO,OAAO;AAAA,EACxC;AACF,EAAE;AAAC;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Defines the `InfraInterruptRetriesExhausted` action failure.
|
|
3
|
+
*
|
|
4
|
+
* The `_tag` string was settled under `@smthrs/flow/` for 1.0.0-rc.0. The RC
|
|
5
|
+
* makes no compatibility promise to 0.x journals, and the tag freezes when
|
|
6
|
+
* the RC ships.
|
|
7
|
+
*
|
|
8
|
+
* @since 0.1.0
|
|
9
|
+
*/
|
|
10
|
+
import * as Schema from "effect/Schema";
|
|
11
|
+
import { InfraInterrupt } from "./InfraInterrupt.ts";
|
|
12
|
+
declare const InfraInterruptRetriesExhausted_base: Schema.Class<InfraInterruptRetriesExhausted, Schema.TaggedStruct<"@smthrs/flow/InfraInterruptRetriesExhausted", {
|
|
13
|
+
readonly code: Schema.withConstructorDefault<Schema.Literal<"infra_interrupt_retries_exhausted">>;
|
|
14
|
+
readonly actionName: Schema.String;
|
|
15
|
+
readonly attempts: Schema.Number;
|
|
16
|
+
readonly interrupt: typeof InfraInterrupt;
|
|
17
|
+
/**
|
|
18
|
+
* The sentence an operator reads out of a rendered cause. The typed fields
|
|
19
|
+
* beside it are what a log pipeline keys on.
|
|
20
|
+
*/
|
|
21
|
+
readonly message: Schema.String;
|
|
22
|
+
}>, import("effect/Cause").YieldableError>;
|
|
23
|
+
/**
|
|
24
|
+
* An action spent its infrastructure-interrupt retry policy without reaching
|
|
25
|
+
* an ordinary success or failure.
|
|
26
|
+
*
|
|
27
|
+
* @category errors
|
|
28
|
+
* @since 0.1.0
|
|
29
|
+
*/
|
|
30
|
+
export declare class InfraInterruptRetriesExhausted extends InfraInterruptRetriesExhausted_base {
|
|
31
|
+
}
|
|
32
|
+
export {};
|
|
33
|
+
//# sourceMappingURL=InfraInterruptRetriesExhausted.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InfraInterruptRetriesExhausted.d.ts","sourceRoot":"","sources":["../../../src/Action/InfraInterruptRetriesExhausted.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;;;;;;IAkBhD;;;OAGG;;;AAnBP;;;;;;GAMG;AACH,qBAAa,8BAA+B,SAAQ,mCAenD;CAAG"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var InfraInterruptRetriesExhausted_exports = {};
|
|
30
|
+
__export(InfraInterruptRetriesExhausted_exports, {
|
|
31
|
+
InfraInterruptRetriesExhausted: () => InfraInterruptRetriesExhausted
|
|
32
|
+
});
|
|
33
|
+
module.exports = __toCommonJS(InfraInterruptRetriesExhausted_exports);
|
|
34
|
+
var Effect = __toESM(require("effect/Effect"), 1);
|
|
35
|
+
var Schema = __toESM(require("effect/Schema"), 1);
|
|
36
|
+
var import_InfraInterrupt = require("./InfraInterrupt.js");
|
|
37
|
+
class InfraInterruptRetriesExhausted extends Schema.TaggedError()(
|
|
38
|
+
"@smthrs/flow/InfraInterruptRetriesExhausted",
|
|
39
|
+
{
|
|
40
|
+
code: Schema.Literal("infra_interrupt_retries_exhausted").pipe(
|
|
41
|
+
Schema.withConstructorDefault(Effect.succeed("infra_interrupt_retries_exhausted"))
|
|
42
|
+
),
|
|
43
|
+
actionName: Schema.String,
|
|
44
|
+
attempts: Schema.Number,
|
|
45
|
+
interrupt: import_InfraInterrupt.InfraInterrupt,
|
|
46
|
+
/**
|
|
47
|
+
* The sentence an operator reads out of a rendered cause. The typed fields
|
|
48
|
+
* beside it are what a log pipeline keys on.
|
|
49
|
+
*/
|
|
50
|
+
message: Schema.String
|
|
51
|
+
}
|
|
52
|
+
) {
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=InfraInterruptRetriesExhausted.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/Action/InfraInterruptRetriesExhausted.ts"],
|
|
4
|
+
"sourcesContent": ["/**\n * Defines the `InfraInterruptRetriesExhausted` action failure.\n *\n * The `_tag` string was settled under `@smthrs/flow/` for 1.0.0-rc.0. The RC\n * makes no compatibility promise to 0.x journals, and the tag freezes when\n * the RC ships.\n *\n * @since 0.1.0\n */\n\nimport * as Effect from \"effect/Effect\"\nimport * as Schema from \"effect/Schema\"\nimport { InfraInterrupt } from \"./InfraInterrupt.ts\"\n\n/**\n * An action spent its infrastructure-interrupt retry policy without reaching\n * an ordinary success or failure.\n *\n * @category errors\n * @since 0.1.0\n */\nexport class InfraInterruptRetriesExhausted extends Schema.TaggedError<InfraInterruptRetriesExhausted>()(\n \"@smthrs/flow/InfraInterruptRetriesExhausted\",\n {\n code: Schema.Literal(\"infra_interrupt_retries_exhausted\").pipe(\n Schema.withConstructorDefault(Effect.succeed(\"infra_interrupt_retries_exhausted\"))\n ),\n actionName: Schema.String,\n attempts: Schema.Number,\n interrupt: InfraInterrupt,\n /**\n * The sentence an operator reads out of a rendered cause. The typed fields\n * beside it are what a log pipeline keys on.\n */\n message: Schema.String\n }\n) {}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAUA,aAAwB;AACxB,aAAwB;AACxB,4BAA+B;AASxB,MAAM,uCAAuC,OAAO,YAA4C;AAAA,EACrG;AAAA,EACA;AAAA,IACE,MAAM,OAAO,QAAQ,mCAAmC,EAAE;AAAA,MACxD,OAAO,uBAAuB,OAAO,QAAQ,mCAAmC,CAAC;AAAA,IACnF;AAAA,IACA,YAAY,OAAO;AAAA,IACnB,UAAU,OAAO;AAAA,IACjB,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA,IAKX,SAAS,OAAO;AAAA,EAClB;AACF,EAAE;AAAC;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Defines the `IrreversibleRetryRequiresIdempotencyKey` action failure.
|
|
3
|
+
*
|
|
4
|
+
* The `_tag` string was settled under `@smthrs/flow/` for 1.0.0-rc.0. The RC
|
|
5
|
+
* makes no compatibility promise to 0.x journals, and the tag freezes when
|
|
6
|
+
* the RC ships.
|
|
7
|
+
*
|
|
8
|
+
* @since 0.1.0
|
|
9
|
+
*/
|
|
10
|
+
import * as Schema from "effect/Schema";
|
|
11
|
+
declare const IrreversibleRetryRequiresIdempotencyKey_base: Schema.Class<IrreversibleRetryRequiresIdempotencyKey, Schema.TaggedStruct<"@smthrs/flow/IrreversibleRetryRequiresIdempotencyKey", {
|
|
12
|
+
readonly code: Schema.withConstructorDefault<Schema.Literal<"irreversible_retry_requires_idempotency_key">>;
|
|
13
|
+
readonly actionName: Schema.String;
|
|
14
|
+
readonly attempt: Schema.Number;
|
|
15
|
+
}>, import("effect/Cause").YieldableError>;
|
|
16
|
+
/**
|
|
17
|
+
* An irreversible action attempted a retry without declaring an
|
|
18
|
+
* idempotency key.
|
|
19
|
+
*
|
|
20
|
+
* @category errors
|
|
21
|
+
* @since 0.1.0
|
|
22
|
+
*/
|
|
23
|
+
export declare class IrreversibleRetryRequiresIdempotencyKey extends IrreversibleRetryRequiresIdempotencyKey_base {
|
|
24
|
+
}
|
|
25
|
+
export {};
|
|
26
|
+
//# sourceMappingURL=IrreversibleRetryRequiresIdempotencyKey.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IrreversibleRetryRequiresIdempotencyKey.d.ts","sourceRoot":"","sources":["../../../src/Action/IrreversibleRetryRequiresIdempotencyKey.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;;;;;;AAEvC;;;;;;GAMG;AACH,qBAAa,uCACX,SAAQ,4CASP;CACD"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var IrreversibleRetryRequiresIdempotencyKey_exports = {};
|
|
30
|
+
__export(IrreversibleRetryRequiresIdempotencyKey_exports, {
|
|
31
|
+
IrreversibleRetryRequiresIdempotencyKey: () => IrreversibleRetryRequiresIdempotencyKey
|
|
32
|
+
});
|
|
33
|
+
module.exports = __toCommonJS(IrreversibleRetryRequiresIdempotencyKey_exports);
|
|
34
|
+
var Effect = __toESM(require("effect/Effect"), 1);
|
|
35
|
+
var Schema = __toESM(require("effect/Schema"), 1);
|
|
36
|
+
class IrreversibleRetryRequiresIdempotencyKey extends Schema.TaggedError()(
|
|
37
|
+
"@smthrs/flow/IrreversibleRetryRequiresIdempotencyKey",
|
|
38
|
+
{
|
|
39
|
+
code: Schema.Literal("irreversible_retry_requires_idempotency_key").pipe(
|
|
40
|
+
Schema.withConstructorDefault(Effect.succeed("irreversible_retry_requires_idempotency_key"))
|
|
41
|
+
),
|
|
42
|
+
actionName: Schema.String,
|
|
43
|
+
attempt: Schema.Number
|
|
44
|
+
}
|
|
45
|
+
) {
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=IrreversibleRetryRequiresIdempotencyKey.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/Action/IrreversibleRetryRequiresIdempotencyKey.ts"],
|
|
4
|
+
"sourcesContent": ["/**\n * Defines the `IrreversibleRetryRequiresIdempotencyKey` action failure.\n *\n * The `_tag` string was settled under `@smthrs/flow/` for 1.0.0-rc.0. The RC\n * makes no compatibility promise to 0.x journals, and the tag freezes when\n * the RC ships.\n *\n * @since 0.1.0\n */\n\nimport * as Effect from \"effect/Effect\"\nimport * as Schema from \"effect/Schema\"\n\n/**\n * An irreversible action attempted a retry without declaring an\n * idempotency key.\n *\n * @category errors\n * @since 0.1.0\n */\nexport class IrreversibleRetryRequiresIdempotencyKey\n extends Schema.TaggedError<IrreversibleRetryRequiresIdempotencyKey>()(\n \"@smthrs/flow/IrreversibleRetryRequiresIdempotencyKey\",\n {\n code: Schema.Literal(\"irreversible_retry_requires_idempotency_key\").pipe(\n Schema.withConstructorDefault(Effect.succeed(\"irreversible_retry_requires_idempotency_key\"))\n ),\n actionName: Schema.String,\n attempt: Schema.Number\n }\n )\n{}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAUA,aAAwB;AACxB,aAAwB;AASjB,MAAM,gDACH,OAAO,YAAqD;AAAA,EAClE;AAAA,EACA;AAAA,IACE,MAAM,OAAO,QAAQ,6CAA6C,EAAE;AAAA,MAClE,OAAO,uBAAuB,OAAO,QAAQ,6CAA6C,CAAC;AAAA,IAC7F;AAAA,IACA,YAAY,OAAO;AAAA,IACnB,SAAS,OAAO;AAAA,EAClB;AACF,EACF;AAAC;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import { type StoredKey } from "@smthrs/keys";
|
|
2
|
+
import * as Context from "effect/Context";
|
|
3
|
+
import type * as Crypto from "effect/Crypto";
|
|
4
|
+
import * as Effect from "effect/Effect";
|
|
5
|
+
import * as Schema from "effect/Schema";
|
|
6
|
+
declare const DispatchSite_base: Context.ServiceClass<DispatchSite, "@smthrs/flow/Action/DispatchSite", string>;
|
|
7
|
+
/**
|
|
8
|
+
* The interpreter graph site currently dispatching an action.
|
|
9
|
+
*
|
|
10
|
+
* A site is a replay-stable structural address of an `ActionCall` node. It is
|
|
11
|
+
* never derived from fiber arrival order and is never a diagnostic label. It
|
|
12
|
+
* is durable key material: changing it deliberately changes ordinal scopes
|
|
13
|
+
* and invocation keys. Handler-driven dispatches leave the service absent.
|
|
14
|
+
*
|
|
15
|
+
* @since 0.1.0
|
|
16
|
+
* @category services
|
|
17
|
+
*/
|
|
18
|
+
export declare class DispatchSite extends DispatchSite_base {
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* What one dispatch tells the node that drove it.
|
|
22
|
+
*
|
|
23
|
+
* `outcome` is the fact the walk above cannot see on its own: whether the
|
|
24
|
+
* dispatch ran its body or was served from a durable record. `stepKeyDigest`
|
|
25
|
+
* is the identity the rest of the engine addresses that dispatch by — the
|
|
26
|
+
* digest `flows.engine.attempt-started` carries and `flows_attempts` is keyed
|
|
27
|
+
* on — and `attempt` is the durable attempt it ran as. Both are optional
|
|
28
|
+
* because a runtime that keeps no attempt rows has neither, and a node with
|
|
29
|
+
* no digest says so rather than inventing one.
|
|
30
|
+
*
|
|
31
|
+
* @since 1.0.0
|
|
32
|
+
* @category models
|
|
33
|
+
*/
|
|
34
|
+
export interface DispatchOutcome {
|
|
35
|
+
readonly outcome: "executed" | "replayed";
|
|
36
|
+
readonly stepKeyDigest?: string | undefined;
|
|
37
|
+
readonly attempt?: number | undefined;
|
|
38
|
+
}
|
|
39
|
+
declare const DispatchReport_base: Context.ServiceClass<DispatchReport, "@smthrs/flow/Action/DispatchReport", {
|
|
40
|
+
readonly dispatched: (dispatch: DispatchOutcome) => Effect.Effect<void>;
|
|
41
|
+
}>;
|
|
42
|
+
/**
|
|
43
|
+
* Where the dispatches of one interpreter node report what happened to them.
|
|
44
|
+
*
|
|
45
|
+
* An engine knows facts the walk above it cannot see: whether a dispatch ran
|
|
46
|
+
* its body or was served from a durable record, which step key it ran under,
|
|
47
|
+
* and which durable attempt it was. Without the first a node that replayed
|
|
48
|
+
* every one of its dispatches is indistinguishable from one that did the work
|
|
49
|
+
* again. Without the other two a node's evidence cannot be joined to the
|
|
50
|
+
* attempt records the engine wrote, because an attempt record carries a step
|
|
51
|
+
* key digest and no node id while a node record carried no digest at all. The
|
|
52
|
+
* interpreter installs one of these per node and reads the report back when
|
|
53
|
+
* the node settles.
|
|
54
|
+
*
|
|
55
|
+
* Absent by default. A dispatch outside an interpreted graph — a handler
|
|
56
|
+
* calling an action directly — reports to nobody, and reporting stays a
|
|
57
|
+
* side channel rather than a change to what `actionExecute` returns.
|
|
58
|
+
*
|
|
59
|
+
* @since 1.0.0
|
|
60
|
+
* @category services
|
|
61
|
+
*/
|
|
62
|
+
export declare class DispatchReport extends DispatchReport_base {
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Reports one dispatch to the node that drove it, when a node drove it.
|
|
66
|
+
*
|
|
67
|
+
* @since 1.0.0
|
|
68
|
+
* @category constructors
|
|
69
|
+
*/
|
|
70
|
+
export declare const reportDispatch: (dispatch: DispatchOutcome) => Effect.Effect<void>;
|
|
71
|
+
/**
|
|
72
|
+
* The declaration material an allocation scope is derived from.
|
|
73
|
+
*
|
|
74
|
+
* @since 0.1.0
|
|
75
|
+
* @category models
|
|
76
|
+
*/
|
|
77
|
+
export interface AllocationIdentity {
|
|
78
|
+
/**
|
|
79
|
+
* `"action"` for user-declared action dispatches, `"internal"` for
|
|
80
|
+
* engine-owned durable operations (queue offers, deferred tokens). The two
|
|
81
|
+
* kinds own disjoint counter namespaces.
|
|
82
|
+
*/
|
|
83
|
+
readonly kind: "action" | "internal";
|
|
84
|
+
/**
|
|
85
|
+
* The stable declaration identity: an action's declared name, or a fixed
|
|
86
|
+
* label for an internal operation family. Diagnostic names must not be
|
|
87
|
+
* passed here unless they are part of identity.
|
|
88
|
+
*/
|
|
89
|
+
readonly name: string;
|
|
90
|
+
/**
|
|
91
|
+
* The explicit idempotency component. A declared string and a declared
|
|
92
|
+
* cache key input both refine the scope — two concurrent invocations of
|
|
93
|
+
* one name with distinguishable inputs each own their own counter, so a
|
|
94
|
+
* replay that reverses fiber-arrival order can never hand one invocation
|
|
95
|
+
* the other's recorded outcome. Absent, invocations of one name share a
|
|
96
|
+
* counter and remain allocation-ordered — indistinguishable declarations
|
|
97
|
+
* have no material to order them by.
|
|
98
|
+
*/
|
|
99
|
+
readonly idempotency?: string | Schema.JsonObject | undefined;
|
|
100
|
+
/**
|
|
101
|
+
* The replay-stable structural address of the interpreter graph node that
|
|
102
|
+
* drives this dispatch. Absent for handler-driven dispatches, preserving
|
|
103
|
+
* their existing allocation scopes byte for byte.
|
|
104
|
+
*/
|
|
105
|
+
readonly site?: string | undefined;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Derives the ordinal allocation scope of a durable operation.
|
|
109
|
+
*
|
|
110
|
+
* The scope keys the operation's ordinal counter and is folded into its
|
|
111
|
+
* persisted invocation key as `parentScope`, so identity is stable
|
|
112
|
+
* under any interleaving of distinct declarations.
|
|
113
|
+
*
|
|
114
|
+
* Injectivity: the name is length-prefixed (`<kind>/<length>:<name>`), so a
|
|
115
|
+
* name containing `/s:` or `/c:` material cannot collide with a keyed form
|
|
116
|
+
* of a shorter name, and the idempotency component is a fixed-shape tagged
|
|
117
|
+
* digest appended after the name. Both idempotency forms canonicalize under
|
|
118
|
+
* distinct one-character tags so a string can never alias the object identity
|
|
119
|
+
* whose digest it happens to spell. A present site is appended as
|
|
120
|
+
* `/g:<length>:<site>`; its length prefix prevents site contents from
|
|
121
|
+
* aliasing another component or splicing across a future suffix. An absent
|
|
122
|
+
* site appends nothing, preserving the prior encoding exactly.
|
|
123
|
+
*
|
|
124
|
+
* The object form is caller-owned material, so it can carry values canonical
|
|
125
|
+
* serialization rejects (`Date`, `undefined`, class instances, `Redacted`);
|
|
126
|
+
* the failure surfaces as the typed `SchemaError` (issue #151), never
|
|
127
|
+
* as a thrown defect. The string and absent forms
|
|
128
|
+
* are total — the first overload keeps their error channel `never`.
|
|
129
|
+
*
|
|
130
|
+
* @since 0.1.0
|
|
131
|
+
* @category derivations
|
|
132
|
+
*/
|
|
133
|
+
export declare const allocationScope: (identity: AllocationIdentity) => Effect.Effect<string, Schema.SchemaError, Crypto.Crypto>;
|
|
134
|
+
/**
|
|
135
|
+
* Derives an invocation key from engine-generated input.
|
|
136
|
+
*
|
|
137
|
+
* The input is engine-generated by construction — a finite counter
|
|
138
|
+
* ordinal, a literal tier, and plain string scopes — so canonical
|
|
139
|
+
* serialization cannot reject it. A failure here is an engine defect, and it
|
|
140
|
+
* surfaces as the typed `SchemaError` itself (issue #151) rather than
|
|
141
|
+
* being discarded through `Result.getOrThrow`.
|
|
142
|
+
*
|
|
143
|
+
* @since 0.1.0
|
|
144
|
+
* @category derivations
|
|
145
|
+
*/
|
|
146
|
+
export declare const invocationKey: (input: {
|
|
147
|
+
readonly runId: string;
|
|
148
|
+
readonly parentScope?: string | undefined;
|
|
149
|
+
readonly ordinal: number;
|
|
150
|
+
readonly tier: "unsealed" | "compensable" | "irreversible";
|
|
151
|
+
}) => Effect.Effect<StoredKey, Schema.SchemaError, Crypto.Crypto>;
|
|
152
|
+
export {};
|
|
153
|
+
//# sourceMappingURL=StepIdentity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StepIdentity.d.ts","sourceRoot":"","sources":["../../../src/Action/StepIdentity.ts"],"names":[],"mappings":"AA4BA,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,cAAc,CAAA;AACzD,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;;AAevC;;;;;;;;;;GAUG;AACH,qBAAa,YAAa,SAAQ,iBAEjC;CAAG;AAEJ;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,UAAU,GAAG,UAAU,CAAA;IACzC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3C,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACtC;;yBAuBsB,CAAC,QAAQ,EAAE,eAAe,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;;AArBzE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,cAAe,SAAQ,mBAEM;CAAG;AAE7C;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GAAI,UAAU,eAAe,KAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAI1E,CAAA;AAEH;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,UAAU,CAAA;IACpC;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB;;;;;;;;OAQG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,UAAU,GAAG,SAAS,CAAA;IAC7D;;;;OAIG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACnC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,eAAe,GAC1B,UAAU,kBAAkB,KAC3B,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,CAYtD,CAAA;AAEJ;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,aAAa,GAAI,OAAO;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACzC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,aAAa,GAAG,cAAc,CAAA;CAC3D,KAAG,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,CAG3D,CAAA"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var StepIdentity_exports = {};
|
|
30
|
+
__export(StepIdentity_exports, {
|
|
31
|
+
DispatchReport: () => DispatchReport,
|
|
32
|
+
DispatchSite: () => DispatchSite,
|
|
33
|
+
allocationScope: () => allocationScope,
|
|
34
|
+
invocationKey: () => invocationKey,
|
|
35
|
+
reportDispatch: () => reportDispatch
|
|
36
|
+
});
|
|
37
|
+
module.exports = __toCommonJS(StepIdentity_exports);
|
|
38
|
+
var import_crypto = require("@smthrs/crypto");
|
|
39
|
+
var import_keys = require("@smthrs/keys");
|
|
40
|
+
var Context = __toESM(require("effect/Context"), 1);
|
|
41
|
+
var Effect = __toESM(require("effect/Effect"), 1);
|
|
42
|
+
var Option = __toESM(require("effect/Option"), 1);
|
|
43
|
+
var Schema = __toESM(require("effect/Schema"), 1);
|
|
44
|
+
const Invocation = Schema.Struct({
|
|
45
|
+
runId: Schema.NonEmptyString,
|
|
46
|
+
parentScope: Schema.optionalKey(Schema.NonEmptyString),
|
|
47
|
+
ordinal: Schema.Int.check(Schema.isGreaterThanOrEqualTo(0)),
|
|
48
|
+
tier: Schema.Literals(["compensable", "irreversible", "unsealed"])
|
|
49
|
+
});
|
|
50
|
+
class DispatchSite extends Context.Service()(
|
|
51
|
+
"@smthrs/flow/Action/DispatchSite"
|
|
52
|
+
) {
|
|
53
|
+
}
|
|
54
|
+
class DispatchReport extends Context.Service()("@smthrs/flow/Action/DispatchReport") {
|
|
55
|
+
}
|
|
56
|
+
const reportDispatch = (dispatch) => Effect.flatMap(
|
|
57
|
+
Effect.serviceOption(DispatchReport),
|
|
58
|
+
(report) => Option.isNone(report) ? Effect.void : report.value.dispatched(dispatch)
|
|
59
|
+
);
|
|
60
|
+
const allocationScope = (identity) => Effect.gen(function* () {
|
|
61
|
+
let scope = `${identity.kind}/${identity.name.length}:${identity.name}`;
|
|
62
|
+
if (typeof identity.idempotency === "string") {
|
|
63
|
+
const digest = yield* Schema.decodeUnknownEffect(import_crypto.Sha256)(identity.idempotency);
|
|
64
|
+
scope = `${scope}/s:${digest}`;
|
|
65
|
+
} else if (identity.idempotency !== void 0) {
|
|
66
|
+
const key = yield* Schema.decodeUnknownEffect(import_keys.DerivedKey)({ kind: "declaration", input: identity.idempotency });
|
|
67
|
+
scope = `${scope}/c:${key}`;
|
|
68
|
+
}
|
|
69
|
+
if (identity.site === void 0) return scope;
|
|
70
|
+
return `${scope}/g:${identity.site.length}:${identity.site}`;
|
|
71
|
+
});
|
|
72
|
+
const invocationKey = (input) => Schema.decodeUnknownEffect(Invocation)(input).pipe(
|
|
73
|
+
Effect.flatMap((validated) => Schema.decodeUnknownEffect(import_keys.DerivedKey)({ kind: "invocation", ...validated }))
|
|
74
|
+
);
|
|
75
|
+
//# sourceMappingURL=StepIdentity.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/Action/StepIdentity.ts"],
|
|
4
|
+
"sourcesContent": ["// Deep reviewed and polished by a human on 2026-08-10.\n\n/**\n * Derives allocation scopes and run-local invocation keys.\n *\n * Ordinal step identity has four components: the kind of durable operation\n * (an action dispatch or an internal engine operation), the stable\n * declaration identity (the action name, or a fixed internal label), an\n * optional explicit idempotency component \u2014 a caller-declared string or\n * object \u2014 and an optional structural dispatch site. Every ordinal counter\n * in the engine is keyed by the scope this module derives, and the scope is\n * also folded into the persisted key as `parentScope`, so two dispatches with\n * distinct declarations or structural sites can never swap ordinals under a\n * permuted fiber interleaving (issues #73, #85, #98, #101).\n *\n * The derivation is injective: distinct `(kind, name, idempotency, site)`\n * inputs always produce distinct scopes. The name and site are\n * length-prefixed so their contents cannot splice across component\n * separators, and both idempotency forms are canonicalized to a fixed-width\n * digest under distinct tags so a string can never alias the object identity\n * whose digest it happens to spell.\n *\n * Governing contract: `docs/concepts/execution-identity.md`.\n *\n * @since 0.1.0\n */\n\nimport { Sha256 } from \"@smthrs/crypto\"\nimport { DerivedKey, type StoredKey } from \"@smthrs/keys\"\nimport * as Context from \"effect/Context\"\nimport type * as Crypto from \"effect/Crypto\"\nimport * as Effect from \"effect/Effect\"\nimport * as Option from \"effect/Option\"\nimport * as Schema from \"effect/Schema\"\n\n/**\n * Validates the engine-owned coordinates of a run-local invocation.\n *\n * @private\n * @since 0.1.0\n */\nconst Invocation = Schema.Struct({\n runId: Schema.NonEmptyString,\n parentScope: Schema.optionalKey(Schema.NonEmptyString),\n ordinal: Schema.Int.check(Schema.isGreaterThanOrEqualTo(0)),\n tier: Schema.Literals([\"compensable\", \"irreversible\", \"unsealed\"])\n})\n\n/**\n * The interpreter graph site currently dispatching an action.\n *\n * A site is a replay-stable structural address of an `ActionCall` node. It is\n * never derived from fiber arrival order and is never a diagnostic label. It\n * is durable key material: changing it deliberately changes ordinal scopes\n * and invocation keys. Handler-driven dispatches leave the service absent.\n *\n * @since 0.1.0\n * @category services\n */\nexport class DispatchSite extends Context.Service<DispatchSite, string>()(\n \"@smthrs/flow/Action/DispatchSite\"\n) {}\n\n/**\n * What one dispatch tells the node that drove it.\n *\n * `outcome` is the fact the walk above cannot see on its own: whether the\n * dispatch ran its body or was served from a durable record. `stepKeyDigest`\n * is the identity the rest of the engine addresses that dispatch by \u2014 the\n * digest `flows.engine.attempt-started` carries and `flows_attempts` is keyed\n * on \u2014 and `attempt` is the durable attempt it ran as. Both are optional\n * because a runtime that keeps no attempt rows has neither, and a node with\n * no digest says so rather than inventing one.\n *\n * @since 1.0.0\n * @category models\n */\nexport interface DispatchOutcome {\n readonly outcome: \"executed\" | \"replayed\"\n readonly stepKeyDigest?: string | undefined\n readonly attempt?: number | undefined\n}\n\n/**\n * Where the dispatches of one interpreter node report what happened to them.\n *\n * An engine knows facts the walk above it cannot see: whether a dispatch ran\n * its body or was served from a durable record, which step key it ran under,\n * and which durable attempt it was. Without the first a node that replayed\n * every one of its dispatches is indistinguishable from one that did the work\n * again. Without the other two a node's evidence cannot be joined to the\n * attempt records the engine wrote, because an attempt record carries a step\n * key digest and no node id while a node record carried no digest at all. The\n * interpreter installs one of these per node and reads the report back when\n * the node settles.\n *\n * Absent by default. A dispatch outside an interpreted graph \u2014 a handler\n * calling an action directly \u2014 reports to nobody, and reporting stays a\n * side channel rather than a change to what `actionExecute` returns.\n *\n * @since 1.0.0\n * @category services\n */\nexport class DispatchReport extends Context.Service<DispatchReport, {\n readonly dispatched: (dispatch: DispatchOutcome) => Effect.Effect<void>\n}>()(\"@smthrs/flow/Action/DispatchReport\") {}\n\n/**\n * Reports one dispatch to the node that drove it, when a node drove it.\n *\n * @since 1.0.0\n * @category constructors\n */\nexport const reportDispatch = (dispatch: DispatchOutcome): Effect.Effect<void> =>\n Effect.flatMap(\n Effect.serviceOption(DispatchReport),\n (report) => Option.isNone(report) ? Effect.void : report.value.dispatched(dispatch)\n )\n\n/**\n * The declaration material an allocation scope is derived from.\n *\n * @since 0.1.0\n * @category models\n */\nexport interface AllocationIdentity {\n /**\n * `\"action\"` for user-declared action dispatches, `\"internal\"` for\n * engine-owned durable operations (queue offers, deferred tokens). The two\n * kinds own disjoint counter namespaces.\n */\n readonly kind: \"action\" | \"internal\"\n /**\n * The stable declaration identity: an action's declared name, or a fixed\n * label for an internal operation family. Diagnostic names must not be\n * passed here unless they are part of identity.\n */\n readonly name: string\n /**\n * The explicit idempotency component. A declared string and a declared\n * cache key input both refine the scope \u2014 two concurrent invocations of\n * one name with distinguishable inputs each own their own counter, so a\n * replay that reverses fiber-arrival order can never hand one invocation\n * the other's recorded outcome. Absent, invocations of one name share a\n * counter and remain allocation-ordered \u2014 indistinguishable declarations\n * have no material to order them by.\n */\n readonly idempotency?: string | Schema.JsonObject | undefined\n /**\n * The replay-stable structural address of the interpreter graph node that\n * drives this dispatch. Absent for handler-driven dispatches, preserving\n * their existing allocation scopes byte for byte.\n */\n readonly site?: string | undefined\n}\n\n/**\n * Derives the ordinal allocation scope of a durable operation.\n *\n * The scope keys the operation's ordinal counter and is folded into its\n * persisted invocation key as `parentScope`, so identity is stable\n * under any interleaving of distinct declarations.\n *\n * Injectivity: the name is length-prefixed (`<kind>/<length>:<name>`), so a\n * name containing `/s:` or `/c:` material cannot collide with a keyed form\n * of a shorter name, and the idempotency component is a fixed-shape tagged\n * digest appended after the name. Both idempotency forms canonicalize under\n * distinct one-character tags so a string can never alias the object identity\n * whose digest it happens to spell. A present site is appended as\n * `/g:<length>:<site>`; its length prefix prevents site contents from\n * aliasing another component or splicing across a future suffix. An absent\n * site appends nothing, preserving the prior encoding exactly.\n *\n * The object form is caller-owned material, so it can carry values canonical\n * serialization rejects (`Date`, `undefined`, class instances, `Redacted`);\n * the failure surfaces as the typed `SchemaError` (issue #151), never\n * as a thrown defect. The string and absent forms\n * are total \u2014 the first overload keeps their error channel `never`.\n *\n * @since 0.1.0\n * @category derivations\n */\nexport const allocationScope = (\n identity: AllocationIdentity\n): Effect.Effect<string, Schema.SchemaError, Crypto.Crypto> =>\n Effect.gen(function*() {\n let scope = `${identity.kind}/${identity.name.length}:${identity.name}`\n if (typeof identity.idempotency === \"string\") {\n const digest = yield* Schema.decodeUnknownEffect(Sha256)(identity.idempotency)\n scope = `${scope}/s:${digest}`\n } else if (identity.idempotency !== undefined) {\n const key = yield* Schema.decodeUnknownEffect(DerivedKey)({ kind: \"declaration\", input: identity.idempotency })\n scope = `${scope}/c:${key}`\n }\n if (identity.site === undefined) return scope\n return `${scope}/g:${identity.site.length}:${identity.site}`\n })\n\n/**\n * Derives an invocation key from engine-generated input.\n *\n * The input is engine-generated by construction \u2014 a finite counter\n * ordinal, a literal tier, and plain string scopes \u2014 so canonical\n * serialization cannot reject it. A failure here is an engine defect, and it\n * surfaces as the typed `SchemaError` itself (issue #151) rather than\n * being discarded through `Result.getOrThrow`.\n *\n * @since 0.1.0\n * @category derivations\n */\nexport const invocationKey = (input: {\n readonly runId: string\n readonly parentScope?: string | undefined\n readonly ordinal: number\n readonly tier: \"unsealed\" | \"compensable\" | \"irreversible\"\n}): Effect.Effect<StoredKey, Schema.SchemaError, Crypto.Crypto> =>\n Schema.decodeUnknownEffect(Invocation)(input).pipe(\n Effect.flatMap((validated) => Schema.decodeUnknownEffect(DerivedKey)({ kind: \"invocation\", ...validated }))\n )\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA2BA,oBAAuB;AACvB,kBAA2C;AAC3C,cAAyB;AAEzB,aAAwB;AACxB,aAAwB;AACxB,aAAwB;AAQxB,MAAM,aAAa,OAAO,OAAO;AAAA,EAC/B,OAAO,OAAO;AAAA,EACd,aAAa,OAAO,YAAY,OAAO,cAAc;AAAA,EACrD,SAAS,OAAO,IAAI,MAAM,OAAO,uBAAuB,CAAC,CAAC;AAAA,EAC1D,MAAM,OAAO,SAAS,CAAC,eAAe,gBAAgB,UAAU,CAAC;AACnE,CAAC;AAaM,MAAM,qBAAqB,QAAQ,QAA8B;AAAA,EACtE;AACF,EAAE;AAAC;AA0CI,MAAM,uBAAuB,QAAQ,QAEzC,EAAE,oCAAoC,EAAE;AAAC;AAQrC,MAAM,iBAAiB,CAAC,aAC7B,OAAO;AAAA,EACL,OAAO,cAAc,cAAc;AAAA,EACnC,CAAC,WAAW,OAAO,OAAO,MAAM,IAAI,OAAO,OAAO,OAAO,MAAM,WAAW,QAAQ;AACpF;AAiEK,MAAM,kBAAkB,CAC7B,aAEA,OAAO,IAAI,aAAY;AACrB,MAAI,QAAQ,GAAG,SAAS,IAAI,IAAI,SAAS,KAAK,MAAM,IAAI,SAAS,IAAI;AACrE,MAAI,OAAO,SAAS,gBAAgB,UAAU;AAC5C,UAAM,SAAS,OAAO,OAAO,oBAAoB,oBAAM,EAAE,SAAS,WAAW;AAC7E,YAAQ,GAAG,KAAK,MAAM,MAAM;AAAA,EAC9B,WAAW,SAAS,gBAAgB,QAAW;AAC7C,UAAM,MAAM,OAAO,OAAO,oBAAoB,sBAAU,EAAE,EAAE,MAAM,eAAe,OAAO,SAAS,YAAY,CAAC;AAC9G,YAAQ,GAAG,KAAK,MAAM,GAAG;AAAA,EAC3B;AACA,MAAI,SAAS,SAAS,OAAW,QAAO;AACxC,SAAO,GAAG,KAAK,MAAM,SAAS,KAAK,MAAM,IAAI,SAAS,IAAI;AAC5D,CAAC;AAcI,MAAM,gBAAgB,CAAC,UAM5B,OAAO,oBAAoB,UAAU,EAAE,KAAK,EAAE;AAAA,EAC5C,OAAO,QAAQ,CAAC,cAAc,OAAO,oBAAoB,sBAAU,EAAE,EAAE,MAAM,cAAc,GAAG,UAAU,CAAC,CAAC;AAC5G;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TreeArtifact.d.ts","sourceRoot":"","sources":["../../../src/Action/TreeArtifact.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,YAAY,EAAE,YAAY,IAAI,IAAI,EAAE,MAAM,sBAAsB,CAAA"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var TreeArtifact_exports = {};
|
|
20
|
+
__export(TreeArtifact_exports, {
|
|
21
|
+
TreeArtifact: () => import_FileSet.TreeArtifact
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(TreeArtifact_exports);
|
|
24
|
+
var import_FileSet = require("@smthrs/plan/FileSet");
|
|
25
|
+
//# sourceMappingURL=TreeArtifact.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/Action/TreeArtifact.ts"],
|
|
4
|
+
"sourcesContent": ["/**\n * Directory outputs captured and replayed as tree artifacts.\n *\n * @since 0.1.0\n */\n\nexport { TreeArtifact } from \"@smthrs/plan/FileSet\"\nexport type { TreeArtifact as Type } from \"@smthrs/plan/FileSet\"\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBAA6B;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TypeId.d.ts","sourceRoot":"","sources":["../../../src/Action/TypeId.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,eAAO,MAAM,MAAM,wBAAwB,CAAA"}
|