@smthrs/flow 0.0.0-stage → 1.0.0-rc.13
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 +149 -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 +422 -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 +919 -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 +149 -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 +810 -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 +1301 -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 +299 -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 +1021 -0
- package/src/Interpreter.ts +1635 -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,60 @@
|
|
|
1
|
+
import type * as Crypto from "effect/Crypto";
|
|
2
|
+
import * as Duration from "effect/Duration";
|
|
3
|
+
import * as Effect from "effect/Effect";
|
|
4
|
+
import type * as Schema from "effect/Schema";
|
|
5
|
+
import * as DurableDeferred from "./DurableDeferred.ts";
|
|
6
|
+
import { FlowInstance } from "./FlowRuntime/FlowInstance.ts";
|
|
7
|
+
import { FlowRuntime } from "./FlowRuntime/FlowRuntime.ts";
|
|
8
|
+
declare const TypeId = "@smthrs/flow/DurableClock";
|
|
9
|
+
/**
|
|
10
|
+
* Represents a durable flow timer with a name, duration, and deferred
|
|
11
|
+
* completed when the timer wakes.
|
|
12
|
+
*
|
|
13
|
+
* @category models
|
|
14
|
+
* @since 0.1.0
|
|
15
|
+
*/
|
|
16
|
+
export interface DurableClock {
|
|
17
|
+
readonly [TypeId]: typeof TypeId;
|
|
18
|
+
readonly name: string;
|
|
19
|
+
readonly duration: Duration.Duration;
|
|
20
|
+
readonly deferred: DurableDeferred.DurableDeferred<typeof Schema.Void>;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Declares one durable clock after validating its finite nonnegative duration.
|
|
24
|
+
*
|
|
25
|
+
* Throws a `RangeError` for a malformed, infinite or negative duration, or one
|
|
26
|
+
* longer than `Number.MAX_SAFE_INTEGER` milliseconds: a durable store records
|
|
27
|
+
* a clock's due time as a safe integer.
|
|
28
|
+
*
|
|
29
|
+
* @category constructors
|
|
30
|
+
* @since 0.1.0
|
|
31
|
+
*/
|
|
32
|
+
export declare const make: (options: {
|
|
33
|
+
readonly name: string;
|
|
34
|
+
readonly duration: Duration.Input;
|
|
35
|
+
}) => DurableClock;
|
|
36
|
+
/**
|
|
37
|
+
* Waits inside a flow, using an in-memory action for durations at or
|
|
38
|
+
* below the threshold and scheduling a durable clock for longer durations.
|
|
39
|
+
*
|
|
40
|
+
* Throws a `RangeError` for the same durations {@link make} refuses, and for
|
|
41
|
+
* a malformed, infinite or negative threshold. A durable sleep that would
|
|
42
|
+
* wake after epoch millisecond `Number.MAX_SAFE_INTEGER` dies with a
|
|
43
|
+
* `RangeError` instead of arming its clock.
|
|
44
|
+
*
|
|
45
|
+
* @category sleeping
|
|
46
|
+
* @since 0.1.0
|
|
47
|
+
*/
|
|
48
|
+
export declare const sleep: (options: {
|
|
49
|
+
readonly name: string;
|
|
50
|
+
readonly duration: Duration.Input;
|
|
51
|
+
/**
|
|
52
|
+
* If the duration is less than or equal to this threshold, the clock will
|
|
53
|
+
* be executed in memory.
|
|
54
|
+
*
|
|
55
|
+
* @default 60 seconds
|
|
56
|
+
*/
|
|
57
|
+
readonly inMemoryThreshold?: Duration.Input | undefined;
|
|
58
|
+
}) => Effect.Effect<void, never, Crypto.Crypto | FlowRuntime | FlowInstance>;
|
|
59
|
+
export {};
|
|
60
|
+
//# sourceMappingURL=DurableClock.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DurableClock.d.ts","sourceRoot":"","sources":["../../src/DurableClock.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAE5C,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAE1D,QAAA,MAAM,MAAM,8BAA8B,CAAA;AAE1C;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,MAAM,CAAA;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAA;IACpC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC,eAAe,CAAC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAA;CACvE;AAkDD;;;;;;;;;GASG;AACH,eAAO,MAAM,IAAI,GAAI,SAAS;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAA;CAClC,KAAG,YAAwE,CAAA;AAE5E;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,KAAK,GAChB,SAAS;IACP,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAA;IACjC;;;;;OAKG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAA;CACxD,KACA,MAAM,CAAC,MAAM,CACd,IAAI,EACJ,KAAK,EACL,MAAM,CAAC,MAAM,GAAG,WAAW,GAAG,YAAY,CA2C3C,CAAA"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
// Deep reviewed and polished by a human on 2026-08-10.
|
|
2
|
+
/**
|
|
3
|
+
* Durable timers for flow sleeps.
|
|
4
|
+
*
|
|
5
|
+
* `make` creates a `DurableClock` with a name, duration, and deferred wake-up
|
|
6
|
+
* signal. `sleep` ignores zero durations, runs short sleeps through an
|
|
7
|
+
* in-memory action, and schedules longer sleeps through the `FlowRuntime`
|
|
8
|
+
* before awaiting the durable deferred tied to the clock.
|
|
9
|
+
*
|
|
10
|
+
* @since 0.1.0
|
|
11
|
+
*/
|
|
12
|
+
import * as Clock from "effect/Clock";
|
|
13
|
+
import * as Duration from "effect/Duration";
|
|
14
|
+
import * as Effect from "effect/Effect";
|
|
15
|
+
import * as Option from "effect/Option";
|
|
16
|
+
import * as Action from "./Action/index.js";
|
|
17
|
+
import * as DurableDeferred from "./DurableDeferred.js";
|
|
18
|
+
import { FlowInstance } from "./FlowRuntime/FlowInstance.js";
|
|
19
|
+
import { FlowRuntime } from "./FlowRuntime/FlowRuntime.js";
|
|
20
|
+
const TypeId = "@smthrs/flow/DurableClock";
|
|
21
|
+
/**
|
|
22
|
+
* Parses one author-supplied duration and requires it to be finite and
|
|
23
|
+
* nonnegative. Invalid input throws `RangeError` so the authoring mistake is
|
|
24
|
+
* caught at declaration time, matching `Flow.make` and `Poll.make`.
|
|
25
|
+
*
|
|
26
|
+
* @private
|
|
27
|
+
*/
|
|
28
|
+
const durationFromInput = (input, field) => {
|
|
29
|
+
const parsed = Duration.fromInput(input);
|
|
30
|
+
if (Option.isNone(parsed)) {
|
|
31
|
+
throw new RangeError(`DurableClock: "${field}" must be a valid finite duration that is not negative.`);
|
|
32
|
+
}
|
|
33
|
+
const millis = Duration.toMillis(parsed.value);
|
|
34
|
+
if (!Duration.isFinite(parsed.value) || !Number.isFinite(millis) || millis < 0) {
|
|
35
|
+
throw new RangeError(`DurableClock: "${field}" must be a valid finite duration that is not negative.`);
|
|
36
|
+
}
|
|
37
|
+
return parsed.value;
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* The latest due time a durable timer records, in epoch milliseconds: a store
|
|
41
|
+
* keeps a clock's due time as a safe integer.
|
|
42
|
+
*
|
|
43
|
+
* @private
|
|
44
|
+
*/
|
|
45
|
+
const latestDueAtMs = Number.MAX_SAFE_INTEGER;
|
|
46
|
+
/**
|
|
47
|
+
* Parses a clock's own duration, which a store adds to the current time and
|
|
48
|
+
* records, so it is at most {@link latestDueAtMs} milliseconds.
|
|
49
|
+
*
|
|
50
|
+
* @private
|
|
51
|
+
*/
|
|
52
|
+
const clockDuration = (input) => {
|
|
53
|
+
const duration = durationFromInput(input, "duration");
|
|
54
|
+
if (Duration.toMillis(duration) > latestDueAtMs) {
|
|
55
|
+
throw new RangeError(`DurableClock: "duration" must be at most ${latestDueAtMs} milliseconds.`);
|
|
56
|
+
}
|
|
57
|
+
return duration;
|
|
58
|
+
};
|
|
59
|
+
const makeClock = (name, duration) => ({
|
|
60
|
+
[TypeId]: TypeId,
|
|
61
|
+
name,
|
|
62
|
+
duration,
|
|
63
|
+
deferred: DurableDeferred.make(`DurableClock/${name}`)
|
|
64
|
+
});
|
|
65
|
+
/**
|
|
66
|
+
* Declares one durable clock after validating its finite nonnegative duration.
|
|
67
|
+
*
|
|
68
|
+
* Throws a `RangeError` for a malformed, infinite or negative duration, or one
|
|
69
|
+
* longer than `Number.MAX_SAFE_INTEGER` milliseconds: a durable store records
|
|
70
|
+
* a clock's due time as a safe integer.
|
|
71
|
+
*
|
|
72
|
+
* @category constructors
|
|
73
|
+
* @since 0.1.0
|
|
74
|
+
*/
|
|
75
|
+
export const make = (options) => makeClock(options.name, clockDuration(options.duration));
|
|
76
|
+
/**
|
|
77
|
+
* Waits inside a flow, using an in-memory action for durations at or
|
|
78
|
+
* below the threshold and scheduling a durable clock for longer durations.
|
|
79
|
+
*
|
|
80
|
+
* Throws a `RangeError` for the same durations {@link make} refuses, and for
|
|
81
|
+
* a malformed, infinite or negative threshold. A durable sleep that would
|
|
82
|
+
* wake after epoch millisecond `Number.MAX_SAFE_INTEGER` dies with a
|
|
83
|
+
* `RangeError` instead of arming its clock.
|
|
84
|
+
*
|
|
85
|
+
* @category sleeping
|
|
86
|
+
* @since 0.1.0
|
|
87
|
+
*/
|
|
88
|
+
export const sleep = (options) => {
|
|
89
|
+
const name = options.name;
|
|
90
|
+
const duration = clockDuration(options.duration);
|
|
91
|
+
const inMemoryThreshold = durationFromInput(options.inMemoryThreshold ?? defaultInMemoryThreshold, "inMemoryThreshold");
|
|
92
|
+
// Untraced because durable sleeps are recursively resumed by the engine.
|
|
93
|
+
return Effect.fnUntraced(function* () {
|
|
94
|
+
if (Duration.isZero(duration)) {
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
if (Duration.isLessThanOrEqualTo(duration, inMemoryThreshold)) {
|
|
98
|
+
return yield* Action.make({
|
|
99
|
+
name: `DurableClock/${name}`,
|
|
100
|
+
tier: "sealed",
|
|
101
|
+
execute: Effect.sleep(duration)
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
// A due time past the latest one a store records would fail the park
|
|
105
|
+
// write deep in the engine, so the sleep refuses it here by name.
|
|
106
|
+
const now = yield* Clock.currentTimeMillis;
|
|
107
|
+
if (now + Duration.toMillis(duration) > latestDueAtMs) {
|
|
108
|
+
return yield* Effect.die(new RangeError(`DurableClock: "${name}" would wake after epoch millisecond ${latestDueAtMs}, ` +
|
|
109
|
+
`the latest due time a durable timer records.`));
|
|
110
|
+
}
|
|
111
|
+
const engine = yield* FlowRuntime;
|
|
112
|
+
const instance = yield* FlowInstance;
|
|
113
|
+
const clock = makeClock(name, duration);
|
|
114
|
+
yield* engine.scheduleClock(instance.flow, {
|
|
115
|
+
executionId: instance.executionId,
|
|
116
|
+
clock
|
|
117
|
+
});
|
|
118
|
+
return yield* DurableDeferred.await(clock.deferred);
|
|
119
|
+
})();
|
|
120
|
+
};
|
|
121
|
+
const defaultInMemoryThreshold = Duration.seconds(60);
|
|
122
|
+
//# sourceMappingURL=DurableClock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DurableClock.js","sourceRoot":"","sources":["../../src/DurableClock.ts"],"names":[],"mappings":"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","sourcesContent":["// Deep reviewed and polished by a human on 2026-08-10.\n\n/**\n * Durable timers for flow sleeps.\n *\n * `make` creates a `DurableClock` with a name, duration, and deferred wake-up\n * signal. `sleep` ignores zero durations, runs short sleeps through an\n * in-memory action, and schedules longer sleeps through the `FlowRuntime`\n * before awaiting the durable deferred tied to the clock.\n *\n * @since 0.1.0\n */\n\nimport * as Clock from \"effect/Clock\"\nimport type * as Crypto from \"effect/Crypto\"\nimport * as Duration from \"effect/Duration\"\nimport * as Effect from \"effect/Effect\"\nimport * as Option from \"effect/Option\"\nimport type * as Schema from \"effect/Schema\"\nimport * as Action from \"./Action/index.ts\"\nimport * as DurableDeferred from \"./DurableDeferred.ts\"\nimport { FlowInstance } from \"./FlowRuntime/FlowInstance.ts\"\nimport { FlowRuntime } from \"./FlowRuntime/FlowRuntime.ts\"\n\nconst TypeId = \"@smthrs/flow/DurableClock\"\n\n/**\n * Represents a durable flow timer with a name, duration, and deferred\n * completed when the timer wakes.\n *\n * @category models\n * @since 0.1.0\n */\nexport interface DurableClock {\n readonly [TypeId]: typeof TypeId\n readonly name: string\n readonly duration: Duration.Duration\n readonly deferred: DurableDeferred.DurableDeferred<typeof Schema.Void>\n}\n\n/**\n * Parses one author-supplied duration and requires it to be finite and\n * nonnegative. Invalid input throws `RangeError` so the authoring mistake is\n * caught at declaration time, matching `Flow.make` and `Poll.make`.\n *\n * @private\n */\nconst durationFromInput = (input: Duration.Input, field: string): Duration.Duration => {\n const parsed = Duration.fromInput(input)\n if (Option.isNone(parsed)) {\n throw new RangeError(`DurableClock: \"${field}\" must be a valid finite duration that is not negative.`)\n }\n const millis = Duration.toMillis(parsed.value)\n if (!Duration.isFinite(parsed.value) || !Number.isFinite(millis) || millis < 0) {\n throw new RangeError(`DurableClock: \"${field}\" must be a valid finite duration that is not negative.`)\n }\n return parsed.value\n}\n\n/**\n * The latest due time a durable timer records, in epoch milliseconds: a store\n * keeps a clock's due time as a safe integer.\n *\n * @private\n */\nconst latestDueAtMs = Number.MAX_SAFE_INTEGER\n\n/**\n * Parses a clock's own duration, which a store adds to the current time and\n * records, so it is at most {@link latestDueAtMs} milliseconds.\n *\n * @private\n */\nconst clockDuration = (input: Duration.Input): Duration.Duration => {\n const duration = durationFromInput(input, \"duration\")\n if (Duration.toMillis(duration) > latestDueAtMs) {\n throw new RangeError(`DurableClock: \"duration\" must be at most ${latestDueAtMs} milliseconds.`)\n }\n return duration\n}\n\nconst makeClock = (name: string, duration: Duration.Duration): DurableClock => ({\n [TypeId]: TypeId,\n name,\n duration,\n deferred: DurableDeferred.make(`DurableClock/${name}`)\n})\n\n/**\n * Declares one durable clock after validating its finite nonnegative duration.\n *\n * Throws a `RangeError` for a malformed, infinite or negative duration, or one\n * longer than `Number.MAX_SAFE_INTEGER` milliseconds: a durable store records\n * a clock's due time as a safe integer.\n *\n * @category constructors\n * @since 0.1.0\n */\nexport const make = (options: {\n readonly name: string\n readonly duration: Duration.Input\n}): DurableClock => makeClock(options.name, clockDuration(options.duration))\n\n/**\n * Waits inside a flow, using an in-memory action for durations at or\n * below the threshold and scheduling a durable clock for longer durations.\n *\n * Throws a `RangeError` for the same durations {@link make} refuses, and for\n * a malformed, infinite or negative threshold. A durable sleep that would\n * wake after epoch millisecond `Number.MAX_SAFE_INTEGER` dies with a\n * `RangeError` instead of arming its clock.\n *\n * @category sleeping\n * @since 0.1.0\n */\nexport const sleep = (\n options: {\n readonly name: string\n readonly duration: Duration.Input\n /**\n * If the duration is less than or equal to this threshold, the clock will\n * be executed in memory.\n *\n * @default 60 seconds\n */\n readonly inMemoryThreshold?: Duration.Input | undefined\n }\n): Effect.Effect<\n void,\n never,\n Crypto.Crypto | FlowRuntime | FlowInstance\n> => {\n const name = options.name\n const duration = clockDuration(options.duration)\n const inMemoryThreshold = durationFromInput(\n options.inMemoryThreshold ?? defaultInMemoryThreshold,\n \"inMemoryThreshold\"\n )\n\n // Untraced because durable sleeps are recursively resumed by the engine.\n return Effect.fnUntraced(function*() {\n if (Duration.isZero(duration)) {\n return\n }\n\n if (Duration.isLessThanOrEqualTo(duration, inMemoryThreshold)) {\n return yield* Action.make({\n name: `DurableClock/${name}`,\n tier: \"sealed\",\n execute: Effect.sleep(duration)\n })\n }\n\n // A due time past the latest one a store records would fail the park\n // write deep in the engine, so the sleep refuses it here by name.\n const now = yield* Clock.currentTimeMillis\n if (now + Duration.toMillis(duration) > latestDueAtMs) {\n return yield* Effect.die(\n new RangeError(\n `DurableClock: \"${name}\" would wake after epoch millisecond ${latestDueAtMs}, ` +\n `the latest due time a durable timer records.`\n )\n )\n }\n const engine = yield* FlowRuntime\n const instance = yield* FlowInstance\n const clock = makeClock(name, duration)\n yield* engine.scheduleClock(instance.flow, {\n executionId: instance.executionId,\n clock\n })\n return yield* DurableDeferred.await(clock.deferred)\n })()\n}\n\nconst defaultInMemoryThreshold = Duration.seconds(60)\n"]}
|
|
@@ -0,0 +1,311 @@
|
|
|
1
|
+
import type { NonEmptyReadonlyArray } from "effect/Array";
|
|
2
|
+
import type * as Brand from "effect/Brand";
|
|
3
|
+
import * as Cause from "effect/Cause";
|
|
4
|
+
import type * as Crypto from "effect/Crypto";
|
|
5
|
+
import * as Effect from "effect/Effect";
|
|
6
|
+
import * as Exit from "effect/Exit";
|
|
7
|
+
import * as Schema from "effect/Schema";
|
|
8
|
+
import * as Flow from "./Flow/index.ts";
|
|
9
|
+
import { FlowInstance } from "./FlowRuntime/FlowInstance.ts";
|
|
10
|
+
import { FlowRuntime } from "./FlowRuntime/FlowRuntime.ts";
|
|
11
|
+
declare const TypeId = "@smthrs/flow/DurableDeferred";
|
|
12
|
+
/**
|
|
13
|
+
* Named durable deferred value whose completion is persisted by the flow
|
|
14
|
+
* engine and encoded with success and error schemas.
|
|
15
|
+
*
|
|
16
|
+
* @category models
|
|
17
|
+
* @since 0.1.0
|
|
18
|
+
*/
|
|
19
|
+
export interface DurableDeferred<Success extends Schema.Constraint, Error extends Schema.Constraint = Schema.Never> {
|
|
20
|
+
readonly [TypeId]: typeof TypeId;
|
|
21
|
+
readonly name: string;
|
|
22
|
+
readonly successSchema: Success;
|
|
23
|
+
readonly errorSchema: Error;
|
|
24
|
+
readonly exitSchema: Schema.Exit<Schema.Top, Schema.Top, Schema.Top>;
|
|
25
|
+
readonly withActionAttempt: Effect.Effect<DurableDeferred<Success, Error>>;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Type-erased durable deferred shape for APIs that only need the deferred
|
|
29
|
+
* identity and name.
|
|
30
|
+
*
|
|
31
|
+
* @category models
|
|
32
|
+
* @since 0.1.0
|
|
33
|
+
*/
|
|
34
|
+
export interface Any {
|
|
35
|
+
readonly [TypeId]: typeof TypeId;
|
|
36
|
+
readonly name: string;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Type-erased durable deferred shape that also exposes success, error, and
|
|
40
|
+
* exit schemas.
|
|
41
|
+
*
|
|
42
|
+
* @category models
|
|
43
|
+
* @since 0.1.0
|
|
44
|
+
*/
|
|
45
|
+
export interface AnyWithProps {
|
|
46
|
+
readonly [TypeId]: typeof TypeId;
|
|
47
|
+
readonly name: string;
|
|
48
|
+
readonly successSchema: Schema.Top;
|
|
49
|
+
readonly errorSchema: Schema.Top;
|
|
50
|
+
readonly exitSchema: Schema.Exit<any, any, any>;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Creates a named durable deferred with optional success and error schemas for
|
|
54
|
+
* persisted completion.
|
|
55
|
+
*
|
|
56
|
+
* @category constructors
|
|
57
|
+
* @since 0.1.0
|
|
58
|
+
*/
|
|
59
|
+
export declare const make: <Success extends Schema.Constraint = Schema.Void, Error extends Schema.Constraint = Schema.Never>(name: string, options?: {
|
|
60
|
+
readonly success?: Success | undefined;
|
|
61
|
+
readonly error?: Error | undefined;
|
|
62
|
+
}) => DurableDeferred<Success, Error>;
|
|
63
|
+
declare const await_: <Success extends Schema.Constraint, Error extends Schema.Constraint>(self: DurableDeferred<Success, Error>) => Effect.Effect<Success["Type"], Error["Type"], FlowRuntime | FlowInstance | Success["DecodingServices"] | Error["DecodingServices"]>;
|
|
64
|
+
export {
|
|
65
|
+
/**
|
|
66
|
+
* Waits for the durable deferred, suspending the current flow when no
|
|
67
|
+
* persisted completion is available.
|
|
68
|
+
*
|
|
69
|
+
* @category combinators
|
|
70
|
+
* @since 0.1.0
|
|
71
|
+
*/
|
|
72
|
+
await_ as await };
|
|
73
|
+
/**
|
|
74
|
+
* Runs an effect and records its exit into the durable deferred, resuming
|
|
75
|
+
* flows that are waiting on that deferred.
|
|
76
|
+
*
|
|
77
|
+
* @category combinators
|
|
78
|
+
* @since 0.1.0
|
|
79
|
+
*/
|
|
80
|
+
export declare const into: {
|
|
81
|
+
<Success extends Schema.Constraint, Error extends Schema.Constraint>(self: DurableDeferred<Success, Error>): <R>(effect: Effect.Effect<Success["Type"], Error["Type"], R>) => Effect.Effect<Success["Type"], Error["Type"], R | FlowRuntime | FlowInstance | Success["DecodingServices"] | Success["EncodingServices"] | Error["DecodingServices"] | Error["EncodingServices"]>;
|
|
82
|
+
<Success extends Schema.Constraint, Error extends Schema.Constraint, R>(effect: Effect.Effect<Success["Type"], Error["Type"], R>, self: DurableDeferred<Success, Error>): Effect.Effect<Success["Type"], Error["Type"], R | FlowRuntime | FlowInstance | Success["DecodingServices"] | Success["EncodingServices"] | Error["DecodingServices"] | Error["EncodingServices"]>;
|
|
83
|
+
};
|
|
84
|
+
/**
|
|
85
|
+
* Runs effects as a durable race, returning a previously persisted result when
|
|
86
|
+
* present or completing a named deferred with the first success. The race
|
|
87
|
+
* fails only when every effect fails.
|
|
88
|
+
*
|
|
89
|
+
* @category racing
|
|
90
|
+
* @since 0.1.0
|
|
91
|
+
*/
|
|
92
|
+
export declare const raceAll: <const Effects extends NonEmptyReadonlyArray<Effect.Effect<any, any, any>>, Success extends Schema.Schema<Effect.Success<Effects[number]>>, Error extends Schema.Schema<Effect.Error<Effects[number]>>>(options: {
|
|
93
|
+
name: string;
|
|
94
|
+
success: Success;
|
|
95
|
+
error: Error;
|
|
96
|
+
effects: Effects;
|
|
97
|
+
}) => Effect.Effect<Effect.Success<Effects[number]>, Effect.Error<Effects[number]>, Effect.Services<Effects[number]> | Success["DecodingServices"] | Success["EncodingServices"] | Error["DecodingServices"] | Error["EncodingServices"] | FlowRuntime | FlowInstance>;
|
|
98
|
+
/**
|
|
99
|
+
* Runtime brand identifier for durable deferred tokens.
|
|
100
|
+
*
|
|
101
|
+
* @category type IDs
|
|
102
|
+
* @since 0.1.0
|
|
103
|
+
*/
|
|
104
|
+
export declare const TokenTypeId = "@smthrs/flow/DurableDeferred/Token";
|
|
105
|
+
/**
|
|
106
|
+
* Type-level brand identifier for `Token` values.
|
|
107
|
+
*
|
|
108
|
+
* @category type IDs
|
|
109
|
+
* @since 0.1.0
|
|
110
|
+
*/
|
|
111
|
+
export type TokenTypeId = typeof TokenTypeId;
|
|
112
|
+
/**
|
|
113
|
+
* Branded string token identifying a durable deferred for a flow
|
|
114
|
+
* execution.
|
|
115
|
+
*
|
|
116
|
+
* A token is an address, not a credential. It is unsigned base64url JSON of
|
|
117
|
+
* the flow name, execution id, and deferred name, and `tokenFromExecutionId`
|
|
118
|
+
* and `tokenFromPayload` rebuild it from those values alone. Anyone who can
|
|
119
|
+
* call `done`, `succeed`, `fail`, `failCause`, or `HumanTask.answer` against
|
|
120
|
+
* the run's `FlowRuntime` can complete an open wait whose address they know or
|
|
121
|
+
* derive. A host that exposes completion to other parties must authorize the
|
|
122
|
+
* caller before it calls one of them.
|
|
123
|
+
*
|
|
124
|
+
* @category token
|
|
125
|
+
* @since 0.1.0
|
|
126
|
+
*/
|
|
127
|
+
export type Token = Brand.Branded<string, TokenTypeId>;
|
|
128
|
+
/**
|
|
129
|
+
* Schema for branded durable deferred tokens.
|
|
130
|
+
*
|
|
131
|
+
* @category token
|
|
132
|
+
* @since 0.1.0
|
|
133
|
+
*/
|
|
134
|
+
export declare const Token: Schema.brand<Schema.String, TokenTypeId>;
|
|
135
|
+
declare const TokenInvalid_base: Schema.Class<TokenInvalid, Schema.TaggedStruct<"@smthrs/flow/DurableDeferred/TokenInvalid", {
|
|
136
|
+
readonly code: Schema.withConstructorDefault<Schema.Literals<readonly ["malformed_token", "deferred_mismatch"]>>;
|
|
137
|
+
readonly message: Schema.String;
|
|
138
|
+
}>, Cause.YieldableError>;
|
|
139
|
+
/**
|
|
140
|
+
* A completion token could not be decoded into its durable address.
|
|
141
|
+
*
|
|
142
|
+
* @category errors
|
|
143
|
+
* @since 0.1.0
|
|
144
|
+
*/
|
|
145
|
+
export declare class TokenInvalid extends TokenInvalid_base {
|
|
146
|
+
}
|
|
147
|
+
declare const TokenParsed_base: Schema.Class<TokenParsed, Schema.Struct<{
|
|
148
|
+
readonly flowName: Schema.String;
|
|
149
|
+
readonly executionId: Schema.String;
|
|
150
|
+
readonly deferredName: Schema.String;
|
|
151
|
+
}>, {}>;
|
|
152
|
+
/**
|
|
153
|
+
* Schema for a decoded durable deferred token containing the flow
|
|
154
|
+
* name, execution ID, and deferred name.
|
|
155
|
+
*
|
|
156
|
+
* @category token
|
|
157
|
+
* @since 0.1.0
|
|
158
|
+
*/
|
|
159
|
+
export declare class TokenParsed extends TokenParsed_base {
|
|
160
|
+
/**
|
|
161
|
+
* Encodes the parsed flow, execution, and deferred names back into a token.
|
|
162
|
+
*
|
|
163
|
+
* @since 0.1.0
|
|
164
|
+
*/
|
|
165
|
+
get asToken(): Token;
|
|
166
|
+
/**
|
|
167
|
+
* Schema for decoding and encoding durable deferred tokens as strings.
|
|
168
|
+
*
|
|
169
|
+
* @since 0.1.0
|
|
170
|
+
*/
|
|
171
|
+
static readonly FromString: Schema.decodeTo<typeof TokenParsed, Schema.decodeTo<Schema.fromJsonString<Schema.Tuple<readonly [Schema.String, Schema.String, Schema.String]>>, Schema.String, never, never>, never, never>;
|
|
172
|
+
/**
|
|
173
|
+
* Decodes a durable deferred token string into its parsed components.
|
|
174
|
+
*
|
|
175
|
+
* @since 0.1.0
|
|
176
|
+
*/
|
|
177
|
+
static readonly fromString: (input: string, options?: import("effect/SchemaAST").ParseOptions) => TokenParsed;
|
|
178
|
+
/**
|
|
179
|
+
* Encodes parsed durable deferred token components into a token string.
|
|
180
|
+
*
|
|
181
|
+
* @since 0.1.0
|
|
182
|
+
*/
|
|
183
|
+
static readonly encode: (input: TokenParsed, options?: import("effect/SchemaAST").ParseOptions) => string;
|
|
184
|
+
/**
|
|
185
|
+
* Parses an untrusted token into its durable address with a typed,
|
|
186
|
+
* bounded diagnostic on failure.
|
|
187
|
+
*
|
|
188
|
+
* @category token
|
|
189
|
+
* @since 1.0.0
|
|
190
|
+
*/
|
|
191
|
+
static readonly parse: (token: string) => Effect.Effect<TokenParsed, TokenInvalid>;
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Creates a token for a durable deferred using the current flow instance's
|
|
195
|
+
* flow name and execution ID.
|
|
196
|
+
*
|
|
197
|
+
* @category token
|
|
198
|
+
* @since 0.1.0
|
|
199
|
+
*/
|
|
200
|
+
export declare const token: <Success extends Schema.Constraint, Error extends Schema.Constraint>(self: DurableDeferred<Success, Error>) => Effect.Effect<Token, never, FlowInstance>;
|
|
201
|
+
/**
|
|
202
|
+
* Creates a durable deferred token from an explicit flow, execution ID,
|
|
203
|
+
* and deferred name.
|
|
204
|
+
*
|
|
205
|
+
* @category token
|
|
206
|
+
* @since 0.1.0
|
|
207
|
+
*/
|
|
208
|
+
export declare const tokenFromExecutionId: {
|
|
209
|
+
(options: {
|
|
210
|
+
readonly flow: Flow.Any;
|
|
211
|
+
readonly executionId: string;
|
|
212
|
+
}): <Success extends Schema.Constraint, Error extends Schema.Constraint>(self: DurableDeferred<Success, Error>) => Token;
|
|
213
|
+
<Success extends Schema.Constraint, Error extends Schema.Constraint>(self: DurableDeferred<Success, Error>, options: {
|
|
214
|
+
readonly flow: Flow.Any;
|
|
215
|
+
readonly executionId: string;
|
|
216
|
+
}): Token;
|
|
217
|
+
};
|
|
218
|
+
/**
|
|
219
|
+
* Creates a durable deferred token by deriving the flow execution ID from
|
|
220
|
+
* the supplied flow payload.
|
|
221
|
+
*
|
|
222
|
+
* The payload identifies a previously started execution only when the flow
|
|
223
|
+
* declares `idempotencyKey` or the host installs the opt-in `derived`
|
|
224
|
+
* execution-id source. Otherwise the default `fresh` source mints a new
|
|
225
|
+
* execution ID on every call, so the token addresses no earlier run. To
|
|
226
|
+
* complete an existing execution without stable identity, keep its execution
|
|
227
|
+
* ID and use {@link tokenFromExecutionId}.
|
|
228
|
+
*
|
|
229
|
+
* @category token
|
|
230
|
+
* @since 0.1.0
|
|
231
|
+
*/
|
|
232
|
+
export declare const tokenFromPayload: {
|
|
233
|
+
<W extends Flow.Any>(options: {
|
|
234
|
+
readonly flow: W;
|
|
235
|
+
readonly payload: Flow.PayloadSchema<W>["~type.make.in"];
|
|
236
|
+
}): <Success extends Schema.Constraint, Error extends Schema.Constraint>(self: DurableDeferred<Success, Error>) => Effect.Effect<Token, never, Crypto.Crypto | Flow.PayloadSchema<W>["EncodingServices"]>;
|
|
237
|
+
<Success extends Schema.Constraint, Error extends Schema.Constraint, W extends Flow.Any>(self: DurableDeferred<Success, Error>, options: {
|
|
238
|
+
readonly flow: W;
|
|
239
|
+
readonly payload: Flow.PayloadSchema<W>["~type.make.in"];
|
|
240
|
+
}): Effect.Effect<Token, never, Crypto.Crypto | Flow.PayloadSchema<W>["EncodingServices"]>;
|
|
241
|
+
};
|
|
242
|
+
/**
|
|
243
|
+
* Completes the durable deferred identified by a token with the supplied exit,
|
|
244
|
+
* encoding the result through the deferred schemas.
|
|
245
|
+
*
|
|
246
|
+
* The token is not a credential (see {@link Token}): authorize the caller
|
|
247
|
+
* before completing a wait on its behalf.
|
|
248
|
+
*
|
|
249
|
+
* @category combinators
|
|
250
|
+
* @since 0.1.0
|
|
251
|
+
*/
|
|
252
|
+
export declare const done: {
|
|
253
|
+
<Success extends Schema.Constraint, Error extends Schema.Constraint>(options: {
|
|
254
|
+
readonly token: Token;
|
|
255
|
+
readonly exit: Exit.Exit<Success["Type"], Error["Type"]>;
|
|
256
|
+
}): (self: DurableDeferred<Success, Error>) => Effect.Effect<void, TokenInvalid, FlowRuntime | Success["EncodingServices"] | Error["EncodingServices"]>;
|
|
257
|
+
<Success extends Schema.Constraint, Error extends Schema.Constraint>(self: DurableDeferred<Success, Error>, options: {
|
|
258
|
+
readonly token: Token;
|
|
259
|
+
readonly exit: Exit.Exit<Success["Type"], Error["Type"]>;
|
|
260
|
+
}): Effect.Effect<void, TokenInvalid, FlowRuntime | Success["EncodingServices"] | Error["EncodingServices"]>;
|
|
261
|
+
};
|
|
262
|
+
/**
|
|
263
|
+
* Completes the durable deferred identified by a token with a successful
|
|
264
|
+
* value.
|
|
265
|
+
*
|
|
266
|
+
* @category combinators
|
|
267
|
+
* @since 0.1.0
|
|
268
|
+
*/
|
|
269
|
+
export declare const succeed: {
|
|
270
|
+
<Success extends Schema.Constraint, Error extends Schema.Constraint>(options: {
|
|
271
|
+
readonly token: Token;
|
|
272
|
+
readonly value: Success["Type"];
|
|
273
|
+
}): (self: DurableDeferred<Success, Error>) => Effect.Effect<void, TokenInvalid, FlowRuntime | Success["EncodingServices"]>;
|
|
274
|
+
<Success extends Schema.Constraint, Error extends Schema.Constraint>(self: DurableDeferred<Success, Error>, options: {
|
|
275
|
+
readonly token: Token;
|
|
276
|
+
readonly value: Success["Type"];
|
|
277
|
+
}): Effect.Effect<void, TokenInvalid, FlowRuntime | Success["EncodingServices"]>;
|
|
278
|
+
};
|
|
279
|
+
/**
|
|
280
|
+
* Completes the durable deferred identified by a token with a typed failure.
|
|
281
|
+
*
|
|
282
|
+
* @category combinators
|
|
283
|
+
* @since 0.1.0
|
|
284
|
+
*/
|
|
285
|
+
export declare const fail: {
|
|
286
|
+
<Success extends Schema.Constraint, Error extends Schema.Constraint>(options: {
|
|
287
|
+
readonly token: Token;
|
|
288
|
+
readonly error: Error["Type"];
|
|
289
|
+
}): (self: DurableDeferred<Success, Error>) => Effect.Effect<void, TokenInvalid, FlowRuntime | Error["EncodingServices"]>;
|
|
290
|
+
<Success extends Schema.Constraint, Error extends Schema.Constraint>(self: DurableDeferred<Success, Error>, options: {
|
|
291
|
+
readonly token: Token;
|
|
292
|
+
readonly error: Error["Type"];
|
|
293
|
+
}): Effect.Effect<void, TokenInvalid, FlowRuntime | Error["EncodingServices"]>;
|
|
294
|
+
};
|
|
295
|
+
/**
|
|
296
|
+
* Completes the durable deferred identified by a token with a failure cause.
|
|
297
|
+
*
|
|
298
|
+
* @category combinators
|
|
299
|
+
* @since 0.1.0
|
|
300
|
+
*/
|
|
301
|
+
export declare const failCause: {
|
|
302
|
+
<Success extends Schema.Constraint, Error extends Schema.Constraint>(options: {
|
|
303
|
+
readonly token: Token;
|
|
304
|
+
readonly cause: Cause.Cause<Error["Type"]>;
|
|
305
|
+
}): (self: DurableDeferred<Success, Error>) => Effect.Effect<void, TokenInvalid, FlowRuntime | Error["EncodingServices"]>;
|
|
306
|
+
<Success extends Schema.Constraint, Error extends Schema.Constraint>(self: DurableDeferred<Success, Error>, options: {
|
|
307
|
+
readonly token: Token;
|
|
308
|
+
readonly cause: Cause.Cause<Error["Type"]>;
|
|
309
|
+
}): Effect.Effect<void, TokenInvalid, FlowRuntime | Error["EncodingServices"]>;
|
|
310
|
+
};
|
|
311
|
+
//# sourceMappingURL=DurableDeferred.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DurableDeferred.d.ts","sourceRoot":"","sources":["../../src/DurableDeferred.ts"],"names":[],"mappings":"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"}
|