@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,158 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The environment description folded into every cross-run cache key.
|
|
3
|
+
*
|
|
4
|
+
* A cached result is only reusable on a host that would have produced the same
|
|
5
|
+
* bytes, so the key has to name the environment as well as the inputs — the
|
|
6
|
+
* platform, the toolchain, and the capability groups in force. Bazel's action
|
|
7
|
+
* key does the same thing for the same reason.
|
|
8
|
+
*
|
|
9
|
+
* It is a *complete* value on purpose: an environment a composition cannot
|
|
10
|
+
* fully describe is one whose cache hits cannot be justified, and the engine
|
|
11
|
+
* executes rather than guessing at the missing part.
|
|
12
|
+
*
|
|
13
|
+
* @since 0.1.0
|
|
14
|
+
*/
|
|
15
|
+
import * as PlanCachePolicy from "@smthrs/plan/CachePolicy";
|
|
16
|
+
import * as Schema from "effect/Schema";
|
|
17
|
+
/**
|
|
18
|
+
* Complete runtime environment included in every cross-run cache key.
|
|
19
|
+
*
|
|
20
|
+
* If a composition cannot provide this complete value, the engine executes
|
|
21
|
+
* normally but does not derive a cross-run cache key.
|
|
22
|
+
*
|
|
23
|
+
* @category models
|
|
24
|
+
* @since 0.1.0
|
|
25
|
+
*/
|
|
26
|
+
export type CacheEnvironment = typeof CacheEnvironment.Type;
|
|
27
|
+
/**
|
|
28
|
+
* Schema for the complete runtime environment included in cache keys.
|
|
29
|
+
*
|
|
30
|
+
* @category models
|
|
31
|
+
* @since 0.1.0
|
|
32
|
+
*/
|
|
33
|
+
export declare const CacheEnvironment: Schema.Struct<{
|
|
34
|
+
/** Ordered semantic runtime layers, including versions and configuration. */
|
|
35
|
+
readonly layers: Schema.$Array<Schema.NonEmptyString>;
|
|
36
|
+
/** Complete effective capability groups. */
|
|
37
|
+
readonly capabilities: Schema.$Record<Schema.String, Schema.$Array<Schema.NonEmptyString>>;
|
|
38
|
+
}>;
|
|
39
|
+
/**
|
|
40
|
+
* How far a recorded sealed result may travel.
|
|
41
|
+
*
|
|
42
|
+
* `shared` is the content-addressed default: the key names the inputs and the
|
|
43
|
+
* environment, so any run on any host that would have produced the same bytes
|
|
44
|
+
* may reuse the row. `run` and `flow` narrow that on purpose — a step whose
|
|
45
|
+
* result is only meaningful inside one execution, or inside one flow, folds
|
|
46
|
+
* that identity into its key so a sibling never reads it.
|
|
47
|
+
*
|
|
48
|
+
* This is `@smthrs/plan`'s `CachePolicy.CacheScope`, the one scope vocabulary
|
|
49
|
+
* `@smthrs/patterns` also declares its policy with.
|
|
50
|
+
*
|
|
51
|
+
* @category models
|
|
52
|
+
* @since 0.1.0
|
|
53
|
+
*/
|
|
54
|
+
export declare const CacheScope: Schema.Literals<readonly ["run", "flow", "shared"]>;
|
|
55
|
+
/**
|
|
56
|
+
* How far a recorded sealed result may travel.
|
|
57
|
+
*
|
|
58
|
+
* @category models
|
|
59
|
+
* @since 0.1.0
|
|
60
|
+
*/
|
|
61
|
+
export type CacheScope = PlanCachePolicy.CacheScope;
|
|
62
|
+
/**
|
|
63
|
+
* The caller's declaration about the decay and the reach of a sealed action's
|
|
64
|
+
* recorded result.
|
|
65
|
+
*
|
|
66
|
+
* `ttlMs` bounds the age of a row the engine may serve: past it the dispatch
|
|
67
|
+
* executes again and journals `cache-expired`, so the refusal is durable
|
|
68
|
+
* evidence a replay reads rather than a fresh clock reading. `scope` decides
|
|
69
|
+
* what the key names besides the inputs.
|
|
70
|
+
*
|
|
71
|
+
* This is `@smthrs/plan`'s `CachePolicy.CachePolicy`, the one policy schema.
|
|
72
|
+
*
|
|
73
|
+
* @category schemas
|
|
74
|
+
* @since 0.1.0
|
|
75
|
+
*/
|
|
76
|
+
export declare const CachePolicy: Schema.Struct<{
|
|
77
|
+
readonly ttlMs: Schema.optionalKey<Schema.Int>;
|
|
78
|
+
readonly scope: Schema.optionalKey<Schema.Literals<readonly ["run", "flow", "shared"]>>;
|
|
79
|
+
}>;
|
|
80
|
+
/**
|
|
81
|
+
* The caller's declaration about the decay and the reach of a sealed action's
|
|
82
|
+
* recorded result.
|
|
83
|
+
*
|
|
84
|
+
* @category models
|
|
85
|
+
* @since 0.1.0
|
|
86
|
+
*/
|
|
87
|
+
export type CachePolicy = PlanCachePolicy.CachePolicy;
|
|
88
|
+
/**
|
|
89
|
+
* Annotation key carrying a declaration's {@link CachePolicy}.
|
|
90
|
+
*
|
|
91
|
+
* It is an annotation, not a field on the action, for the same reason
|
|
92
|
+
* placement and effects are: the policy is data that travels with the
|
|
93
|
+
* declaration and is read by whoever executes it, and adding it changes no
|
|
94
|
+
* existing call site.
|
|
95
|
+
*
|
|
96
|
+
* It is `@smthrs/plan`'s `CachePolicy.CachePolicyAnnotation` itself, the same
|
|
97
|
+
* object `@smthrs/patterns` annotates a flow with, identified by
|
|
98
|
+
* `"@smthrs/flow/Action/CachePolicy"`.
|
|
99
|
+
*
|
|
100
|
+
* @category annotations
|
|
101
|
+
* @since 0.1.0
|
|
102
|
+
*/
|
|
103
|
+
export declare const CachePolicyAnnotation: import("effect/Context").Service<{
|
|
104
|
+
readonly ttlMs?: number;
|
|
105
|
+
readonly scope?: "run" | "flow" | "shared";
|
|
106
|
+
}, {
|
|
107
|
+
readonly ttlMs?: number;
|
|
108
|
+
readonly scope?: "run" | "flow" | "shared";
|
|
109
|
+
}>;
|
|
110
|
+
/**
|
|
111
|
+
* Reads the cache policy an annotation bag carries, or `undefined` when it
|
|
112
|
+
* carries none.
|
|
113
|
+
*
|
|
114
|
+
* @category getters
|
|
115
|
+
* @since 0.1.0
|
|
116
|
+
*/
|
|
117
|
+
export declare const cachePolicyOf: (annotations: import("effect/Context").Context<never>) => PlanCachePolicy.CachePolicy | undefined;
|
|
118
|
+
/**
|
|
119
|
+
* Declares a cache policy on an action.
|
|
120
|
+
*
|
|
121
|
+
* This is the form the engine honors today: `@smthrs/engine-store` reads
|
|
122
|
+
* {@link CachePolicyAnnotation} off the dispatched action, bounds the age of
|
|
123
|
+
* the row it may serve by `ttlMs`, and narrows the address that row is stored
|
|
124
|
+
* under from `scope`. `@smthrs/patterns`' `WithCache` declares the same policy
|
|
125
|
+
* over a `@smthrs/core` flow under the same annotation key, for the
|
|
126
|
+
* declaration surface, so a policy written by either is read by the engine.
|
|
127
|
+
*
|
|
128
|
+
* The action is not mutated. `annotate` returns a new declaration carrying the
|
|
129
|
+
* policy, which is what a plan captures.
|
|
130
|
+
*
|
|
131
|
+
* It is `@smthrs/plan`'s `CachePolicy.annotate` under this package's name for
|
|
132
|
+
* it.
|
|
133
|
+
*
|
|
134
|
+
* @example
|
|
135
|
+
* ```ts
|
|
136
|
+
* import { Action } from "@smthrs/flow"
|
|
137
|
+
* import * as CacheEnvironment from "@smthrs/flow/CacheEnvironment"
|
|
138
|
+
* import * as Effect from "effect/Effect"
|
|
139
|
+
* import * as Schema from "effect/Schema"
|
|
140
|
+
*
|
|
141
|
+
* const compile = CacheEnvironment.withCache(
|
|
142
|
+
* Action.make({
|
|
143
|
+
* name: "build/compile",
|
|
144
|
+
* success: Schema.String,
|
|
145
|
+
* tier: "sealed",
|
|
146
|
+
* execute: Effect.succeed("dist/server.js")
|
|
147
|
+
* }),
|
|
148
|
+
* { ttlMs: 60_000, scope: "shared" }
|
|
149
|
+
* )
|
|
150
|
+
* ```
|
|
151
|
+
*
|
|
152
|
+
* @category combinators
|
|
153
|
+
* @since 0.1.0
|
|
154
|
+
*/
|
|
155
|
+
export declare const withCache: <A extends {
|
|
156
|
+
annotate: (key: typeof PlanCachePolicy.CachePolicyAnnotation, value: PlanCachePolicy.CachePolicy) => A;
|
|
157
|
+
}>(declaration: A, policy: PlanCachePolicy.CachePolicy) => A;
|
|
158
|
+
//# sourceMappingURL=CacheEnvironment.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CacheEnvironment.d.ts","sourceRoot":"","sources":["../../../src/Action/CacheEnvironment.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,eAAe,MAAM,0BAA0B,CAAA;AAC3D,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAcvC;;;;;;;;GAQG;AACH,MAAM,MAAM,gBAAgB,GAAG,OAAO,gBAAgB,CAAC,IAAI,CAAA;AAE3D;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB;IAC3B,6EAA6E;;IAE7E,4CAA4C;;EAE5C,CAAA;AAEF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,UAAU,qDAA6B,CAAA;AAEpD;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAAG,eAAe,CAAC,UAAU,CAAA;AAEnD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,WAAW;;;EAA8B,CAAA;AAEtD;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GAAG,eAAe,CAAC,WAAW,CAAA;AAErD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,qBAAqB;;;;;;EAAwC,CAAA;AAE1E;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,mGAAgC,CAAA;AAE1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,eAAO,MAAM,SAAS;;4DAA2B,CAAA"}
|
|
@@ -0,0 +1,57 @@
|
|
|
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 CacheEnvironment_exports = {};
|
|
30
|
+
__export(CacheEnvironment_exports, {
|
|
31
|
+
CacheEnvironment: () => CacheEnvironment,
|
|
32
|
+
CachePolicy: () => CachePolicy,
|
|
33
|
+
CachePolicyAnnotation: () => CachePolicyAnnotation,
|
|
34
|
+
CacheScope: () => CacheScope,
|
|
35
|
+
cachePolicyOf: () => cachePolicyOf,
|
|
36
|
+
withCache: () => withCache
|
|
37
|
+
});
|
|
38
|
+
module.exports = __toCommonJS(CacheEnvironment_exports);
|
|
39
|
+
var PlanCachePolicy = __toESM(require("@smthrs/plan/CachePolicy"), 1);
|
|
40
|
+
var Schema = __toESM(require("effect/Schema"), 1);
|
|
41
|
+
const Capabilities = Schema.Record(Schema.String, Schema.Array(Schema.NonEmptyString)).check(
|
|
42
|
+
Schema.makeFilter(
|
|
43
|
+
(capabilities) => Object.keys(capabilities).every((name) => name.length > 0) || "Capability names must not be empty"
|
|
44
|
+
)
|
|
45
|
+
);
|
|
46
|
+
const CacheEnvironment = Schema.Struct({
|
|
47
|
+
/** Ordered semantic runtime layers, including versions and configuration. */
|
|
48
|
+
layers: Schema.Array(Schema.NonEmptyString),
|
|
49
|
+
/** Complete effective capability groups. */
|
|
50
|
+
capabilities: Capabilities
|
|
51
|
+
});
|
|
52
|
+
const CacheScope = PlanCachePolicy.CacheScope;
|
|
53
|
+
const CachePolicy = PlanCachePolicy.CachePolicy;
|
|
54
|
+
const CachePolicyAnnotation = PlanCachePolicy.CachePolicyAnnotation;
|
|
55
|
+
const cachePolicyOf = PlanCachePolicy.cachePolicyOf;
|
|
56
|
+
const withCache = PlanCachePolicy.annotate;
|
|
57
|
+
//# sourceMappingURL=CacheEnvironment.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/Action/CacheEnvironment.ts"],
|
|
4
|
+
"sourcesContent": ["// Deep reviewed and polished by a human on 2026-08-10.\n\n/**\n * The environment description folded into every cross-run cache key.\n *\n * A cached result is only reusable on a host that would have produced the same\n * bytes, so the key has to name the environment as well as the inputs \u2014 the\n * platform, the toolchain, and the capability groups in force. Bazel's action\n * key does the same thing for the same reason.\n *\n * It is a *complete* value on purpose: an environment a composition cannot\n * fully describe is one whose cache hits cannot be justified, and the engine\n * executes rather than guessing at the missing part.\n *\n * @since 0.1.0\n */\n\nimport * as PlanCachePolicy from \"@smthrs/plan/CachePolicy\"\nimport * as Schema from \"effect/Schema\"\n\n/**\n * Validates named capability groups.\n *\n * @private\n * @since 0.1.0\n */\nconst Capabilities = Schema.Record(Schema.String, Schema.Array(Schema.NonEmptyString)).check(\n Schema.makeFilter((capabilities) =>\n Object.keys(capabilities).every((name) => name.length > 0) || \"Capability names must not be empty\"\n )\n)\n\n/**\n * Complete runtime environment included in every cross-run cache key.\n *\n * If a composition cannot provide this complete value, the engine executes\n * normally but does not derive a cross-run cache key.\n *\n * @category models\n * @since 0.1.0\n */\nexport type CacheEnvironment = typeof CacheEnvironment.Type\n\n/**\n * Schema for the complete runtime environment included in cache keys.\n *\n * @category models\n * @since 0.1.0\n */\nexport const CacheEnvironment = Schema.Struct({\n /** Ordered semantic runtime layers, including versions and configuration. */\n layers: Schema.Array(Schema.NonEmptyString),\n /** Complete effective capability groups. */\n capabilities: Capabilities\n})\n\n/**\n * How far a recorded sealed result may travel.\n *\n * `shared` is the content-addressed default: the key names the inputs and the\n * environment, so any run on any host that would have produced the same bytes\n * may reuse the row. `run` and `flow` narrow that on purpose \u2014 a step whose\n * result is only meaningful inside one execution, or inside one flow, folds\n * that identity into its key so a sibling never reads it.\n *\n * This is `@smthrs/plan`'s `CachePolicy.CacheScope`, the one scope vocabulary\n * `@smthrs/patterns` also declares its policy with.\n *\n * @category models\n * @since 0.1.0\n */\nexport const CacheScope = PlanCachePolicy.CacheScope\n\n/**\n * How far a recorded sealed result may travel.\n *\n * @category models\n * @since 0.1.0\n */\nexport type CacheScope = PlanCachePolicy.CacheScope\n\n/**\n * The caller's declaration about the decay and the reach of a sealed action's\n * recorded result.\n *\n * `ttlMs` bounds the age of a row the engine may serve: past it the dispatch\n * executes again and journals `cache-expired`, so the refusal is durable\n * evidence a replay reads rather than a fresh clock reading. `scope` decides\n * what the key names besides the inputs.\n *\n * This is `@smthrs/plan`'s `CachePolicy.CachePolicy`, the one policy schema.\n *\n * @category schemas\n * @since 0.1.0\n */\nexport const CachePolicy = PlanCachePolicy.CachePolicy\n\n/**\n * The caller's declaration about the decay and the reach of a sealed action's\n * recorded result.\n *\n * @category models\n * @since 0.1.0\n */\nexport type CachePolicy = PlanCachePolicy.CachePolicy\n\n/**\n * Annotation key carrying a declaration's {@link CachePolicy}.\n *\n * It is an annotation, not a field on the action, for the same reason\n * placement and effects are: the policy is data that travels with the\n * declaration and is read by whoever executes it, and adding it changes no\n * existing call site.\n *\n * It is `@smthrs/plan`'s `CachePolicy.CachePolicyAnnotation` itself, the same\n * object `@smthrs/patterns` annotates a flow with, identified by\n * `\"@smthrs/flow/Action/CachePolicy\"`.\n *\n * @category annotations\n * @since 0.1.0\n */\nexport const CachePolicyAnnotation = PlanCachePolicy.CachePolicyAnnotation\n\n/**\n * Reads the cache policy an annotation bag carries, or `undefined` when it\n * carries none.\n *\n * @category getters\n * @since 0.1.0\n */\nexport const cachePolicyOf = PlanCachePolicy.cachePolicyOf\n\n/**\n * Declares a cache policy on an action.\n *\n * This is the form the engine honors today: `@smthrs/engine-store` reads\n * {@link CachePolicyAnnotation} off the dispatched action, bounds the age of\n * the row it may serve by `ttlMs`, and narrows the address that row is stored\n * under from `scope`. `@smthrs/patterns`' `WithCache` declares the same policy\n * over a `@smthrs/core` flow under the same annotation key, for the\n * declaration surface, so a policy written by either is read by the engine.\n *\n * The action is not mutated. `annotate` returns a new declaration carrying the\n * policy, which is what a plan captures.\n *\n * It is `@smthrs/plan`'s `CachePolicy.annotate` under this package's name for\n * it.\n *\n * @example\n * ```ts\n * import { Action } from \"@smthrs/flow\"\n * import * as CacheEnvironment from \"@smthrs/flow/CacheEnvironment\"\n * import * as Effect from \"effect/Effect\"\n * import * as Schema from \"effect/Schema\"\n *\n * const compile = CacheEnvironment.withCache(\n * Action.make({\n * name: \"build/compile\",\n * success: Schema.String,\n * tier: \"sealed\",\n * execute: Effect.succeed(\"dist/server.js\")\n * }),\n * { ttlMs: 60_000, scope: \"shared\" }\n * )\n * ```\n *\n * @category combinators\n * @since 0.1.0\n */\nexport const withCache = PlanCachePolicy.annotate\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiBA,sBAAiC;AACjC,aAAwB;AAQxB,MAAM,eAAe,OAAO,OAAO,OAAO,QAAQ,OAAO,MAAM,OAAO,cAAc,CAAC,EAAE;AAAA,EACrF,OAAO;AAAA,IAAW,CAAC,iBACjB,OAAO,KAAK,YAAY,EAAE,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC,KAAK;AAAA,EAChE;AACF;AAmBO,MAAM,mBAAmB,OAAO,OAAO;AAAA;AAAA,EAE5C,QAAQ,OAAO,MAAM,OAAO,cAAc;AAAA;AAAA,EAE1C,cAAc;AAChB,CAAC;AAiBM,MAAM,aAAa,gBAAgB;AAwBnC,MAAM,cAAc,gBAAgB;AA0BpC,MAAM,wBAAwB,gBAAgB;AAS9C,MAAM,gBAAgB,gBAAgB;AAuCtC,MAAM,YAAY,gBAAgB;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Defines the `ConcurrentKeylessDispatch` 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 ConcurrentKeylessDispatch_base: Schema.Class<ConcurrentKeylessDispatch, Schema.TaggedStruct<"@smthrs/flow/ConcurrentKeylessDispatch", {
|
|
12
|
+
readonly code: Schema.withConstructorDefault<Schema.Literal<"concurrent_keyless_dispatch">>;
|
|
13
|
+
readonly actionName: Schema.String;
|
|
14
|
+
}>, import("effect/Cause").YieldableError>;
|
|
15
|
+
/**
|
|
16
|
+
* Two ordinal-keyed invocations of one allocation scope were in flight
|
|
17
|
+
* concurrently, either keyless invocations of one declaration or same-key
|
|
18
|
+
* invocations at a non-sealed tier (issue #130), so their ordinals, and with
|
|
19
|
+
* them their step keys, attempt rows, and recorded outcomes, would be
|
|
20
|
+
* assigned by fiber arrival order. A crash-resume that replays the fibers in
|
|
21
|
+
* the opposite order would silently hand one invocation the other's recorded
|
|
22
|
+
* outcome (issue #111); Temporal fails such replays with a nondeterminism
|
|
23
|
+
* error, and the engine refuses the hazard up front instead of detecting it
|
|
24
|
+
* after the corruption. Declare an `idempotencyKey` *distinguishing* the
|
|
25
|
+
* invocations to dispatch them concurrently; a sealed action with a key
|
|
26
|
+
* takes a pure cache key and is exempt.
|
|
27
|
+
*
|
|
28
|
+
* @category errors
|
|
29
|
+
* @since 0.1.0
|
|
30
|
+
*/
|
|
31
|
+
export declare class ConcurrentKeylessDispatch extends ConcurrentKeylessDispatch_base {
|
|
32
|
+
}
|
|
33
|
+
export {};
|
|
34
|
+
//# sourceMappingURL=ConcurrentKeylessDispatch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConcurrentKeylessDispatch.d.ts","sourceRoot":"","sources":["../../../src/Action/ConcurrentKeylessDispatch.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;;;;;AAEvC;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,yBAA0B,SAAQ,8BAQ9C;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 ConcurrentKeylessDispatch_exports = {};
|
|
30
|
+
__export(ConcurrentKeylessDispatch_exports, {
|
|
31
|
+
ConcurrentKeylessDispatch: () => ConcurrentKeylessDispatch
|
|
32
|
+
});
|
|
33
|
+
module.exports = __toCommonJS(ConcurrentKeylessDispatch_exports);
|
|
34
|
+
var Effect = __toESM(require("effect/Effect"), 1);
|
|
35
|
+
var Schema = __toESM(require("effect/Schema"), 1);
|
|
36
|
+
class ConcurrentKeylessDispatch extends Schema.TaggedError()(
|
|
37
|
+
"@smthrs/flow/ConcurrentKeylessDispatch",
|
|
38
|
+
{
|
|
39
|
+
code: Schema.Literal("concurrent_keyless_dispatch").pipe(
|
|
40
|
+
Schema.withConstructorDefault(Effect.succeed("concurrent_keyless_dispatch"))
|
|
41
|
+
),
|
|
42
|
+
actionName: Schema.String
|
|
43
|
+
}
|
|
44
|
+
) {
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=ConcurrentKeylessDispatch.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/Action/ConcurrentKeylessDispatch.ts"],
|
|
4
|
+
"sourcesContent": ["/**\n * Defines the `ConcurrentKeylessDispatch` 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 * Two ordinal-keyed invocations of one allocation scope were in flight\n * concurrently, either keyless invocations of one declaration or same-key\n * invocations at a non-sealed tier (issue #130), so their ordinals, and with\n * them their step keys, attempt rows, and recorded outcomes, would be\n * assigned by fiber arrival order. A crash-resume that replays the fibers in\n * the opposite order would silently hand one invocation the other's recorded\n * outcome (issue #111); Temporal fails such replays with a nondeterminism\n * error, and the engine refuses the hazard up front instead of detecting it\n * after the corruption. Declare an `idempotencyKey` *distinguishing* the\n * invocations to dispatch them concurrently; a sealed action with a key\n * takes a pure cache key and is exempt.\n *\n * @category errors\n * @since 0.1.0\n */\nexport class ConcurrentKeylessDispatch extends Schema.TaggedError<ConcurrentKeylessDispatch>()(\n \"@smthrs/flow/ConcurrentKeylessDispatch\",\n {\n code: Schema.Literal(\"concurrent_keyless_dispatch\").pipe(\n Schema.withConstructorDefault(Effect.succeed(\"concurrent_keyless_dispatch\"))\n ),\n actionName: Schema.String\n }\n) {}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAUA,aAAwB;AACxB,aAAwB;AAkBjB,MAAM,kCAAkC,OAAO,YAAuC;AAAA,EAC3F;AAAA,EACA;AAAA,IACE,MAAM,OAAO,QAAQ,6BAA6B,EAAE;AAAA,MAClD,OAAO,uBAAuB,OAAO,QAAQ,6BAA6B,CAAC;AAAA,IAC7E;AAAA,IACA,YAAY,OAAO;AAAA,EACrB;AACF,EAAE;AAAC;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Defines runtime context carried across action attempts.
|
|
3
|
+
*
|
|
4
|
+
* @since 0.1.0
|
|
5
|
+
*/
|
|
6
|
+
import * as Context from "effect/Context";
|
|
7
|
+
import * as Effect from "effect/Effect";
|
|
8
|
+
import * as Layer from "effect/Layer";
|
|
9
|
+
import type { CacheEnvironment } from "./CacheEnvironment.ts";
|
|
10
|
+
/**
|
|
11
|
+
* Context reference carrying the complete environment folded into reusable
|
|
12
|
+
* action keys.
|
|
13
|
+
*
|
|
14
|
+
* A composition either provides a complete {@link CacheEnvironment} or leaves
|
|
15
|
+
* it absent. When absent, the engine scopes action keys to the current run
|
|
16
|
+
* instead of presenting incomplete environment data as reusable identity.
|
|
17
|
+
*
|
|
18
|
+
* @category idempotency
|
|
19
|
+
* @since 0.1.0
|
|
20
|
+
*/
|
|
21
|
+
export declare const CurrentCacheEnvironment: Context.Reference<{
|
|
22
|
+
readonly layers: readonly string[];
|
|
23
|
+
readonly capabilities: {
|
|
24
|
+
readonly [x: string]: readonly string[];
|
|
25
|
+
};
|
|
26
|
+
} | undefined>;
|
|
27
|
+
/**
|
|
28
|
+
* Declares the complete cache environment of a composition as a layer.
|
|
29
|
+
*
|
|
30
|
+
* **When to use**
|
|
31
|
+
*
|
|
32
|
+
* Use this only when the composition can identify every semantic runtime
|
|
33
|
+
* layer and its complete capability set. Otherwise leave the context absent.
|
|
34
|
+
*
|
|
35
|
+
* @category idempotency
|
|
36
|
+
* @since 0.1.0
|
|
37
|
+
*/
|
|
38
|
+
export declare const layerCacheEnvironment: (environment: CacheEnvironment) => Layer.Layer<never>;
|
|
39
|
+
/**
|
|
40
|
+
* The ordinal slots a retry sequence shares across its attempts, keyed by
|
|
41
|
+
* allocation scope.
|
|
42
|
+
*
|
|
43
|
+
* `Action.retry` cannot allocate ordinals itself — allocation is scoped by
|
|
44
|
+
* action identity and only the engine knows which action is being
|
|
45
|
+
* dispatched (issue #73) — so it provides an empty map the engine fills per
|
|
46
|
+
* scope on the first attempt and reads back on every later one. The map is
|
|
47
|
+
* scope-keyed rather than a single value because one retry block may
|
|
48
|
+
* dispatch several distinct actions; a shared unkeyed slot handed the
|
|
49
|
+
* first action's ordinal to every later one, silently skipping their own
|
|
50
|
+
* name-scoped counters and aliasing a later independent dispatch onto an
|
|
51
|
+
* in-block key (issue #84).
|
|
52
|
+
*
|
|
53
|
+
* Each scope pins a *sequence* of ordinals rather than a single value
|
|
54
|
+
* (issue #100): one retry block may dispatch the same declaration several
|
|
55
|
+
* times, and a single-valued slot handed the first dispatch's ordinal to
|
|
56
|
+
* every later one, so the second dispatch silently replayed the first's
|
|
57
|
+
* recorded outcome. `cursors` counts the dispatches of each scope within the
|
|
58
|
+
* current attempt — `Action.retry` resets it at every attempt boundary —
|
|
59
|
+
* so the n-th same-scope dispatch of every attempt reuses the n-th pinned
|
|
60
|
+
* ordinal.
|
|
61
|
+
*
|
|
62
|
+
* @category attempts
|
|
63
|
+
* @since 0.1.0
|
|
64
|
+
*/
|
|
65
|
+
export interface OrdinalSlot {
|
|
66
|
+
readonly values: Map<string, Array<number>>;
|
|
67
|
+
readonly cursors: Map<string, number>;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Context reference carrying the ordinal slot of the enclosing
|
|
71
|
+
* `Action.retry` sequence, when present.
|
|
72
|
+
*
|
|
73
|
+
* @category attempts
|
|
74
|
+
* @since 0.1.0
|
|
75
|
+
*/
|
|
76
|
+
export declare const CurrentOrdinal: Context.Reference<OrdinalSlot | undefined>;
|
|
77
|
+
/**
|
|
78
|
+
* Context reference containing the current action retry attempt, defaulting
|
|
79
|
+
* to `1`.
|
|
80
|
+
*
|
|
81
|
+
* @category attempts
|
|
82
|
+
* @since 0.1.0
|
|
83
|
+
*/
|
|
84
|
+
export declare const CurrentAttempt: Context.Reference<number>;
|
|
85
|
+
/**
|
|
86
|
+
* Context reference carrying the persisted key of the dispatch an
|
|
87
|
+
* implementation is currently running under, when the runtime supplies one.
|
|
88
|
+
*
|
|
89
|
+
* **When to use**
|
|
90
|
+
*
|
|
91
|
+
* Use it in an action implementation that has to name durable state of its
|
|
92
|
+
* own — `Sleep` names a `DurableClock` — so the name it derives belongs to
|
|
93
|
+
* THIS dispatch. The key is the identity the engine already allocated for the
|
|
94
|
+
* dispatch: its attempt rows, its recorded outcome, and its cache row are
|
|
95
|
+
* addressed by it, so it is stable across every replay of one node and
|
|
96
|
+
* distinct between two identical calls of the same declaration. Deriving from
|
|
97
|
+
* it is therefore the only way an implementation gets both properties without
|
|
98
|
+
* allocating a second identity beside the engine's.
|
|
99
|
+
*
|
|
100
|
+
* **Gotchas**
|
|
101
|
+
*
|
|
102
|
+
* A runtime that has not adopted the seam leaves the reference absent rather
|
|
103
|
+
* than substituting a placeholder, because a placeholder would silently alias
|
|
104
|
+
* every dispatch of one declaration onto one name. An implementation that
|
|
105
|
+
* needs durable identity refuses instead.
|
|
106
|
+
*
|
|
107
|
+
* @category idempotency
|
|
108
|
+
* @since 0.1.0
|
|
109
|
+
*/
|
|
110
|
+
export declare const CurrentInvocationKey: Context.Reference<string | undefined>;
|
|
111
|
+
/**
|
|
112
|
+
* Context reference carrying the heartbeat of the attempt currently running,
|
|
113
|
+
* which the runtime installs for an action declared with
|
|
114
|
+
* `heartbeatTimeoutMs`. Outside such an attempt it does nothing.
|
|
115
|
+
*
|
|
116
|
+
* @category attempts
|
|
117
|
+
* @since 1.0.0
|
|
118
|
+
*/
|
|
119
|
+
export declare const CurrentHeartbeat: Context.Reference<Effect.Effect<void, never, never>>;
|
|
120
|
+
/**
|
|
121
|
+
* Reports that the running action attempt is still making progress.
|
|
122
|
+
*
|
|
123
|
+
* An action declared with `heartbeatTimeoutMs` fails its attempt with
|
|
124
|
+
* `AttemptTimedOut` when that long passes without a heartbeat; each call
|
|
125
|
+
* restarts the gap. In any other action it is a no-op.
|
|
126
|
+
*
|
|
127
|
+
* @category attempts
|
|
128
|
+
* @since 1.0.0
|
|
129
|
+
*/
|
|
130
|
+
export declare const heartbeat: Effect.Effect<void>;
|
|
131
|
+
//# sourceMappingURL=Context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Context.d.ts","sourceRoot":"","sources":["../../../src/Action/Context.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AAEH,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAE7D;;;;;;;;;;GAUG;AACH,eAAO,MAAM,uBAAuB;;;;;cAGnC,CAAA;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,qBAAqB,GAChC,aAAa,gBAAgB,KAC5B,KAAK,CAAC,KAAK,CAAC,KAAK,CAAwD,CAAA;AAE5E;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;IAC3C,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACtC;AAED;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,4CAG1B,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,2BAG1B,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,oBAAoB,uCAGhC,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,sDAG5B,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAGxC,CAAA"}
|
|
@@ -0,0 +1,68 @@
|
|
|
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 Context_exports = {};
|
|
30
|
+
__export(Context_exports, {
|
|
31
|
+
CurrentAttempt: () => CurrentAttempt,
|
|
32
|
+
CurrentCacheEnvironment: () => CurrentCacheEnvironment,
|
|
33
|
+
CurrentHeartbeat: () => CurrentHeartbeat,
|
|
34
|
+
CurrentInvocationKey: () => CurrentInvocationKey,
|
|
35
|
+
CurrentOrdinal: () => CurrentOrdinal,
|
|
36
|
+
heartbeat: () => heartbeat,
|
|
37
|
+
layerCacheEnvironment: () => layerCacheEnvironment
|
|
38
|
+
});
|
|
39
|
+
module.exports = __toCommonJS(Context_exports);
|
|
40
|
+
var Context = __toESM(require("effect/Context"), 1);
|
|
41
|
+
var Effect = __toESM(require("effect/Effect"), 1);
|
|
42
|
+
var Layer = __toESM(require("effect/Layer"), 1);
|
|
43
|
+
const CurrentCacheEnvironment = Context.Reference(
|
|
44
|
+
"@smthrs/flow/Action/CurrentCacheEnvironment",
|
|
45
|
+
{ defaultValue: () => void 0 }
|
|
46
|
+
);
|
|
47
|
+
const layerCacheEnvironment = (environment) => Layer.succeed(CurrentCacheEnvironment)(environment);
|
|
48
|
+
const CurrentOrdinal = Context.Reference(
|
|
49
|
+
"@smthrs/flow/Action/CurrentOrdinal",
|
|
50
|
+
{ defaultValue: () => void 0 }
|
|
51
|
+
);
|
|
52
|
+
const CurrentAttempt = Context.Reference(
|
|
53
|
+
"@smthrs/flow/Action/CurrentAttempt",
|
|
54
|
+
{ defaultValue: () => 1 }
|
|
55
|
+
);
|
|
56
|
+
const CurrentInvocationKey = Context.Reference(
|
|
57
|
+
"@smthrs/flow/Action/CurrentInvocationKey",
|
|
58
|
+
{ defaultValue: () => void 0 }
|
|
59
|
+
);
|
|
60
|
+
const CurrentHeartbeat = Context.Reference(
|
|
61
|
+
"@smthrs/flow/Action/CurrentHeartbeat",
|
|
62
|
+
{ defaultValue: () => Effect.void }
|
|
63
|
+
);
|
|
64
|
+
const heartbeat = Effect.gen(function* () {
|
|
65
|
+
const beat = yield* CurrentHeartbeat;
|
|
66
|
+
yield* beat;
|
|
67
|
+
});
|
|
68
|
+
//# sourceMappingURL=Context.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/Action/Context.ts"],
|
|
4
|
+
"sourcesContent": ["// Deep reviewed and polished by a human on 2026-08-10.\n\n/**\n * Defines runtime context carried across action attempts.\n *\n * @since 0.1.0\n */\n\nimport * as Context from \"effect/Context\"\nimport * as Effect from \"effect/Effect\"\nimport * as Layer from \"effect/Layer\"\nimport type { CacheEnvironment } from \"./CacheEnvironment.ts\"\n\n/**\n * Context reference carrying the complete environment folded into reusable\n * action keys.\n *\n * A composition either provides a complete {@link CacheEnvironment} or leaves\n * it absent. When absent, the engine scopes action keys to the current run\n * instead of presenting incomplete environment data as reusable identity.\n *\n * @category idempotency\n * @since 0.1.0\n */\nexport const CurrentCacheEnvironment = Context.Reference<CacheEnvironment | undefined>(\n \"@smthrs/flow/Action/CurrentCacheEnvironment\",\n { defaultValue: () => undefined }\n)\n\n/**\n * Declares the complete cache environment of a composition as a layer.\n *\n * **When to use**\n *\n * Use this only when the composition can identify every semantic runtime\n * layer and its complete capability set. Otherwise leave the context absent.\n *\n * @category idempotency\n * @since 0.1.0\n */\nexport const layerCacheEnvironment = (\n environment: CacheEnvironment\n): Layer.Layer<never> => Layer.succeed(CurrentCacheEnvironment)(environment)\n\n/**\n * The ordinal slots a retry sequence shares across its attempts, keyed by\n * allocation scope.\n *\n * `Action.retry` cannot allocate ordinals itself \u2014 allocation is scoped by\n * action identity and only the engine knows which action is being\n * dispatched (issue #73) \u2014 so it provides an empty map the engine fills per\n * scope on the first attempt and reads back on every later one. The map is\n * scope-keyed rather than a single value because one retry block may\n * dispatch several distinct actions; a shared unkeyed slot handed the\n * first action's ordinal to every later one, silently skipping their own\n * name-scoped counters and aliasing a later independent dispatch onto an\n * in-block key (issue #84).\n *\n * Each scope pins a *sequence* of ordinals rather than a single value\n * (issue #100): one retry block may dispatch the same declaration several\n * times, and a single-valued slot handed the first dispatch's ordinal to\n * every later one, so the second dispatch silently replayed the first's\n * recorded outcome. `cursors` counts the dispatches of each scope within the\n * current attempt \u2014 `Action.retry` resets it at every attempt boundary \u2014\n * so the n-th same-scope dispatch of every attempt reuses the n-th pinned\n * ordinal.\n *\n * @category attempts\n * @since 0.1.0\n */\nexport interface OrdinalSlot {\n readonly values: Map<string, Array<number>>\n readonly cursors: Map<string, number>\n}\n\n/**\n * Context reference carrying the ordinal slot of the enclosing\n * `Action.retry` sequence, when present.\n *\n * @category attempts\n * @since 0.1.0\n */\nexport const CurrentOrdinal = Context.Reference<OrdinalSlot | undefined>(\n \"@smthrs/flow/Action/CurrentOrdinal\",\n { defaultValue: () => undefined }\n)\n\n/**\n * Context reference containing the current action retry attempt, defaulting\n * to `1`.\n *\n * @category attempts\n * @since 0.1.0\n */\nexport const CurrentAttempt = Context.Reference<number>(\n \"@smthrs/flow/Action/CurrentAttempt\",\n { defaultValue: () => 1 }\n)\n\n/**\n * Context reference carrying the persisted key of the dispatch an\n * implementation is currently running under, when the runtime supplies one.\n *\n * **When to use**\n *\n * Use it in an action implementation that has to name durable state of its\n * own \u2014 `Sleep` names a `DurableClock` \u2014 so the name it derives belongs to\n * THIS dispatch. The key is the identity the engine already allocated for the\n * dispatch: its attempt rows, its recorded outcome, and its cache row are\n * addressed by it, so it is stable across every replay of one node and\n * distinct between two identical calls of the same declaration. Deriving from\n * it is therefore the only way an implementation gets both properties without\n * allocating a second identity beside the engine's.\n *\n * **Gotchas**\n *\n * A runtime that has not adopted the seam leaves the reference absent rather\n * than substituting a placeholder, because a placeholder would silently alias\n * every dispatch of one declaration onto one name. An implementation that\n * needs durable identity refuses instead.\n *\n * @category idempotency\n * @since 0.1.0\n */\nexport const CurrentInvocationKey = Context.Reference<string | undefined>(\n \"@smthrs/flow/Action/CurrentInvocationKey\",\n { defaultValue: () => undefined }\n)\n\n/**\n * Context reference carrying the heartbeat of the attempt currently running,\n * which the runtime installs for an action declared with\n * `heartbeatTimeoutMs`. Outside such an attempt it does nothing.\n *\n * @category attempts\n * @since 1.0.0\n */\nexport const CurrentHeartbeat = Context.Reference<Effect.Effect<void>>(\n \"@smthrs/flow/Action/CurrentHeartbeat\",\n { defaultValue: () => Effect.void }\n)\n\n/**\n * Reports that the running action attempt is still making progress.\n *\n * An action declared with `heartbeatTimeoutMs` fails its attempt with\n * `AttemptTimedOut` when that long passes without a heartbeat; each call\n * restarts the gap. In any other action it is a no-op.\n *\n * @category attempts\n * @since 1.0.0\n */\nexport const heartbeat: Effect.Effect<void> = Effect.gen(function*() {\n const beat = yield* CurrentHeartbeat\n yield* beat\n})\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,cAAyB;AACzB,aAAwB;AACxB,YAAuB;AAchB,MAAM,0BAA0B,QAAQ;AAAA,EAC7C;AAAA,EACA,EAAE,cAAc,MAAM,OAAU;AAClC;AAaO,MAAM,wBAAwB,CACnC,gBACuB,MAAM,QAAQ,uBAAuB,EAAE,WAAW;AAwCpE,MAAM,iBAAiB,QAAQ;AAAA,EACpC;AAAA,EACA,EAAE,cAAc,MAAM,OAAU;AAClC;AASO,MAAM,iBAAiB,QAAQ;AAAA,EACpC;AAAA,EACA,EAAE,cAAc,MAAM,EAAE;AAC1B;AA2BO,MAAM,uBAAuB,QAAQ;AAAA,EAC1C;AAAA,EACA,EAAE,cAAc,MAAM,OAAU;AAClC;AAUO,MAAM,mBAAmB,QAAQ;AAAA,EACtC;AAAA,EACA,EAAE,cAAc,MAAM,OAAO,KAAK;AACpC;AAYO,MAAM,YAAiC,OAAO,IAAI,aAAY;AACnE,QAAM,OAAO,OAAO;AACpB,SAAO;AACT,CAAC;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Defines the `DuplicateImplementation` action failure.
|
|
3
|
+
*
|
|
4
|
+
* @since 0.1.0
|
|
5
|
+
*/
|
|
6
|
+
import * as Schema from "effect/Schema";
|
|
7
|
+
declare const DuplicateImplementation_base: Schema.Class<DuplicateImplementation, Schema.TaggedStruct<"@smthrs/flow/Action/DuplicateImplementation", {
|
|
8
|
+
readonly name: Schema.String;
|
|
9
|
+
}>, import("effect/Cause").YieldableError>;
|
|
10
|
+
/**
|
|
11
|
+
* Two implementations competed for one action tag without an explicit override.
|
|
12
|
+
* @category errors
|
|
13
|
+
* @since 0.1.0
|
|
14
|
+
*/
|
|
15
|
+
export declare class DuplicateImplementation extends DuplicateImplementation_base {
|
|
16
|
+
/** @since 1.0.0 */
|
|
17
|
+
get message(): string;
|
|
18
|
+
}
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=DuplicateImplementation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DuplicateImplementation.d.ts","sourceRoot":"","sources":["../../../src/Action/DuplicateImplementation.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;;;;AAEvC;;;;GAIG;AACH,qBAAa,uBAAwB,SAAQ,4BAG5C;IAGC,mBAAmB;IACnB,IAAa,OAAO,IAAI,MAAM,CAE7B;CACF"}
|
|
@@ -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 DuplicateImplementation_exports = {};
|
|
30
|
+
__export(DuplicateImplementation_exports, {
|
|
31
|
+
DuplicateImplementation: () => DuplicateImplementation
|
|
32
|
+
});
|
|
33
|
+
module.exports = __toCommonJS(DuplicateImplementation_exports);
|
|
34
|
+
var Schema = __toESM(require("effect/Schema"), 1);
|
|
35
|
+
class DuplicateImplementation extends Schema.TaggedError()(
|
|
36
|
+
"@smthrs/flow/Action/DuplicateImplementation",
|
|
37
|
+
{ name: Schema.String }
|
|
38
|
+
) {
|
|
39
|
+
// The `name` field shadows `Error.name`, so without a message a recorded
|
|
40
|
+
// defect reads only as the bare action tag.
|
|
41
|
+
/** @since 1.0.0 */
|
|
42
|
+
get message() {
|
|
43
|
+
return `Action "${this.name}" already has an implementation in this registry; provide its layer once, or pass override: true to replace it`;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=DuplicateImplementation.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/Action/DuplicateImplementation.ts"],
|
|
4
|
+
"sourcesContent": ["/**\n * Defines the `DuplicateImplementation` action failure.\n *\n * @since 0.1.0\n */\n\nimport * as Schema from \"effect/Schema\"\n\n/**\n * Two implementations competed for one action tag without an explicit override.\n * @category errors\n * @since 0.1.0\n */\nexport class DuplicateImplementation extends Schema.TaggedError<DuplicateImplementation>()(\n \"@smthrs/flow/Action/DuplicateImplementation\",\n { name: Schema.String }\n) {\n // The `name` field shadows `Error.name`, so without a message a recorded\n // defect reads only as the bare action tag.\n /** @since 1.0.0 */\n override get message(): string {\n return `Action \"${this.name}\" already has an implementation in this registry; provide its layer once, or pass override: true to replace it`\n }\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,aAAwB;AAOjB,MAAM,gCAAgC,OAAO,YAAqC;AAAA,EACvF;AAAA,EACA,EAAE,MAAM,OAAO,OAAO;AACxB,EAAE;AAAA;AAAA;AAAA;AAAA,EAIA,IAAa,UAAkB;AAC7B,WAAO,WAAW,KAAK,IAAI;AAAA,EAC7B;AACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|