@smthrs/flow 0.0.0-stage → 1.0.0-rc.4
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 +160 -0
- package/LICENSE +21 -0
- package/README.md +210 -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 +373 -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 +105 -0
- package/dist/cjs/Deadline.d.ts.map +1 -0
- package/dist/cjs/Deadline.js +104 -0
- package/dist/cjs/Deadline.js.map +7 -0
- package/dist/cjs/DurableClock.d.ts +61 -0
- package/dist/cjs/DurableClock.d.ts.map +1 -0
- package/dist/cjs/DurableClock.js +90 -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 +338 -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 +160 -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 +134 -0
- package/dist/cjs/Flow/make.d.ts.map +1 -0
- package/dist/cjs/Flow/make.js +104 -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 +198 -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 +175 -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 +1021 -0
- package/dist/cjs/Graph.js.map +7 -0
- package/dist/cjs/HumanTask.d.ts +440 -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 +222 -0
- package/dist/cjs/Interpreter.d.ts.map +1 -0
- package/dist/cjs/Interpreter.js +888 -0
- package/dist/cjs/Interpreter.js.map +7 -0
- package/dist/cjs/Poll.d.ts +238 -0
- package/dist/cjs/Poll.d.ts.map +1 -0
- package/dist/cjs/Poll.js +150 -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 +133 -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 +405 -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 +105 -0
- package/dist/esm/Deadline.d.ts.map +1 -0
- package/dist/esm/Deadline.js +152 -0
- package/dist/esm/Deadline.js.map +1 -0
- package/dist/esm/DurableClock.d.ts +61 -0
- package/dist/esm/DurableClock.d.ts.map +1 -0
- package/dist/esm/DurableClock.js +75 -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 +231 -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 +134 -0
- package/dist/esm/Flow/make.d.ts.map +1 -0
- package/dist/esm/Flow/make.js +106 -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 +198 -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 +175 -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 +1483 -0
- package/dist/esm/Graph.js.map +1 -0
- package/dist/esm/HumanTask.d.ts +440 -0
- package/dist/esm/HumanTask.d.ts.map +1 -0
- package/dist/esm/HumanTask.js +794 -0
- package/dist/esm/HumanTask.js.map +1 -0
- package/dist/esm/Interpreter.d.ts +222 -0
- package/dist/esm/Interpreter.d.ts.map +1 -0
- package/dist/esm/Interpreter.js +1269 -0
- package/dist/esm/Interpreter.js.map +1 -0
- package/dist/esm/Poll.d.ts +238 -0
- package/dist/esm/Poll.d.ts.map +1 -0
- package/dist/esm/Poll.js +282 -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 +230 -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 +150 -0
- package/docs/api.md +436 -0
- package/docs/concepts/bodies-and-plans.md +157 -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 +161 -0
- package/docs/guides/cancel-and-roll-back.md +112 -0
- package/docs/guides/implement-an-action.md +147 -0
- package/docs/guides/inspect-the-plan.md +154 -0
- package/docs/guides/poll-until-ready.md +167 -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 +122 -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 +82 -0
- package/docs/quickstart.md +155 -0
- package/docs/reference/flow.md +1831 -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 +657 -0
- package/src/Action/raceAll.ts +48 -0
- package/src/Action/retry.ts +92 -0
- package/src/Deadline.ts +185 -0
- package/src/DurableClock.ts +133 -0
- package/src/DurableDeferred.ts +753 -0
- package/src/DurableQueue.ts +519 -0
- package/src/ExternalJob.ts +432 -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 +309 -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 +279 -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 +333 -0
- package/src/FlowRuntime/NodeRecord.ts +183 -0
- package/src/FlowRuntime/WaitingAnnotation.ts +85 -0
- package/src/FlowRuntime/index.ts +17 -0
- package/src/Graph.ts +1862 -0
- package/src/HumanTask.ts +1003 -0
- package/src/Interpreter.ts +1593 -0
- package/src/Poll.ts +414 -0
- package/src/RetryPolicy.ts +550 -0
- package/src/Sleep.ts +267 -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
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
# @smthrs/flow
|
|
2
|
+
|
|
3
|
+
## Unreleased
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
|
|
7
|
+
- Canonical `Flow.make(tag, options)` accepts typed prompt declarations lowered
|
|
8
|
+
to ordinary actions with explicit host implementations (#2271). Empty tags
|
|
9
|
+
and declarations without exactly one callable body or prompt are refused.
|
|
10
|
+
|
|
11
|
+
### Fixed
|
|
12
|
+
|
|
13
|
+
- Preserve dynamic flow expansion and declaration source mappings when a bundled host loads project flows. ([#1991](https://github.com/smithersai/smithers/issues/1991)).
|
|
14
|
+
|
|
15
|
+
## [Unreleased]
|
|
16
|
+
|
|
17
|
+
### Changed
|
|
18
|
+
|
|
19
|
+
- The package reference page now lives at `docs/reference/flow.md`, written by
|
|
20
|
+
the `referenceDocs` target. The `docs/pages/api/flow.md` page,
|
|
21
|
+
`scripts/docs.mjs` and the `docsPages` target described under 0.1.0 no
|
|
22
|
+
longer exist. (`flows-flow/maintainability/7`)
|
|
23
|
+
|
|
24
|
+
### Removed
|
|
25
|
+
|
|
26
|
+
- `FlowInstance.awaitedDeferreds`. No runtime read the set, and
|
|
27
|
+
`DurableDeferred.await` no longer writes it. A completion wakes a parked run
|
|
28
|
+
through `FlowRuntime.resume`, unchanged. (`flows-flow/simplicity/1`)
|
|
29
|
+
|
|
30
|
+
### Fixed
|
|
31
|
+
|
|
32
|
+
- Nested explicit `Node.andThen` continuations now carry only their nearest
|
|
33
|
+
success barrier, preserving transitive ordering while making continuation
|
|
34
|
+
edges and `Pending` inputs linear for right-nested chains. This is a
|
|
35
|
+
pre-freeze key-affecting change: affected compiled keys/digests change and
|
|
36
|
+
require a newly approved plan; existing executions are not rewritten.
|
|
37
|
+
Structural `.andThen`/`.then` node IDs retain their spelling and durable
|
|
38
|
+
dispatch identity. Their depth growth and quadratic total ID bytes are now
|
|
39
|
+
documented, with bounded trampoline rounds or `.child()` boundaries for long
|
|
40
|
+
chains. (`flows-flow/performance/1`, `flows-flow/performance/5`)
|
|
41
|
+
|
|
42
|
+
- Explicit `Node.andThen` now gates its entire next subtree on upstream
|
|
43
|
+
success. Nested combinations, maps, inline flows, branches, catches and
|
|
44
|
+
sequences no longer start actions before the first node finishes or after
|
|
45
|
+
it fails. Graph drafts propagate that prerequisite to every descendant.
|
|
46
|
+
Affected compiled keys/digests change and require a newly approved plan;
|
|
47
|
+
old executions are not silently rewritten. `bindPlanned` retains its data-
|
|
48
|
+
dependency semantics and can expose independent work concurrently. This
|
|
49
|
+
does not close compiled/public scheduler parity or unfinished-run migration.
|
|
50
|
+
|
|
51
|
+
## [1.0.0-rc.0] - 2026-08-31
|
|
52
|
+
|
|
53
|
+
### Breaking Changes
|
|
54
|
+
|
|
55
|
+
- `Flow.make` now requires `body`. A flow with nothing to plan is a category
|
|
56
|
+
error under `docs/specs/Concepts/Unified Flow Authoring.md`: that work is an
|
|
57
|
+
`Action`. Every declaration therefore carries a body, and `Flow.Any.body`
|
|
58
|
+
is no longer optional.
|
|
59
|
+
- Removed `toLayer` from the flow surface. Actions carry implementations,
|
|
60
|
+
attached separately with `Action.toLayer`; flows carry bodies, driven by
|
|
61
|
+
`Interpreter.layer`. Registering a behavior under a flow tag is the runtime's
|
|
62
|
+
own seam and is now internal to this package.
|
|
63
|
+
- Removed `Flow.Bodied`, which existed only to describe a flow that had a body.
|
|
64
|
+
`Flow.Flow` is that type now.
|
|
65
|
+
- Removed `Flow.BodyDefinesBehavior`, the defect a bodied flow raised when a
|
|
66
|
+
second, opaque behavior was attached to it. There is nothing to attach.
|
|
67
|
+
- Removed the `missing_body` code from `Interpreter.InterpreterError`.
|
|
68
|
+
`Interpreter.layer` takes a flow that has a body by construction.
|
|
69
|
+
- `CancelRequestFailed` now carries the `_tag`
|
|
70
|
+
`@smthrs/flow/CancelRequestFailed`. It was the one error in the package still
|
|
71
|
+
reading `flows/engine/CancelRequestFailed`, a name that was never even the
|
|
72
|
+
old package's. A `_tag` is wire format and freezes at the RC.
|
|
73
|
+
- The runtime type identifiers moved out of effect's brand namespace. Every
|
|
74
|
+
`~effect/flow/...` marker now reads `@smthrs/flow/...`, including the
|
|
75
|
+
exported `DurableDeferred.TokenTypeId` and `DurableQueue.TypeId`.
|
|
76
|
+
- Execution ids derived from a declared `idempotencyKey`, and from the default
|
|
77
|
+
ambient source, now hash a framed `JSON.stringify([flowTag, key])` tuple
|
|
78
|
+
instead of an unframed `` `${tag}-${key}` `` string, so a tag and a key that
|
|
79
|
+
spliced onto one preimage no longer address one durable invocation. Ids
|
|
80
|
+
derived before this change do not match ids derived after it.
|
|
81
|
+
|
|
82
|
+
### Added
|
|
83
|
+
|
|
84
|
+
- Added `@smthrs/flow`, the flow authoring model split out of
|
|
85
|
+
`@smthrs/engine`: `Flow`, `Action`, `RetryPolicy`, `DurableDeferred`,
|
|
86
|
+
`DurableClock`, `DurableQueue`, `StepIdentity`, and their schemas, errors,
|
|
87
|
+
results, boundaries, and combinators.
|
|
88
|
+
- Added `FlowRuntime`, the execution contract those APIs are written against.
|
|
89
|
+
It replaces the direct dependency the authoring modules had on the engine's
|
|
90
|
+
`FlowEngine` module, so the dependency now runs `@smthrs/flow` then
|
|
91
|
+
`@smthrs/engine`. The service formerly exported as `FlowEngine.FlowEngine` is
|
|
92
|
+
`FlowRuntime.FlowRuntime`, `FlowEngine.FlowInstance` is
|
|
93
|
+
`FlowRuntime.FlowInstance`, and `FlowEngine.annotateWaiting` and
|
|
94
|
+
`FlowEngine.FlowCycleDetected` moved with them.
|
|
95
|
+
- `Graph.build` copies an authored `Node.priority` onto `NodeDraft.priority`,
|
|
96
|
+
so `PlanScheduler` orders ready work by it. A node inherits the priority of
|
|
97
|
+
the nearest enclosing node that declares one, and a node that declares its
|
|
98
|
+
own keeps it. Priority stays out of key material.
|
|
99
|
+
- Added `Action.InfraInterruptRetriesExhausted`, the typed identity an
|
|
100
|
+
exhausted `interruptRetryPolicy` now dies with. It carries the action name,
|
|
101
|
+
the attempts made, and the final `InfraInterrupt` including its `reason`,
|
|
102
|
+
which the previous bare-string defect discarded.
|
|
103
|
+
- Added the `invalid_deadline` code to `Sleep.SleepRequestInvalid`.
|
|
104
|
+
- Added the `duplicate_node_id` code to `Interpreter.InterpreterError`, and a
|
|
105
|
+
matching build diagnostic, so two nodes that would answer to one dispatch
|
|
106
|
+
address are refused instead of resolving last-write-wins.
|
|
107
|
+
- Added the `deferred_mismatch` code to `DurableDeferred.TokenInvalid`.
|
|
108
|
+
- Added the stable `poll_exhausted` code to `Poll.PollExhausted`, and a
|
|
109
|
+
constructor default for the `code` of `FlowRuntime.FlowCycleDetected` and
|
|
110
|
+
`FlowRuntime.FlowExecutionNotFound`.
|
|
111
|
+
- Added documented size bounds to `HumanTask`: `maxAttemptBudget`,
|
|
112
|
+
`maxSchemaDepth`, `maxSchemaNodes`, `maxAnswerNodes`, `maxDiagnosticChars`,
|
|
113
|
+
and `maxRetainedRejectionChars`.
|
|
114
|
+
- Added package-owned documentation. `docs/api.md` plus the JSDoc on every
|
|
115
|
+
exported declaration generate `docs/pages/api/flow.md` through
|
|
116
|
+
`scripts/docs.mjs`, declared as the `docsPages` target, so the published page
|
|
117
|
+
cannot drift from the source it describes.
|
|
118
|
+
|
|
119
|
+
### Fixed
|
|
120
|
+
|
|
121
|
+
- `RetryPolicy.make` validates its bounds and throws a `RangeError` naming the
|
|
122
|
+
offending field, and copies and freezes `nonRetryable`. `nextDelay` is total
|
|
123
|
+
for a policy that never went through `make`: a jitter ratio out of range no
|
|
124
|
+
longer returns a negative delay, and a non-finite bound, attempt, elapsed
|
|
125
|
+
time, or computed delay answers `None` instead of handing the engine a `NaN`
|
|
126
|
+
duration to sleep for.
|
|
127
|
+
- `Sleep.action` refuses a `millis` or `until` that is not a length of time.
|
|
128
|
+
`Infinity` armed a timer nobody wakes, and `NaN` did not wait at all while
|
|
129
|
+
leaving a waiting annotation whose `wakeAt` serialized to null.
|
|
130
|
+
- `HumanTask` compares `enum` membership structurally, so an object-valued or
|
|
131
|
+
array-valued member can be answered. It previously compared with `===`, which
|
|
132
|
+
refused every answer and ended the task `rejected`.
|
|
133
|
+
- `HumanTask` refuses a `schema` supplied with a kind other than `json`, and
|
|
134
|
+
refuses a malformed `required` or `nullable`, instead of silently dropping
|
|
135
|
+
the constraint.
|
|
136
|
+
- `DurableDeferred.into` propagates `interrupted` to the parent instance beside
|
|
137
|
+
`suspended`, so a recorded interruption awaited through `raceAll` settles as
|
|
138
|
+
a durable outcome instead of being misread as an external suspension.
|
|
139
|
+
- `DurableDeferred.done` refuses a token that names a different deferred than
|
|
140
|
+
the one it was submitted through, so an exit cannot be written into one
|
|
141
|
+
deferred's row under another's schemas.
|
|
142
|
+
- `DurableDeferred.TokenInvalid` carries the parse failure and a bounded
|
|
143
|
+
excerpt of the offending token instead of one fixed sentence.
|
|
144
|
+
- `DurableQueue.makeWorker` validates `concurrency`, reports a malformed item
|
|
145
|
+
token at error level instead of dropping the item behind one warning, and
|
|
146
|
+
backs off instead of spinning when `take` fails repeatedly. Both log
|
|
147
|
+
annotations now name `@smthrs/flow` rather than `effect`.
|
|
148
|
+
- `Graph.placementConflicts` compares directives structurally instead of
|
|
149
|
+
through `JSON.stringify`, which erased a present `undefined`, mapped `NaN` to
|
|
150
|
+
`null`, and threw on a `BigInt`.
|
|
151
|
+
- `Flow.isResult` requires an own data property carrying the exact marker and a
|
|
152
|
+
known result tag, so a forged or getter-backed value no longer passes.
|
|
153
|
+
- `Interpreter.childExecutionId` finds the versioned key prefix instead of
|
|
154
|
+
slicing a hardcoded length.
|
|
155
|
+
- Corrected the module headers in `Action/Errors.ts` and `RetryPolicy.ts`,
|
|
156
|
+
which claimed the error tags keep an `@smthrs/engine/` prefix that no tag in
|
|
157
|
+
either file uses, and the `FlowInstance.awaitedDeferreds` JSDoc, which
|
|
158
|
+
asserted preemption behaviour no runtime in this repository implements.
|
|
159
|
+
- Normalized the inherited `@since 4.0.0` tags, which named effect's version
|
|
160
|
+
rather than any version of this package.
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 William Cory and the Smithers Flows contributors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,3 +1,211 @@
|
|
|
1
|
-
#
|
|
1
|
+
# @smthrs/flow
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Release candidate scope, host requirements and compatibility review are defined in the [library support policy](https://github.com/smithersai/smithers/blob/main/RELEASE_SUPPORT.md).
|
|
4
|
+
|
|
5
|
+
This package declares `effect` as an exact
|
|
6
|
+
`4.0.0-rc.115` peer dependency. Keep the application on that version so
|
|
7
|
+
all Smithers packages share one Effect runtime.
|
|
8
|
+
|
|
9
|
+
**Documentation:** https://flow.smithers.sh
|
|
10
|
+
|
|
11
|
+
`@smthrs/flow` is the authoring model for durable workflows in TypeScript. You
|
|
12
|
+
declare each step as an **action**: a stable name and the schemas on either side
|
|
13
|
+
of it, with no code. You compose those declarations into a **flow** whose body is
|
|
14
|
+
a pure function that builds a plan. The code that does the work attaches
|
|
15
|
+
separately, as an Effect layer.
|
|
16
|
+
|
|
17
|
+
A typed `prompt` can declare a single model-backed step with the same
|
|
18
|
+
`Flow.make(tag, options)` signature. It lowers to an ordinary action; the host
|
|
19
|
+
implements `flow.action` and renders `flow.prompt` at execution. See
|
|
20
|
+
[Prompt-backed flows](./docs/guides/use-a-prompt.md).
|
|
21
|
+
|
|
22
|
+
The package carries no engine. It declares the `FlowRuntime` port that an engine
|
|
23
|
+
implements, so the whole authoring surface bundles for a browser and a test can
|
|
24
|
+
swap the runtime for a fixture without touching a declaration.
|
|
25
|
+
[`@smthrs/engine`](https://engine.smithers.sh) implements that port;
|
|
26
|
+
[`@smthrs/engine-store`](https://engine-store.smithers.sh) makes it durable.
|
|
27
|
+
|
|
28
|
+
## Why
|
|
29
|
+
|
|
30
|
+
A job that calls a model, spawns a build, uploads an artifact, or waits on a
|
|
31
|
+
person cannot afford to start over when the process dies. Recovering by hand
|
|
32
|
+
means writing your own checkpoint table, your own idempotency keys, and your own
|
|
33
|
+
"did this already run" branch around every call.
|
|
34
|
+
|
|
35
|
+
A flow builds its plan before anything runs. Reproducible keys require callbacks
|
|
36
|
+
whose source and complete semantic captures are stable. `Node.capture` declares
|
|
37
|
+
those captures; the canonical `Interpreter.layerWithImplementations` composition
|
|
38
|
+
refuses callbacks with process-local identity before dispatch. An engine records
|
|
39
|
+
each step as it settles, so a re-run
|
|
40
|
+
under the same execution id reads the recorded result rather than repeating the
|
|
41
|
+
work. The same property is what lets the engine retry a step, cache it, park a
|
|
42
|
+
run on a timer or a human answer for a week, and put one step on another machine,
|
|
43
|
+
none of which the flow's author arranges.
|
|
44
|
+
|
|
45
|
+
## Install
|
|
46
|
+
|
|
47
|
+
Not on npm yet; see [Installation](./docs/installation.md#use-the-libraries).
|
|
48
|
+
|
|
49
|
+
Node.js 26.4.0 or later. `effect` is a peer at exactly `4.0.0-rc.115`: two copies of
|
|
50
|
+
`effect` in one program are two sets of service tags.
|
|
51
|
+
|
|
52
|
+
Running a flow adds an engine and a platform crypto service.
|
|
53
|
+
|
|
54
|
+
## Declare a flow and run it
|
|
55
|
+
|
|
56
|
+
This program declares one recorded step, attaches its implementation, and runs
|
|
57
|
+
the flow on the in-memory engine.
|
|
58
|
+
|
|
59
|
+
```ts
|
|
60
|
+
import * as NodeCrypto from "@effect/platform-node/NodeCrypto"
|
|
61
|
+
import { FlowEngine } from "@smthrs/engine"
|
|
62
|
+
import { Action, Flow, Interpreter } from "@smthrs/flow"
|
|
63
|
+
import { Node } from "@smthrs/plan"
|
|
64
|
+
import * as Effect from "effect/Effect"
|
|
65
|
+
import * as Layer from "effect/Layer"
|
|
66
|
+
import * as Schema from "effect/Schema"
|
|
67
|
+
|
|
68
|
+
/** A step declaration is data: a stable tag and the schemas either side of it. */
|
|
69
|
+
const Summarize = Action.make("digest/Summarize", {
|
|
70
|
+
implementationVersion: "summarize/v1",
|
|
71
|
+
payload: { url: Schema.String },
|
|
72
|
+
success: Schema.String
|
|
73
|
+
})
|
|
74
|
+
|
|
75
|
+
/** A flow body records nodes. `Summarize.call` plans a step and runs nothing. */
|
|
76
|
+
const Digest = Flow.make("digest/Digest", {
|
|
77
|
+
payload: { url: Schema.String },
|
|
78
|
+
success: Schema.String,
|
|
79
|
+
body: Node.capture(
|
|
80
|
+
{ action: Summarize.name, implementationVersion: "digest/v1" },
|
|
81
|
+
(payload) => Summarize.call(payload)
|
|
82
|
+
)
|
|
83
|
+
})
|
|
84
|
+
|
|
85
|
+
/** The code arrives separately, filed against the tag by `toLayer`. */
|
|
86
|
+
const layer = Interpreter.layerWithImplementations(
|
|
87
|
+
Digest,
|
|
88
|
+
Summarize.toLayer(
|
|
89
|
+
({ url }) => Effect.succeed(`A summary of ${url}.`),
|
|
90
|
+
{ implementationVersion: "summarize/v1" }
|
|
91
|
+
)
|
|
92
|
+
).pipe(
|
|
93
|
+
Layer.provideMerge(FlowEngine.layerMemory),
|
|
94
|
+
Layer.provideMerge(NodeCrypto.layer)
|
|
95
|
+
)
|
|
96
|
+
|
|
97
|
+
const main = Digest.execute(
|
|
98
|
+
{ url: "https://example.com/post" },
|
|
99
|
+
{ executionId: "digest-example-post" }
|
|
100
|
+
).pipe(Effect.orDie, Effect.provide(layer))
|
|
101
|
+
|
|
102
|
+
console.log(await Effect.runPromise(main))
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
Run it and the implementation runs once. Run the same execution id again and it
|
|
106
|
+
does not: the engine finds the execution that already settled and answers with
|
|
107
|
+
its recorded result. Swap `FlowEngine.layerMemory` for the SQLite-backed engine
|
|
108
|
+
in `@smthrs/engine-store` and the same behavior survives a restart, with nothing
|
|
109
|
+
above the swap changing.
|
|
110
|
+
|
|
111
|
+
Forgetting an implementation is a compile error rather than a run that dies
|
|
112
|
+
partway through. `Summarize.call(payload)` puts a requirement in the node's type,
|
|
113
|
+
`Flow.make` reads the union of those off the node its body returns, and
|
|
114
|
+
`Summarize.toLayer(...)` is what discharges it.
|
|
115
|
+
|
|
116
|
+
## Callback identity and persisted compatibility
|
|
117
|
+
|
|
118
|
+
Use `Node.capture` for flow bodies, `Node.map` callbacks, `Node.branch` predicates,
|
|
119
|
+
and `Node.bindPlanned` builders. Validate external configuration with its schema
|
|
120
|
+
first, then close over the exact record passed to `Node.capture`; it is deeply
|
|
121
|
+
frozen. Include every semantic value, including payload fields used by a nested
|
|
122
|
+
callback and an explicit version for imported implementation behavior. JavaScript
|
|
123
|
+
cannot inspect closures, so the library cannot prove that a capture declaration
|
|
124
|
+
is complete. Capturing `{}` is valid only when no semantic state outside the
|
|
125
|
+
callback source affects its behavior.
|
|
126
|
+
|
|
127
|
+
`Graph.build(flow, payload, { callbackIdentity: "stable" })` reports unstable
|
|
128
|
+
callback sites and `Graph.drafts` refuses them. `Interpreter.layerWithImplementations`
|
|
129
|
+
uses that policy by default and rejects the graph before any action dispatch.
|
|
130
|
+
The lower-level `Graph.build`, `Interpreter.interpret`, and `Interpreter.layer`
|
|
131
|
+
default to `process-local` for compatibility; they make no reproducible callback
|
|
132
|
+
identity guarantee unless `callbackIdentity: "stable"` is selected. An explicit
|
|
133
|
+
`process-local` option is available on the canonical composition for experimentation.
|
|
134
|
+
|
|
135
|
+
`sha256-source-captures/v5` includes shared-reference topology in capture
|
|
136
|
+
identity. Equal source and captures reproduce identity across processes.
|
|
137
|
+
The v5 encoding re-keys captured callbacks from earlier versions. Changed source, captures, or captured implementation version require
|
|
138
|
+
a newly planned run; this check does not migrate or reapprove existing plans.
|
|
139
|
+
Action implementations use a separate `implementationVersion` contract.
|
|
140
|
+
Canonical `Interpreter.layerWithImplementations` requires it for sealed actions
|
|
141
|
+
that declare an idempotency key, because those actions can reuse recorded content.
|
|
142
|
+
Declare the version on `Action.make`, and attest the same version in `toLayer`.
|
|
143
|
+
A missing or different registration version is refused. The interpreter also
|
|
144
|
+
checks each graph declaration against the registry before dispatching any action,
|
|
145
|
+
including actions in untaken branches. The declared version enters plan material,
|
|
146
|
+
sealed result keys, and ordinal invocation scopes. Object-form idempotency keys
|
|
147
|
+
remain rename-stable; their caller-owned input cannot override the explicit
|
|
148
|
+
implementation version.
|
|
149
|
+
|
|
150
|
+
The version is a semantic compatibility declaration. Cover the handler and every
|
|
151
|
+
service/configuration change that can affect its result. Equal versions authorize
|
|
152
|
+
reuse even if JavaScript source changed. Different versions require a new plan
|
|
153
|
+
and execution ID; this is not an upgrade API for an already persisted run. Existing
|
|
154
|
+
completed executions keep their recorded outcomes. Omitted versions preserve
|
|
155
|
+
legacy key material exactly and do not infer handler identity from source.
|
|
156
|
+
The low-level `Interpreter.layer` and `Interpreter.interpret` retain this legacy
|
|
157
|
+
behavior: equal identity inputs can return the old handler's recorded result
|
|
158
|
+
after its code changes. Selecting stable callback identity alone does not change
|
|
159
|
+
that handler-reuse contract.
|
|
160
|
+
|
|
161
|
+
Canonical version admission is independent of `callbackIdentity`; choosing
|
|
162
|
+
`process-local` callbacks cannot bypass it. Keyless sealed actions use run-local
|
|
163
|
+
invocation keys, while compensable and irreversible actions do not use content-key
|
|
164
|
+
caching, so those declarations may omit a version. The canonical interpreter also
|
|
165
|
+
refuses detached action nodes whose declarations are unavailable for checking.
|
|
166
|
+
No policy can verify that an author's semantic version declaration is complete.
|
|
167
|
+
|
|
168
|
+
## What is in the package
|
|
169
|
+
|
|
170
|
+
Every namespace below is exported from the root and from a matching
|
|
171
|
+
`@smthrs/flow/*` subpath.
|
|
172
|
+
|
|
173
|
+
| Namespace | Role |
|
|
174
|
+
| ----------------- | --------------------------------------------------------------------------------------- |
|
|
175
|
+
| `Flow` | Declares a durable program and its execute, poll, interrupt, resume, and rollback API. |
|
|
176
|
+
| `Action` | Declares one recorded step: schemas, tier, idempotency identity, retry policy, caching. |
|
|
177
|
+
| `Graph` | Builds the plan a body describes, before any of it runs. |
|
|
178
|
+
| `Interpreter` | Drives that plan, and registers a flow with the runtime. |
|
|
179
|
+
| `FlowRuntime` | The execution port this package declares and an engine implements. |
|
|
180
|
+
| `DurableDeferred` | A persisted promise a flow awaits across process restarts, completed by token. |
|
|
181
|
+
| `DurableClock` | A timer that eventually completes a `DurableDeferred`. |
|
|
182
|
+
| `DurableQueue` | Sends work to a persisted worker and awaits its result. |
|
|
183
|
+
| `Sleep` | The system timer, declared as an ordinary action. |
|
|
184
|
+
| `WaitFor` | The system wait point, declared as an ordinary action. |
|
|
185
|
+
| `Poll` | The durable poller: attempts as rounds, waits as durable timers. |
|
|
186
|
+
| `Stall` | The stall breaker: ends rounds whose tree, failing checks, or output held still. |
|
|
187
|
+
| `HumanTask` | Asking a person something, with validation, re-asking, and a deadline. |
|
|
188
|
+
| `RetryPolicy` | Data describing when a runtime should retry a failed action. |
|
|
189
|
+
| `StepIdentity` | The one canonical derivation of ordinal step identity. |
|
|
190
|
+
|
|
191
|
+
## Documentation
|
|
192
|
+
|
|
193
|
+
Full documentation is at [flow.smithers.sh](https://flow.smithers.sh).
|
|
194
|
+
|
|
195
|
+
- [Quickstart](https://flow.smithers.sh/quickstart/): the program above end to
|
|
196
|
+
end, including what happens on the second run.
|
|
197
|
+
- [Flows and actions](https://flow.smithers.sh/concepts/flows-and-actions/): the
|
|
198
|
+
two nouns, and why an implementation attaches as a layer.
|
|
199
|
+
- [Bodies are plans](https://flow.smithers.sh/concepts/bodies-and-plans/): what a
|
|
200
|
+
body may not do, and why that restriction is what makes replay work.
|
|
201
|
+
- [Guides](https://flow.smithers.sh/guides/build-a-body/): composing a body,
|
|
202
|
+
retries, durable waits, human decisions, child flows, and rollback.
|
|
203
|
+
- [API reference](https://flow.smithers.sh/reference/api/): every public export.
|
|
204
|
+
- [Testing](https://flow.smithers.sh/testing/): topology, interpretation, and
|
|
205
|
+
execution, and which level a given assertion belongs at.
|
|
206
|
+
|
|
207
|
+
## License
|
|
208
|
+
|
|
209
|
+
MIT. See `LICENSE`.
|
|
210
|
+
|
|
211
|
+
`Action.InfraInterrupt` is an explicit adapter marker for `interruptRetryPolicy`; ordinary fiber interruption is never converted to it.
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# Third-party notices
|
|
2
|
+
|
|
3
|
+
This distribution contains third-party software. The notices below are
|
|
4
|
+
reproduced to satisfy the terms of the licenses those components are
|
|
5
|
+
distributed under. They are in addition to, and do not replace, the project's
|
|
6
|
+
own `LICENSE`.
|
|
7
|
+
|
|
8
|
+
## Effect (`Effect-TS/effect`)
|
|
9
|
+
|
|
10
|
+
`@smthrs/flow` carries the flow-authoring half of a fork of Effect's unstable
|
|
11
|
+
durable-flow runtime and
|
|
12
|
+
contains substantial portions of that source. The fork point, upstream package
|
|
13
|
+
version, and a module-by-module record of what was vendored and how it was
|
|
14
|
+
changed are documented in `packages/smithers/flows/engine/VENDOR.md`:
|
|
15
|
+
|
|
16
|
+
- Upstream repository: `Effect-TS/effect`
|
|
17
|
+
- Upstream commit: `23e176a4f05ed3e81cc13a5d70111099692ea9a5`
|
|
18
|
+
- Upstream package: `effect@4.0.0-beta.102`
|
|
19
|
+
- Upstream source: `packages/effect/src/unstable/workflow`
|
|
20
|
+
- Vendored modules: `Flow.ts`, `Activity.ts`, `FlowEngine.ts`,
|
|
21
|
+
`DurableClock.ts`, `DurableDeferred.ts`, `DurableQueue.ts`, `FlowProxy.ts`,
|
|
22
|
+
`FlowProxyServer.ts`, and `index.ts`
|
|
23
|
+
|
|
24
|
+
Effect is distributed under the MIT License. Its copyright and permission
|
|
25
|
+
notice is reproduced here verbatim:
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
MIT License
|
|
29
|
+
|
|
30
|
+
Copyright (c) 2023 Effectful Technologies Inc
|
|
31
|
+
|
|
32
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
33
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
34
|
+
in the Software without restriction, including without limitation the rights
|
|
35
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
36
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
37
|
+
furnished to do so, subject to the following conditions:
|
|
38
|
+
|
|
39
|
+
The above copyright notice and this permission notice shall be included in all
|
|
40
|
+
copies or substantial portions of the Software.
|
|
41
|
+
|
|
42
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
43
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
44
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
45
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
46
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
47
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
48
|
+
SOFTWARE.
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Every `@smthrs/*` package also depends on Effect at runtime, so the notice
|
|
52
|
+
above applies to those dependencies as well as to the vendored engine source.
|