@smthrs/engine-store 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 +247 -0
- package/LICENSE +21 -0
- package/README.md +146 -2
- package/dist/cjs/ArtifactGc.d.ts +235 -0
- package/dist/cjs/ArtifactGc.d.ts.map +1 -0
- package/dist/cjs/ArtifactGc.js +183 -0
- package/dist/cjs/ArtifactGc.js.map +7 -0
- package/dist/cjs/ArtifactSync.d.ts +164 -0
- package/dist/cjs/ArtifactSync.d.ts.map +1 -0
- package/dist/cjs/ArtifactSync.js +144 -0
- package/dist/cjs/ArtifactSync.js.map +7 -0
- package/dist/cjs/CacheSync.d.ts +112 -0
- package/dist/cjs/CacheSync.d.ts.map +1 -0
- package/dist/cjs/CacheSync.js +64 -0
- package/dist/cjs/CacheSync.js.map +7 -0
- package/dist/cjs/DeferredClockFold.d.ts +354 -0
- package/dist/cjs/DeferredClockFold.d.ts.map +1 -0
- package/dist/cjs/DeferredClockFold.js +335 -0
- package/dist/cjs/DeferredClockFold.js.map +7 -0
- package/dist/cjs/DisasterRecovery.d.ts +431 -0
- package/dist/cjs/DisasterRecovery.d.ts.map +1 -0
- package/dist/cjs/DisasterRecovery.js +453 -0
- package/dist/cjs/DisasterRecovery.js.map +7 -0
- package/dist/cjs/DurableEngineState.d.ts +776 -0
- package/dist/cjs/DurableEngineState.d.ts.map +1 -0
- package/dist/cjs/DurableEngineState.js +1536 -0
- package/dist/cjs/DurableEngineState.js.map +7 -0
- package/dist/cjs/EngineStore.d.ts +158 -0
- package/dist/cjs/EngineStore.d.ts.map +1 -0
- package/dist/cjs/EngineStore.js +398 -0
- package/dist/cjs/EngineStore.js.map +7 -0
- package/dist/cjs/EngineStoreMetrics.d.ts +276 -0
- package/dist/cjs/EngineStoreMetrics.d.ts.map +1 -0
- package/dist/cjs/EngineStoreMetrics.js +135 -0
- package/dist/cjs/EngineStoreMetrics.js.map +7 -0
- package/dist/cjs/Errors.d.ts +22 -0
- package/dist/cjs/Errors.d.ts.map +1 -0
- package/dist/cjs/Errors.js +39 -0
- package/dist/cjs/Errors.js.map +7 -0
- package/dist/cjs/EventTypes.d.ts +27 -0
- package/dist/cjs/EventTypes.d.ts.map +1 -0
- package/dist/cjs/EventTypes.js +37 -0
- package/dist/cjs/EventTypes.js.map +7 -0
- package/dist/cjs/ExecutionFacts.d.ts +59 -0
- package/dist/cjs/ExecutionFacts.d.ts.map +1 -0
- package/dist/cjs/ExecutionFacts.js +123 -0
- package/dist/cjs/ExecutionFacts.js.map +7 -0
- package/dist/cjs/ExecutionSnapshot.d.ts +117 -0
- package/dist/cjs/ExecutionSnapshot.d.ts.map +1 -0
- package/dist/cjs/ExecutionSnapshot.js +111 -0
- package/dist/cjs/ExecutionSnapshot.js.map +7 -0
- package/dist/cjs/Inconsistency.d.ts +154 -0
- package/dist/cjs/Inconsistency.d.ts.map +1 -0
- package/dist/cjs/Inconsistency.js +135 -0
- package/dist/cjs/Inconsistency.js.map +7 -0
- package/dist/cjs/Migrations.d.ts +56 -0
- package/dist/cjs/Migrations.d.ts.map +1 -0
- package/dist/cjs/Migrations.js +78 -0
- package/dist/cjs/Migrations.js.map +7 -0
- package/dist/cjs/OwnerIdentity.d.ts +91 -0
- package/dist/cjs/OwnerIdentity.d.ts.map +1 -0
- package/dist/cjs/OwnerIdentity.js +65 -0
- package/dist/cjs/OwnerIdentity.js.map +7 -0
- package/dist/cjs/PlanInputStore.d.ts +110 -0
- package/dist/cjs/PlanInputStore.d.ts.map +1 -0
- package/dist/cjs/PlanInputStore.js +224 -0
- package/dist/cjs/PlanInputStore.js.map +7 -0
- package/dist/cjs/PlanMergeStore.d.ts +113 -0
- package/dist/cjs/PlanMergeStore.d.ts.map +1 -0
- package/dist/cjs/PlanMergeStore.js +255 -0
- package/dist/cjs/PlanMergeStore.js.map +7 -0
- package/dist/cjs/PlanScheduler.d.ts +363 -0
- package/dist/cjs/PlanScheduler.d.ts.map +1 -0
- package/dist/cjs/PlanScheduler.js +1090 -0
- package/dist/cjs/PlanScheduler.js.map +7 -0
- package/dist/cjs/Reconciliation.d.ts +175 -0
- package/dist/cjs/Reconciliation.d.ts.map +1 -0
- package/dist/cjs/Reconciliation.js +119 -0
- package/dist/cjs/Reconciliation.js.map +7 -0
- package/dist/cjs/ReplayOnly.d.ts +91 -0
- package/dist/cjs/ReplayOnly.d.ts.map +1 -0
- package/dist/cjs/ReplayOnly.js +52 -0
- package/dist/cjs/ReplayOnly.js.map +7 -0
- package/dist/cjs/Retention.d.ts +113 -0
- package/dist/cjs/Retention.d.ts.map +1 -0
- package/dist/cjs/Retention.js +99 -0
- package/dist/cjs/Retention.js.map +7 -0
- package/dist/cjs/RunCatalogRead.d.ts +17 -0
- package/dist/cjs/RunCatalogRead.d.ts.map +1 -0
- package/dist/cjs/RunCatalogRead.js +33 -0
- package/dist/cjs/RunCatalogRead.js.map +7 -0
- package/dist/cjs/RunChangeFeed.d.ts +75 -0
- package/dist/cjs/RunChangeFeed.d.ts.map +1 -0
- package/dist/cjs/RunChangeFeed.js +96 -0
- package/dist/cjs/RunChangeFeed.js.map +7 -0
- package/dist/cjs/RunState.d.ts +116 -0
- package/dist/cjs/RunState.d.ts.map +1 -0
- package/dist/cjs/RunState.js +76 -0
- package/dist/cjs/RunState.js.map +7 -0
- package/dist/cjs/Selection.d.ts +495 -0
- package/dist/cjs/Selection.d.ts.map +1 -0
- package/dist/cjs/Selection.js +288 -0
- package/dist/cjs/Selection.js.map +7 -0
- package/dist/cjs/SelectionStore.d.ts +141 -0
- package/dist/cjs/SelectionStore.d.ts.map +1 -0
- package/dist/cjs/SelectionStore.js +229 -0
- package/dist/cjs/SelectionStore.js.map +7 -0
- package/dist/cjs/StepBoundary.d.ts +501 -0
- package/dist/cjs/StepBoundary.d.ts.map +1 -0
- package/dist/cjs/StepBoundary.js +619 -0
- package/dist/cjs/StepBoundary.js.map +7 -0
- package/dist/cjs/StepCacheFold.d.ts +148 -0
- package/dist/cjs/StepCacheFold.d.ts.map +1 -0
- package/dist/cjs/StepCacheFold.js +131 -0
- package/dist/cjs/StepCacheFold.js.map +7 -0
- package/dist/cjs/StepSandbox.d.ts +78 -0
- package/dist/cjs/StepSandbox.d.ts.map +1 -0
- package/dist/cjs/StepSandbox.js +75 -0
- package/dist/cjs/StepSandbox.js.map +7 -0
- package/dist/cjs/WakeBus.d.ts +116 -0
- package/dist/cjs/WakeBus.d.ts.map +1 -0
- package/dist/cjs/WakeBus.js +89 -0
- package/dist/cjs/WakeBus.js.map +7 -0
- package/dist/cjs/WorkspaceSandbox.d.ts +619 -0
- package/dist/cjs/WorkspaceSandbox.d.ts.map +1 -0
- package/dist/cjs/WorkspaceSandbox.js +711 -0
- package/dist/cjs/WorkspaceSandbox.js.map +7 -0
- package/dist/cjs/index.d.ts +157 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +95 -0
- package/dist/cjs/index.js.map +7 -0
- package/dist/cjs/internal/ActionPersistence.d.ts +276 -0
- package/dist/cjs/internal/ActionPersistence.d.ts.map +1 -0
- package/dist/cjs/internal/ActionPersistence.js +1395 -0
- package/dist/cjs/internal/ActionPersistence.js.map +7 -0
- package/dist/cjs/internal/ArtifactRoots.d.ts +38 -0
- package/dist/cjs/internal/ArtifactRoots.d.ts.map +1 -0
- package/dist/cjs/internal/ArtifactRoots.js +89 -0
- package/dist/cjs/internal/ArtifactRoots.js.map +7 -0
- package/dist/cjs/internal/AttemptAdmission.d.ts +53 -0
- package/dist/cjs/internal/AttemptAdmission.d.ts.map +1 -0
- package/dist/cjs/internal/AttemptAdmission.js +52 -0
- package/dist/cjs/internal/AttemptAdmission.js.map +7 -0
- package/dist/cjs/internal/AttemptLifecycle.d.ts +245 -0
- package/dist/cjs/internal/AttemptLifecycle.d.ts.map +1 -0
- package/dist/cjs/internal/AttemptLifecycle.js +112 -0
- package/dist/cjs/internal/AttemptLifecycle.js.map +7 -0
- package/dist/cjs/internal/AttemptProbe.d.ts +53 -0
- package/dist/cjs/internal/AttemptProbe.d.ts.map +1 -0
- package/dist/cjs/internal/AttemptProbe.js +66 -0
- package/dist/cjs/internal/AttemptProbe.js.map +7 -0
- package/dist/cjs/internal/CacheAdmission.d.ts +79 -0
- package/dist/cjs/internal/CacheAdmission.d.ts.map +1 -0
- package/dist/cjs/internal/CacheAdmission.js +71 -0
- package/dist/cjs/internal/CacheAdmission.js.map +7 -0
- package/dist/cjs/internal/CacheAgeHistory.d.ts +27 -0
- package/dist/cjs/internal/CacheAgeHistory.d.ts.map +1 -0
- package/dist/cjs/internal/CacheAgeHistory.js +61 -0
- package/dist/cjs/internal/CacheAgeHistory.js.map +7 -0
- package/dist/cjs/internal/CacheAgeVerdicts.d.ts +15 -0
- package/dist/cjs/internal/CacheAgeVerdicts.d.ts.map +1 -0
- package/dist/cjs/internal/CacheAgeVerdicts.js +73 -0
- package/dist/cjs/internal/CacheAgeVerdicts.js.map +7 -0
- package/dist/cjs/internal/CacheOutputPolicy.d.ts +24 -0
- package/dist/cjs/internal/CacheOutputPolicy.d.ts.map +1 -0
- package/dist/cjs/internal/CacheOutputPolicy.js +75 -0
- package/dist/cjs/internal/CacheOutputPolicy.js.map +7 -0
- package/dist/cjs/internal/CachePublication.d.ts +97 -0
- package/dist/cjs/internal/CachePublication.d.ts.map +1 -0
- package/dist/cjs/internal/CachePublication.js +80 -0
- package/dist/cjs/internal/CachePublication.js.map +7 -0
- package/dist/cjs/internal/CallFacts.d.ts +15 -0
- package/dist/cjs/internal/CallFacts.d.ts.map +1 -0
- package/dist/cjs/internal/CallFacts.js +97 -0
- package/dist/cjs/internal/CallFacts.js.map +7 -0
- package/dist/cjs/internal/CopiedRecord.d.ts +61 -0
- package/dist/cjs/internal/CopiedRecord.d.ts.map +1 -0
- package/dist/cjs/internal/CopiedRecord.js +134 -0
- package/dist/cjs/internal/CopiedRecord.js.map +7 -0
- package/dist/cjs/internal/DeferredPersistence.d.ts +108 -0
- package/dist/cjs/internal/DeferredPersistence.d.ts.map +1 -0
- package/dist/cjs/internal/DeferredPersistence.js +270 -0
- package/dist/cjs/internal/DeferredPersistence.js.map +7 -0
- package/dist/cjs/internal/EffectRecords.d.ts +92 -0
- package/dist/cjs/internal/EffectRecords.d.ts.map +1 -0
- package/dist/cjs/internal/EffectRecords.js +63 -0
- package/dist/cjs/internal/EffectRecords.js.map +7 -0
- package/dist/cjs/internal/EngineJj.d.ts +30 -0
- package/dist/cjs/internal/EngineJj.d.ts.map +1 -0
- package/dist/cjs/internal/EngineJj.js +42 -0
- package/dist/cjs/internal/EngineJj.js.map +7 -0
- package/dist/cjs/internal/EngineStateSchema.d.ts +68 -0
- package/dist/cjs/internal/EngineStateSchema.d.ts.map +1 -0
- package/dist/cjs/internal/EngineStateSchema.js +58 -0
- package/dist/cjs/internal/EngineStateSchema.js.map +7 -0
- package/dist/cjs/internal/ExecutionSnapshotRead.d.ts +162 -0
- package/dist/cjs/internal/ExecutionSnapshotRead.d.ts.map +1 -0
- package/dist/cjs/internal/ExecutionSnapshotRead.js +201 -0
- package/dist/cjs/internal/ExecutionSnapshotRead.js.map +7 -0
- package/dist/cjs/internal/ExecutionSnapshotRelations.d.ts +39 -0
- package/dist/cjs/internal/ExecutionSnapshotRelations.d.ts.map +1 -0
- package/dist/cjs/internal/ExecutionSnapshotRelations.js +105 -0
- package/dist/cjs/internal/ExecutionSnapshotRelations.js.map +7 -0
- package/dist/cjs/internal/ExitEncoding.d.ts +180 -0
- package/dist/cjs/internal/ExitEncoding.d.ts.map +1 -0
- package/dist/cjs/internal/ExitEncoding.js +236 -0
- package/dist/cjs/internal/ExitEncoding.js.map +7 -0
- package/dist/cjs/internal/FileBoundarySnapshot.d.ts +14 -0
- package/dist/cjs/internal/FileBoundarySnapshot.d.ts.map +1 -0
- package/dist/cjs/internal/FileBoundarySnapshot.js +51 -0
- package/dist/cjs/internal/FileBoundarySnapshot.js.map +7 -0
- package/dist/cjs/internal/FileEnumeration.d.ts +127 -0
- package/dist/cjs/internal/FileEnumeration.d.ts.map +1 -0
- package/dist/cjs/internal/FileEnumeration.js +194 -0
- package/dist/cjs/internal/FileEnumeration.js.map +7 -0
- package/dist/cjs/internal/HostReflection.d.ts +80 -0
- package/dist/cjs/internal/HostReflection.d.ts.map +1 -0
- package/dist/cjs/internal/HostReflection.js +43 -0
- package/dist/cjs/internal/HostReflection.js.map +7 -0
- package/dist/cjs/internal/JournalRecords.d.ts +325 -0
- package/dist/cjs/internal/JournalRecords.d.ts.map +1 -0
- package/dist/cjs/internal/JournalRecords.js +122 -0
- package/dist/cjs/internal/JournalRecords.js.map +7 -0
- package/dist/cjs/internal/NodeJournal.d.ts +157 -0
- package/dist/cjs/internal/NodeJournal.d.ts.map +1 -0
- package/dist/cjs/internal/NodeJournal.js +192 -0
- package/dist/cjs/internal/NodeJournal.js.map +7 -0
- package/dist/cjs/internal/Ordering.d.ts +14 -0
- package/dist/cjs/internal/Ordering.d.ts.map +1 -0
- package/dist/cjs/internal/Ordering.js +25 -0
- package/dist/cjs/internal/Ordering.js.map +7 -0
- package/dist/cjs/internal/PlanInputs.d.ts +14 -0
- package/dist/cjs/internal/PlanInputs.d.ts.map +1 -0
- package/dist/cjs/internal/PlanInputs.js +78 -0
- package/dist/cjs/internal/PlanInputs.js.map +7 -0
- package/dist/cjs/internal/PlanMerges.d.ts +178 -0
- package/dist/cjs/internal/PlanMerges.d.ts.map +1 -0
- package/dist/cjs/internal/PlanMerges.js +125 -0
- package/dist/cjs/internal/PlanMerges.js.map +7 -0
- package/dist/cjs/internal/ProvenanceSlot.d.ts +30 -0
- package/dist/cjs/internal/ProvenanceSlot.d.ts.map +1 -0
- package/dist/cjs/internal/ProvenanceSlot.js +53 -0
- package/dist/cjs/internal/ProvenanceSlot.js.map +7 -0
- package/dist/cjs/internal/ResultEnvelope.d.ts +88 -0
- package/dist/cjs/internal/ResultEnvelope.d.ts.map +1 -0
- package/dist/cjs/internal/ResultEnvelope.js +90 -0
- package/dist/cjs/internal/ResultEnvelope.js.map +7 -0
- package/dist/cjs/internal/RetentionOps.d.ts +414 -0
- package/dist/cjs/internal/RetentionOps.d.ts.map +1 -0
- package/dist/cjs/internal/RetentionOps.js +354 -0
- package/dist/cjs/internal/RetentionOps.js.map +7 -0
- package/dist/cjs/internal/RunCatalogOps.d.ts +118 -0
- package/dist/cjs/internal/RunCatalogOps.d.ts.map +1 -0
- package/dist/cjs/internal/RunCatalogOps.js +85 -0
- package/dist/cjs/internal/RunCatalogOps.js.map +7 -0
- package/dist/cjs/internal/RunCoordinator.d.ts +78 -0
- package/dist/cjs/internal/RunCoordinator.d.ts.map +1 -0
- package/dist/cjs/internal/RunCoordinator.js +123 -0
- package/dist/cjs/internal/RunCoordinator.js.map +7 -0
- package/dist/cjs/internal/RunDriver.d.ts +192 -0
- package/dist/cjs/internal/RunDriver.d.ts.map +1 -0
- package/dist/cjs/internal/RunDriver.js +1586 -0
- package/dist/cjs/internal/RunDriver.js.map +7 -0
- package/dist/cjs/internal/RunLifecycle.d.ts +22 -0
- package/dist/cjs/internal/RunLifecycle.d.ts.map +1 -0
- package/dist/cjs/internal/RunLifecycle.js +63 -0
- package/dist/cjs/internal/RunLifecycle.js.map +7 -0
- package/dist/cjs/internal/RunListing.d.ts +78 -0
- package/dist/cjs/internal/RunListing.d.ts.map +1 -0
- package/dist/cjs/internal/RunListing.js +171 -0
- package/dist/cjs/internal/RunListing.js.map +7 -0
- package/dist/cjs/internal/RunListingError.d.ts +35 -0
- package/dist/cjs/internal/RunListingError.d.ts.map +1 -0
- package/dist/cjs/internal/RunListingError.js +47 -0
- package/dist/cjs/internal/RunListingError.js.map +7 -0
- package/dist/cjs/internal/RuntimeGraph.d.ts +73 -0
- package/dist/cjs/internal/RuntimeGraph.d.ts.map +1 -0
- package/dist/cjs/internal/RuntimeGraph.js +180 -0
- package/dist/cjs/internal/RuntimeGraph.js.map +7 -0
- package/dist/cjs/internal/SandboxedExecution.d.ts +80 -0
- package/dist/cjs/internal/SandboxedExecution.d.ts.map +1 -0
- package/dist/cjs/internal/SandboxedExecution.js +104 -0
- package/dist/cjs/internal/SandboxedExecution.js.map +7 -0
- package/dist/cjs/internal/StateTransaction.d.ts +44 -0
- package/dist/cjs/internal/StateTransaction.d.ts.map +1 -0
- package/dist/cjs/internal/StateTransaction.js +52 -0
- package/dist/cjs/internal/StateTransaction.js.map +7 -0
- package/dist/cjs/internal/StepFacts.d.ts +14 -0
- package/dist/cjs/internal/StepFacts.d.ts.map +1 -0
- package/dist/cjs/internal/StepFacts.js +58 -0
- package/dist/cjs/internal/StepFacts.js.map +7 -0
- package/dist/cjs/internal/TypedEvents.d.ts +14 -0
- package/dist/cjs/internal/TypedEvents.d.ts.map +1 -0
- package/dist/cjs/internal/TypedEvents.js +37 -0
- package/dist/cjs/internal/TypedEvents.js.map +7 -0
- package/dist/cjs/migrations/0001_initial.d.ts +17 -0
- package/dist/cjs/migrations/0001_initial.d.ts.map +1 -0
- package/dist/cjs/migrations/0001_initial.js +61 -0
- package/dist/cjs/migrations/0001_initial.js.map +7 -0
- package/dist/cjs/migrations/0002_selection_store.d.ts +15 -0
- package/dist/cjs/migrations/0002_selection_store.d.ts.map +1 -0
- package/dist/cjs/migrations/0002_selection_store.js +56 -0
- package/dist/cjs/migrations/0002_selection_store.js.map +7 -0
- package/dist/cjs/migrations/0003_plan_inputs.d.ts +13 -0
- package/dist/cjs/migrations/0003_plan_inputs.d.ts.map +1 -0
- package/dist/cjs/migrations/0003_plan_inputs.js +90 -0
- package/dist/cjs/migrations/0003_plan_inputs.js.map +7 -0
- package/dist/cjs/migrations/0004_plan_environment.d.ts +14 -0
- package/dist/cjs/migrations/0004_plan_environment.d.ts.map +1 -0
- package/dist/cjs/migrations/0004_plan_environment.js +56 -0
- package/dist/cjs/migrations/0004_plan_environment.js.map +7 -0
- package/dist/cjs/migrations/0005_plan_merges.d.ts +14 -0
- package/dist/cjs/migrations/0005_plan_merges.d.ts.map +1 -0
- package/dist/cjs/migrations/0005_plan_merges.js +82 -0
- package/dist/cjs/migrations/0005_plan_merges.js.map +7 -0
- package/dist/cjs/migrations/0006_execution_listing.d.ts +15 -0
- package/dist/cjs/migrations/0006_execution_listing.d.ts.map +1 -0
- package/dist/cjs/migrations/0006_execution_listing.js +101 -0
- package/dist/cjs/migrations/0006_execution_listing.js.map +7 -0
- package/dist/cjs/migrations/0007_run_parent_sequence.d.ts +15 -0
- package/dist/cjs/migrations/0007_run_parent_sequence.d.ts.map +1 -0
- package/dist/cjs/migrations/0007_run_parent_sequence.js +40 -0
- package/dist/cjs/migrations/0007_run_parent_sequence.js.map +7 -0
- package/dist/cjs/migrations/0008_deferred_consumption.d.ts +16 -0
- package/dist/cjs/migrations/0008_deferred_consumption.d.ts.map +1 -0
- package/dist/cjs/migrations/0008_deferred_consumption.js +45 -0
- package/dist/cjs/migrations/0008_deferred_consumption.js.map +7 -0
- package/dist/cjs/migrations/0009_deferred_clock_facts.d.ts +24 -0
- package/dist/cjs/migrations/0009_deferred_clock_facts.d.ts.map +1 -0
- package/dist/cjs/migrations/0009_deferred_clock_facts.js +141 -0
- package/dist/cjs/migrations/0009_deferred_clock_facts.js.map +7 -0
- package/dist/cjs/migrations/0010_pending_cancellation.d.ts +15 -0
- package/dist/cjs/migrations/0010_pending_cancellation.d.ts.map +1 -0
- package/dist/cjs/migrations/0010_pending_cancellation.js +41 -0
- package/dist/cjs/migrations/0010_pending_cancellation.js.map +7 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/test/TestStores.d.ts +89 -0
- package/dist/cjs/test/TestStores.d.ts.map +1 -0
- package/dist/cjs/test/TestStores.js +98 -0
- package/dist/cjs/test/TestStores.js.map +7 -0
- package/dist/esm/ArtifactGc.d.ts +235 -0
- package/dist/esm/ArtifactGc.d.ts.map +1 -0
- package/dist/esm/ArtifactGc.js +268 -0
- package/dist/esm/ArtifactGc.js.map +1 -0
- package/dist/esm/ArtifactSync.d.ts +164 -0
- package/dist/esm/ArtifactSync.d.ts.map +1 -0
- package/dist/esm/ArtifactSync.js +176 -0
- package/dist/esm/ArtifactSync.js.map +1 -0
- package/dist/esm/CacheSync.d.ts +112 -0
- package/dist/esm/CacheSync.d.ts.map +1 -0
- package/dist/esm/CacheSync.js +94 -0
- package/dist/esm/CacheSync.js.map +1 -0
- package/dist/esm/DeferredClockFold.d.ts +354 -0
- package/dist/esm/DeferredClockFold.d.ts.map +1 -0
- package/dist/esm/DeferredClockFold.js +472 -0
- package/dist/esm/DeferredClockFold.js.map +1 -0
- package/dist/esm/DisasterRecovery.d.ts +431 -0
- package/dist/esm/DisasterRecovery.d.ts.map +1 -0
- package/dist/esm/DisasterRecovery.js +523 -0
- package/dist/esm/DisasterRecovery.js.map +1 -0
- package/dist/esm/DurableEngineState.d.ts +776 -0
- package/dist/esm/DurableEngineState.d.ts.map +1 -0
- package/dist/esm/DurableEngineState.js +1648 -0
- package/dist/esm/DurableEngineState.js.map +1 -0
- package/dist/esm/EngineStore.d.ts +158 -0
- package/dist/esm/EngineStore.d.ts.map +1 -0
- package/dist/esm/EngineStore.js +403 -0
- package/dist/esm/EngineStore.js.map +1 -0
- package/dist/esm/EngineStoreMetrics.d.ts +276 -0
- package/dist/esm/EngineStoreMetrics.d.ts.map +1 -0
- package/dist/esm/EngineStoreMetrics.js +260 -0
- package/dist/esm/EngineStoreMetrics.js.map +1 -0
- package/dist/esm/Errors.d.ts +22 -0
- package/dist/esm/Errors.d.ts.map +1 -0
- package/dist/esm/Errors.js +22 -0
- package/dist/esm/Errors.js.map +1 -0
- package/dist/esm/EventTypes.d.ts +27 -0
- package/dist/esm/EventTypes.d.ts.map +1 -0
- package/dist/esm/EventTypes.js +27 -0
- package/dist/esm/EventTypes.js.map +1 -0
- package/dist/esm/ExecutionFacts.d.ts +59 -0
- package/dist/esm/ExecutionFacts.d.ts.map +1 -0
- package/dist/esm/ExecutionFacts.js +96 -0
- package/dist/esm/ExecutionFacts.js.map +1 -0
- package/dist/esm/ExecutionSnapshot.d.ts +117 -0
- package/dist/esm/ExecutionSnapshot.d.ts.map +1 -0
- package/dist/esm/ExecutionSnapshot.js +95 -0
- package/dist/esm/ExecutionSnapshot.js.map +1 -0
- package/dist/esm/Inconsistency.d.ts +154 -0
- package/dist/esm/Inconsistency.d.ts.map +1 -0
- package/dist/esm/Inconsistency.js +133 -0
- package/dist/esm/Inconsistency.js.map +1 -0
- package/dist/esm/Migrations.d.ts +56 -0
- package/dist/esm/Migrations.d.ts.map +1 -0
- package/dist/esm/Migrations.js +91 -0
- package/dist/esm/Migrations.js.map +1 -0
- package/dist/esm/OwnerIdentity.d.ts +91 -0
- package/dist/esm/OwnerIdentity.d.ts.map +1 -0
- package/dist/esm/OwnerIdentity.js +99 -0
- package/dist/esm/OwnerIdentity.js.map +1 -0
- package/dist/esm/PlanInputStore.d.ts +110 -0
- package/dist/esm/PlanInputStore.d.ts.map +1 -0
- package/dist/esm/PlanInputStore.js +207 -0
- package/dist/esm/PlanInputStore.js.map +1 -0
- package/dist/esm/PlanMergeStore.d.ts +113 -0
- package/dist/esm/PlanMergeStore.d.ts.map +1 -0
- package/dist/esm/PlanMergeStore.js +244 -0
- package/dist/esm/PlanMergeStore.js.map +1 -0
- package/dist/esm/PlanScheduler.d.ts +363 -0
- package/dist/esm/PlanScheduler.d.ts.map +1 -0
- package/dist/esm/PlanScheduler.js +1321 -0
- package/dist/esm/PlanScheduler.js.map +1 -0
- package/dist/esm/Reconciliation.d.ts +175 -0
- package/dist/esm/Reconciliation.d.ts.map +1 -0
- package/dist/esm/Reconciliation.js +175 -0
- package/dist/esm/Reconciliation.js.map +1 -0
- package/dist/esm/ReplayOnly.d.ts +91 -0
- package/dist/esm/ReplayOnly.d.ts.map +1 -0
- package/dist/esm/ReplayOnly.js +59 -0
- package/dist/esm/ReplayOnly.js.map +1 -0
- package/dist/esm/Retention.d.ts +113 -0
- package/dist/esm/Retention.d.ts.map +1 -0
- package/dist/esm/Retention.js +139 -0
- package/dist/esm/Retention.js.map +1 -0
- package/dist/esm/RunCatalogRead.d.ts +17 -0
- package/dist/esm/RunCatalogRead.d.ts.map +1 -0
- package/dist/esm/RunCatalogRead.js +17 -0
- package/dist/esm/RunCatalogRead.js.map +1 -0
- package/dist/esm/RunChangeFeed.d.ts +75 -0
- package/dist/esm/RunChangeFeed.d.ts.map +1 -0
- package/dist/esm/RunChangeFeed.js +81 -0
- package/dist/esm/RunChangeFeed.js.map +1 -0
- package/dist/esm/RunState.d.ts +116 -0
- package/dist/esm/RunState.d.ts.map +1 -0
- package/dist/esm/RunState.js +109 -0
- package/dist/esm/RunState.js.map +1 -0
- package/dist/esm/Selection.d.ts +495 -0
- package/dist/esm/Selection.d.ts.map +1 -0
- package/dist/esm/Selection.js +482 -0
- package/dist/esm/Selection.js.map +1 -0
- package/dist/esm/SelectionStore.d.ts +141 -0
- package/dist/esm/SelectionStore.d.ts.map +1 -0
- package/dist/esm/SelectionStore.js +215 -0
- package/dist/esm/SelectionStore.js.map +1 -0
- package/dist/esm/StepBoundary.d.ts +501 -0
- package/dist/esm/StepBoundary.d.ts.map +1 -0
- package/dist/esm/StepBoundary.js +919 -0
- package/dist/esm/StepBoundary.js.map +1 -0
- package/dist/esm/StepCacheFold.d.ts +148 -0
- package/dist/esm/StepCacheFold.d.ts.map +1 -0
- package/dist/esm/StepCacheFold.js +201 -0
- package/dist/esm/StepCacheFold.js.map +1 -0
- package/dist/esm/StepSandbox.d.ts +78 -0
- package/dist/esm/StepSandbox.d.ts.map +1 -0
- package/dist/esm/StepSandbox.js +70 -0
- package/dist/esm/StepSandbox.js.map +1 -0
- package/dist/esm/WakeBus.d.ts +116 -0
- package/dist/esm/WakeBus.d.ts.map +1 -0
- package/dist/esm/WakeBus.js +121 -0
- package/dist/esm/WakeBus.js.map +1 -0
- package/dist/esm/WorkspaceSandbox.d.ts +619 -0
- package/dist/esm/WorkspaceSandbox.d.ts.map +1 -0
- package/dist/esm/WorkspaceSandbox.js +985 -0
- package/dist/esm/WorkspaceSandbox.js.map +1 -0
- package/dist/esm/index.d.ts +157 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +157 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/internal/ActionPersistence.d.ts +276 -0
- package/dist/esm/internal/ActionPersistence.d.ts.map +1 -0
- package/dist/esm/internal/ActionPersistence.js +2306 -0
- package/dist/esm/internal/ActionPersistence.js.map +1 -0
- package/dist/esm/internal/ArtifactRoots.d.ts +38 -0
- package/dist/esm/internal/ArtifactRoots.d.ts.map +1 -0
- package/dist/esm/internal/ArtifactRoots.js +76 -0
- package/dist/esm/internal/ArtifactRoots.js.map +1 -0
- package/dist/esm/internal/AttemptAdmission.d.ts +53 -0
- package/dist/esm/internal/AttemptAdmission.d.ts.map +1 -0
- package/dist/esm/internal/AttemptAdmission.js +52 -0
- package/dist/esm/internal/AttemptAdmission.js.map +1 -0
- package/dist/esm/internal/AttemptLifecycle.d.ts +245 -0
- package/dist/esm/internal/AttemptLifecycle.d.ts.map +1 -0
- package/dist/esm/internal/AttemptLifecycle.js +104 -0
- package/dist/esm/internal/AttemptLifecycle.js.map +1 -0
- package/dist/esm/internal/AttemptProbe.d.ts +53 -0
- package/dist/esm/internal/AttemptProbe.d.ts.map +1 -0
- package/dist/esm/internal/AttemptProbe.js +83 -0
- package/dist/esm/internal/AttemptProbe.js.map +1 -0
- package/dist/esm/internal/CacheAdmission.d.ts +79 -0
- package/dist/esm/internal/CacheAdmission.d.ts.map +1 -0
- package/dist/esm/internal/CacheAdmission.js +72 -0
- package/dist/esm/internal/CacheAdmission.js.map +1 -0
- package/dist/esm/internal/CacheAgeHistory.d.ts +27 -0
- package/dist/esm/internal/CacheAgeHistory.d.ts.map +1 -0
- package/dist/esm/internal/CacheAgeHistory.js +49 -0
- package/dist/esm/internal/CacheAgeHistory.js.map +1 -0
- package/dist/esm/internal/CacheAgeVerdicts.d.ts +15 -0
- package/dist/esm/internal/CacheAgeVerdicts.d.ts.map +1 -0
- package/dist/esm/internal/CacheAgeVerdicts.js +54 -0
- package/dist/esm/internal/CacheAgeVerdicts.js.map +1 -0
- package/dist/esm/internal/CacheOutputPolicy.d.ts +24 -0
- package/dist/esm/internal/CacheOutputPolicy.d.ts.map +1 -0
- package/dist/esm/internal/CacheOutputPolicy.js +73 -0
- package/dist/esm/internal/CacheOutputPolicy.js.map +1 -0
- package/dist/esm/internal/CachePublication.d.ts +97 -0
- package/dist/esm/internal/CachePublication.d.ts.map +1 -0
- package/dist/esm/internal/CachePublication.js +116 -0
- package/dist/esm/internal/CachePublication.js.map +1 -0
- package/dist/esm/internal/CallFacts.d.ts +15 -0
- package/dist/esm/internal/CallFacts.d.ts.map +1 -0
- package/dist/esm/internal/CallFacts.js +83 -0
- package/dist/esm/internal/CallFacts.js.map +1 -0
- package/dist/esm/internal/CopiedRecord.d.ts +61 -0
- package/dist/esm/internal/CopiedRecord.d.ts.map +1 -0
- package/dist/esm/internal/CopiedRecord.js +165 -0
- package/dist/esm/internal/CopiedRecord.js.map +1 -0
- package/dist/esm/internal/DeferredPersistence.d.ts +108 -0
- package/dist/esm/internal/DeferredPersistence.d.ts.map +1 -0
- package/dist/esm/internal/DeferredPersistence.js +240 -0
- package/dist/esm/internal/DeferredPersistence.js.map +1 -0
- package/dist/esm/internal/EffectRecords.d.ts +92 -0
- package/dist/esm/internal/EffectRecords.d.ts.map +1 -0
- package/dist/esm/internal/EffectRecords.js +94 -0
- package/dist/esm/internal/EffectRecords.js.map +1 -0
- package/dist/esm/internal/EngineJj.d.ts +30 -0
- package/dist/esm/internal/EngineJj.d.ts.map +1 -0
- package/dist/esm/internal/EngineJj.js +29 -0
- package/dist/esm/internal/EngineJj.js.map +1 -0
- package/dist/esm/internal/EngineStateSchema.d.ts +68 -0
- package/dist/esm/internal/EngineStateSchema.d.ts.map +1 -0
- package/dist/esm/internal/EngineStateSchema.js +53 -0
- package/dist/esm/internal/EngineStateSchema.js.map +1 -0
- package/dist/esm/internal/ExecutionSnapshotRead.d.ts +162 -0
- package/dist/esm/internal/ExecutionSnapshotRead.d.ts.map +1 -0
- package/dist/esm/internal/ExecutionSnapshotRead.js +218 -0
- package/dist/esm/internal/ExecutionSnapshotRead.js.map +1 -0
- package/dist/esm/internal/ExecutionSnapshotRelations.d.ts +39 -0
- package/dist/esm/internal/ExecutionSnapshotRelations.d.ts.map +1 -0
- package/dist/esm/internal/ExecutionSnapshotRelations.js +81 -0
- package/dist/esm/internal/ExecutionSnapshotRelations.js.map +1 -0
- package/dist/esm/internal/ExitEncoding.d.ts +180 -0
- package/dist/esm/internal/ExitEncoding.d.ts.map +1 -0
- package/dist/esm/internal/ExitEncoding.js +361 -0
- package/dist/esm/internal/ExitEncoding.js.map +1 -0
- package/dist/esm/internal/FileBoundarySnapshot.d.ts +14 -0
- package/dist/esm/internal/FileBoundarySnapshot.d.ts.map +1 -0
- package/dist/esm/internal/FileBoundarySnapshot.js +29 -0
- package/dist/esm/internal/FileBoundarySnapshot.js.map +1 -0
- package/dist/esm/internal/FileEnumeration.d.ts +127 -0
- package/dist/esm/internal/FileEnumeration.d.ts.map +1 -0
- package/dist/esm/internal/FileEnumeration.js +236 -0
- package/dist/esm/internal/FileEnumeration.js.map +1 -0
- package/dist/esm/internal/HostReflection.d.ts +80 -0
- package/dist/esm/internal/HostReflection.d.ts.map +1 -0
- package/dist/esm/internal/HostReflection.js +98 -0
- package/dist/esm/internal/HostReflection.js.map +1 -0
- package/dist/esm/internal/JournalRecords.d.ts +325 -0
- package/dist/esm/internal/JournalRecords.d.ts.map +1 -0
- package/dist/esm/internal/JournalRecords.js +306 -0
- package/dist/esm/internal/JournalRecords.js.map +1 -0
- package/dist/esm/internal/NodeJournal.d.ts +157 -0
- package/dist/esm/internal/NodeJournal.d.ts.map +1 -0
- package/dist/esm/internal/NodeJournal.js +298 -0
- package/dist/esm/internal/NodeJournal.js.map +1 -0
- package/dist/esm/internal/Ordering.d.ts +14 -0
- package/dist/esm/internal/Ordering.d.ts.map +1 -0
- package/dist/esm/internal/Ordering.js +14 -0
- package/dist/esm/internal/Ordering.js.map +1 -0
- package/dist/esm/internal/PlanInputs.d.ts +14 -0
- package/dist/esm/internal/PlanInputs.d.ts.map +1 -0
- package/dist/esm/internal/PlanInputs.js +57 -0
- package/dist/esm/internal/PlanInputs.js.map +1 -0
- package/dist/esm/internal/PlanMerges.d.ts +178 -0
- package/dist/esm/internal/PlanMerges.d.ts.map +1 -0
- package/dist/esm/internal/PlanMerges.js +113 -0
- package/dist/esm/internal/PlanMerges.js.map +1 -0
- package/dist/esm/internal/ProvenanceSlot.d.ts +30 -0
- package/dist/esm/internal/ProvenanceSlot.d.ts.map +1 -0
- package/dist/esm/internal/ProvenanceSlot.js +39 -0
- package/dist/esm/internal/ProvenanceSlot.js.map +1 -0
- package/dist/esm/internal/ResultEnvelope.d.ts +88 -0
- package/dist/esm/internal/ResultEnvelope.d.ts.map +1 -0
- package/dist/esm/internal/ResultEnvelope.js +83 -0
- package/dist/esm/internal/ResultEnvelope.js.map +1 -0
- package/dist/esm/internal/RetentionOps.d.ts +414 -0
- package/dist/esm/internal/RetentionOps.d.ts.map +1 -0
- package/dist/esm/internal/RetentionOps.js +576 -0
- package/dist/esm/internal/RetentionOps.js.map +1 -0
- package/dist/esm/internal/RunCatalogOps.d.ts +118 -0
- package/dist/esm/internal/RunCatalogOps.d.ts.map +1 -0
- package/dist/esm/internal/RunCatalogOps.js +120 -0
- package/dist/esm/internal/RunCatalogOps.js.map +1 -0
- package/dist/esm/internal/RunCoordinator.d.ts +78 -0
- package/dist/esm/internal/RunCoordinator.d.ts.map +1 -0
- package/dist/esm/internal/RunCoordinator.js +115 -0
- package/dist/esm/internal/RunCoordinator.js.map +1 -0
- package/dist/esm/internal/RunDriver.d.ts +192 -0
- package/dist/esm/internal/RunDriver.d.ts.map +1 -0
- package/dist/esm/internal/RunDriver.js +2334 -0
- package/dist/esm/internal/RunDriver.js.map +1 -0
- package/dist/esm/internal/RunLifecycle.d.ts +22 -0
- package/dist/esm/internal/RunLifecycle.d.ts.map +1 -0
- package/dist/esm/internal/RunLifecycle.js +49 -0
- package/dist/esm/internal/RunLifecycle.js.map +1 -0
- package/dist/esm/internal/RunListing.d.ts +78 -0
- package/dist/esm/internal/RunListing.d.ts.map +1 -0
- package/dist/esm/internal/RunListing.js +146 -0
- package/dist/esm/internal/RunListing.js.map +1 -0
- package/dist/esm/internal/RunListingError.d.ts +35 -0
- package/dist/esm/internal/RunListingError.d.ts.map +1 -0
- package/dist/esm/internal/RunListingError.js +27 -0
- package/dist/esm/internal/RunListingError.js.map +1 -0
- package/dist/esm/internal/RuntimeGraph.d.ts +73 -0
- package/dist/esm/internal/RuntimeGraph.d.ts.map +1 -0
- package/dist/esm/internal/RuntimeGraph.js +182 -0
- package/dist/esm/internal/RuntimeGraph.js.map +1 -0
- package/dist/esm/internal/SandboxedExecution.d.ts +80 -0
- package/dist/esm/internal/SandboxedExecution.d.ts.map +1 -0
- package/dist/esm/internal/SandboxedExecution.js +107 -0
- package/dist/esm/internal/SandboxedExecution.js.map +1 -0
- package/dist/esm/internal/StateTransaction.d.ts +44 -0
- package/dist/esm/internal/StateTransaction.d.ts.map +1 -0
- package/dist/esm/internal/StateTransaction.js +54 -0
- package/dist/esm/internal/StateTransaction.js.map +1 -0
- package/dist/esm/internal/StepFacts.d.ts +14 -0
- package/dist/esm/internal/StepFacts.d.ts.map +1 -0
- package/dist/esm/internal/StepFacts.js +35 -0
- package/dist/esm/internal/StepFacts.js.map +1 -0
- package/dist/esm/internal/TypedEvents.d.ts +14 -0
- package/dist/esm/internal/TypedEvents.d.ts.map +1 -0
- package/dist/esm/internal/TypedEvents.js +14 -0
- package/dist/esm/internal/TypedEvents.js.map +1 -0
- package/dist/esm/migrations/0001_initial.d.ts +17 -0
- package/dist/esm/migrations/0001_initial.d.ts.map +1 -0
- package/dist/esm/migrations/0001_initial.js +41 -0
- package/dist/esm/migrations/0001_initial.js.map +1 -0
- package/dist/esm/migrations/0002_selection_store.d.ts +15 -0
- package/dist/esm/migrations/0002_selection_store.d.ts.map +1 -0
- package/dist/esm/migrations/0002_selection_store.js +34 -0
- package/dist/esm/migrations/0002_selection_store.js.map +1 -0
- package/dist/esm/migrations/0003_plan_inputs.d.ts +13 -0
- package/dist/esm/migrations/0003_plan_inputs.d.ts.map +1 -0
- package/dist/esm/migrations/0003_plan_inputs.js +70 -0
- package/dist/esm/migrations/0003_plan_inputs.js.map +1 -0
- package/dist/esm/migrations/0004_plan_environment.d.ts +14 -0
- package/dist/esm/migrations/0004_plan_environment.d.ts.map +1 -0
- package/dist/esm/migrations/0004_plan_environment.js +33 -0
- package/dist/esm/migrations/0004_plan_environment.js.map +1 -0
- package/dist/esm/migrations/0005_plan_merges.d.ts +14 -0
- package/dist/esm/migrations/0005_plan_merges.d.ts.map +1 -0
- package/dist/esm/migrations/0005_plan_merges.js +59 -0
- package/dist/esm/migrations/0005_plan_merges.js.map +1 -0
- package/dist/esm/migrations/0006_execution_listing.d.ts +15 -0
- package/dist/esm/migrations/0006_execution_listing.d.ts.map +1 -0
- package/dist/esm/migrations/0006_execution_listing.js +81 -0
- package/dist/esm/migrations/0006_execution_listing.js.map +1 -0
- package/dist/esm/migrations/0007_run_parent_sequence.d.ts +15 -0
- package/dist/esm/migrations/0007_run_parent_sequence.d.ts.map +1 -0
- package/dist/esm/migrations/0007_run_parent_sequence.js +18 -0
- package/dist/esm/migrations/0007_run_parent_sequence.js.map +1 -0
- package/dist/esm/migrations/0008_deferred_consumption.d.ts +16 -0
- package/dist/esm/migrations/0008_deferred_consumption.d.ts.map +1 -0
- package/dist/esm/migrations/0008_deferred_consumption.js +24 -0
- package/dist/esm/migrations/0008_deferred_consumption.js.map +1 -0
- package/dist/esm/migrations/0009_deferred_clock_facts.d.ts +24 -0
- package/dist/esm/migrations/0009_deferred_clock_facts.d.ts.map +1 -0
- package/dist/esm/migrations/0009_deferred_clock_facts.js +127 -0
- package/dist/esm/migrations/0009_deferred_clock_facts.js.map +1 -0
- package/dist/esm/migrations/0010_pending_cancellation.d.ts +15 -0
- package/dist/esm/migrations/0010_pending_cancellation.d.ts.map +1 -0
- package/dist/esm/migrations/0010_pending_cancellation.js +19 -0
- package/dist/esm/migrations/0010_pending_cancellation.js.map +1 -0
- package/dist/esm/test/TestStores.d.ts +89 -0
- package/dist/esm/test/TestStores.d.ts.map +1 -0
- package/dist/esm/test/TestStores.js +103 -0
- package/dist/esm/test/TestStores.js.map +1 -0
- package/docs/README.md +113 -0
- package/docs/api.md +1494 -0
- package/docs/concepts/attempts-and-replay.md +149 -0
- package/docs/concepts/cache-admission.md +265 -0
- package/docs/concepts/call-facts.md +86 -0
- package/docs/concepts/durable-waits.md +175 -0
- package/docs/concepts/execution-facts.md +90 -0
- package/docs/concepts/ownership-and-fencing.md +128 -0
- package/docs/concepts/step-boundaries.md +148 -0
- package/docs/concepts/workspace-transactions.md +199 -0
- package/docs/event-types.md +14 -0
- package/docs/guides/back-up-and-restore.md +164 -0
- package/docs/guides/collect-unreferenced-artifacts.md +128 -0
- package/docs/guides/compose-a-durable-engine.md +146 -0
- package/docs/guides/coordinate-two-processes.md +120 -0
- package/docs/guides/defer-work-with-selection.md +171 -0
- package/docs/guides/delete-old-run-history.md +154 -0
- package/docs/guides/drive-a-plan.md +314 -0
- package/docs/guides/observe-engine-metrics.md +98 -0
- package/docs/guides/observe-executions.md +187 -0
- package/docs/guides/reclaim-runs-from-a-dead-host.md +133 -0
- package/docs/guides/share-a-cache-across-machines.md +134 -0
- package/docs/guides/testing.md +123 -0
- package/docs/installation.md +102 -0
- package/docs/quickstart.md +215 -0
- package/docs/troubleshooting.md +347 -0
- package/package.json +438 -3
- package/src/ArtifactGc.ts +408 -0
- package/src/ArtifactSync.ts +278 -0
- package/src/CacheSync.ts +131 -0
- package/src/DeferredClockFold.ts +586 -0
- package/src/DisasterRecovery.ts +888 -0
- package/src/DurableEngineState.ts +2656 -0
- package/src/EngineStore.ts +656 -0
- package/src/EngineStoreMetrics.ts +331 -0
- package/src/Errors.ts +28 -0
- package/src/EventTypes.ts +27 -0
- package/src/ExecutionFacts.ts +125 -0
- package/src/ExecutionSnapshot.ts +186 -0
- package/src/Inconsistency.ts +253 -0
- package/src/Migrations.ts +95 -0
- package/src/OwnerIdentity.ts +125 -0
- package/src/PlanInputStore.ts +292 -0
- package/src/PlanMergeStore.ts +330 -0
- package/src/PlanScheduler.ts +1806 -0
- package/src/Reconciliation.ts +224 -0
- package/src/ReplayOnly.ts +95 -0
- package/src/Retention.ts +214 -0
- package/src/RunCatalogRead.ts +27 -0
- package/src/RunChangeFeed.ts +125 -0
- package/src/RunState.ts +137 -0
- package/src/Selection.ts +683 -0
- package/src/SelectionStore.ts +353 -0
- package/src/StepBoundary.ts +1165 -0
- package/src/StepCacheFold.ts +244 -0
- package/src/StepSandbox.ts +110 -0
- package/src/WakeBus.ts +167 -0
- package/src/WorkspaceSandbox.ts +1604 -0
- package/src/index.ts +185 -0
- package/src/internal/ActionPersistence.ts +2687 -0
- package/src/internal/ArtifactRoots.ts +92 -0
- package/src/internal/AttemptAdmission.ts +76 -0
- package/src/internal/AttemptLifecycle.ts +163 -0
- package/src/internal/AttemptProbe.ts +90 -0
- package/src/internal/CacheAdmission.ts +133 -0
- package/src/internal/CacheAgeHistory.ts +58 -0
- package/src/internal/CacheAgeVerdicts.ts +61 -0
- package/src/internal/CacheOutputPolicy.ts +82 -0
- package/src/internal/CachePublication.ts +153 -0
- package/src/internal/CallFacts.ts +87 -0
- package/src/internal/CopiedRecord.ts +201 -0
- package/src/internal/DeferredPersistence.ts +459 -0
- package/src/internal/EffectRecords.ts +136 -0
- package/src/internal/EngineJj.ts +30 -0
- package/src/internal/EngineStateSchema.ts +92 -0
- package/src/internal/ExecutionSnapshotRead.ts +300 -0
- package/src/internal/ExecutionSnapshotRelations.ts +121 -0
- package/src/internal/ExitEncoding.ts +453 -0
- package/src/internal/FileBoundarySnapshot.ts +39 -0
- package/src/internal/FileEnumeration.ts +334 -0
- package/src/internal/HostReflection.ts +128 -0
- package/src/internal/JournalRecords.ts +396 -0
- package/src/internal/NodeJournal.ts +340 -0
- package/src/internal/Ordering.ts +14 -0
- package/src/internal/PlanInputs.ts +62 -0
- package/src/internal/PlanMerges.ts +123 -0
- package/src/internal/ProvenanceSlot.ts +52 -0
- package/src/internal/ResultEnvelope.ts +118 -0
- package/src/internal/RetentionOps.ts +865 -0
- package/src/internal/RunCatalogOps.ts +174 -0
- package/src/internal/RunCoordinator.ts +215 -0
- package/src/internal/RunDriver.ts +3154 -0
- package/src/internal/RunLifecycle.ts +53 -0
- package/src/internal/RunListing.ts +210 -0
- package/src/internal/RunListingError.ts +37 -0
- package/src/internal/RuntimeGraph.ts +253 -0
- package/src/internal/SandboxedExecution.ts +165 -0
- package/src/internal/StateTransaction.ts +71 -0
- package/src/internal/StepFacts.ts +36 -0
- package/src/internal/TypedEvents.ts +29 -0
- package/src/migrations/0001_initial.ts +51 -0
- package/src/migrations/0002_selection_store.ts +38 -0
- package/src/migrations/0003_plan_inputs.ts +75 -0
- package/src/migrations/0004_plan_environment.ts +34 -0
- package/src/migrations/0005_plan_merges.ts +60 -0
- package/src/migrations/0006_execution_listing.ts +86 -0
- package/src/migrations/0007_run_parent_sequence.ts +19 -0
- package/src/migrations/0008_deferred_consumption.ts +27 -0
- package/src/migrations/0009_deferred_clock_facts.ts +163 -0
- package/src/migrations/0010_pending_cancellation.ts +20 -0
- package/src/test/TestStores.ts +145 -0
|
@@ -0,0 +1,619 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Functional workspace transactions for action execution.
|
|
3
|
+
*
|
|
4
|
+
* An action body normally mutates the host tree in place, which leaves the
|
|
5
|
+
* engine two bad options: trust the declaration, or diff the whole repository
|
|
6
|
+
* after the fact. This module takes the third one. The body runs against an
|
|
7
|
+
* **isolated workspace** seeded with exactly its declared read set; its writes
|
|
8
|
+
* are a value — a whole-tree diff — that reaches the host only through an
|
|
9
|
+
* explicit {@link Service.materialize} step with preconditions and rollback.
|
|
10
|
+
*
|
|
11
|
+
* Two consequences follow, and they are the reason this exists:
|
|
12
|
+
*
|
|
13
|
+
* - **Whole-tree write observation is structural.** The transaction *is* the
|
|
14
|
+
* tree, so "did this body write outside its declared write set" is a map
|
|
15
|
+
* comparison, not an inference. `StepBoundary`'s filesystem layer can only
|
|
16
|
+
* re-measure paths it was told about, which is why it never claims
|
|
17
|
+
* `wholeTreeWritesVerified` and why nothing it settled could enter the
|
|
18
|
+
* cross-run cache.
|
|
19
|
+
* - **The host is untouched until copy-back.** An execution whose observations
|
|
20
|
+
* contradict its declaration is {@link Invalidated}, and an invalidated
|
|
21
|
+
* result exposes provenance and violations *only* — never the candidate
|
|
22
|
+
* output, files, or queued effects.
|
|
23
|
+
*
|
|
24
|
+
* This is a **deterministic transaction model, not a security boundary** — the
|
|
25
|
+
* same caveat the proof of concept carried. A body that reaches the host
|
|
26
|
+
* through a service this module does not seed (a spawned native process, an
|
|
27
|
+
* undecorated socket) is outside the transaction. Actually denying that
|
|
28
|
+
* ambient access requires a machine boundary such as the providers in
|
|
29
|
+
* `packages/smithers/flows/sandbox/docs/api.md`. The one host
|
|
30
|
+
* write this module *does* perform is confined, however: copy-back resolves
|
|
31
|
+
* symlinks before it lands a byte and refuses any target whose canonical
|
|
32
|
+
* location escapes the workspace root.
|
|
33
|
+
*
|
|
34
|
+
* Settled bundles reach the host without a human review gate. Governing
|
|
35
|
+
* design: `docs/concepts/workspace-transactions.md`.
|
|
36
|
+
*
|
|
37
|
+
* @since 0.1.0
|
|
38
|
+
*/
|
|
39
|
+
import * as ArtifactStore from "@smthrs/artifacts/ArtifactStore";
|
|
40
|
+
import type { FileBoundary } from "@smthrs/flow/FileBoundary";
|
|
41
|
+
import { Workspace as KernelWorkspace } from "@smthrs/kernel/Workspace";
|
|
42
|
+
import * as Cause from "effect/Cause";
|
|
43
|
+
import * as Context from "effect/Context";
|
|
44
|
+
import type * as Crypto from "effect/Crypto";
|
|
45
|
+
import * as Effect from "effect/Effect";
|
|
46
|
+
import * as FileSystem from "effect/FileSystem";
|
|
47
|
+
import * as Layer from "effect/Layer";
|
|
48
|
+
import * as Path from "effect/Path";
|
|
49
|
+
import * as Schema from "effect/Schema";
|
|
50
|
+
/**
|
|
51
|
+
* A protocol-neutral resource named in execution provenance.
|
|
52
|
+
*
|
|
53
|
+
* `kind` leaves room for later database, object-store, or network resources;
|
|
54
|
+
* this implementation records filesystem resources with `kind: "file"`.
|
|
55
|
+
*
|
|
56
|
+
* @category models
|
|
57
|
+
* @since 0.1.0
|
|
58
|
+
*/
|
|
59
|
+
export interface Resource {
|
|
60
|
+
readonly kind: string;
|
|
61
|
+
readonly id: string;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* An input value actually consulted by an execution.
|
|
65
|
+
*
|
|
66
|
+
* @category models
|
|
67
|
+
* @since 0.1.0
|
|
68
|
+
*/
|
|
69
|
+
export interface InputObservation {
|
|
70
|
+
readonly resource: Resource;
|
|
71
|
+
readonly digest: string;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* An output value actually produced by an execution.
|
|
75
|
+
*
|
|
76
|
+
* @category models
|
|
77
|
+
* @since 0.1.0
|
|
78
|
+
*/
|
|
79
|
+
export interface OutputObservation {
|
|
80
|
+
readonly resource: Resource;
|
|
81
|
+
readonly operation: "write" | "remove";
|
|
82
|
+
readonly digest: string | undefined;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Observed data dependencies and products of one isolated execution.
|
|
86
|
+
*
|
|
87
|
+
* @category models
|
|
88
|
+
* @since 0.1.0
|
|
89
|
+
*/
|
|
90
|
+
export interface Provenance {
|
|
91
|
+
readonly baseRevision: string;
|
|
92
|
+
readonly inputs: ReadonlyArray<InputObservation>;
|
|
93
|
+
readonly outputs: ReadonlyArray<OutputObservation>;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* One functional filesystem transformation.
|
|
97
|
+
*
|
|
98
|
+
* `beforeDigest` is a materialization precondition, never a hint: copy-back is
|
|
99
|
+
* a compare-and-set against it. `afterDigest` is absent for a removal;
|
|
100
|
+
* otherwise it addresses the file's complete post-state. `after` carries those
|
|
101
|
+
* bytes inline when they fit the host's inline bound, and is absent when they
|
|
102
|
+
* were spilled to the content-addressed artifact store under `afterDigest`.
|
|
103
|
+
*
|
|
104
|
+
* @category models
|
|
105
|
+
* @since 0.1.0
|
|
106
|
+
*/
|
|
107
|
+
export interface FileChange {
|
|
108
|
+
readonly path: string;
|
|
109
|
+
readonly beforeDigest: string | undefined;
|
|
110
|
+
readonly afterDigest: string | undefined;
|
|
111
|
+
readonly after?: Uint8Array | undefined;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* An external effect requested by an execution but deliberately **not**
|
|
115
|
+
* dispatched inside its speculative transaction.
|
|
116
|
+
*
|
|
117
|
+
* A sandbox that dispatched these would have already sent the message when its
|
|
118
|
+
* result turned out to be invalid, or would send it twice on a conflict retry.
|
|
119
|
+
* Delivery and idempotency belong to a dispatch stage that runs after
|
|
120
|
+
* copy-back settles; materializing file changes dispatches nothing.
|
|
121
|
+
*
|
|
122
|
+
* @category models
|
|
123
|
+
* @since 0.1.0
|
|
124
|
+
*/
|
|
125
|
+
export interface QueuedEffect {
|
|
126
|
+
readonly protocol: string;
|
|
127
|
+
readonly idempotencyKey: string;
|
|
128
|
+
readonly payload: unknown;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* The generic functional result of one isolated execution.
|
|
132
|
+
*
|
|
133
|
+
* `output` is the body's ordinary return value and stays schema-typed — the
|
|
134
|
+
* engine persists it as the action's recorded result, so it must be
|
|
135
|
+
* JSON-encodable. It is deliberately not bytes: file products travel in
|
|
136
|
+
* {@link FileChange}, which is content-addressed and can spill to the artifact
|
|
137
|
+
* store, and folding them into the output would defeat both.
|
|
138
|
+
*
|
|
139
|
+
* @category models
|
|
140
|
+
* @since 0.1.0
|
|
141
|
+
*/
|
|
142
|
+
export interface WorkflowResult<out Output = unknown> {
|
|
143
|
+
readonly output: Output;
|
|
144
|
+
readonly files: ReadonlyArray<FileChange>;
|
|
145
|
+
readonly provenance: Provenance;
|
|
146
|
+
readonly effects: ReadonlyArray<QueuedEffect>;
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* A filesystem and effect-outbox view scoped to one workspace transaction.
|
|
150
|
+
*
|
|
151
|
+
* A body receives this service only while executing inside
|
|
152
|
+
* {@link Service.execute}; every call mutates the isolated transaction and
|
|
153
|
+
* never the host. It sits beside — and over the same transaction as — the
|
|
154
|
+
* re-rooted Effect `FileSystem` the sandbox also seeds, so a body written
|
|
155
|
+
* against either surface is isolated.
|
|
156
|
+
*
|
|
157
|
+
* @category services
|
|
158
|
+
* @since 0.1.0
|
|
159
|
+
*/
|
|
160
|
+
export interface Workspace {
|
|
161
|
+
readonly readFile: (path: string) => Effect.Effect<Uint8Array, WorkspaceError>;
|
|
162
|
+
readonly writeFile: (path: string, content: Uint8Array) => Effect.Effect<void, WorkspaceError>;
|
|
163
|
+
readonly removeFile: (path: string) => Effect.Effect<void, WorkspaceError>;
|
|
164
|
+
readonly queueEffect: (effect: QueuedEffect) => Effect.Effect<void>;
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Context service made available only inside a workspace transaction.
|
|
168
|
+
*
|
|
169
|
+
* @category services
|
|
170
|
+
* @since 0.1.0
|
|
171
|
+
*/
|
|
172
|
+
export declare const Workspace: Context.Service<Workspace, Workspace>;
|
|
173
|
+
/**
|
|
174
|
+
* The declaration and body submitted to a workspace sandbox.
|
|
175
|
+
*
|
|
176
|
+
* `descriptor` is the same {@link FileBoundary} the step key was derived from
|
|
177
|
+
* and `StepBoundary` prepares against — an optimistic prediction the sandbox
|
|
178
|
+
* validates against what the body actually did. The proof of concept carried
|
|
179
|
+
* `Effects.Declaration` plus `KeyMaterial` here; on this side the declaration
|
|
180
|
+
* vocabulary is `FileBoundary` and step identity is already the engine's, so
|
|
181
|
+
* `cacheKey` is only an opaque memo address the caller may omit.
|
|
182
|
+
*
|
|
183
|
+
* @category models
|
|
184
|
+
* @since 0.1.0
|
|
185
|
+
*/
|
|
186
|
+
export interface Execution<out Output, out Error> {
|
|
187
|
+
readonly descriptor: FileBoundary;
|
|
188
|
+
readonly cacheKey?: string | undefined;
|
|
189
|
+
readonly workflow: Effect.Effect<Output, Error, Workspace | FileSystem.FileSystem>;
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Why observed execution contradicted its declaration.
|
|
193
|
+
*
|
|
194
|
+
* @category models
|
|
195
|
+
* @since 0.1.0
|
|
196
|
+
*/
|
|
197
|
+
export interface DeclarationViolation {
|
|
198
|
+
readonly kind: "undeclared-read" | "undeclared-write";
|
|
199
|
+
readonly resource: Resource;
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Memo outcome of an execution.
|
|
203
|
+
*
|
|
204
|
+
* The memo is a **run-local accelerator**, not the cross-run cache: the engine
|
|
205
|
+
* owns that through `CacheStore` and the step key. `disabled` is what a caller
|
|
206
|
+
* that supplied no `cacheKey` gets, and is the engine's ordinary case.
|
|
207
|
+
*
|
|
208
|
+
* A `hit` hands back the same {@link WorkflowResult} the miss produced rather
|
|
209
|
+
* than a copy of it — the proof of concept deep-cloned, but cloning the output
|
|
210
|
+
* needs `structuredClone`, and this port's output is not constrained to
|
|
211
|
+
* `Schema.Json`. The transaction itself is still isolated (its reads and writes
|
|
212
|
+
* copy bytes in both directions); what a caller must not do is mutate a
|
|
213
|
+
* returned result in place and then ask for it again.
|
|
214
|
+
*
|
|
215
|
+
* @category models
|
|
216
|
+
* @since 0.1.0
|
|
217
|
+
*/
|
|
218
|
+
export type CacheOutcome = {
|
|
219
|
+
readonly status: "disabled";
|
|
220
|
+
} | {
|
|
221
|
+
readonly status: "miss";
|
|
222
|
+
readonly key: string;
|
|
223
|
+
} | {
|
|
224
|
+
readonly status: "hit";
|
|
225
|
+
readonly key: string;
|
|
226
|
+
};
|
|
227
|
+
/**
|
|
228
|
+
* An execution whose observations matched its declaration.
|
|
229
|
+
*
|
|
230
|
+
* Only this variant is accepted by {@link Service.materialize}, so invalidated
|
|
231
|
+
* speculative changes cannot be applied by accident.
|
|
232
|
+
*
|
|
233
|
+
* @category models
|
|
234
|
+
* @since 0.1.0
|
|
235
|
+
*/
|
|
236
|
+
export interface Accepted<out Output = unknown> {
|
|
237
|
+
readonly _tag: "Accepted";
|
|
238
|
+
readonly result: WorkflowResult<Output>;
|
|
239
|
+
readonly cache: CacheOutcome;
|
|
240
|
+
/**
|
|
241
|
+
* Deviations the declaration did not predict. Empty in hard mode — that
|
|
242
|
+
* execution is {@link Invalidated} instead — and, in expected mode, the
|
|
243
|
+
* whole-tree evidence behind the deviation the engine journals.
|
|
244
|
+
*
|
|
245
|
+
* The proof of concept had no expected mode and so had no field here. It is
|
|
246
|
+
* carried on the result rather than recomputed by the caller because only
|
|
247
|
+
* the sandbox knows the root the declaration and the observations have to be
|
|
248
|
+
* compared in.
|
|
249
|
+
*/
|
|
250
|
+
readonly violations: ReadonlyArray<DeclarationViolation>;
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* An execution discarded because its observations contradicted its
|
|
254
|
+
* declaration.
|
|
255
|
+
*
|
|
256
|
+
* The candidate output, file changes, and queued effects are intentionally
|
|
257
|
+
* absent from this shape — there is no accessor that leaks them. Provenance
|
|
258
|
+
* and violations remain so the engine can journal an honest reason and, in
|
|
259
|
+
* expected mode, re-plan.
|
|
260
|
+
*
|
|
261
|
+
* @category models
|
|
262
|
+
* @since 0.1.0
|
|
263
|
+
*/
|
|
264
|
+
export interface Invalidated {
|
|
265
|
+
readonly _tag: "Invalidated";
|
|
266
|
+
readonly provenance: Provenance;
|
|
267
|
+
readonly violations: ReadonlyArray<DeclarationViolation>;
|
|
268
|
+
}
|
|
269
|
+
/**
|
|
270
|
+
* The result of validating one speculative execution.
|
|
271
|
+
*
|
|
272
|
+
* @category models
|
|
273
|
+
* @since 0.1.0
|
|
274
|
+
*/
|
|
275
|
+
export type ExecutionResult<Output = unknown> = Accepted<Output> | Invalidated;
|
|
276
|
+
/**
|
|
277
|
+
* Stable workspace sandbox failure codes.
|
|
278
|
+
*
|
|
279
|
+
* @category schemas
|
|
280
|
+
* @since 0.1.0
|
|
281
|
+
*/
|
|
282
|
+
export declare const WorkspaceErrorCode: Schema.Literals<readonly ["invalid_path", "not_found", "host_unavailable", "path_escapes_workspace", "commit_lock_timeout"]>;
|
|
283
|
+
/**
|
|
284
|
+
* Stable workspace sandbox failure codes.
|
|
285
|
+
*
|
|
286
|
+
* @category models
|
|
287
|
+
* @since 0.1.0
|
|
288
|
+
*/
|
|
289
|
+
export type WorkspaceErrorCode = typeof WorkspaceErrorCode.Type;
|
|
290
|
+
declare const WorkspaceError_base: Schema.Class<WorkspaceError, Schema.TaggedStruct<"@smthrs/engine-store/WorkspaceError", {
|
|
291
|
+
readonly code: Schema.Literals<readonly ["invalid_path", "not_found", "host_unavailable", "path_escapes_workspace", "commit_lock_timeout"]>;
|
|
292
|
+
readonly message: Schema.String;
|
|
293
|
+
readonly cause: Schema.optional<Schema.Defect>;
|
|
294
|
+
}>, Cause.YieldableError>;
|
|
295
|
+
/**
|
|
296
|
+
* A body could not execute inside — or its result could not be moved through —
|
|
297
|
+
* an isolated workspace.
|
|
298
|
+
*
|
|
299
|
+
* `cause` carries the refusing host or artifact-store failure whole, so a
|
|
300
|
+
* debugger sees the original error instead of a flattened message
|
|
301
|
+
* (`PlatformError`'s own convention).
|
|
302
|
+
*
|
|
303
|
+
* @category errors
|
|
304
|
+
* @since 0.1.0
|
|
305
|
+
*/
|
|
306
|
+
export declare class WorkspaceError extends WorkspaceError_base {
|
|
307
|
+
}
|
|
308
|
+
declare const MaterializationConflict_base: Schema.Class<MaterializationConflict, Schema.TaggedStruct<"@smthrs/engine-store/MaterializationConflict", {
|
|
309
|
+
readonly paths: Schema.$Array<Schema.NonEmptyString>;
|
|
310
|
+
readonly message: Schema.NonEmptyString;
|
|
311
|
+
}>, Cause.YieldableError>;
|
|
312
|
+
/**
|
|
313
|
+
* Copy-back would overwrite host state that changed since the transaction's
|
|
314
|
+
* base snapshot was taken.
|
|
315
|
+
*
|
|
316
|
+
* The engine answers this by retrying the attempt from a fresh base a bounded
|
|
317
|
+
* number of times. This local retry is rebase-shaped. The worktree-lane
|
|
318
|
+
* surface was removed; this error does not recreate it.
|
|
319
|
+
*
|
|
320
|
+
* @category errors
|
|
321
|
+
* @since 0.1.0
|
|
322
|
+
*/
|
|
323
|
+
export declare class MaterializationConflict extends MaterializationConflict_base {
|
|
324
|
+
}
|
|
325
|
+
/**
|
|
326
|
+
* Whether a failure is a materialization conflict in live or durable form.
|
|
327
|
+
* Persisted failures retain the schema tag but not the class prototype, so
|
|
328
|
+
* replay classification must recognize both representations.
|
|
329
|
+
*
|
|
330
|
+
* @category guards
|
|
331
|
+
* @since 0.1.0
|
|
332
|
+
*/
|
|
333
|
+
export declare const isMaterializationConflict: (error: unknown) => boolean;
|
|
334
|
+
/**
|
|
335
|
+
* The two-phase workspace transaction service.
|
|
336
|
+
*
|
|
337
|
+
* `execute` is speculative and never touches the host. `materialize` is the
|
|
338
|
+
* only host write. See its filesystem failure limits below.
|
|
339
|
+
*
|
|
340
|
+
* @category models
|
|
341
|
+
* @since 0.1.0
|
|
342
|
+
*/
|
|
343
|
+
export interface Service {
|
|
344
|
+
readonly execute: <Output, Error>(execution: Execution<Output, Error>) => Effect.Effect<ExecutionResult<Output>, Error | WorkspaceError, Crypto.Crypto>;
|
|
345
|
+
/**
|
|
346
|
+
* Checks all copy-back preconditions before applying any file change.
|
|
347
|
+
* The filesystem host serializes cooperating commits through confinement,
|
|
348
|
+
* preflight, apply, and rollback. On apply failure it attempts restoration
|
|
349
|
+
* from an in-memory pre-image journal; this is not crash-atomic. A failed
|
|
350
|
+
* rollback returns a compound cause containing both the apply failure and
|
|
351
|
+
* a `WorkspaceError` carrying the rollback cause. The caller must reconcile
|
|
352
|
+
* host files after a crash or failed rollback before resuming work.
|
|
353
|
+
*
|
|
354
|
+
* Filesystem coordination reserves `.smithers-workspace-lock` under the
|
|
355
|
+
* root, and copy-back refuses the `.flows` engine state directory plus any
|
|
356
|
+
* `FileSystemOptions.reservedPaths`, whatever the write set or mode. The
|
|
357
|
+
* lock is an `@smthrs/artifacts/FileLease`: a killed holder's lock is
|
|
358
|
+
* reclaimed once its heartbeat is 60 seconds old, and a commit that cannot
|
|
359
|
+
* take it within 2 minutes fails with `commit_lock_timeout` before changing
|
|
360
|
+
* anything. Writers that ignore the lock are outside this guarantee.
|
|
361
|
+
*/
|
|
362
|
+
readonly materialize: <Output>(accepted: Accepted<Output>) => Effect.Effect<void, MaterializationConflict | WorkspaceError, Crypto.Crypto>;
|
|
363
|
+
}
|
|
364
|
+
/**
|
|
365
|
+
* Context service for the selected workspace sandbox implementation.
|
|
366
|
+
*
|
|
367
|
+
* @category services
|
|
368
|
+
* @since 0.1.0
|
|
369
|
+
*/
|
|
370
|
+
export declare const WorkspaceSandbox: Context.Service<Service, Service>;
|
|
371
|
+
/**
|
|
372
|
+
* Constructs a workspace sandbox from an implementation.
|
|
373
|
+
*
|
|
374
|
+
* @category constructors
|
|
375
|
+
* @since 0.1.0
|
|
376
|
+
*/
|
|
377
|
+
export declare const make: (service: Service) => Service;
|
|
378
|
+
/**
|
|
379
|
+
* Provides a workspace sandbox implementation.
|
|
380
|
+
*
|
|
381
|
+
* @category layers
|
|
382
|
+
* @since 0.1.0
|
|
383
|
+
*/
|
|
384
|
+
export declare const layer: (service: Service) => Layer.Layer<Service>;
|
|
385
|
+
/**
|
|
386
|
+
* Delivery for the effects a transaction queued but refused to send.
|
|
387
|
+
*
|
|
388
|
+
* The engine runs this **after** copy-back settles, never inside the
|
|
389
|
+
* transaction: an effect dispatched speculatively has already reached the
|
|
390
|
+
* world when its execution turns out to be invalid, and has reached it twice
|
|
391
|
+
* when copy-back loses a race and the body re-runs. Deduplication is by
|
|
392
|
+
* {@link QueuedEffect.idempotencyKey}, which is the same key
|
|
393
|
+
* `docs/concepts/workspace-transactions.md` requires before an irreversible
|
|
394
|
+
* effect may be retried at all.
|
|
395
|
+
*
|
|
396
|
+
* @category services
|
|
397
|
+
* @since 0.1.0
|
|
398
|
+
*/
|
|
399
|
+
export interface Dispatcher {
|
|
400
|
+
readonly dispatch: (effect: QueuedEffect) => Effect.Effect<void>;
|
|
401
|
+
}
|
|
402
|
+
/**
|
|
403
|
+
* Context service for the queued-effect dispatch stage. Optional: with no
|
|
404
|
+
* dispatcher provided the engine journals what a transaction queued and sends
|
|
405
|
+
* nothing.
|
|
406
|
+
*
|
|
407
|
+
* @category services
|
|
408
|
+
* @since 0.1.0
|
|
409
|
+
*/
|
|
410
|
+
export declare const EffectDispatcher: Context.Service<Dispatcher, Dispatcher>;
|
|
411
|
+
/**
|
|
412
|
+
* Provides a queued-effect dispatch stage.
|
|
413
|
+
*
|
|
414
|
+
* @category layers
|
|
415
|
+
* @since 0.1.0
|
|
416
|
+
*/
|
|
417
|
+
export declare const layerDispatcher: (dispatcher: Dispatcher) => Layer.Layer<Dispatcher>;
|
|
418
|
+
/**
|
|
419
|
+
* Everything a workspace sandbox needs from the world it isolates bodies from.
|
|
420
|
+
*
|
|
421
|
+
* Splitting it out is what lets one transaction implementation serve both an
|
|
422
|
+
* in-memory host (tests, browsers, and the conformance suite) and a real
|
|
423
|
+
* filesystem host: the transaction, the diff, the violation check, and the
|
|
424
|
+
* provenance are identical, and only *where the base comes from* and *where
|
|
425
|
+
* copy-back lands* differ.
|
|
426
|
+
*
|
|
427
|
+
* @category models
|
|
428
|
+
* @since 0.1.0
|
|
429
|
+
*/
|
|
430
|
+
export interface Host {
|
|
431
|
+
/**
|
|
432
|
+
* The transaction's base. A host that can seed exactly the declared read set
|
|
433
|
+
* does so — a body then cannot read an undeclared file because it is not
|
|
434
|
+
* there, which is the strong tier of `Effect Taxonomy.md`. A host that hands
|
|
435
|
+
* back a wider tree gets the same guarantees post hoc, through the
|
|
436
|
+
* undeclared-read check.
|
|
437
|
+
*/
|
|
438
|
+
readonly snapshot: (descriptor: FileBoundary) => Effect.Effect<ReadonlyMap<string, Uint8Array>, WorkspaceError, Crypto.Crypto>;
|
|
439
|
+
/**
|
|
440
|
+
* The host's current digest for a path the transaction never observed, or
|
|
441
|
+
* `undefined` when the host holds nothing there.
|
|
442
|
+
*
|
|
443
|
+
* A host that seeds only the declared read set does not know what else is on
|
|
444
|
+
* disk, and "absent from the seed" is emphatically **not** "absent from the
|
|
445
|
+
* host": a body writing a declared output it never declared as a read is the
|
|
446
|
+
* ordinary case, and that file usually already exists from a previous run.
|
|
447
|
+
* Treating the seed as the whole world made every such copy-back a
|
|
448
|
+
* {@link MaterializationConflict} the engine could only rebase into the same
|
|
449
|
+
* refusal, and made an identical rewrite look like a change.
|
|
450
|
+
*
|
|
451
|
+
* The digest this returns is therefore the change's `beforeDigest`. A blind
|
|
452
|
+
* write cannot carry a compare-and-set over the body's whole execution — the
|
|
453
|
+
* body never read the prior content, so there is nothing it could have
|
|
454
|
+
* depended on — but copy-back still refuses if the path moves again between
|
|
455
|
+
* the diff and the commit.
|
|
456
|
+
*/
|
|
457
|
+
readonly baseline: (path: string) => Effect.Effect<string | undefined, WorkspaceError, Crypto.Crypto>;
|
|
458
|
+
/**
|
|
459
|
+
* Decides whether a produced file's bytes travel inline in its
|
|
460
|
+
* {@link FileChange} or by content address. Returning `undefined` means the
|
|
461
|
+
* bytes were retained under the change's `afterDigest` and must be fetched
|
|
462
|
+
* back at copy-back.
|
|
463
|
+
*/
|
|
464
|
+
readonly retain: (bytes: Uint8Array) => Effect.Effect<Uint8Array | undefined, WorkspaceError, Crypto.Crypto>;
|
|
465
|
+
/**
|
|
466
|
+
* Applies the diff as a compare-and-set on every `beforeDigest`. Hosts must
|
|
467
|
+
* serialize preflight through apply and rollback with competing commits.
|
|
468
|
+
* Check every precondition before changing files; on apply failure attempt
|
|
469
|
+
* to restore every touched path and preserve both causes if rollback fails.
|
|
470
|
+
* Crash recovery and host reconciliation remain the caller's responsibility.
|
|
471
|
+
*/
|
|
472
|
+
readonly commit: (changes: ReadonlyArray<FileChange>) => Effect.Effect<void, MaterializationConflict | WorkspaceError, Crypto.Crypto>;
|
|
473
|
+
/** The absolute root absolute host paths are interpreted against. */
|
|
474
|
+
readonly root: string;
|
|
475
|
+
}
|
|
476
|
+
/**
|
|
477
|
+
* Everything the declaration failed to predict, deduplicated.
|
|
478
|
+
*
|
|
479
|
+
* Reads and writes are checked against the declaration's exact paths and patterns; writes
|
|
480
|
+
* against the declared write set's patterns. A read of a file the body itself
|
|
481
|
+
* produced is not undeclared — the transaction, not the host, supplied it.
|
|
482
|
+
*
|
|
483
|
+
* @category accessors
|
|
484
|
+
* @since 0.1.0
|
|
485
|
+
*/
|
|
486
|
+
export declare const violations: (descriptor: FileBoundary, base: ReadonlyMap<string, Uint8Array>, provenance: Provenance) => ReadonlyArray<DeclarationViolation>;
|
|
487
|
+
/**
|
|
488
|
+
* Builds a workspace sandbox over a {@link Host}.
|
|
489
|
+
*
|
|
490
|
+
* @category constructors
|
|
491
|
+
* @since 0.1.0
|
|
492
|
+
*/
|
|
493
|
+
export declare const makeHosted: (host: Host) => Service;
|
|
494
|
+
/**
|
|
495
|
+
* Initial file contents accepted by {@link makeMemory}.
|
|
496
|
+
*
|
|
497
|
+
* @category models
|
|
498
|
+
* @since 0.1.0
|
|
499
|
+
*/
|
|
500
|
+
export type InitialFiles = Readonly<Record<string, string | Uint8Array>>;
|
|
501
|
+
/**
|
|
502
|
+
* A host file snapshot exposed by the deterministic in-memory implementation.
|
|
503
|
+
*
|
|
504
|
+
* @category models
|
|
505
|
+
* @since 0.1.0
|
|
506
|
+
*/
|
|
507
|
+
export interface HostFile {
|
|
508
|
+
readonly path: string;
|
|
509
|
+
readonly content: Uint8Array;
|
|
510
|
+
}
|
|
511
|
+
/**
|
|
512
|
+
* The deterministic in-memory sandbox plus read-only test observations.
|
|
513
|
+
*
|
|
514
|
+
* @category models
|
|
515
|
+
* @since 0.1.0
|
|
516
|
+
*/
|
|
517
|
+
export interface MemorySandbox {
|
|
518
|
+
readonly service: Service;
|
|
519
|
+
readonly files: Effect.Effect<ReadonlyArray<HostFile>>;
|
|
520
|
+
}
|
|
521
|
+
/**
|
|
522
|
+
* Creates a deterministic in-memory workspace sandbox.
|
|
523
|
+
*
|
|
524
|
+
* The returned `files` effect observes *host* state, not a running
|
|
525
|
+
* transaction: it changes only through `service.materialize`. This host hands
|
|
526
|
+
* the transaction its whole tree rather than seeding the declared read set, so
|
|
527
|
+
* an undeclared read is observable — which is exactly what makes it the
|
|
528
|
+
* conformance implementation for the bare tier of `Effect Taxonomy.md`.
|
|
529
|
+
*
|
|
530
|
+
* @category constructors
|
|
531
|
+
* @since 0.1.0
|
|
532
|
+
*/
|
|
533
|
+
export declare const makeMemory: (initialFiles?: InitialFiles) => Effect.Effect<MemorySandbox, WorkspaceError, Crypto.Crypto>;
|
|
534
|
+
/**
|
|
535
|
+
* Filesystem workspace sandbox options.
|
|
536
|
+
*
|
|
537
|
+
* @category models
|
|
538
|
+
* @since 0.1.0
|
|
539
|
+
*/
|
|
540
|
+
export interface FileSystemOptions {
|
|
541
|
+
/**
|
|
542
|
+
* The largest produced file (in bytes) carried inline in its
|
|
543
|
+
* {@link FileChange}. Anything larger is retained in the content-addressed
|
|
544
|
+
* artifact store and fetched back at copy-back. Defaults to 1 MiB, matching
|
|
545
|
+
* `StepBoundary`'s evidence bound.
|
|
546
|
+
*/
|
|
547
|
+
readonly maxInlineBytes?: number | undefined;
|
|
548
|
+
/**
|
|
549
|
+
* Root-relative paths copy-back refuses to write or remove, in addition to
|
|
550
|
+
* the always-reserved `.smithers-workspace-lock` and `.flows` directories.
|
|
551
|
+
* Name the engine database, its `-wal`/`-shm` siblings, and the artifact
|
|
552
|
+
* directory here when they live under the root outside `.flows`. A
|
|
553
|
+
* reserved directory also reserves every path beneath it.
|
|
554
|
+
*/
|
|
555
|
+
readonly reservedPaths?: ReadonlyArray<string> | undefined;
|
|
556
|
+
}
|
|
557
|
+
/**
|
|
558
|
+
* Builds the filesystem-backed workspace sandbox.
|
|
559
|
+
*
|
|
560
|
+
* **Copy-in, not overlay.** The transaction is seeded with exactly the
|
|
561
|
+
* declared read set and nothing else
|
|
562
|
+
* (`docs/concepts/workspace-transactions.md`). Bazel uses the same strategy, which
|
|
563
|
+
* is why whole-tree write observation is structural here. Re-rooting a
|
|
564
|
+
* body onto a bare host tree instead would leave every undeclared file
|
|
565
|
+
* readable and reduce enforcement to the taxonomy's weakest, post-hoc
|
|
566
|
+
* detection-by-diff tier; and the OS-level overlay that would fix that is not
|
|
567
|
+
* reachable through Effect's `FileSystem` tag, so it could not run in a
|
|
568
|
+
* browser. Seeding costs a copy of the declared reads and buys both.
|
|
569
|
+
*
|
|
570
|
+
* **Copy-back is confined and journaled.** Every copy-back host call (the
|
|
571
|
+
* lock, preflight, apply, and rollback) goes through
|
|
572
|
+
* `@smthrs/kernel/FileSystem`'s `confined` view: one descriptor-relative,
|
|
573
|
+
* no-follow request against the workspace root pinned when the commit starts.
|
|
574
|
+
* A symlink anywhere on a change's path, a hard-linked file, or a root
|
|
575
|
+
* replaced mid-commit is refused with `path_escapes_workspace`, never
|
|
576
|
+
* followed, and no check-then-write window exists for a concurrent process to
|
|
577
|
+
* swap a link into. A copy-back through a symlink that stays inside the root
|
|
578
|
+
* is refused too: the body writes the referent path itself. `fs` must
|
|
579
|
+
* therefore carry the kernel's descriptor-relative executor (Node and Bun
|
|
580
|
+
* hosts use `@smthrs/platform-node`'s `AtomicFileSystem`) or a
|
|
581
|
+
* whole-filesystem isolation attestation (`withIsolatedFileSystem`, for an
|
|
582
|
+
* in-memory volume); a plain path-based host is refused at copy-back with
|
|
583
|
+
* `host_unavailable`. Snapshot reads use `fs` as given. A root-keyed semaphore and
|
|
584
|
+
* the `.smithers-workspace-lock` lease file (`@smthrs/artifacts/FileLease`)
|
|
585
|
+
* serialize cooperating callers, including separate processes. Preconditions run before file
|
|
586
|
+
* changes, and the apply loop keeps each target's pre-image for in-process
|
|
587
|
+
* rollback. A crash or rollback failure can leave partial changes; see
|
|
588
|
+
* {@link Service.materialize} for the caller's reconciliation obligations.
|
|
589
|
+
* Hosts must implement exclusive `wx` file creation, `stat` with an mtime,
|
|
590
|
+
* `utimes`, `rename`, and `remove` for the reserved lock. Copy-back
|
|
591
|
+
* also refuses the `.flows` engine state directory and any
|
|
592
|
+
* {@link FileSystemOptions.reservedPaths}, so no write set or boundary mode
|
|
593
|
+
* lets a step body replace the engine database or its artifact blobs.
|
|
594
|
+
*
|
|
595
|
+
* @category constructors
|
|
596
|
+
* @since 0.1.0
|
|
597
|
+
*/
|
|
598
|
+
export declare const makeFileSystem: (fs: FileSystem.FileSystem, platformPath: Path.Path, artifacts: ArtifactStore.Service, workspaceRoot: string, options?: FileSystemOptions) => Service;
|
|
599
|
+
/**
|
|
600
|
+
* Provides the filesystem-backed workspace sandbox.
|
|
601
|
+
*
|
|
602
|
+
* Host access arrives through Effect's `FileSystem` tag — the same tag the
|
|
603
|
+
* capability kernel decorates in place — and blob retention through
|
|
604
|
+
* `@smthrs/artifacts`, so the same sandbox runs over a purely local store or a
|
|
605
|
+
* local-plus-shared composition without knowing which it got. The workspace
|
|
606
|
+
* root arrives through the kernel's `Workspace` service, so absolute paths a
|
|
607
|
+
* body resolved for itself still land inside the transaction.
|
|
608
|
+
*
|
|
609
|
+
* The layer refuses to build over a host that {@link makeFileSystem} could
|
|
610
|
+
* not confine (a plain path-based `FileSystem`), failing with
|
|
611
|
+
* `host_unavailable`, so a composition that could never copy back safely is
|
|
612
|
+
* rejected at startup rather than at its first commit.
|
|
613
|
+
*
|
|
614
|
+
* @category layers
|
|
615
|
+
* @since 0.1.0
|
|
616
|
+
*/
|
|
617
|
+
export declare const layerFileSystem: (options?: FileSystemOptions) => Layer.Layer<Service, WorkspaceError, FileSystem.FileSystem | Path.Path | ArtifactStore.ArtifactStore | KernelWorkspace>;
|
|
618
|
+
export {};
|
|
619
|
+
//# sourceMappingURL=WorkspaceSandbox.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WorkspaceSandbox.d.ts","sourceRoot":"","sources":["../../src/WorkspaceSandbox.ts"],"names":[],"mappings":"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"}
|