@smthrs/engine-store 0.0.0-stage → 1.0.0-rc.3
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 +199 -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 +1584 -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 +298 -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 +3152 -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,112 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The shared step-result tier's publication seam: the remote half of a cache
|
|
3
|
+
* `put`, run *after* the transaction that made the local row durable.
|
|
4
|
+
*
|
|
5
|
+
* `ArtifactSync` is the same idea for the artifact tier, and the two together
|
|
6
|
+
* are the REAPI ordering constraint
|
|
7
|
+
* (`reference/bazel/.../remote/UploadManifest.java:630-633`): blobs first, the
|
|
8
|
+
* entry that references them last.
|
|
9
|
+
*
|
|
10
|
+
* This tag exists because of *where* the local row is written.
|
|
11
|
+
* `ActionPersistence` commits the cache row and the journal record that
|
|
12
|
+
* explains it in one `DurableWriter` transaction, and nothing that is not
|
|
13
|
+
* storage work may be held across one — the action body, the Jj snapshot, and
|
|
14
|
+
* the boundary prepare/settle all already stay outside. A `CacheStore` whose
|
|
15
|
+
* `put` also writes a shared HTTP tier would put a network round trip inside
|
|
16
|
+
* that transaction, blocking every other writer for its duration and rolling
|
|
17
|
+
* the local row back when a *shared cache* is unreachable. So the local put
|
|
18
|
+
* stays inside and the shared put becomes this service, invoked once the
|
|
19
|
+
* transaction has committed. Compose it with
|
|
20
|
+
* `CombinedCacheStore` in `"deferred"` publication mode, which is the mode that
|
|
21
|
+
* leaves the shared write to this seam.
|
|
22
|
+
*
|
|
23
|
+
* Publication is **best-effort by construction**. A shared cache is an
|
|
24
|
+
* accelerator, and the work it would have shared is already durably recorded on
|
|
25
|
+
* this host: failing a completed run because an optional tier is unreachable
|
|
26
|
+
* trades a real result for an unavailable one. A refused publication is
|
|
27
|
+
* journaled by the caller instead, which is the same treatment an unverified
|
|
28
|
+
* read set gets — visible, not silent.
|
|
29
|
+
*
|
|
30
|
+
* Governing design: `packages/smithers/flows/step-cache/docs/api.md`.
|
|
31
|
+
*
|
|
32
|
+
* @since 0.1.0
|
|
33
|
+
*/
|
|
34
|
+
import type { CacheStore } from "@smthrs/step-cache";
|
|
35
|
+
import * as Context from "effect/Context";
|
|
36
|
+
import * as Effect from "effect/Effect";
|
|
37
|
+
import * as Layer from "effect/Layer";
|
|
38
|
+
import * as Option from "effect/Option";
|
|
39
|
+
/**
|
|
40
|
+
* The one operation the shared-cache publication seam exposes.
|
|
41
|
+
*
|
|
42
|
+
* It is a single method rather than a store interface on purpose: everything
|
|
43
|
+
* about reading, keying, and invalidating a cache entry belongs to
|
|
44
|
+
* `CacheStore`, and all this seam does is take an already-durable local entry
|
|
45
|
+
* and try to share it.
|
|
46
|
+
*
|
|
47
|
+
* @since 0.1.0
|
|
48
|
+
* @category services
|
|
49
|
+
*/
|
|
50
|
+
export interface Service {
|
|
51
|
+
/**
|
|
52
|
+
* Publishes a cache entry to the shared tier, reporting the refusal rather
|
|
53
|
+
* than failing: `Option.none()` means the entry is now shared, and
|
|
54
|
+
* `Option.some(error)` means it is not and why.
|
|
55
|
+
*
|
|
56
|
+
* Callers must only reach here once every artifact the entry references is
|
|
57
|
+
* durable in the shared artifact tier — that is `ArtifactSync.publish`'s job,
|
|
58
|
+
* and it runs first.
|
|
59
|
+
*/
|
|
60
|
+
readonly publishEntry: (entry: CacheStore.CacheEntry) => Effect.Effect<Option.Option<CacheStore.CacheStoreError>>;
|
|
61
|
+
}
|
|
62
|
+
declare const CacheSync_base: Context.ServiceClass<CacheSync, "@smthrs/engine-store/CacheSync", Service>;
|
|
63
|
+
/**
|
|
64
|
+
* Service tag for the shared step-result publication seam.
|
|
65
|
+
*
|
|
66
|
+
* @since 0.1.0
|
|
67
|
+
* @category services
|
|
68
|
+
*/
|
|
69
|
+
export declare class CacheSync extends CacheSync_base {
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* The single-tier implementation: there is no shared step-result tier, so a
|
|
73
|
+
* recorded entry is already everywhere it will ever be.
|
|
74
|
+
*
|
|
75
|
+
* This is the default `ActionPersistence` falls back to when the tag is
|
|
76
|
+
* absent, which is what keeps a purely local composition free of any
|
|
77
|
+
* remote-cache machinery.
|
|
78
|
+
*
|
|
79
|
+
* @since 0.1.0
|
|
80
|
+
* @category constructors
|
|
81
|
+
*/
|
|
82
|
+
export declare const makeLocal: () => Service;
|
|
83
|
+
/**
|
|
84
|
+
* Provides the single-tier (no shared step-result store) publication seam.
|
|
85
|
+
*
|
|
86
|
+
* @since 0.1.0
|
|
87
|
+
* @category layers
|
|
88
|
+
*/
|
|
89
|
+
export declare const layerLocal: Layer.Layer<CacheSync>;
|
|
90
|
+
/**
|
|
91
|
+
* Builds the publication seam over a shared step-result store — typically
|
|
92
|
+
* `RemoteCacheStore`.
|
|
93
|
+
*
|
|
94
|
+
* @since 0.1.0
|
|
95
|
+
* @category constructors
|
|
96
|
+
*/
|
|
97
|
+
export declare const make: (options: {
|
|
98
|
+
readonly remote: CacheStore.Service;
|
|
99
|
+
}) => Service;
|
|
100
|
+
/**
|
|
101
|
+
* Provides the publication seam over the supplied shared store.
|
|
102
|
+
*
|
|
103
|
+
* The shared store arrives as an *effect* rather than a layer because it
|
|
104
|
+
* inhabits the same `CacheStore` tag as the local one: composing both as layers
|
|
105
|
+
* would shadow one with the other.
|
|
106
|
+
*
|
|
107
|
+
* @since 0.1.0
|
|
108
|
+
* @category layers
|
|
109
|
+
*/
|
|
110
|
+
export declare const layer: <E, R>(remote: Effect.Effect<CacheStore.Service, E, R>) => Layer.Layer<CacheSync, E, R>;
|
|
111
|
+
export {};
|
|
112
|
+
//# sourceMappingURL=CacheSync.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CacheSync.d.ts","sourceRoot":"","sources":["../../src/CacheSync.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC;;;;;;;;;;GAUG;AACH,MAAM,WAAW,OAAO;IACtB;;;;;;;;OAQG;IACH,QAAQ,CAAC,YAAY,EAAE,CACrB,KAAK,EAAE,UAAU,CAAC,UAAU,KACzB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAA;CAC9D;;AAED;;;;;GAKG;AACH,qBAAa,SAAU,SAAQ,cAAuE;CAAG;AAEzG;;;;;;;;;;GAUG;AACH,eAAO,MAAM,SAAS,QAAO,OAE3B,CAAA;AAEF;;;;;GAKG;AACH,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS,CAAyC,CAAA;AAEvF;;;;;;GAMG;AACH,eAAO,MAAM,IAAI,GAAI,SAAS;IAAE,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,CAAA;CAAE,KAAG,OAYtE,CAAA;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,KAAK,GAAI,CAAC,EAAE,CAAC,EACxB,QAAQ,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,KAC9C,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,CAAsF,CAAA"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var CacheSync_exports = {};
|
|
30
|
+
__export(CacheSync_exports, {
|
|
31
|
+
CacheSync: () => CacheSync,
|
|
32
|
+
layer: () => layer,
|
|
33
|
+
layerLocal: () => layerLocal,
|
|
34
|
+
make: () => make,
|
|
35
|
+
makeLocal: () => makeLocal
|
|
36
|
+
});
|
|
37
|
+
module.exports = __toCommonJS(CacheSync_exports);
|
|
38
|
+
var Context = __toESM(require("effect/Context"), 1);
|
|
39
|
+
var Effect = __toESM(require("effect/Effect"), 1);
|
|
40
|
+
var Layer = __toESM(require("effect/Layer"), 1);
|
|
41
|
+
var Option = __toESM(require("effect/Option"), 1);
|
|
42
|
+
class CacheSync extends Context.Service()("@smthrs/engine-store/CacheSync") {
|
|
43
|
+
}
|
|
44
|
+
const makeLocal = () => ({
|
|
45
|
+
publishEntry: Effect.fn("CacheSync.publishEntry")(() => Effect.succeed(Option.none()))
|
|
46
|
+
});
|
|
47
|
+
const layerLocal = Layer.succeed(CacheSync)(makeLocal());
|
|
48
|
+
const make = (options) => ({
|
|
49
|
+
publishEntry: Effect.fn("CacheSync.publishEntry")(
|
|
50
|
+
(entry) => (
|
|
51
|
+
// A `Conflict` from the shared tier is not a refusal to report: it means
|
|
52
|
+
// another machine recorded the key first, which is exactly the
|
|
53
|
+
// first-writer-wins outcome the shared tier exists to arbitrate. Only a
|
|
54
|
+
// genuine failure — the tier is down, refused the body, answered with a
|
|
55
|
+
// status this client cannot classify — is worth journaling.
|
|
56
|
+
options.remote.put(entry).pipe(
|
|
57
|
+
Effect.as(Option.none()),
|
|
58
|
+
Effect.catch((error) => Effect.succeed(Option.some(error)))
|
|
59
|
+
)
|
|
60
|
+
)
|
|
61
|
+
)
|
|
62
|
+
});
|
|
63
|
+
const layer = (remote) => Layer.effect(CacheSync)(Effect.map(remote, (shared) => make({ remote: shared })));
|
|
64
|
+
//# sourceMappingURL=CacheSync.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/CacheSync.ts"],
|
|
4
|
+
"sourcesContent": ["/**\n * The shared step-result tier's publication seam: the remote half of a cache\n * `put`, run *after* the transaction that made the local row durable.\n *\n * `ArtifactSync` is the same idea for the artifact tier, and the two together\n * are the REAPI ordering constraint\n * (`reference/bazel/.../remote/UploadManifest.java:630-633`): blobs first, the\n * entry that references them last.\n *\n * This tag exists because of *where* the local row is written.\n * `ActionPersistence` commits the cache row and the journal record that\n * explains it in one `DurableWriter` transaction, and nothing that is not\n * storage work may be held across one \u2014 the action body, the Jj snapshot, and\n * the boundary prepare/settle all already stay outside. A `CacheStore` whose\n * `put` also writes a shared HTTP tier would put a network round trip inside\n * that transaction, blocking every other writer for its duration and rolling\n * the local row back when a *shared cache* is unreachable. So the local put\n * stays inside and the shared put becomes this service, invoked once the\n * transaction has committed. Compose it with\n * `CombinedCacheStore` in `\"deferred\"` publication mode, which is the mode that\n * leaves the shared write to this seam.\n *\n * Publication is **best-effort by construction**. A shared cache is an\n * accelerator, and the work it would have shared is already durably recorded on\n * this host: failing a completed run because an optional tier is unreachable\n * trades a real result for an unavailable one. A refused publication is\n * journaled by the caller instead, which is the same treatment an unverified\n * read set gets \u2014 visible, not silent.\n *\n * Governing design: `packages/smithers/flows/step-cache/docs/api.md`.\n *\n * @since 0.1.0\n */\n\nimport type { CacheStore } from \"@smthrs/step-cache\"\nimport * as Context from \"effect/Context\"\nimport * as Effect from \"effect/Effect\"\nimport * as Layer from \"effect/Layer\"\nimport * as Option from \"effect/Option\"\n\n/**\n * The one operation the shared-cache publication seam exposes.\n *\n * It is a single method rather than a store interface on purpose: everything\n * about reading, keying, and invalidating a cache entry belongs to\n * `CacheStore`, and all this seam does is take an already-durable local entry\n * and try to share it.\n *\n * @since 0.1.0\n * @category services\n */\nexport interface Service {\n /**\n * Publishes a cache entry to the shared tier, reporting the refusal rather\n * than failing: `Option.none()` means the entry is now shared, and\n * `Option.some(error)` means it is not and why.\n *\n * Callers must only reach here once every artifact the entry references is\n * durable in the shared artifact tier \u2014 that is `ArtifactSync.publish`'s job,\n * and it runs first.\n */\n readonly publishEntry: (\n entry: CacheStore.CacheEntry\n ) => Effect.Effect<Option.Option<CacheStore.CacheStoreError>>\n}\n\n/**\n * Service tag for the shared step-result publication seam.\n *\n * @since 0.1.0\n * @category services\n */\nexport class CacheSync extends Context.Service<CacheSync, Service>()(\"@smthrs/engine-store/CacheSync\") {}\n\n/**\n * The single-tier implementation: there is no shared step-result tier, so a\n * recorded entry is already everywhere it will ever be.\n *\n * This is the default `ActionPersistence` falls back to when the tag is\n * absent, which is what keeps a purely local composition free of any\n * remote-cache machinery.\n *\n * @since 0.1.0\n * @category constructors\n */\nexport const makeLocal = (): Service => ({\n publishEntry: Effect.fn(\"CacheSync.publishEntry\")(() => Effect.succeed(Option.none()))\n})\n\n/**\n * Provides the single-tier (no shared step-result store) publication seam.\n *\n * @since 0.1.0\n * @category layers\n */\nexport const layerLocal: Layer.Layer<CacheSync> = Layer.succeed(CacheSync)(makeLocal())\n\n/**\n * Builds the publication seam over a shared step-result store \u2014 typically\n * `RemoteCacheStore`.\n *\n * @since 0.1.0\n * @category constructors\n */\nexport const make = (options: { readonly remote: CacheStore.Service }): Service => ({\n publishEntry: Effect.fn(\"CacheSync.publishEntry\")((entry: CacheStore.CacheEntry) =>\n // A `Conflict` from the shared tier is not a refusal to report: it means\n // another machine recorded the key first, which is exactly the\n // first-writer-wins outcome the shared tier exists to arbitrate. Only a\n // genuine failure \u2014 the tier is down, refused the body, answered with a\n // status this client cannot classify \u2014 is worth journaling.\n options.remote.put(entry).pipe(\n Effect.as(Option.none<CacheStore.CacheStoreError>()),\n Effect.catch((error) => Effect.succeed(Option.some(error)))\n )\n )\n})\n\n/**\n * Provides the publication seam over the supplied shared store.\n *\n * The shared store arrives as an *effect* rather than a layer because it\n * inhabits the same `CacheStore` tag as the local one: composing both as layers\n * would shadow one with the other.\n *\n * @since 0.1.0\n * @category layers\n */\nexport const layer = <E, R>(\n remote: Effect.Effect<CacheStore.Service, E, R>\n): Layer.Layer<CacheSync, E, R> => Layer.effect(CacheSync)(Effect.map(remote, (shared) => make({ remote: shared })))\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAmCA,cAAyB;AACzB,aAAwB;AACxB,YAAuB;AACvB,aAAwB;AAkCjB,MAAM,kBAAkB,QAAQ,QAA4B,EAAE,gCAAgC,EAAE;AAAC;AAajG,MAAM,YAAY,OAAgB;AAAA,EACvC,cAAc,OAAO,GAAG,wBAAwB,EAAE,MAAM,OAAO,QAAQ,OAAO,KAAK,CAAC,CAAC;AACvF;AAQO,MAAM,aAAqC,MAAM,QAAQ,SAAS,EAAE,UAAU,CAAC;AAS/E,MAAM,OAAO,CAAC,aAA+D;AAAA,EAClF,cAAc,OAAO,GAAG,wBAAwB;AAAA,IAAE,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAMjD,QAAQ,OAAO,IAAI,KAAK,EAAE;AAAA,QACxB,OAAO,GAAG,OAAO,KAAiC,CAAC;AAAA,QACnD,OAAO,MAAM,CAAC,UAAU,OAAO,QAAQ,OAAO,KAAK,KAAK,CAAC,CAAC;AAAA,MAC5D;AAAA;AAAA,EACF;AACF;AAYO,MAAM,QAAQ,CACnB,WACiC,MAAM,OAAO,SAAS,EAAE,OAAO,IAAI,QAAQ,CAAC,WAAW,KAAK,EAAE,QAAQ,OAAO,CAAC,CAAC,CAAC;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,354 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The deferred/clock fold: `flows_clock_deadlines` and the mutable half of
|
|
3
|
+
* `flows_deferred_completions` rebuilt from the journal.
|
|
4
|
+
*
|
|
5
|
+
* Every change to either table is journalled on the run's own stream in the
|
|
6
|
+
* transaction that makes it:
|
|
7
|
+
*
|
|
8
|
+
* - `flows.engine.clock-scheduled` when a clock row is inserted;
|
|
9
|
+
* - `flows.engine.clock-completed` when a clock fires or its run settles
|
|
10
|
+
* first (`completeClock`, `completeRunClocks`);
|
|
11
|
+
* - `flows.engine.deferred-completed` when the first completion wins, naming
|
|
12
|
+
* the row and the {@link JournalEvent.contentDigest} of its encoded `exit`
|
|
13
|
+
* and `metadata`;
|
|
14
|
+
* - `flows.engine.deferred-consumed` when a run first observes a result.
|
|
15
|
+
*
|
|
16
|
+
* The journal is redacted and replayed to sync subscribers, so it never
|
|
17
|
+
* carries a completion's value (issue #72). A clock row holds no value at
|
|
18
|
+
* all, so the fold rebuilds it whole. A completion row's value stays in the
|
|
19
|
+
* row: the fold rebuilds its `completed_at_ms` and `consumed_at_ms`, and a
|
|
20
|
+
* rebuild checks the stored text against the recorded digests. A completion
|
|
21
|
+
* the journal names but no row holds, or holds with other bytes, is a typed
|
|
22
|
+
* {@link FoldIncomplete}, never a silent gap.
|
|
23
|
+
*
|
|
24
|
+
* Compaction deletes a run's entries below its floor, so the fold's state at
|
|
25
|
+
* the floor has to survive in the floor's checkpoint: {@link checkpointState}
|
|
26
|
+
* adds it under {@link checkpointKey}, and a rebuild of a compacted run whose
|
|
27
|
+
* floor checkpoint lacks it fails {@link FoldIncomplete} with reason
|
|
28
|
+
* `checkpoint_missing`. A rewind archives the suffix and removes the rows it
|
|
29
|
+
* explains (`@smthrs/time-travel`), so the remaining journal still explains
|
|
30
|
+
* the remaining rows.
|
|
31
|
+
*
|
|
32
|
+
* @since 1.0.0
|
|
33
|
+
*/
|
|
34
|
+
import { DurableWriter } from "@smthrs/database/DurableWriter";
|
|
35
|
+
import { Journal, JournalEvent, Projection } from "@smthrs/journal";
|
|
36
|
+
import * as Effect from "effect/Effect";
|
|
37
|
+
import * as Option from "effect/Option";
|
|
38
|
+
import * as Schema from "effect/Schema";
|
|
39
|
+
import * as SqlClient from "effect/unstable/sql/SqlClient";
|
|
40
|
+
/**
|
|
41
|
+
* The journal event types the fold reads.
|
|
42
|
+
*
|
|
43
|
+
* @category constants
|
|
44
|
+
* @since 1.0.0
|
|
45
|
+
*/
|
|
46
|
+
export declare const eventTypes: ReadonlyArray<string>;
|
|
47
|
+
/**
|
|
48
|
+
* The key a checkpoint's state keeps the fold under.
|
|
49
|
+
*
|
|
50
|
+
* @category constants
|
|
51
|
+
* @since 1.0.0
|
|
52
|
+
*/
|
|
53
|
+
export declare const checkpointKey = "flows.engine.deferred-clock";
|
|
54
|
+
/**
|
|
55
|
+
* A clock as the journal records it.
|
|
56
|
+
*
|
|
57
|
+
* @category models
|
|
58
|
+
* @since 1.0.0
|
|
59
|
+
*/
|
|
60
|
+
export declare const Clock: Schema.Struct<{
|
|
61
|
+
readonly flowName: Schema.NonEmptyString;
|
|
62
|
+
readonly executionId: Schema.NonEmptyString;
|
|
63
|
+
readonly clockName: Schema.NonEmptyString;
|
|
64
|
+
readonly deferredName: Schema.NonEmptyString;
|
|
65
|
+
readonly dueAtMs: Schema.Int;
|
|
66
|
+
readonly completedAtMs: Schema.NullOr<Schema.Int>;
|
|
67
|
+
}>;
|
|
68
|
+
/**
|
|
69
|
+
* A clock as the journal records it.
|
|
70
|
+
*
|
|
71
|
+
* @category models
|
|
72
|
+
* @since 1.0.0
|
|
73
|
+
*/
|
|
74
|
+
export type Clock = typeof Clock.Type;
|
|
75
|
+
/**
|
|
76
|
+
* A deferred completion as the journal records it. A completion journalled
|
|
77
|
+
* before the fold existed carried its (redacted) value instead of digests and
|
|
78
|
+
* no completion time: `exitDigest` and `metadataDigest` are then absent and
|
|
79
|
+
* `completedAtMs` is `null`, and a rebuild keeps the row's own stamp.
|
|
80
|
+
*
|
|
81
|
+
* @category models
|
|
82
|
+
* @since 1.0.0
|
|
83
|
+
*/
|
|
84
|
+
export declare const Deferred: Schema.Struct<{
|
|
85
|
+
readonly flowName: Schema.NonEmptyString;
|
|
86
|
+
readonly executionId: Schema.NonEmptyString;
|
|
87
|
+
readonly deferredName: Schema.NonEmptyString;
|
|
88
|
+
readonly completedAtMs: Schema.NullOr<Schema.Int>;
|
|
89
|
+
readonly exitDigest: Schema.optionalKey<Schema.String>;
|
|
90
|
+
readonly metadataDigest: Schema.optionalKey<Schema.NullOr<Schema.String>>;
|
|
91
|
+
readonly consumedAtMs: Schema.NullOr<Schema.Int>;
|
|
92
|
+
}>;
|
|
93
|
+
/**
|
|
94
|
+
* A deferred completion as the journal records it.
|
|
95
|
+
*
|
|
96
|
+
* @category models
|
|
97
|
+
* @since 1.0.0
|
|
98
|
+
*/
|
|
99
|
+
export type Deferred = typeof Deferred.Type;
|
|
100
|
+
/**
|
|
101
|
+
* The folded clocks and completions, keyed by their row address.
|
|
102
|
+
*
|
|
103
|
+
* @category models
|
|
104
|
+
* @since 1.0.0
|
|
105
|
+
*/
|
|
106
|
+
export interface State {
|
|
107
|
+
readonly clocks: ReadonlyMap<string, Clock>;
|
|
108
|
+
readonly deferreds: ReadonlyMap<string, Deferred>;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* The empty fold.
|
|
112
|
+
*
|
|
113
|
+
* @category constants
|
|
114
|
+
* @since 1.0.0
|
|
115
|
+
*/
|
|
116
|
+
export declare const initial: State;
|
|
117
|
+
/**
|
|
118
|
+
* The key of a clock row.
|
|
119
|
+
*
|
|
120
|
+
* @category models
|
|
121
|
+
* @since 1.0.0
|
|
122
|
+
*/
|
|
123
|
+
export declare const clockKey: (address: {
|
|
124
|
+
readonly flowName: string;
|
|
125
|
+
readonly executionId: string;
|
|
126
|
+
readonly clockName: string;
|
|
127
|
+
}) => string;
|
|
128
|
+
/**
|
|
129
|
+
* The key of a completion row.
|
|
130
|
+
*
|
|
131
|
+
* @category models
|
|
132
|
+
* @since 1.0.0
|
|
133
|
+
*/
|
|
134
|
+
export declare const deferredKey: (address: {
|
|
135
|
+
readonly flowName: string;
|
|
136
|
+
readonly executionId: string;
|
|
137
|
+
readonly deferredName: string;
|
|
138
|
+
}) => string;
|
|
139
|
+
/**
|
|
140
|
+
* Folds one committed journal entry. First writes win: a clock keeps its first
|
|
141
|
+
* schedule and first completion, and a completion its first recording and
|
|
142
|
+
* first consumption, exactly as the rows do. An entry of another type, or one
|
|
143
|
+
* whose payload names no row, leaves the state unchanged.
|
|
144
|
+
*
|
|
145
|
+
* @category folds
|
|
146
|
+
* @since 1.0.0
|
|
147
|
+
*/
|
|
148
|
+
export declare const reduce: (state: State, entry: JournalEvent.Entry) => State;
|
|
149
|
+
/**
|
|
150
|
+
* The fold as a journal projection, for `Journal.project` over one run.
|
|
151
|
+
*
|
|
152
|
+
* @category folds
|
|
153
|
+
* @since 1.0.0
|
|
154
|
+
*/
|
|
155
|
+
export declare const projection: Projection.Projection<State>;
|
|
156
|
+
/**
|
|
157
|
+
* The checkpoint encoding of the fold.
|
|
158
|
+
*
|
|
159
|
+
* @category models
|
|
160
|
+
* @since 1.0.0
|
|
161
|
+
*/
|
|
162
|
+
export declare const Encoded: Schema.Struct<{
|
|
163
|
+
readonly clocks: Schema.$Array<Schema.Struct<{
|
|
164
|
+
readonly flowName: Schema.NonEmptyString;
|
|
165
|
+
readonly executionId: Schema.NonEmptyString;
|
|
166
|
+
readonly clockName: Schema.NonEmptyString;
|
|
167
|
+
readonly deferredName: Schema.NonEmptyString;
|
|
168
|
+
readonly dueAtMs: Schema.Int;
|
|
169
|
+
readonly completedAtMs: Schema.NullOr<Schema.Int>;
|
|
170
|
+
}>>;
|
|
171
|
+
readonly deferreds: Schema.$Array<Schema.Struct<{
|
|
172
|
+
readonly flowName: Schema.NonEmptyString;
|
|
173
|
+
readonly executionId: Schema.NonEmptyString;
|
|
174
|
+
readonly deferredName: Schema.NonEmptyString;
|
|
175
|
+
readonly completedAtMs: Schema.NullOr<Schema.Int>;
|
|
176
|
+
readonly exitDigest: Schema.optionalKey<Schema.String>;
|
|
177
|
+
readonly metadataDigest: Schema.optionalKey<Schema.NullOr<Schema.String>>;
|
|
178
|
+
readonly consumedAtMs: Schema.NullOr<Schema.Int>;
|
|
179
|
+
}>>;
|
|
180
|
+
}>;
|
|
181
|
+
/**
|
|
182
|
+
* The checkpoint encoding of the fold.
|
|
183
|
+
*
|
|
184
|
+
* @category models
|
|
185
|
+
* @since 1.0.0
|
|
186
|
+
*/
|
|
187
|
+
export type Encoded = typeof Encoded.Type;
|
|
188
|
+
/**
|
|
189
|
+
* Encodes the fold for a checkpoint.
|
|
190
|
+
*
|
|
191
|
+
* @category folds
|
|
192
|
+
* @since 1.0.0
|
|
193
|
+
*/
|
|
194
|
+
export declare const encode: (state: State) => Encoded;
|
|
195
|
+
/**
|
|
196
|
+
* Decodes the fold a checkpoint kept, or `None` when the checkpoint state
|
|
197
|
+
* holds none under {@link checkpointKey}.
|
|
198
|
+
*
|
|
199
|
+
* @category folds
|
|
200
|
+
* @since 1.0.0
|
|
201
|
+
*/
|
|
202
|
+
export declare const fromCheckpoint: (checkpointState: unknown) => Option.Option<State>;
|
|
203
|
+
/**
|
|
204
|
+
* Why a rebuild could not reconstruct the tables.
|
|
205
|
+
*
|
|
206
|
+
* - `row_missing`: the journal names a completion no row holds.
|
|
207
|
+
* - `digest_mismatch`: the row holds other bytes than the journal recorded.
|
|
208
|
+
* - `run_missing`: a clock's run has no `flows_runs` row to hang it on.
|
|
209
|
+
* - `checkpoint_missing`: a compacted run's floor checkpoint keeps no fold.
|
|
210
|
+
*
|
|
211
|
+
* @category errors
|
|
212
|
+
* @since 1.0.0
|
|
213
|
+
*/
|
|
214
|
+
export declare const FoldIncompleteReason: Schema.Literals<readonly ["row_missing", "digest_mismatch", "run_missing", "checkpoint_missing"]>;
|
|
215
|
+
/**
|
|
216
|
+
* One reference a rebuild could not join.
|
|
217
|
+
*
|
|
218
|
+
* @category errors
|
|
219
|
+
* @since 1.0.0
|
|
220
|
+
*/
|
|
221
|
+
export declare const Unjoined: Schema.Struct<{
|
|
222
|
+
readonly reason: Schema.Literals<readonly ["row_missing", "digest_mismatch", "run_missing", "checkpoint_missing"]>;
|
|
223
|
+
readonly executionId: Schema.String;
|
|
224
|
+
readonly flowName: Schema.optionalKey<Schema.String>;
|
|
225
|
+
readonly name: Schema.optionalKey<Schema.String>;
|
|
226
|
+
}>;
|
|
227
|
+
/**
|
|
228
|
+
* One reference a rebuild could not join.
|
|
229
|
+
*
|
|
230
|
+
* @category errors
|
|
231
|
+
* @since 1.0.0
|
|
232
|
+
*/
|
|
233
|
+
export type Unjoined = typeof Unjoined.Type;
|
|
234
|
+
declare const FoldIncomplete_base: Schema.Class<FoldIncomplete, Schema.TaggedStruct<"@smthrs/engine-store/DeferredClockFold/FoldIncomplete", {
|
|
235
|
+
readonly code: Schema.Literal<"fold_incomplete">;
|
|
236
|
+
readonly message: Schema.String;
|
|
237
|
+
readonly unjoined: Schema.$Array<Schema.Struct<{
|
|
238
|
+
readonly reason: Schema.Literals<readonly ["row_missing", "digest_mismatch", "run_missing", "checkpoint_missing"]>;
|
|
239
|
+
readonly executionId: Schema.String;
|
|
240
|
+
readonly flowName: Schema.optionalKey<Schema.String>;
|
|
241
|
+
readonly name: Schema.optionalKey<Schema.String>;
|
|
242
|
+
}>>;
|
|
243
|
+
}>, import("effect/Cause").YieldableError>;
|
|
244
|
+
/**
|
|
245
|
+
* The journal references state the store no longer holds. The rebuild wrote
|
|
246
|
+
* nothing.
|
|
247
|
+
*
|
|
248
|
+
* @category errors
|
|
249
|
+
* @since 1.0.0
|
|
250
|
+
*/
|
|
251
|
+
export declare class FoldIncomplete extends FoldIncomplete_base {
|
|
252
|
+
}
|
|
253
|
+
/**
|
|
254
|
+
* The fold of one run's entries up to and including `upTo`, for the state of
|
|
255
|
+
* a checkpoint at `upTo`. It starts from the run's floor checkpoint when the
|
|
256
|
+
* run was compacted before.
|
|
257
|
+
*
|
|
258
|
+
* @category operations
|
|
259
|
+
* @since 1.0.0
|
|
260
|
+
*/
|
|
261
|
+
export declare const capture: (runId: string, upTo: number) => Effect.Effect<{
|
|
262
|
+
readonly clocks: readonly {
|
|
263
|
+
readonly flowName: string;
|
|
264
|
+
readonly executionId: string;
|
|
265
|
+
readonly clockName: string;
|
|
266
|
+
readonly deferredName: string;
|
|
267
|
+
readonly dueAtMs: number;
|
|
268
|
+
readonly completedAtMs: number | null;
|
|
269
|
+
}[];
|
|
270
|
+
readonly deferreds: readonly {
|
|
271
|
+
readonly executionId: string;
|
|
272
|
+
readonly flowName: string;
|
|
273
|
+
readonly completedAtMs: number | null;
|
|
274
|
+
readonly deferredName: string;
|
|
275
|
+
readonly consumedAtMs: number | null;
|
|
276
|
+
readonly exitDigest?: string;
|
|
277
|
+
readonly metadataDigest?: string | null;
|
|
278
|
+
}[];
|
|
279
|
+
}, import("effect/unstable/sql/SqlError").SqlError | Journal.JournalError | FoldIncomplete, SqlClient.SqlClient | Journal.Journal>;
|
|
280
|
+
/**
|
|
281
|
+
* A checkpoint state that keeps the fold: `base` (an object, or nothing) with
|
|
282
|
+
* the run's fold up to `upTo` under {@link checkpointKey}. A composition that
|
|
283
|
+
* compacts runs writes its checkpoints through this, so compaction cannot
|
|
284
|
+
* lose the deferred/clock history.
|
|
285
|
+
*
|
|
286
|
+
* @category operations
|
|
287
|
+
* @since 1.0.0
|
|
288
|
+
*/
|
|
289
|
+
export declare const checkpointState: (runId: string, upTo: number, base?: Readonly<Record<string, unknown>> | undefined) => Effect.Effect<{
|
|
290
|
+
"flows.engine.deferred-clock": {
|
|
291
|
+
readonly clocks: readonly {
|
|
292
|
+
readonly flowName: string;
|
|
293
|
+
readonly executionId: string;
|
|
294
|
+
readonly clockName: string;
|
|
295
|
+
readonly deferredName: string;
|
|
296
|
+
readonly dueAtMs: number;
|
|
297
|
+
readonly completedAtMs: number | null;
|
|
298
|
+
}[];
|
|
299
|
+
readonly deferreds: readonly {
|
|
300
|
+
readonly executionId: string;
|
|
301
|
+
readonly flowName: string;
|
|
302
|
+
readonly completedAtMs: number | null;
|
|
303
|
+
readonly deferredName: string;
|
|
304
|
+
readonly consumedAtMs: number | null;
|
|
305
|
+
readonly exitDigest?: string;
|
|
306
|
+
readonly metadataDigest?: string | null;
|
|
307
|
+
}[];
|
|
308
|
+
};
|
|
309
|
+
}, import("effect/unstable/sql/SqlError").SqlError | Journal.JournalError | FoldIncomplete, SqlClient.SqlClient | Journal.Journal>;
|
|
310
|
+
/**
|
|
311
|
+
* What a {@link rebuild} read and wrote.
|
|
312
|
+
*
|
|
313
|
+
* @category models
|
|
314
|
+
* @since 1.0.0
|
|
315
|
+
*/
|
|
316
|
+
export interface Rebuilt {
|
|
317
|
+
/** Runs with deferred or clock entries, or with a compaction floor. */
|
|
318
|
+
readonly runs: number;
|
|
319
|
+
/** Clock rows written. */
|
|
320
|
+
readonly clocks: number;
|
|
321
|
+
/** Completion rows whose completion and consumption were rewritten. */
|
|
322
|
+
readonly deferreds: number;
|
|
323
|
+
/** Completion rows no journal entry explains, left as they are. */
|
|
324
|
+
readonly unexplained: number;
|
|
325
|
+
}
|
|
326
|
+
/**
|
|
327
|
+
* Rebuilds `flows_clock_deadlines` and the completion and consumption stamps
|
|
328
|
+
* of `flows_deferred_completions` from the journal.
|
|
329
|
+
*
|
|
330
|
+
* Every run with deferred or clock entries, and every compacted run, is
|
|
331
|
+
* folded in sequence order, from its floor checkpoint when it was compacted;
|
|
332
|
+
* a compacted run whose floor keeps no fold fails, even one that never had a
|
|
333
|
+
* clock, because the journal can no longer say. Every reference is joined
|
|
334
|
+
* before anything is written: a completion with no row or with other bytes,
|
|
335
|
+
* a clock whose run is gone, or a compacted run whose floor keeps no fold
|
|
336
|
+
* fails {@link FoldIncomplete} listing each one, and nothing is written.
|
|
337
|
+
* Otherwise, in one writer transaction, the clock table is replaced by the
|
|
338
|
+
* fold's clocks and each folded completion row gets the fold's
|
|
339
|
+
* `completed_at_ms` and `consumed_at_ms`. A completion row the journal does
|
|
340
|
+
* not explain is left alone and counted.
|
|
341
|
+
*
|
|
342
|
+
* Run it on a quiescent store, as a restore does.
|
|
343
|
+
*
|
|
344
|
+
* @category operations
|
|
345
|
+
* @since 1.0.0
|
|
346
|
+
*/
|
|
347
|
+
export declare const rebuild: () => Effect.Effect<{
|
|
348
|
+
runs: number;
|
|
349
|
+
clocks: number;
|
|
350
|
+
deferreds: number;
|
|
351
|
+
unexplained: number;
|
|
352
|
+
}, import("effect/unstable/sql/SqlError").SqlError | import("@smthrs/database/DurableWriter").DatabaseError | Journal.JournalError | FoldIncomplete, SqlClient.SqlClient | DurableWriter | Journal.Journal>;
|
|
353
|
+
export {};
|
|
354
|
+
//# sourceMappingURL=DeferredClockFold.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DeferredClockFold.d.ts","sourceRoot":"","sources":["../../src/DeferredClockFold.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AAC9D,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACnE,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,SAAS,MAAM,+BAA+B,CAAA;AAG1D;;;;;GAKG;AACH,eAAO,MAAM,UAAU,EAAE,aAAa,CAAC,MAAM,CAK5C,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,aAAa,gCAAgC,CAAA;AAQ1D;;;;;GAKG;AACH,eAAO,MAAM,KAAK;;;;;;;EAOhB,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAA;AAErC;;;;;;;;GAQG;AACH,eAAO,MAAM,QAAQ;;;;;;;;EAQnB,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,QAAQ,GAAG,OAAO,QAAQ,CAAC,IAAI,CAAA;AAE3C;;;;;GAKG;AACH,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IAC3C,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;CAClD;AAED;;;;;GAKG;AACH,eAAO,MAAM,OAAO,EAAE,KAAmD,CAAA;AAEzE;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,GACnB,SAAS;IAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,WACnB,CAAA;AAE/E;;;;;GAKG;AACH,eAAO,MAAM,WAAW,GACtB,SAAS;IAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;CAAE,WACnB,CAAA;AAWlF;;;;;;;;GAQG;AACH,eAAO,MAAM,MAAM,GAAI,OAAO,KAAK,EAAE,OAAO,YAAY,CAAC,KAAK,KAAG,KA4DhE,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC,KAAK,CAIlD,CAAA;AAEF;;;;;GAKG;AACH,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;EAGlB,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAA;AAEzC;;;;;GAKG;AACH,eAAO,MAAM,MAAM,GAAI,OAAO,KAAK,KAAG,OAGpC,CAAA;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,GAAI,iBAAiB,OAAO,KAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAQ5E,CAAA;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,oBAAoB,mGAK/B,CAAA;AAEF;;;;;GAKG;AACH,eAAO,MAAM,QAAQ;;;;;EAKnB,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,QAAQ,GAAG,OAAO,QAAQ,CAAC,IAAI,CAAA;;;;;;;;;;;AAE3C;;;;;;GAMG;AACH,qBAAa,cAAe,SAAQ,mBAOnC;CAAG;AA8DJ;;;;;;;GAOG;AACH,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;kIAElB,CAAA;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;kIAM1B,CAAA;AAEF;;;;;GAKG;AACH,MAAM,WAAW,OAAO;IACtB,uEAAuE;IACvE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,0BAA0B;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,uEAAuE;IACvE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,mEAAmE;IACnE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;CAC7B;AAUD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,OAAO;;;;;2MAkGlB,CAAA"}
|