@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,501 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hermetic step boundary contracts, the filesystem-backed production
|
|
3
|
+
* implementation, and the deterministic test implementation.
|
|
4
|
+
*
|
|
5
|
+
* @since 0.1.0
|
|
6
|
+
*/
|
|
7
|
+
import * as ArtifactStore from "@smthrs/artifacts/ArtifactStore";
|
|
8
|
+
import { FileBoundary } from "@smthrs/flow/FileBoundary";
|
|
9
|
+
import { FileInput } from "@smthrs/flow/FileInput";
|
|
10
|
+
import * as Context from "effect/Context";
|
|
11
|
+
import type * as Crypto from "effect/Crypto";
|
|
12
|
+
import * as Effect from "effect/Effect";
|
|
13
|
+
import * as FileSystem from "effect/FileSystem";
|
|
14
|
+
import * as Layer from "effect/Layer";
|
|
15
|
+
import * as Path from "effect/Path";
|
|
16
|
+
import * as Schema from "effect/Schema";
|
|
17
|
+
/**
|
|
18
|
+
* A file boundary that has been measured but not yet run: the caller's
|
|
19
|
+
* declaration, paired with what the host actually found on disk for it.
|
|
20
|
+
*
|
|
21
|
+
* `prepare` produces one of these before a step executes and `settle` consumes
|
|
22
|
+
* it afterwards, which is what lets the boundary say whether the world moved
|
|
23
|
+
* underneath the declaration. Check it with {@link readSetMatches}.
|
|
24
|
+
*
|
|
25
|
+
* @since 0.1.0
|
|
26
|
+
* @category schemas
|
|
27
|
+
*/
|
|
28
|
+
export declare const PreparedBoundary: Schema.Struct<{
|
|
29
|
+
readonly descriptor: Schema.Struct<{
|
|
30
|
+
readonly readSet: Schema.$Array<Schema.Union<readonly [Schema.Struct<{
|
|
31
|
+
readonly path: Schema.NonEmptyString;
|
|
32
|
+
readonly digest: Schema.NonEmptyString;
|
|
33
|
+
}>, Schema.TaggedStruct<"Glob", {
|
|
34
|
+
readonly include: Schema.NonEmptyArray<Schema.NonEmptyString>;
|
|
35
|
+
readonly exclude: Schema.optional<Schema.$Array<Schema.NonEmptyString>>;
|
|
36
|
+
}>]>>;
|
|
37
|
+
readonly writeSet: Schema.$Array<Schema.Union<readonly [Schema.NonEmptyString, Schema.TaggedStruct<"Glob", {
|
|
38
|
+
readonly include: Schema.NonEmptyArray<Schema.NonEmptyString>;
|
|
39
|
+
readonly exclude: Schema.optional<Schema.$Array<Schema.NonEmptyString>>;
|
|
40
|
+
}>, Schema.TaggedStruct<"TreeArtifact", {
|
|
41
|
+
readonly path: Schema.NonEmptyString;
|
|
42
|
+
}>]>>;
|
|
43
|
+
readonly removes: Schema.optional<Schema.$Array<Schema.NonEmptyString>>;
|
|
44
|
+
readonly boundaryMode: Schema.Literals<readonly ["hard", "expected"]>;
|
|
45
|
+
}>;
|
|
46
|
+
/**
|
|
47
|
+
* What the host actually measured for the declared read set at prepare
|
|
48
|
+
* time. The declared digests are caller metadata folded into the step key;
|
|
49
|
+
* this is the evidence that they still describe reality, and a sealed
|
|
50
|
+
* cache hit is refused when the two disagree (issue #90).
|
|
51
|
+
*/
|
|
52
|
+
readonly readSnapshot: Schema.$Array<Schema.Struct<{
|
|
53
|
+
readonly path: Schema.NonEmptyString;
|
|
54
|
+
readonly digest: Schema.NonEmptyString;
|
|
55
|
+
}>>;
|
|
56
|
+
}>;
|
|
57
|
+
/**
|
|
58
|
+
* The value form of {@link PreparedBoundary}.
|
|
59
|
+
*
|
|
60
|
+
* @since 0.1.0
|
|
61
|
+
* @category models
|
|
62
|
+
*/
|
|
63
|
+
export type PreparedBoundary = typeof PreparedBoundary.Type;
|
|
64
|
+
/**
|
|
65
|
+
* Exact read inputs from a boundary after ignoring declarations that still need expansion.
|
|
66
|
+
*
|
|
67
|
+
* @category accessors
|
|
68
|
+
* @since 0.1.0
|
|
69
|
+
*/
|
|
70
|
+
export declare const exactReads: (descriptor: FileBoundary) => ReadonlyArray<FileInput>;
|
|
71
|
+
/**
|
|
72
|
+
* Whether every declared read still matches what the host measured.
|
|
73
|
+
*
|
|
74
|
+
* Reads the host reports but the declaration never claimed are ignored: the
|
|
75
|
+
* declaration is the dependency edge set, and an incidental extra read is not
|
|
76
|
+
* one of its edges. A declared path missing from the measurement counts as a
|
|
77
|
+
* mismatch — its value is unknown, so reuse cannot be justified.
|
|
78
|
+
*
|
|
79
|
+
* @since 0.1.0
|
|
80
|
+
* @category predicates
|
|
81
|
+
*/
|
|
82
|
+
export declare const readSetMatches: (prepared: PreparedBoundary) => boolean;
|
|
83
|
+
/**
|
|
84
|
+
* The paths a step wrote that its `expected` write set did not name, together
|
|
85
|
+
* with the diff identity they were observed under.
|
|
86
|
+
*
|
|
87
|
+
* An expected-mode boundary reports these rather than failing: the declaration
|
|
88
|
+
* is a prediction, and a wrong prediction is evidence to journal, not an
|
|
89
|
+
* error. A hard-mode boundary raises {@link UndeclaredWrite} for the same
|
|
90
|
+
* observation.
|
|
91
|
+
*
|
|
92
|
+
* @since 0.1.0
|
|
93
|
+
* @category schemas
|
|
94
|
+
*/
|
|
95
|
+
export declare const ExpectedSetDeviation: Schema.TaggedStruct<"ExpectedSetDeviation", {
|
|
96
|
+
readonly paths: Schema.$Array<Schema.String>;
|
|
97
|
+
readonly diffIdentity: Schema.NonEmptyString;
|
|
98
|
+
}>;
|
|
99
|
+
/**
|
|
100
|
+
* Declared writes an expected-mode step did not produce, and did not declare
|
|
101
|
+
* as removals.
|
|
102
|
+
*
|
|
103
|
+
* The absence itself is the defect: recording it as valid evidence caches the
|
|
104
|
+
* claim "this file should not exist", which `replayOutputs` then acts on by
|
|
105
|
+
* deleting the path on a workspace that never ran the step. A hard-mode
|
|
106
|
+
* boundary raises {@link MissingDeclaredOutput} for the same observation.
|
|
107
|
+
*
|
|
108
|
+
* Expected mode records it rather than failing because the declaration there is
|
|
109
|
+
* a prediction — and because a deviation of any variant already bars the
|
|
110
|
+
* evidence from the shared cache (`ActionPersistence` gates `recordCache` on
|
|
111
|
+
* `deviation === undefined`), so an unexplained absence never reaches another
|
|
112
|
+
* host either way.
|
|
113
|
+
*
|
|
114
|
+
* @since 0.1.0
|
|
115
|
+
* @category schemas
|
|
116
|
+
*/
|
|
117
|
+
export declare const MissingOutputDeviation: Schema.TaggedStruct<"MissingDeclaredOutput", {
|
|
118
|
+
readonly paths: Schema.$Array<Schema.String>;
|
|
119
|
+
readonly diffIdentity: Schema.NonEmptyString;
|
|
120
|
+
}>;
|
|
121
|
+
/**
|
|
122
|
+
* Declared removals an expected-mode step left in place.
|
|
123
|
+
*
|
|
124
|
+
* The dual of {@link MissingOutputDeviation}: a removal is a promise about the
|
|
125
|
+
* post-state exactly as a write is. A path that was promised absent but is
|
|
126
|
+
* still present — possibly mutated — must not settle as valid evidence, or
|
|
127
|
+
* the mutation is cached under a declaration that disclaimed it and replay
|
|
128
|
+
* materializes it everywhere. A hard-mode boundary raises
|
|
129
|
+
* {@link SurvivingDeclaredRemoval} for the same observation.
|
|
130
|
+
*
|
|
131
|
+
* @since 0.1.0
|
|
132
|
+
* @category schemas
|
|
133
|
+
*/
|
|
134
|
+
export declare const SurvivingRemovalDeviation: Schema.TaggedStruct<"SurvivingDeclaredRemoval", {
|
|
135
|
+
readonly paths: Schema.$Array<Schema.String>;
|
|
136
|
+
readonly diffIdentity: Schema.NonEmptyString;
|
|
137
|
+
}>;
|
|
138
|
+
/**
|
|
139
|
+
* What a settled boundary observed that its declaration did not predict.
|
|
140
|
+
*
|
|
141
|
+
* @since 0.1.0
|
|
142
|
+
* @category schemas
|
|
143
|
+
*/
|
|
144
|
+
export declare const BoundaryDeviation: Schema.Union<readonly [Schema.TaggedStruct<"ExpectedSetDeviation", {
|
|
145
|
+
readonly paths: Schema.$Array<Schema.String>;
|
|
146
|
+
readonly diffIdentity: Schema.NonEmptyString;
|
|
147
|
+
}>, Schema.TaggedStruct<"MissingDeclaredOutput", {
|
|
148
|
+
readonly paths: Schema.$Array<Schema.String>;
|
|
149
|
+
readonly diffIdentity: Schema.NonEmptyString;
|
|
150
|
+
}>, Schema.TaggedStruct<"SurvivingDeclaredRemoval", {
|
|
151
|
+
readonly paths: Schema.$Array<Schema.String>;
|
|
152
|
+
readonly diffIdentity: Schema.NonEmptyString;
|
|
153
|
+
}>]>;
|
|
154
|
+
/**
|
|
155
|
+
* The value form of {@link BoundaryDeviation}.
|
|
156
|
+
*
|
|
157
|
+
* @since 0.1.0
|
|
158
|
+
* @category models
|
|
159
|
+
*/
|
|
160
|
+
export type BoundaryDeviation = typeof BoundaryDeviation.Type;
|
|
161
|
+
/**
|
|
162
|
+
* What a settled boundary proved about a step's writes — the record the
|
|
163
|
+
* journal keeps and a later cache hit is justified against.
|
|
164
|
+
*
|
|
165
|
+
* `diffIdentity` names the post-state the step produced; `declaredOutputs`
|
|
166
|
+
* carries whatever the implementation needs to reproduce it on a workspace
|
|
167
|
+
* that never ran the step. The two optional fields are the honest gaps:
|
|
168
|
+
* `wholeTreeWritesVerified` is present only when the boundary could observe
|
|
169
|
+
* the entire execution tree, and `deviation` only when it saw writes the
|
|
170
|
+
* declaration did not predict.
|
|
171
|
+
*
|
|
172
|
+
* @since 0.1.0
|
|
173
|
+
* @category schemas
|
|
174
|
+
*/
|
|
175
|
+
export declare const BoundaryEvidence: Schema.Struct<{
|
|
176
|
+
readonly declaredOutputs: Schema.Unknown;
|
|
177
|
+
readonly diffIdentity: Schema.NonEmptyString;
|
|
178
|
+
/**
|
|
179
|
+
* The boundary observed the whole execution tree and proved that every
|
|
180
|
+
* write was covered by the descriptor's write set. Only evidence carrying
|
|
181
|
+
* this explicit proof may enter the cross-run cache. Older evidence and
|
|
182
|
+
* boundaries that can inspect declared paths only omit it.
|
|
183
|
+
*/
|
|
184
|
+
readonly wholeTreeWritesVerified: Schema.optional<Schema.Literal<true>>;
|
|
185
|
+
/** The body could observe only declared filesystem inputs. */
|
|
186
|
+
readonly hermeticReadsVerified: Schema.optional<Schema.Literal<true>>;
|
|
187
|
+
readonly deviation: Schema.optional<Schema.Union<readonly [Schema.TaggedStruct<"ExpectedSetDeviation", {
|
|
188
|
+
readonly paths: Schema.$Array<Schema.String>;
|
|
189
|
+
readonly diffIdentity: Schema.NonEmptyString;
|
|
190
|
+
}>, Schema.TaggedStruct<"MissingDeclaredOutput", {
|
|
191
|
+
readonly paths: Schema.$Array<Schema.String>;
|
|
192
|
+
readonly diffIdentity: Schema.NonEmptyString;
|
|
193
|
+
}>, Schema.TaggedStruct<"SurvivingDeclaredRemoval", {
|
|
194
|
+
readonly paths: Schema.$Array<Schema.String>;
|
|
195
|
+
readonly diffIdentity: Schema.NonEmptyString;
|
|
196
|
+
}>]>>;
|
|
197
|
+
}>;
|
|
198
|
+
/**
|
|
199
|
+
* The value form of {@link BoundaryEvidence}.
|
|
200
|
+
*
|
|
201
|
+
* @since 0.1.0
|
|
202
|
+
* @category models
|
|
203
|
+
*/
|
|
204
|
+
export type BoundaryEvidence = typeof BoundaryEvidence.Type;
|
|
205
|
+
declare const UndeclaredWrite_base: Schema.Class<UndeclaredWrite, Schema.TaggedStruct<"@smthrs/engine-store/UndeclaredWrite", {
|
|
206
|
+
readonly code: Schema.Literal<"undeclared_write">;
|
|
207
|
+
readonly paths: Schema.$Array<Schema.String>;
|
|
208
|
+
readonly diffIdentity: Schema.NonEmptyString;
|
|
209
|
+
}>, import("effect/Cause").YieldableError>;
|
|
210
|
+
/**
|
|
211
|
+
* A hard-mode step wrote outside its declared write set.
|
|
212
|
+
*
|
|
213
|
+
* Hard mode treats the declaration as a contract, so this is a refusal, not a
|
|
214
|
+
* report: the step's evidence is never journaled and never becomes a cache
|
|
215
|
+
* entry. An expected-mode boundary records the same observation as a
|
|
216
|
+
* {@link BoundaryDeviation} instead.
|
|
217
|
+
*
|
|
218
|
+
* @since 0.1.0
|
|
219
|
+
* @category errors
|
|
220
|
+
*/
|
|
221
|
+
export declare class UndeclaredWrite extends UndeclaredWrite_base {
|
|
222
|
+
}
|
|
223
|
+
declare const MissingDeclaredOutput_base: Schema.Class<MissingDeclaredOutput, Schema.TaggedStruct<"@smthrs/engine-store/MissingDeclaredOutput", {
|
|
224
|
+
readonly code: Schema.Literal<"missing_declared_output">;
|
|
225
|
+
readonly paths: Schema.$Array<Schema.String>;
|
|
226
|
+
readonly diffIdentity: Schema.NonEmptyString;
|
|
227
|
+
}>, import("effect/Cause").YieldableError>;
|
|
228
|
+
/**
|
|
229
|
+
* A step finished without producing a path its write set declared, and did not
|
|
230
|
+
* declare that path as a removal.
|
|
231
|
+
*
|
|
232
|
+
* Bazel hard-fails the same observation — `SkyframeActionExecutor.checkOutputs`
|
|
233
|
+
* reports "output was not created" — and for the same reason: the alternative
|
|
234
|
+
* is to record `digest: null` as valid evidence, which caches the claim "this
|
|
235
|
+
* file should not exist" and makes every later replay delete the path. A step
|
|
236
|
+
* that crashed after declaring its writes would poison the cache with an
|
|
237
|
+
* eraser.
|
|
238
|
+
*
|
|
239
|
+
* Declaring the path in {@link FileBoundary}'s `removes` is how a deliberate
|
|
240
|
+
* deletion says so, and it is the only thing that makes the absence legitimate.
|
|
241
|
+
*
|
|
242
|
+
* @since 0.1.0
|
|
243
|
+
* @category errors
|
|
244
|
+
*/
|
|
245
|
+
export declare class MissingDeclaredOutput extends MissingDeclaredOutput_base {
|
|
246
|
+
}
|
|
247
|
+
declare const SurvivingDeclaredRemoval_base: Schema.Class<SurvivingDeclaredRemoval, Schema.TaggedStruct<"@smthrs/engine-store/SurvivingDeclaredRemoval", {
|
|
248
|
+
readonly code: Schema.Literal<"surviving_declared_removal">;
|
|
249
|
+
readonly paths: Schema.$Array<Schema.String>;
|
|
250
|
+
readonly diffIdentity: Schema.NonEmptyString;
|
|
251
|
+
}>, import("effect/Cause").YieldableError>;
|
|
252
|
+
/**
|
|
253
|
+
* A hard-mode step left a declared removal in place.
|
|
254
|
+
*
|
|
255
|
+
* The dual of {@link MissingDeclaredOutput}: `removes` promises the path is
|
|
256
|
+
* absent afterwards, and a path that survived — or was quietly rewritten —
|
|
257
|
+
* is a post-state the declaration disclaimed. Settling it as evidence would
|
|
258
|
+
* cache the surviving bytes under a removal and hand them to every replay.
|
|
259
|
+
*
|
|
260
|
+
* @since 0.1.0
|
|
261
|
+
* @category errors
|
|
262
|
+
*/
|
|
263
|
+
export declare class SurvivingDeclaredRemoval extends SurvivingDeclaredRemoval_base {
|
|
264
|
+
}
|
|
265
|
+
declare const UnsupportedBoundary_base: Schema.Class<UnsupportedBoundary, Schema.TaggedStruct<"@smthrs/engine-store/UnsupportedBoundary", {
|
|
266
|
+
readonly code: Schema.Literal<"unsupported_boundary">;
|
|
267
|
+
readonly message: Schema.String;
|
|
268
|
+
/**
|
|
269
|
+
* The refusing host or artifact-store failure, carried whole rather than
|
|
270
|
+
* flattened into the message (`PlatformError`'s own convention), so the
|
|
271
|
+
* journal record and a live debugger both see the original error.
|
|
272
|
+
*/
|
|
273
|
+
readonly cause: Schema.optional<Schema.Defect>;
|
|
274
|
+
}>, import("effect/Cause").YieldableError>;
|
|
275
|
+
/**
|
|
276
|
+
* The host could not honour the boundary at all — a filesystem that cannot be
|
|
277
|
+
* measured, a path that cannot be read, a transient I/O failure.
|
|
278
|
+
*
|
|
279
|
+
* It is the catch-all host refusal, deliberately kept distinct from the two
|
|
280
|
+
* refusals a caller can act on: {@link BoundaryCorruption} (the bytes changed
|
|
281
|
+
* under a recorded digest) and {@link MissingArtifact} (the bytes might be
|
|
282
|
+
* fetchable from a shared tier).
|
|
283
|
+
*
|
|
284
|
+
* @since 0.1.0
|
|
285
|
+
* @category errors
|
|
286
|
+
*/
|
|
287
|
+
export declare class UnsupportedBoundary extends UnsupportedBoundary_base {
|
|
288
|
+
}
|
|
289
|
+
declare const BoundaryCorruption_base: Schema.Class<BoundaryCorruption, Schema.TaggedStruct<"@smthrs/engine-store/BoundaryCorruption", {
|
|
290
|
+
readonly code: Schema.Literal<"boundary_corruption">;
|
|
291
|
+
readonly path: Schema.String;
|
|
292
|
+
readonly recordedDigest: Schema.String;
|
|
293
|
+
readonly measuredDigest: Schema.String;
|
|
294
|
+
}>, import("effect/Cause").YieldableError>;
|
|
295
|
+
/**
|
|
296
|
+
* Recorded boundary evidence whose bytes no longer match their recorded
|
|
297
|
+
* digest — an integrity violation of the store's strongest invariant, as
|
|
298
|
+
* opposed to a transient host failure (issue #150). The two classes were
|
|
299
|
+
* previously conflated under one `UnsupportedBoundary` tag, so a failing
|
|
300
|
+
* disk corrupting many blobs journalled identically to a one-off EIO.
|
|
301
|
+
*
|
|
302
|
+
* @since 0.1.0
|
|
303
|
+
* @category errors
|
|
304
|
+
*/
|
|
305
|
+
export declare class BoundaryCorruption extends BoundaryCorruption_base {
|
|
306
|
+
}
|
|
307
|
+
declare const MissingArtifact_base: Schema.Class<MissingArtifact, Schema.TaggedStruct<"@smthrs/engine-store/MissingArtifact", {
|
|
308
|
+
readonly code: Schema.Literal<"missing_artifact">;
|
|
309
|
+
readonly path: Schema.String;
|
|
310
|
+
readonly digest: Schema.String;
|
|
311
|
+
}>, import("effect/Cause").YieldableError>;
|
|
312
|
+
/**
|
|
313
|
+
* Recorded evidence references an artifact this host's store does not hold
|
|
314
|
+
* (issue #172). Distinct from {@link UnsupportedBoundary} because it is the one
|
|
315
|
+
* replay refusal a *shared artifact tier* can repair: the caller fetches the
|
|
316
|
+
* blob from the remote store, writes it back locally, and retries the replay
|
|
317
|
+
* once before falling through to a real execution. Every other host refusal
|
|
318
|
+
* says nothing about where the bytes might be.
|
|
319
|
+
*
|
|
320
|
+
* @since 0.1.0
|
|
321
|
+
* @category errors
|
|
322
|
+
*/
|
|
323
|
+
export declare class MissingArtifact extends MissingArtifact_base {
|
|
324
|
+
}
|
|
325
|
+
/**
|
|
326
|
+
* The three-call lifecycle of a hermetic step boundary.
|
|
327
|
+
*
|
|
328
|
+
* `prepare` measures the declared read set before the step runs; `settle`
|
|
329
|
+
* measures the writes afterwards and turns them into {@link BoundaryEvidence};
|
|
330
|
+
* `replayOutputs` reproduces a previous step's outputs from that evidence, so
|
|
331
|
+
* a cache hit can materialize results on a workspace that never executed
|
|
332
|
+
* anything.
|
|
333
|
+
*
|
|
334
|
+
* @since 0.1.0
|
|
335
|
+
* @category services
|
|
336
|
+
*/
|
|
337
|
+
export interface Service {
|
|
338
|
+
readonly prepare: (descriptor: FileBoundary) => Effect.Effect<PreparedBoundary, UnsupportedBoundary, Crypto.Crypto>;
|
|
339
|
+
readonly settle: (prepared: PreparedBoundary) => Effect.Effect<BoundaryEvidence, UndeclaredWrite | MissingDeclaredOutput | SurvivingDeclaredRemoval | UnsupportedBoundary | BoundaryCorruption, Crypto.Crypto>;
|
|
340
|
+
readonly replayOutputs: (evidence: BoundaryEvidence) => Effect.Effect<void, UnsupportedBoundary | BoundaryCorruption | MissingArtifact, Crypto.Crypto>;
|
|
341
|
+
}
|
|
342
|
+
/**
|
|
343
|
+
* The service key for a {@link Service}. Provide it with `layer` for
|
|
344
|
+
* a real workspace or `layerTest` for a deterministic in-memory one.
|
|
345
|
+
*
|
|
346
|
+
* @since 0.1.0
|
|
347
|
+
* @category services
|
|
348
|
+
*/
|
|
349
|
+
export declare const StepBoundary: Context.Service<Service, Service>;
|
|
350
|
+
/**
|
|
351
|
+
* Brands a {@link Service} implementation as a `StepBoundary`, so a new
|
|
352
|
+
* boundary backend is type-checked where it is written rather than where it is
|
|
353
|
+
* provided.
|
|
354
|
+
*
|
|
355
|
+
* @since 0.1.0
|
|
356
|
+
* @category constructors
|
|
357
|
+
*/
|
|
358
|
+
export declare const make: (service: Service) => Service;
|
|
359
|
+
/**
|
|
360
|
+
* The two size bounds that decide when a settled output is inlined into
|
|
361
|
+
* boundary evidence and when it is spilled to the `ArtifactStore` by digest.
|
|
362
|
+
*
|
|
363
|
+
* Both default to values that keep an evidence row small enough to journal;
|
|
364
|
+
* raise them only when the workspace's outputs are known to be small and the
|
|
365
|
+
* extra artifact round-trip is measurably costing something.
|
|
366
|
+
*
|
|
367
|
+
* @since 0.1.0
|
|
368
|
+
* @category models
|
|
369
|
+
*/
|
|
370
|
+
export interface FileSystemOptions {
|
|
371
|
+
/**
|
|
372
|
+
* The largest output (in bytes) inlined into the boundary evidence
|
|
373
|
+
* itself. Anything larger is handed to the `ArtifactStore` and recorded by
|
|
374
|
+
* digest reference only (issue #113). Defaults to 1 MiB.
|
|
375
|
+
*/
|
|
376
|
+
readonly maxInlineBytes?: number | undefined;
|
|
377
|
+
/**
|
|
378
|
+
* The largest *aggregate* inline payload (in bytes) a single settle may
|
|
379
|
+
* fold into its boundary evidence (issue #122). A per-output bound alone
|
|
380
|
+
* still let a wide write set multiply many individually-small payloads
|
|
381
|
+
* into an unbounded evidence row; once an output would push the running
|
|
382
|
+
* total past this bound it is spilled to the `ArtifactStore` and
|
|
383
|
+
* recorded by digest reference only, even though it individually fits
|
|
384
|
+
* {@link maxInlineBytes}. Defaults to 8 MiB.
|
|
385
|
+
*/
|
|
386
|
+
readonly maxTotalInlineBytes?: number | undefined;
|
|
387
|
+
/**
|
|
388
|
+
* The workspace root cache replay confines its writes, removals, and prune
|
|
389
|
+
* walk to. A filesystem already confined to a root (the kernel-guarded
|
|
390
|
+
* layer's service, or a `confined` view) keeps its own root and ignores
|
|
391
|
+
* this. Otherwise it defaults to the process working directory, the root a
|
|
392
|
+
* path-based host resolves `prepare` and `settle` against. {@link layer}
|
|
393
|
+
* passes the kernel `Workspace` root when one is in context.
|
|
394
|
+
*/
|
|
395
|
+
readonly root?: string | undefined;
|
|
396
|
+
}
|
|
397
|
+
/**
|
|
398
|
+
* The digests this evidence references rather than inlines — the set that must
|
|
399
|
+
* be durable in a shared artifact tier before the evidence's cache entry
|
|
400
|
+
* becomes observable there, and the set a replay on a fresh host has to fetch.
|
|
401
|
+
*
|
|
402
|
+
* Evidence recorded by a foreign boundary implementation references nothing
|
|
403
|
+
* this store can name, so it yields the empty list rather than failing: the
|
|
404
|
+
* caller's replay path already refuses such evidence with
|
|
405
|
+
* {@link UnsupportedBoundary}.
|
|
406
|
+
*
|
|
407
|
+
* @since 0.1.0
|
|
408
|
+
* @category accessors
|
|
409
|
+
*/
|
|
410
|
+
export declare const referencedDigests: (evidence: BoundaryEvidence) => ReadonlyArray<ArtifactStore.Digest>;
|
|
411
|
+
/**
|
|
412
|
+
* Builds the filesystem-backed boundary service.
|
|
413
|
+
*
|
|
414
|
+
* The blob mechanics — content addressing, atomic publication, digest
|
|
415
|
+
* verification, dedupe — belong to `artifacts` and were extracted into
|
|
416
|
+
* `@smthrs/artifacts` (`packages/smithers/flows/artifacts/docs/api.md`). What stays here
|
|
417
|
+
* is the *policy* that decides which outputs become blobs at all: the
|
|
418
|
+
* inline-versus-spill budgets are a property of how large an evidence row may
|
|
419
|
+
* get, not of how bytes are stored.
|
|
420
|
+
*
|
|
421
|
+
* @since 0.1.0
|
|
422
|
+
* @category constructors
|
|
423
|
+
*/
|
|
424
|
+
export declare const makeFileSystem: (fs: FileSystem.FileSystem, platformPath: Path.Path, artifacts: ArtifactStore.Service, options?: FileSystemOptions) => Service;
|
|
425
|
+
/**
|
|
426
|
+
* Provides the filesystem-backed production boundary: `prepare` measures the
|
|
427
|
+
* declared read set for real, `settle` detects reads mutated outside the
|
|
428
|
+
* declared write set and captures the write set's post-state, and
|
|
429
|
+
* `replayOutputs` re-materializes those outputs on cache-hit replay.
|
|
430
|
+
*
|
|
431
|
+
* Host access arrives through Effect's `FileSystem` tag, which the capability
|
|
432
|
+
* kernel decorates in place — the same seam every host implementation (node,
|
|
433
|
+
* bun, browser, sandbox) already provides. Blob storage arrives through
|
|
434
|
+
* `@smthrs/artifacts`, so the same boundary runs over a purely local store or
|
|
435
|
+
* over a local-plus-shared composition without knowing which it got.
|
|
436
|
+
*
|
|
437
|
+
* Replay confines its own mutations rather than trusting the composition:
|
|
438
|
+
* they run through `@smthrs/kernel/FileSystem`'s `confined` view, rooted at
|
|
439
|
+
* the kernel `Workspace` when one is in context. A symlink on a replayed path
|
|
440
|
+
* (a parent, the final component, or a member of a replayed tree) and a host
|
|
441
|
+
* with no descriptor-relative executor or isolation attestation both refuse
|
|
442
|
+
* with {@link UnsupportedBoundary}, which the caller journals as
|
|
443
|
+
* `replay_failed` before executing the step for real.
|
|
444
|
+
*
|
|
445
|
+
* @since 0.1.0
|
|
446
|
+
* @category layers
|
|
447
|
+
*/
|
|
448
|
+
export declare const layer: Layer.Layer<Service, never, FileSystem.FileSystem | Path.Path | ArtifactStore.ArtifactStore>;
|
|
449
|
+
/**
|
|
450
|
+
* What the deterministic test boundary should pretend the host observed.
|
|
451
|
+
*
|
|
452
|
+
* Every field is a fixture, not a classification rule: a test supplies settlement
|
|
453
|
+
* evidence or failure, the read snapshot, and whether the host claims
|
|
454
|
+
* to support the boundary at all — then asserts on the resulting evidence or
|
|
455
|
+
* refusal. Defaults describe a well-behaved, fully-supported host.
|
|
456
|
+
*
|
|
457
|
+
* @since 0.1.0
|
|
458
|
+
* @category models
|
|
459
|
+
*/
|
|
460
|
+
export interface TestOptions {
|
|
461
|
+
/** A settlement failure supplied verbatim by an integration fixture. */
|
|
462
|
+
readonly failure?: UndeclaredWrite | MissingDeclaredOutput | SurvivingDeclaredRemoval | undefined;
|
|
463
|
+
/** Settlement evidence supplied verbatim; classification belongs to the real layer. */
|
|
464
|
+
readonly deviation?: BoundaryDeviation | undefined;
|
|
465
|
+
/**
|
|
466
|
+
* What `prepare` reports as measured for the declared read set. Defaults
|
|
467
|
+
* to the declaration itself; a test supplies a different snapshot to stand
|
|
468
|
+
* for a file whose content moved out from under a stale declaration
|
|
469
|
+
* (issue #90).
|
|
470
|
+
*/
|
|
471
|
+
readonly readSnapshot?: ReadonlyArray<FileInput> | undefined;
|
|
472
|
+
/** The opaque replay payload recorded in the evidence. */
|
|
473
|
+
readonly declaredOutputs?: unknown;
|
|
474
|
+
/** The post-state identity the evidence names. Defaults to a fixed string. */
|
|
475
|
+
readonly diffIdentity?: string | undefined;
|
|
476
|
+
/** When false, every call fails with {@link UnsupportedBoundary}. Defaults to true. */
|
|
477
|
+
readonly supported?: boolean | undefined;
|
|
478
|
+
/** Whether the fixture attests a whole-tree observation. Defaults to true. */
|
|
479
|
+
readonly wholeTreeWriteDetection?: boolean | undefined;
|
|
480
|
+
/** Whether the fixture models an isolated read surface. Defaults to true. */
|
|
481
|
+
readonly hermeticReadDetection?: boolean | undefined;
|
|
482
|
+
/** Observes each `replayOutputs` call, so a test can assert replay happened. */
|
|
483
|
+
readonly onReplay?: (evidence: BoundaryEvidence) => void;
|
|
484
|
+
}
|
|
485
|
+
/**
|
|
486
|
+
* Deterministic in-memory boundary suitable only for tests. Production
|
|
487
|
+
* wiring uses {@link layer}, the filesystem-backed implementation.
|
|
488
|
+
*
|
|
489
|
+
* Whole-tree change detection is supplied by sandboxed settlement, not by any
|
|
490
|
+
* boundary layer: an isolated execution's transaction IS the tree, so
|
|
491
|
+
* `ActionPersistence` compares its diff against the declared sets and sets
|
|
492
|
+
* `wholeTreeWritesVerified` structurally (the retired piece-6 limitation).
|
|
493
|
+
* {@link layer} still detects mutations within the declared read set only,
|
|
494
|
+
* which is why unsandboxed evidence stays run-local.
|
|
495
|
+
*
|
|
496
|
+
* @since 0.1.0
|
|
497
|
+
* @category layers
|
|
498
|
+
*/
|
|
499
|
+
export declare const layerTest: (options?: TestOptions) => Layer.Layer<Service>;
|
|
500
|
+
export {};
|
|
501
|
+
//# sourceMappingURL=StepBoundary.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StepBoundary.d.ts","sourceRoot":"","sources":["../../src/StepBoundary.ts"],"names":[],"mappings":"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"}
|