@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.
Files changed (787) hide show
  1. package/CHANGELOG.md +247 -0
  2. package/LICENSE +21 -0
  3. package/README.md +146 -2
  4. package/dist/cjs/ArtifactGc.d.ts +235 -0
  5. package/dist/cjs/ArtifactGc.d.ts.map +1 -0
  6. package/dist/cjs/ArtifactGc.js +183 -0
  7. package/dist/cjs/ArtifactGc.js.map +7 -0
  8. package/dist/cjs/ArtifactSync.d.ts +164 -0
  9. package/dist/cjs/ArtifactSync.d.ts.map +1 -0
  10. package/dist/cjs/ArtifactSync.js +144 -0
  11. package/dist/cjs/ArtifactSync.js.map +7 -0
  12. package/dist/cjs/CacheSync.d.ts +112 -0
  13. package/dist/cjs/CacheSync.d.ts.map +1 -0
  14. package/dist/cjs/CacheSync.js +64 -0
  15. package/dist/cjs/CacheSync.js.map +7 -0
  16. package/dist/cjs/DeferredClockFold.d.ts +354 -0
  17. package/dist/cjs/DeferredClockFold.d.ts.map +1 -0
  18. package/dist/cjs/DeferredClockFold.js +335 -0
  19. package/dist/cjs/DeferredClockFold.js.map +7 -0
  20. package/dist/cjs/DisasterRecovery.d.ts +431 -0
  21. package/dist/cjs/DisasterRecovery.d.ts.map +1 -0
  22. package/dist/cjs/DisasterRecovery.js +453 -0
  23. package/dist/cjs/DisasterRecovery.js.map +7 -0
  24. package/dist/cjs/DurableEngineState.d.ts +776 -0
  25. package/dist/cjs/DurableEngineState.d.ts.map +1 -0
  26. package/dist/cjs/DurableEngineState.js +1536 -0
  27. package/dist/cjs/DurableEngineState.js.map +7 -0
  28. package/dist/cjs/EngineStore.d.ts +158 -0
  29. package/dist/cjs/EngineStore.d.ts.map +1 -0
  30. package/dist/cjs/EngineStore.js +398 -0
  31. package/dist/cjs/EngineStore.js.map +7 -0
  32. package/dist/cjs/EngineStoreMetrics.d.ts +276 -0
  33. package/dist/cjs/EngineStoreMetrics.d.ts.map +1 -0
  34. package/dist/cjs/EngineStoreMetrics.js +135 -0
  35. package/dist/cjs/EngineStoreMetrics.js.map +7 -0
  36. package/dist/cjs/Errors.d.ts +22 -0
  37. package/dist/cjs/Errors.d.ts.map +1 -0
  38. package/dist/cjs/Errors.js +39 -0
  39. package/dist/cjs/Errors.js.map +7 -0
  40. package/dist/cjs/EventTypes.d.ts +27 -0
  41. package/dist/cjs/EventTypes.d.ts.map +1 -0
  42. package/dist/cjs/EventTypes.js +37 -0
  43. package/dist/cjs/EventTypes.js.map +7 -0
  44. package/dist/cjs/ExecutionFacts.d.ts +59 -0
  45. package/dist/cjs/ExecutionFacts.d.ts.map +1 -0
  46. package/dist/cjs/ExecutionFacts.js +123 -0
  47. package/dist/cjs/ExecutionFacts.js.map +7 -0
  48. package/dist/cjs/ExecutionSnapshot.d.ts +117 -0
  49. package/dist/cjs/ExecutionSnapshot.d.ts.map +1 -0
  50. package/dist/cjs/ExecutionSnapshot.js +111 -0
  51. package/dist/cjs/ExecutionSnapshot.js.map +7 -0
  52. package/dist/cjs/Inconsistency.d.ts +154 -0
  53. package/dist/cjs/Inconsistency.d.ts.map +1 -0
  54. package/dist/cjs/Inconsistency.js +135 -0
  55. package/dist/cjs/Inconsistency.js.map +7 -0
  56. package/dist/cjs/Migrations.d.ts +56 -0
  57. package/dist/cjs/Migrations.d.ts.map +1 -0
  58. package/dist/cjs/Migrations.js +78 -0
  59. package/dist/cjs/Migrations.js.map +7 -0
  60. package/dist/cjs/OwnerIdentity.d.ts +91 -0
  61. package/dist/cjs/OwnerIdentity.d.ts.map +1 -0
  62. package/dist/cjs/OwnerIdentity.js +65 -0
  63. package/dist/cjs/OwnerIdentity.js.map +7 -0
  64. package/dist/cjs/PlanInputStore.d.ts +110 -0
  65. package/dist/cjs/PlanInputStore.d.ts.map +1 -0
  66. package/dist/cjs/PlanInputStore.js +224 -0
  67. package/dist/cjs/PlanInputStore.js.map +7 -0
  68. package/dist/cjs/PlanMergeStore.d.ts +113 -0
  69. package/dist/cjs/PlanMergeStore.d.ts.map +1 -0
  70. package/dist/cjs/PlanMergeStore.js +255 -0
  71. package/dist/cjs/PlanMergeStore.js.map +7 -0
  72. package/dist/cjs/PlanScheduler.d.ts +363 -0
  73. package/dist/cjs/PlanScheduler.d.ts.map +1 -0
  74. package/dist/cjs/PlanScheduler.js +1090 -0
  75. package/dist/cjs/PlanScheduler.js.map +7 -0
  76. package/dist/cjs/Reconciliation.d.ts +175 -0
  77. package/dist/cjs/Reconciliation.d.ts.map +1 -0
  78. package/dist/cjs/Reconciliation.js +119 -0
  79. package/dist/cjs/Reconciliation.js.map +7 -0
  80. package/dist/cjs/ReplayOnly.d.ts +91 -0
  81. package/dist/cjs/ReplayOnly.d.ts.map +1 -0
  82. package/dist/cjs/ReplayOnly.js +52 -0
  83. package/dist/cjs/ReplayOnly.js.map +7 -0
  84. package/dist/cjs/Retention.d.ts +113 -0
  85. package/dist/cjs/Retention.d.ts.map +1 -0
  86. package/dist/cjs/Retention.js +99 -0
  87. package/dist/cjs/Retention.js.map +7 -0
  88. package/dist/cjs/RunCatalogRead.d.ts +17 -0
  89. package/dist/cjs/RunCatalogRead.d.ts.map +1 -0
  90. package/dist/cjs/RunCatalogRead.js +33 -0
  91. package/dist/cjs/RunCatalogRead.js.map +7 -0
  92. package/dist/cjs/RunChangeFeed.d.ts +75 -0
  93. package/dist/cjs/RunChangeFeed.d.ts.map +1 -0
  94. package/dist/cjs/RunChangeFeed.js +96 -0
  95. package/dist/cjs/RunChangeFeed.js.map +7 -0
  96. package/dist/cjs/RunState.d.ts +116 -0
  97. package/dist/cjs/RunState.d.ts.map +1 -0
  98. package/dist/cjs/RunState.js +76 -0
  99. package/dist/cjs/RunState.js.map +7 -0
  100. package/dist/cjs/Selection.d.ts +495 -0
  101. package/dist/cjs/Selection.d.ts.map +1 -0
  102. package/dist/cjs/Selection.js +288 -0
  103. package/dist/cjs/Selection.js.map +7 -0
  104. package/dist/cjs/SelectionStore.d.ts +141 -0
  105. package/dist/cjs/SelectionStore.d.ts.map +1 -0
  106. package/dist/cjs/SelectionStore.js +229 -0
  107. package/dist/cjs/SelectionStore.js.map +7 -0
  108. package/dist/cjs/StepBoundary.d.ts +501 -0
  109. package/dist/cjs/StepBoundary.d.ts.map +1 -0
  110. package/dist/cjs/StepBoundary.js +619 -0
  111. package/dist/cjs/StepBoundary.js.map +7 -0
  112. package/dist/cjs/StepCacheFold.d.ts +148 -0
  113. package/dist/cjs/StepCacheFold.d.ts.map +1 -0
  114. package/dist/cjs/StepCacheFold.js +131 -0
  115. package/dist/cjs/StepCacheFold.js.map +7 -0
  116. package/dist/cjs/StepSandbox.d.ts +78 -0
  117. package/dist/cjs/StepSandbox.d.ts.map +1 -0
  118. package/dist/cjs/StepSandbox.js +75 -0
  119. package/dist/cjs/StepSandbox.js.map +7 -0
  120. package/dist/cjs/WakeBus.d.ts +116 -0
  121. package/dist/cjs/WakeBus.d.ts.map +1 -0
  122. package/dist/cjs/WakeBus.js +89 -0
  123. package/dist/cjs/WakeBus.js.map +7 -0
  124. package/dist/cjs/WorkspaceSandbox.d.ts +619 -0
  125. package/dist/cjs/WorkspaceSandbox.d.ts.map +1 -0
  126. package/dist/cjs/WorkspaceSandbox.js +711 -0
  127. package/dist/cjs/WorkspaceSandbox.js.map +7 -0
  128. package/dist/cjs/index.d.ts +157 -0
  129. package/dist/cjs/index.d.ts.map +1 -0
  130. package/dist/cjs/index.js +95 -0
  131. package/dist/cjs/index.js.map +7 -0
  132. package/dist/cjs/internal/ActionPersistence.d.ts +276 -0
  133. package/dist/cjs/internal/ActionPersistence.d.ts.map +1 -0
  134. package/dist/cjs/internal/ActionPersistence.js +1395 -0
  135. package/dist/cjs/internal/ActionPersistence.js.map +7 -0
  136. package/dist/cjs/internal/ArtifactRoots.d.ts +38 -0
  137. package/dist/cjs/internal/ArtifactRoots.d.ts.map +1 -0
  138. package/dist/cjs/internal/ArtifactRoots.js +89 -0
  139. package/dist/cjs/internal/ArtifactRoots.js.map +7 -0
  140. package/dist/cjs/internal/AttemptAdmission.d.ts +53 -0
  141. package/dist/cjs/internal/AttemptAdmission.d.ts.map +1 -0
  142. package/dist/cjs/internal/AttemptAdmission.js +52 -0
  143. package/dist/cjs/internal/AttemptAdmission.js.map +7 -0
  144. package/dist/cjs/internal/AttemptLifecycle.d.ts +245 -0
  145. package/dist/cjs/internal/AttemptLifecycle.d.ts.map +1 -0
  146. package/dist/cjs/internal/AttemptLifecycle.js +112 -0
  147. package/dist/cjs/internal/AttemptLifecycle.js.map +7 -0
  148. package/dist/cjs/internal/AttemptProbe.d.ts +53 -0
  149. package/dist/cjs/internal/AttemptProbe.d.ts.map +1 -0
  150. package/dist/cjs/internal/AttemptProbe.js +66 -0
  151. package/dist/cjs/internal/AttemptProbe.js.map +7 -0
  152. package/dist/cjs/internal/CacheAdmission.d.ts +79 -0
  153. package/dist/cjs/internal/CacheAdmission.d.ts.map +1 -0
  154. package/dist/cjs/internal/CacheAdmission.js +71 -0
  155. package/dist/cjs/internal/CacheAdmission.js.map +7 -0
  156. package/dist/cjs/internal/CacheAgeHistory.d.ts +27 -0
  157. package/dist/cjs/internal/CacheAgeHistory.d.ts.map +1 -0
  158. package/dist/cjs/internal/CacheAgeHistory.js +61 -0
  159. package/dist/cjs/internal/CacheAgeHistory.js.map +7 -0
  160. package/dist/cjs/internal/CacheAgeVerdicts.d.ts +15 -0
  161. package/dist/cjs/internal/CacheAgeVerdicts.d.ts.map +1 -0
  162. package/dist/cjs/internal/CacheAgeVerdicts.js +73 -0
  163. package/dist/cjs/internal/CacheAgeVerdicts.js.map +7 -0
  164. package/dist/cjs/internal/CacheOutputPolicy.d.ts +24 -0
  165. package/dist/cjs/internal/CacheOutputPolicy.d.ts.map +1 -0
  166. package/dist/cjs/internal/CacheOutputPolicy.js +75 -0
  167. package/dist/cjs/internal/CacheOutputPolicy.js.map +7 -0
  168. package/dist/cjs/internal/CachePublication.d.ts +97 -0
  169. package/dist/cjs/internal/CachePublication.d.ts.map +1 -0
  170. package/dist/cjs/internal/CachePublication.js +80 -0
  171. package/dist/cjs/internal/CachePublication.js.map +7 -0
  172. package/dist/cjs/internal/CallFacts.d.ts +15 -0
  173. package/dist/cjs/internal/CallFacts.d.ts.map +1 -0
  174. package/dist/cjs/internal/CallFacts.js +97 -0
  175. package/dist/cjs/internal/CallFacts.js.map +7 -0
  176. package/dist/cjs/internal/CopiedRecord.d.ts +61 -0
  177. package/dist/cjs/internal/CopiedRecord.d.ts.map +1 -0
  178. package/dist/cjs/internal/CopiedRecord.js +134 -0
  179. package/dist/cjs/internal/CopiedRecord.js.map +7 -0
  180. package/dist/cjs/internal/DeferredPersistence.d.ts +108 -0
  181. package/dist/cjs/internal/DeferredPersistence.d.ts.map +1 -0
  182. package/dist/cjs/internal/DeferredPersistence.js +270 -0
  183. package/dist/cjs/internal/DeferredPersistence.js.map +7 -0
  184. package/dist/cjs/internal/EffectRecords.d.ts +92 -0
  185. package/dist/cjs/internal/EffectRecords.d.ts.map +1 -0
  186. package/dist/cjs/internal/EffectRecords.js +63 -0
  187. package/dist/cjs/internal/EffectRecords.js.map +7 -0
  188. package/dist/cjs/internal/EngineJj.d.ts +30 -0
  189. package/dist/cjs/internal/EngineJj.d.ts.map +1 -0
  190. package/dist/cjs/internal/EngineJj.js +42 -0
  191. package/dist/cjs/internal/EngineJj.js.map +7 -0
  192. package/dist/cjs/internal/EngineStateSchema.d.ts +68 -0
  193. package/dist/cjs/internal/EngineStateSchema.d.ts.map +1 -0
  194. package/dist/cjs/internal/EngineStateSchema.js +58 -0
  195. package/dist/cjs/internal/EngineStateSchema.js.map +7 -0
  196. package/dist/cjs/internal/ExecutionSnapshotRead.d.ts +162 -0
  197. package/dist/cjs/internal/ExecutionSnapshotRead.d.ts.map +1 -0
  198. package/dist/cjs/internal/ExecutionSnapshotRead.js +199 -0
  199. package/dist/cjs/internal/ExecutionSnapshotRead.js.map +7 -0
  200. package/dist/cjs/internal/ExecutionSnapshotRelations.d.ts +39 -0
  201. package/dist/cjs/internal/ExecutionSnapshotRelations.d.ts.map +1 -0
  202. package/dist/cjs/internal/ExecutionSnapshotRelations.js +105 -0
  203. package/dist/cjs/internal/ExecutionSnapshotRelations.js.map +7 -0
  204. package/dist/cjs/internal/ExitEncoding.d.ts +180 -0
  205. package/dist/cjs/internal/ExitEncoding.d.ts.map +1 -0
  206. package/dist/cjs/internal/ExitEncoding.js +236 -0
  207. package/dist/cjs/internal/ExitEncoding.js.map +7 -0
  208. package/dist/cjs/internal/FileBoundarySnapshot.d.ts +14 -0
  209. package/dist/cjs/internal/FileBoundarySnapshot.d.ts.map +1 -0
  210. package/dist/cjs/internal/FileBoundarySnapshot.js +51 -0
  211. package/dist/cjs/internal/FileBoundarySnapshot.js.map +7 -0
  212. package/dist/cjs/internal/FileEnumeration.d.ts +127 -0
  213. package/dist/cjs/internal/FileEnumeration.d.ts.map +1 -0
  214. package/dist/cjs/internal/FileEnumeration.js +194 -0
  215. package/dist/cjs/internal/FileEnumeration.js.map +7 -0
  216. package/dist/cjs/internal/HostReflection.d.ts +80 -0
  217. package/dist/cjs/internal/HostReflection.d.ts.map +1 -0
  218. package/dist/cjs/internal/HostReflection.js +43 -0
  219. package/dist/cjs/internal/HostReflection.js.map +7 -0
  220. package/dist/cjs/internal/JournalRecords.d.ts +325 -0
  221. package/dist/cjs/internal/JournalRecords.d.ts.map +1 -0
  222. package/dist/cjs/internal/JournalRecords.js +122 -0
  223. package/dist/cjs/internal/JournalRecords.js.map +7 -0
  224. package/dist/cjs/internal/NodeJournal.d.ts +157 -0
  225. package/dist/cjs/internal/NodeJournal.d.ts.map +1 -0
  226. package/dist/cjs/internal/NodeJournal.js +192 -0
  227. package/dist/cjs/internal/NodeJournal.js.map +7 -0
  228. package/dist/cjs/internal/Ordering.d.ts +14 -0
  229. package/dist/cjs/internal/Ordering.d.ts.map +1 -0
  230. package/dist/cjs/internal/Ordering.js +25 -0
  231. package/dist/cjs/internal/Ordering.js.map +7 -0
  232. package/dist/cjs/internal/PlanInputs.d.ts +14 -0
  233. package/dist/cjs/internal/PlanInputs.d.ts.map +1 -0
  234. package/dist/cjs/internal/PlanInputs.js +78 -0
  235. package/dist/cjs/internal/PlanInputs.js.map +7 -0
  236. package/dist/cjs/internal/PlanMerges.d.ts +178 -0
  237. package/dist/cjs/internal/PlanMerges.d.ts.map +1 -0
  238. package/dist/cjs/internal/PlanMerges.js +125 -0
  239. package/dist/cjs/internal/PlanMerges.js.map +7 -0
  240. package/dist/cjs/internal/ProvenanceSlot.d.ts +30 -0
  241. package/dist/cjs/internal/ProvenanceSlot.d.ts.map +1 -0
  242. package/dist/cjs/internal/ProvenanceSlot.js +53 -0
  243. package/dist/cjs/internal/ProvenanceSlot.js.map +7 -0
  244. package/dist/cjs/internal/ResultEnvelope.d.ts +88 -0
  245. package/dist/cjs/internal/ResultEnvelope.d.ts.map +1 -0
  246. package/dist/cjs/internal/ResultEnvelope.js +90 -0
  247. package/dist/cjs/internal/ResultEnvelope.js.map +7 -0
  248. package/dist/cjs/internal/RetentionOps.d.ts +414 -0
  249. package/dist/cjs/internal/RetentionOps.d.ts.map +1 -0
  250. package/dist/cjs/internal/RetentionOps.js +354 -0
  251. package/dist/cjs/internal/RetentionOps.js.map +7 -0
  252. package/dist/cjs/internal/RunCatalogOps.d.ts +118 -0
  253. package/dist/cjs/internal/RunCatalogOps.d.ts.map +1 -0
  254. package/dist/cjs/internal/RunCatalogOps.js +85 -0
  255. package/dist/cjs/internal/RunCatalogOps.js.map +7 -0
  256. package/dist/cjs/internal/RunCoordinator.d.ts +78 -0
  257. package/dist/cjs/internal/RunCoordinator.d.ts.map +1 -0
  258. package/dist/cjs/internal/RunCoordinator.js +123 -0
  259. package/dist/cjs/internal/RunCoordinator.js.map +7 -0
  260. package/dist/cjs/internal/RunDriver.d.ts +192 -0
  261. package/dist/cjs/internal/RunDriver.d.ts.map +1 -0
  262. package/dist/cjs/internal/RunDriver.js +1584 -0
  263. package/dist/cjs/internal/RunDriver.js.map +7 -0
  264. package/dist/cjs/internal/RunLifecycle.d.ts +22 -0
  265. package/dist/cjs/internal/RunLifecycle.d.ts.map +1 -0
  266. package/dist/cjs/internal/RunLifecycle.js +63 -0
  267. package/dist/cjs/internal/RunLifecycle.js.map +7 -0
  268. package/dist/cjs/internal/RunListing.d.ts +78 -0
  269. package/dist/cjs/internal/RunListing.d.ts.map +1 -0
  270. package/dist/cjs/internal/RunListing.js +171 -0
  271. package/dist/cjs/internal/RunListing.js.map +7 -0
  272. package/dist/cjs/internal/RunListingError.d.ts +35 -0
  273. package/dist/cjs/internal/RunListingError.d.ts.map +1 -0
  274. package/dist/cjs/internal/RunListingError.js +47 -0
  275. package/dist/cjs/internal/RunListingError.js.map +7 -0
  276. package/dist/cjs/internal/RuntimeGraph.d.ts +73 -0
  277. package/dist/cjs/internal/RuntimeGraph.d.ts.map +1 -0
  278. package/dist/cjs/internal/RuntimeGraph.js +180 -0
  279. package/dist/cjs/internal/RuntimeGraph.js.map +7 -0
  280. package/dist/cjs/internal/SandboxedExecution.d.ts +80 -0
  281. package/dist/cjs/internal/SandboxedExecution.d.ts.map +1 -0
  282. package/dist/cjs/internal/SandboxedExecution.js +104 -0
  283. package/dist/cjs/internal/SandboxedExecution.js.map +7 -0
  284. package/dist/cjs/internal/StateTransaction.d.ts +44 -0
  285. package/dist/cjs/internal/StateTransaction.d.ts.map +1 -0
  286. package/dist/cjs/internal/StateTransaction.js +52 -0
  287. package/dist/cjs/internal/StateTransaction.js.map +7 -0
  288. package/dist/cjs/internal/StepFacts.d.ts +14 -0
  289. package/dist/cjs/internal/StepFacts.d.ts.map +1 -0
  290. package/dist/cjs/internal/StepFacts.js +58 -0
  291. package/dist/cjs/internal/StepFacts.js.map +7 -0
  292. package/dist/cjs/internal/TypedEvents.d.ts +14 -0
  293. package/dist/cjs/internal/TypedEvents.d.ts.map +1 -0
  294. package/dist/cjs/internal/TypedEvents.js +37 -0
  295. package/dist/cjs/internal/TypedEvents.js.map +7 -0
  296. package/dist/cjs/migrations/0001_initial.d.ts +17 -0
  297. package/dist/cjs/migrations/0001_initial.d.ts.map +1 -0
  298. package/dist/cjs/migrations/0001_initial.js +61 -0
  299. package/dist/cjs/migrations/0001_initial.js.map +7 -0
  300. package/dist/cjs/migrations/0002_selection_store.d.ts +15 -0
  301. package/dist/cjs/migrations/0002_selection_store.d.ts.map +1 -0
  302. package/dist/cjs/migrations/0002_selection_store.js +56 -0
  303. package/dist/cjs/migrations/0002_selection_store.js.map +7 -0
  304. package/dist/cjs/migrations/0003_plan_inputs.d.ts +13 -0
  305. package/dist/cjs/migrations/0003_plan_inputs.d.ts.map +1 -0
  306. package/dist/cjs/migrations/0003_plan_inputs.js +90 -0
  307. package/dist/cjs/migrations/0003_plan_inputs.js.map +7 -0
  308. package/dist/cjs/migrations/0004_plan_environment.d.ts +14 -0
  309. package/dist/cjs/migrations/0004_plan_environment.d.ts.map +1 -0
  310. package/dist/cjs/migrations/0004_plan_environment.js +56 -0
  311. package/dist/cjs/migrations/0004_plan_environment.js.map +7 -0
  312. package/dist/cjs/migrations/0005_plan_merges.d.ts +14 -0
  313. package/dist/cjs/migrations/0005_plan_merges.d.ts.map +1 -0
  314. package/dist/cjs/migrations/0005_plan_merges.js +82 -0
  315. package/dist/cjs/migrations/0005_plan_merges.js.map +7 -0
  316. package/dist/cjs/migrations/0006_execution_listing.d.ts +15 -0
  317. package/dist/cjs/migrations/0006_execution_listing.d.ts.map +1 -0
  318. package/dist/cjs/migrations/0006_execution_listing.js +101 -0
  319. package/dist/cjs/migrations/0006_execution_listing.js.map +7 -0
  320. package/dist/cjs/migrations/0007_run_parent_sequence.d.ts +15 -0
  321. package/dist/cjs/migrations/0007_run_parent_sequence.d.ts.map +1 -0
  322. package/dist/cjs/migrations/0007_run_parent_sequence.js +40 -0
  323. package/dist/cjs/migrations/0007_run_parent_sequence.js.map +7 -0
  324. package/dist/cjs/migrations/0008_deferred_consumption.d.ts +16 -0
  325. package/dist/cjs/migrations/0008_deferred_consumption.d.ts.map +1 -0
  326. package/dist/cjs/migrations/0008_deferred_consumption.js +45 -0
  327. package/dist/cjs/migrations/0008_deferred_consumption.js.map +7 -0
  328. package/dist/cjs/migrations/0009_deferred_clock_facts.d.ts +24 -0
  329. package/dist/cjs/migrations/0009_deferred_clock_facts.d.ts.map +1 -0
  330. package/dist/cjs/migrations/0009_deferred_clock_facts.js +141 -0
  331. package/dist/cjs/migrations/0009_deferred_clock_facts.js.map +7 -0
  332. package/dist/cjs/migrations/0010_pending_cancellation.d.ts +15 -0
  333. package/dist/cjs/migrations/0010_pending_cancellation.d.ts.map +1 -0
  334. package/dist/cjs/migrations/0010_pending_cancellation.js +41 -0
  335. package/dist/cjs/migrations/0010_pending_cancellation.js.map +7 -0
  336. package/dist/cjs/package.json +1 -0
  337. package/dist/cjs/test/TestStores.d.ts +89 -0
  338. package/dist/cjs/test/TestStores.d.ts.map +1 -0
  339. package/dist/cjs/test/TestStores.js +98 -0
  340. package/dist/cjs/test/TestStores.js.map +7 -0
  341. package/dist/esm/ArtifactGc.d.ts +235 -0
  342. package/dist/esm/ArtifactGc.d.ts.map +1 -0
  343. package/dist/esm/ArtifactGc.js +268 -0
  344. package/dist/esm/ArtifactGc.js.map +1 -0
  345. package/dist/esm/ArtifactSync.d.ts +164 -0
  346. package/dist/esm/ArtifactSync.d.ts.map +1 -0
  347. package/dist/esm/ArtifactSync.js +176 -0
  348. package/dist/esm/ArtifactSync.js.map +1 -0
  349. package/dist/esm/CacheSync.d.ts +112 -0
  350. package/dist/esm/CacheSync.d.ts.map +1 -0
  351. package/dist/esm/CacheSync.js +94 -0
  352. package/dist/esm/CacheSync.js.map +1 -0
  353. package/dist/esm/DeferredClockFold.d.ts +354 -0
  354. package/dist/esm/DeferredClockFold.d.ts.map +1 -0
  355. package/dist/esm/DeferredClockFold.js +472 -0
  356. package/dist/esm/DeferredClockFold.js.map +1 -0
  357. package/dist/esm/DisasterRecovery.d.ts +431 -0
  358. package/dist/esm/DisasterRecovery.d.ts.map +1 -0
  359. package/dist/esm/DisasterRecovery.js +523 -0
  360. package/dist/esm/DisasterRecovery.js.map +1 -0
  361. package/dist/esm/DurableEngineState.d.ts +776 -0
  362. package/dist/esm/DurableEngineState.d.ts.map +1 -0
  363. package/dist/esm/DurableEngineState.js +1648 -0
  364. package/dist/esm/DurableEngineState.js.map +1 -0
  365. package/dist/esm/EngineStore.d.ts +158 -0
  366. package/dist/esm/EngineStore.d.ts.map +1 -0
  367. package/dist/esm/EngineStore.js +403 -0
  368. package/dist/esm/EngineStore.js.map +1 -0
  369. package/dist/esm/EngineStoreMetrics.d.ts +276 -0
  370. package/dist/esm/EngineStoreMetrics.d.ts.map +1 -0
  371. package/dist/esm/EngineStoreMetrics.js +260 -0
  372. package/dist/esm/EngineStoreMetrics.js.map +1 -0
  373. package/dist/esm/Errors.d.ts +22 -0
  374. package/dist/esm/Errors.d.ts.map +1 -0
  375. package/dist/esm/Errors.js +22 -0
  376. package/dist/esm/Errors.js.map +1 -0
  377. package/dist/esm/EventTypes.d.ts +27 -0
  378. package/dist/esm/EventTypes.d.ts.map +1 -0
  379. package/dist/esm/EventTypes.js +27 -0
  380. package/dist/esm/EventTypes.js.map +1 -0
  381. package/dist/esm/ExecutionFacts.d.ts +59 -0
  382. package/dist/esm/ExecutionFacts.d.ts.map +1 -0
  383. package/dist/esm/ExecutionFacts.js +96 -0
  384. package/dist/esm/ExecutionFacts.js.map +1 -0
  385. package/dist/esm/ExecutionSnapshot.d.ts +117 -0
  386. package/dist/esm/ExecutionSnapshot.d.ts.map +1 -0
  387. package/dist/esm/ExecutionSnapshot.js +95 -0
  388. package/dist/esm/ExecutionSnapshot.js.map +1 -0
  389. package/dist/esm/Inconsistency.d.ts +154 -0
  390. package/dist/esm/Inconsistency.d.ts.map +1 -0
  391. package/dist/esm/Inconsistency.js +133 -0
  392. package/dist/esm/Inconsistency.js.map +1 -0
  393. package/dist/esm/Migrations.d.ts +56 -0
  394. package/dist/esm/Migrations.d.ts.map +1 -0
  395. package/dist/esm/Migrations.js +91 -0
  396. package/dist/esm/Migrations.js.map +1 -0
  397. package/dist/esm/OwnerIdentity.d.ts +91 -0
  398. package/dist/esm/OwnerIdentity.d.ts.map +1 -0
  399. package/dist/esm/OwnerIdentity.js +99 -0
  400. package/dist/esm/OwnerIdentity.js.map +1 -0
  401. package/dist/esm/PlanInputStore.d.ts +110 -0
  402. package/dist/esm/PlanInputStore.d.ts.map +1 -0
  403. package/dist/esm/PlanInputStore.js +207 -0
  404. package/dist/esm/PlanInputStore.js.map +1 -0
  405. package/dist/esm/PlanMergeStore.d.ts +113 -0
  406. package/dist/esm/PlanMergeStore.d.ts.map +1 -0
  407. package/dist/esm/PlanMergeStore.js +244 -0
  408. package/dist/esm/PlanMergeStore.js.map +1 -0
  409. package/dist/esm/PlanScheduler.d.ts +363 -0
  410. package/dist/esm/PlanScheduler.d.ts.map +1 -0
  411. package/dist/esm/PlanScheduler.js +1321 -0
  412. package/dist/esm/PlanScheduler.js.map +1 -0
  413. package/dist/esm/Reconciliation.d.ts +175 -0
  414. package/dist/esm/Reconciliation.d.ts.map +1 -0
  415. package/dist/esm/Reconciliation.js +175 -0
  416. package/dist/esm/Reconciliation.js.map +1 -0
  417. package/dist/esm/ReplayOnly.d.ts +91 -0
  418. package/dist/esm/ReplayOnly.d.ts.map +1 -0
  419. package/dist/esm/ReplayOnly.js +59 -0
  420. package/dist/esm/ReplayOnly.js.map +1 -0
  421. package/dist/esm/Retention.d.ts +113 -0
  422. package/dist/esm/Retention.d.ts.map +1 -0
  423. package/dist/esm/Retention.js +139 -0
  424. package/dist/esm/Retention.js.map +1 -0
  425. package/dist/esm/RunCatalogRead.d.ts +17 -0
  426. package/dist/esm/RunCatalogRead.d.ts.map +1 -0
  427. package/dist/esm/RunCatalogRead.js +17 -0
  428. package/dist/esm/RunCatalogRead.js.map +1 -0
  429. package/dist/esm/RunChangeFeed.d.ts +75 -0
  430. package/dist/esm/RunChangeFeed.d.ts.map +1 -0
  431. package/dist/esm/RunChangeFeed.js +81 -0
  432. package/dist/esm/RunChangeFeed.js.map +1 -0
  433. package/dist/esm/RunState.d.ts +116 -0
  434. package/dist/esm/RunState.d.ts.map +1 -0
  435. package/dist/esm/RunState.js +109 -0
  436. package/dist/esm/RunState.js.map +1 -0
  437. package/dist/esm/Selection.d.ts +495 -0
  438. package/dist/esm/Selection.d.ts.map +1 -0
  439. package/dist/esm/Selection.js +482 -0
  440. package/dist/esm/Selection.js.map +1 -0
  441. package/dist/esm/SelectionStore.d.ts +141 -0
  442. package/dist/esm/SelectionStore.d.ts.map +1 -0
  443. package/dist/esm/SelectionStore.js +215 -0
  444. package/dist/esm/SelectionStore.js.map +1 -0
  445. package/dist/esm/StepBoundary.d.ts +501 -0
  446. package/dist/esm/StepBoundary.d.ts.map +1 -0
  447. package/dist/esm/StepBoundary.js +919 -0
  448. package/dist/esm/StepBoundary.js.map +1 -0
  449. package/dist/esm/StepCacheFold.d.ts +148 -0
  450. package/dist/esm/StepCacheFold.d.ts.map +1 -0
  451. package/dist/esm/StepCacheFold.js +201 -0
  452. package/dist/esm/StepCacheFold.js.map +1 -0
  453. package/dist/esm/StepSandbox.d.ts +78 -0
  454. package/dist/esm/StepSandbox.d.ts.map +1 -0
  455. package/dist/esm/StepSandbox.js +70 -0
  456. package/dist/esm/StepSandbox.js.map +1 -0
  457. package/dist/esm/WakeBus.d.ts +116 -0
  458. package/dist/esm/WakeBus.d.ts.map +1 -0
  459. package/dist/esm/WakeBus.js +121 -0
  460. package/dist/esm/WakeBus.js.map +1 -0
  461. package/dist/esm/WorkspaceSandbox.d.ts +619 -0
  462. package/dist/esm/WorkspaceSandbox.d.ts.map +1 -0
  463. package/dist/esm/WorkspaceSandbox.js +985 -0
  464. package/dist/esm/WorkspaceSandbox.js.map +1 -0
  465. package/dist/esm/index.d.ts +157 -0
  466. package/dist/esm/index.d.ts.map +1 -0
  467. package/dist/esm/index.js +157 -0
  468. package/dist/esm/index.js.map +1 -0
  469. package/dist/esm/internal/ActionPersistence.d.ts +276 -0
  470. package/dist/esm/internal/ActionPersistence.d.ts.map +1 -0
  471. package/dist/esm/internal/ActionPersistence.js +2306 -0
  472. package/dist/esm/internal/ActionPersistence.js.map +1 -0
  473. package/dist/esm/internal/ArtifactRoots.d.ts +38 -0
  474. package/dist/esm/internal/ArtifactRoots.d.ts.map +1 -0
  475. package/dist/esm/internal/ArtifactRoots.js +76 -0
  476. package/dist/esm/internal/ArtifactRoots.js.map +1 -0
  477. package/dist/esm/internal/AttemptAdmission.d.ts +53 -0
  478. package/dist/esm/internal/AttemptAdmission.d.ts.map +1 -0
  479. package/dist/esm/internal/AttemptAdmission.js +52 -0
  480. package/dist/esm/internal/AttemptAdmission.js.map +1 -0
  481. package/dist/esm/internal/AttemptLifecycle.d.ts +245 -0
  482. package/dist/esm/internal/AttemptLifecycle.d.ts.map +1 -0
  483. package/dist/esm/internal/AttemptLifecycle.js +104 -0
  484. package/dist/esm/internal/AttemptLifecycle.js.map +1 -0
  485. package/dist/esm/internal/AttemptProbe.d.ts +53 -0
  486. package/dist/esm/internal/AttemptProbe.d.ts.map +1 -0
  487. package/dist/esm/internal/AttemptProbe.js +83 -0
  488. package/dist/esm/internal/AttemptProbe.js.map +1 -0
  489. package/dist/esm/internal/CacheAdmission.d.ts +79 -0
  490. package/dist/esm/internal/CacheAdmission.d.ts.map +1 -0
  491. package/dist/esm/internal/CacheAdmission.js +72 -0
  492. package/dist/esm/internal/CacheAdmission.js.map +1 -0
  493. package/dist/esm/internal/CacheAgeHistory.d.ts +27 -0
  494. package/dist/esm/internal/CacheAgeHistory.d.ts.map +1 -0
  495. package/dist/esm/internal/CacheAgeHistory.js +49 -0
  496. package/dist/esm/internal/CacheAgeHistory.js.map +1 -0
  497. package/dist/esm/internal/CacheAgeVerdicts.d.ts +15 -0
  498. package/dist/esm/internal/CacheAgeVerdicts.d.ts.map +1 -0
  499. package/dist/esm/internal/CacheAgeVerdicts.js +54 -0
  500. package/dist/esm/internal/CacheAgeVerdicts.js.map +1 -0
  501. package/dist/esm/internal/CacheOutputPolicy.d.ts +24 -0
  502. package/dist/esm/internal/CacheOutputPolicy.d.ts.map +1 -0
  503. package/dist/esm/internal/CacheOutputPolicy.js +73 -0
  504. package/dist/esm/internal/CacheOutputPolicy.js.map +1 -0
  505. package/dist/esm/internal/CachePublication.d.ts +97 -0
  506. package/dist/esm/internal/CachePublication.d.ts.map +1 -0
  507. package/dist/esm/internal/CachePublication.js +116 -0
  508. package/dist/esm/internal/CachePublication.js.map +1 -0
  509. package/dist/esm/internal/CallFacts.d.ts +15 -0
  510. package/dist/esm/internal/CallFacts.d.ts.map +1 -0
  511. package/dist/esm/internal/CallFacts.js +83 -0
  512. package/dist/esm/internal/CallFacts.js.map +1 -0
  513. package/dist/esm/internal/CopiedRecord.d.ts +61 -0
  514. package/dist/esm/internal/CopiedRecord.d.ts.map +1 -0
  515. package/dist/esm/internal/CopiedRecord.js +165 -0
  516. package/dist/esm/internal/CopiedRecord.js.map +1 -0
  517. package/dist/esm/internal/DeferredPersistence.d.ts +108 -0
  518. package/dist/esm/internal/DeferredPersistence.d.ts.map +1 -0
  519. package/dist/esm/internal/DeferredPersistence.js +240 -0
  520. package/dist/esm/internal/DeferredPersistence.js.map +1 -0
  521. package/dist/esm/internal/EffectRecords.d.ts +92 -0
  522. package/dist/esm/internal/EffectRecords.d.ts.map +1 -0
  523. package/dist/esm/internal/EffectRecords.js +94 -0
  524. package/dist/esm/internal/EffectRecords.js.map +1 -0
  525. package/dist/esm/internal/EngineJj.d.ts +30 -0
  526. package/dist/esm/internal/EngineJj.d.ts.map +1 -0
  527. package/dist/esm/internal/EngineJj.js +29 -0
  528. package/dist/esm/internal/EngineJj.js.map +1 -0
  529. package/dist/esm/internal/EngineStateSchema.d.ts +68 -0
  530. package/dist/esm/internal/EngineStateSchema.d.ts.map +1 -0
  531. package/dist/esm/internal/EngineStateSchema.js +53 -0
  532. package/dist/esm/internal/EngineStateSchema.js.map +1 -0
  533. package/dist/esm/internal/ExecutionSnapshotRead.d.ts +162 -0
  534. package/dist/esm/internal/ExecutionSnapshotRead.d.ts.map +1 -0
  535. package/dist/esm/internal/ExecutionSnapshotRead.js +218 -0
  536. package/dist/esm/internal/ExecutionSnapshotRead.js.map +1 -0
  537. package/dist/esm/internal/ExecutionSnapshotRelations.d.ts +39 -0
  538. package/dist/esm/internal/ExecutionSnapshotRelations.d.ts.map +1 -0
  539. package/dist/esm/internal/ExecutionSnapshotRelations.js +81 -0
  540. package/dist/esm/internal/ExecutionSnapshotRelations.js.map +1 -0
  541. package/dist/esm/internal/ExitEncoding.d.ts +180 -0
  542. package/dist/esm/internal/ExitEncoding.d.ts.map +1 -0
  543. package/dist/esm/internal/ExitEncoding.js +361 -0
  544. package/dist/esm/internal/ExitEncoding.js.map +1 -0
  545. package/dist/esm/internal/FileBoundarySnapshot.d.ts +14 -0
  546. package/dist/esm/internal/FileBoundarySnapshot.d.ts.map +1 -0
  547. package/dist/esm/internal/FileBoundarySnapshot.js +29 -0
  548. package/dist/esm/internal/FileBoundarySnapshot.js.map +1 -0
  549. package/dist/esm/internal/FileEnumeration.d.ts +127 -0
  550. package/dist/esm/internal/FileEnumeration.d.ts.map +1 -0
  551. package/dist/esm/internal/FileEnumeration.js +236 -0
  552. package/dist/esm/internal/FileEnumeration.js.map +1 -0
  553. package/dist/esm/internal/HostReflection.d.ts +80 -0
  554. package/dist/esm/internal/HostReflection.d.ts.map +1 -0
  555. package/dist/esm/internal/HostReflection.js +98 -0
  556. package/dist/esm/internal/HostReflection.js.map +1 -0
  557. package/dist/esm/internal/JournalRecords.d.ts +325 -0
  558. package/dist/esm/internal/JournalRecords.d.ts.map +1 -0
  559. package/dist/esm/internal/JournalRecords.js +306 -0
  560. package/dist/esm/internal/JournalRecords.js.map +1 -0
  561. package/dist/esm/internal/NodeJournal.d.ts +157 -0
  562. package/dist/esm/internal/NodeJournal.d.ts.map +1 -0
  563. package/dist/esm/internal/NodeJournal.js +298 -0
  564. package/dist/esm/internal/NodeJournal.js.map +1 -0
  565. package/dist/esm/internal/Ordering.d.ts +14 -0
  566. package/dist/esm/internal/Ordering.d.ts.map +1 -0
  567. package/dist/esm/internal/Ordering.js +14 -0
  568. package/dist/esm/internal/Ordering.js.map +1 -0
  569. package/dist/esm/internal/PlanInputs.d.ts +14 -0
  570. package/dist/esm/internal/PlanInputs.d.ts.map +1 -0
  571. package/dist/esm/internal/PlanInputs.js +57 -0
  572. package/dist/esm/internal/PlanInputs.js.map +1 -0
  573. package/dist/esm/internal/PlanMerges.d.ts +178 -0
  574. package/dist/esm/internal/PlanMerges.d.ts.map +1 -0
  575. package/dist/esm/internal/PlanMerges.js +113 -0
  576. package/dist/esm/internal/PlanMerges.js.map +1 -0
  577. package/dist/esm/internal/ProvenanceSlot.d.ts +30 -0
  578. package/dist/esm/internal/ProvenanceSlot.d.ts.map +1 -0
  579. package/dist/esm/internal/ProvenanceSlot.js +39 -0
  580. package/dist/esm/internal/ProvenanceSlot.js.map +1 -0
  581. package/dist/esm/internal/ResultEnvelope.d.ts +88 -0
  582. package/dist/esm/internal/ResultEnvelope.d.ts.map +1 -0
  583. package/dist/esm/internal/ResultEnvelope.js +83 -0
  584. package/dist/esm/internal/ResultEnvelope.js.map +1 -0
  585. package/dist/esm/internal/RetentionOps.d.ts +414 -0
  586. package/dist/esm/internal/RetentionOps.d.ts.map +1 -0
  587. package/dist/esm/internal/RetentionOps.js +576 -0
  588. package/dist/esm/internal/RetentionOps.js.map +1 -0
  589. package/dist/esm/internal/RunCatalogOps.d.ts +118 -0
  590. package/dist/esm/internal/RunCatalogOps.d.ts.map +1 -0
  591. package/dist/esm/internal/RunCatalogOps.js +120 -0
  592. package/dist/esm/internal/RunCatalogOps.js.map +1 -0
  593. package/dist/esm/internal/RunCoordinator.d.ts +78 -0
  594. package/dist/esm/internal/RunCoordinator.d.ts.map +1 -0
  595. package/dist/esm/internal/RunCoordinator.js +115 -0
  596. package/dist/esm/internal/RunCoordinator.js.map +1 -0
  597. package/dist/esm/internal/RunDriver.d.ts +192 -0
  598. package/dist/esm/internal/RunDriver.d.ts.map +1 -0
  599. package/dist/esm/internal/RunDriver.js +2334 -0
  600. package/dist/esm/internal/RunDriver.js.map +1 -0
  601. package/dist/esm/internal/RunLifecycle.d.ts +22 -0
  602. package/dist/esm/internal/RunLifecycle.d.ts.map +1 -0
  603. package/dist/esm/internal/RunLifecycle.js +49 -0
  604. package/dist/esm/internal/RunLifecycle.js.map +1 -0
  605. package/dist/esm/internal/RunListing.d.ts +78 -0
  606. package/dist/esm/internal/RunListing.d.ts.map +1 -0
  607. package/dist/esm/internal/RunListing.js +146 -0
  608. package/dist/esm/internal/RunListing.js.map +1 -0
  609. package/dist/esm/internal/RunListingError.d.ts +35 -0
  610. package/dist/esm/internal/RunListingError.d.ts.map +1 -0
  611. package/dist/esm/internal/RunListingError.js +27 -0
  612. package/dist/esm/internal/RunListingError.js.map +1 -0
  613. package/dist/esm/internal/RuntimeGraph.d.ts +73 -0
  614. package/dist/esm/internal/RuntimeGraph.d.ts.map +1 -0
  615. package/dist/esm/internal/RuntimeGraph.js +182 -0
  616. package/dist/esm/internal/RuntimeGraph.js.map +1 -0
  617. package/dist/esm/internal/SandboxedExecution.d.ts +80 -0
  618. package/dist/esm/internal/SandboxedExecution.d.ts.map +1 -0
  619. package/dist/esm/internal/SandboxedExecution.js +107 -0
  620. package/dist/esm/internal/SandboxedExecution.js.map +1 -0
  621. package/dist/esm/internal/StateTransaction.d.ts +44 -0
  622. package/dist/esm/internal/StateTransaction.d.ts.map +1 -0
  623. package/dist/esm/internal/StateTransaction.js +54 -0
  624. package/dist/esm/internal/StateTransaction.js.map +1 -0
  625. package/dist/esm/internal/StepFacts.d.ts +14 -0
  626. package/dist/esm/internal/StepFacts.d.ts.map +1 -0
  627. package/dist/esm/internal/StepFacts.js +35 -0
  628. package/dist/esm/internal/StepFacts.js.map +1 -0
  629. package/dist/esm/internal/TypedEvents.d.ts +14 -0
  630. package/dist/esm/internal/TypedEvents.d.ts.map +1 -0
  631. package/dist/esm/internal/TypedEvents.js +14 -0
  632. package/dist/esm/internal/TypedEvents.js.map +1 -0
  633. package/dist/esm/migrations/0001_initial.d.ts +17 -0
  634. package/dist/esm/migrations/0001_initial.d.ts.map +1 -0
  635. package/dist/esm/migrations/0001_initial.js +41 -0
  636. package/dist/esm/migrations/0001_initial.js.map +1 -0
  637. package/dist/esm/migrations/0002_selection_store.d.ts +15 -0
  638. package/dist/esm/migrations/0002_selection_store.d.ts.map +1 -0
  639. package/dist/esm/migrations/0002_selection_store.js +34 -0
  640. package/dist/esm/migrations/0002_selection_store.js.map +1 -0
  641. package/dist/esm/migrations/0003_plan_inputs.d.ts +13 -0
  642. package/dist/esm/migrations/0003_plan_inputs.d.ts.map +1 -0
  643. package/dist/esm/migrations/0003_plan_inputs.js +70 -0
  644. package/dist/esm/migrations/0003_plan_inputs.js.map +1 -0
  645. package/dist/esm/migrations/0004_plan_environment.d.ts +14 -0
  646. package/dist/esm/migrations/0004_plan_environment.d.ts.map +1 -0
  647. package/dist/esm/migrations/0004_plan_environment.js +33 -0
  648. package/dist/esm/migrations/0004_plan_environment.js.map +1 -0
  649. package/dist/esm/migrations/0005_plan_merges.d.ts +14 -0
  650. package/dist/esm/migrations/0005_plan_merges.d.ts.map +1 -0
  651. package/dist/esm/migrations/0005_plan_merges.js +59 -0
  652. package/dist/esm/migrations/0005_plan_merges.js.map +1 -0
  653. package/dist/esm/migrations/0006_execution_listing.d.ts +15 -0
  654. package/dist/esm/migrations/0006_execution_listing.d.ts.map +1 -0
  655. package/dist/esm/migrations/0006_execution_listing.js +81 -0
  656. package/dist/esm/migrations/0006_execution_listing.js.map +1 -0
  657. package/dist/esm/migrations/0007_run_parent_sequence.d.ts +15 -0
  658. package/dist/esm/migrations/0007_run_parent_sequence.d.ts.map +1 -0
  659. package/dist/esm/migrations/0007_run_parent_sequence.js +18 -0
  660. package/dist/esm/migrations/0007_run_parent_sequence.js.map +1 -0
  661. package/dist/esm/migrations/0008_deferred_consumption.d.ts +16 -0
  662. package/dist/esm/migrations/0008_deferred_consumption.d.ts.map +1 -0
  663. package/dist/esm/migrations/0008_deferred_consumption.js +24 -0
  664. package/dist/esm/migrations/0008_deferred_consumption.js.map +1 -0
  665. package/dist/esm/migrations/0009_deferred_clock_facts.d.ts +24 -0
  666. package/dist/esm/migrations/0009_deferred_clock_facts.d.ts.map +1 -0
  667. package/dist/esm/migrations/0009_deferred_clock_facts.js +127 -0
  668. package/dist/esm/migrations/0009_deferred_clock_facts.js.map +1 -0
  669. package/dist/esm/migrations/0010_pending_cancellation.d.ts +15 -0
  670. package/dist/esm/migrations/0010_pending_cancellation.d.ts.map +1 -0
  671. package/dist/esm/migrations/0010_pending_cancellation.js +19 -0
  672. package/dist/esm/migrations/0010_pending_cancellation.js.map +1 -0
  673. package/dist/esm/test/TestStores.d.ts +89 -0
  674. package/dist/esm/test/TestStores.d.ts.map +1 -0
  675. package/dist/esm/test/TestStores.js +103 -0
  676. package/dist/esm/test/TestStores.js.map +1 -0
  677. package/docs/README.md +113 -0
  678. package/docs/api.md +1494 -0
  679. package/docs/concepts/attempts-and-replay.md +149 -0
  680. package/docs/concepts/cache-admission.md +265 -0
  681. package/docs/concepts/call-facts.md +86 -0
  682. package/docs/concepts/durable-waits.md +175 -0
  683. package/docs/concepts/execution-facts.md +90 -0
  684. package/docs/concepts/ownership-and-fencing.md +128 -0
  685. package/docs/concepts/step-boundaries.md +148 -0
  686. package/docs/concepts/workspace-transactions.md +199 -0
  687. package/docs/event-types.md +14 -0
  688. package/docs/guides/back-up-and-restore.md +164 -0
  689. package/docs/guides/collect-unreferenced-artifacts.md +128 -0
  690. package/docs/guides/compose-a-durable-engine.md +146 -0
  691. package/docs/guides/coordinate-two-processes.md +120 -0
  692. package/docs/guides/defer-work-with-selection.md +171 -0
  693. package/docs/guides/delete-old-run-history.md +154 -0
  694. package/docs/guides/drive-a-plan.md +314 -0
  695. package/docs/guides/observe-engine-metrics.md +98 -0
  696. package/docs/guides/observe-executions.md +187 -0
  697. package/docs/guides/reclaim-runs-from-a-dead-host.md +133 -0
  698. package/docs/guides/share-a-cache-across-machines.md +134 -0
  699. package/docs/guides/testing.md +123 -0
  700. package/docs/installation.md +102 -0
  701. package/docs/quickstart.md +215 -0
  702. package/docs/troubleshooting.md +347 -0
  703. package/package.json +438 -3
  704. package/src/ArtifactGc.ts +408 -0
  705. package/src/ArtifactSync.ts +278 -0
  706. package/src/CacheSync.ts +131 -0
  707. package/src/DeferredClockFold.ts +586 -0
  708. package/src/DisasterRecovery.ts +888 -0
  709. package/src/DurableEngineState.ts +2656 -0
  710. package/src/EngineStore.ts +656 -0
  711. package/src/EngineStoreMetrics.ts +331 -0
  712. package/src/Errors.ts +28 -0
  713. package/src/EventTypes.ts +27 -0
  714. package/src/ExecutionFacts.ts +125 -0
  715. package/src/ExecutionSnapshot.ts +186 -0
  716. package/src/Inconsistency.ts +253 -0
  717. package/src/Migrations.ts +95 -0
  718. package/src/OwnerIdentity.ts +125 -0
  719. package/src/PlanInputStore.ts +292 -0
  720. package/src/PlanMergeStore.ts +330 -0
  721. package/src/PlanScheduler.ts +1806 -0
  722. package/src/Reconciliation.ts +224 -0
  723. package/src/ReplayOnly.ts +95 -0
  724. package/src/Retention.ts +214 -0
  725. package/src/RunCatalogRead.ts +27 -0
  726. package/src/RunChangeFeed.ts +125 -0
  727. package/src/RunState.ts +137 -0
  728. package/src/Selection.ts +683 -0
  729. package/src/SelectionStore.ts +353 -0
  730. package/src/StepBoundary.ts +1165 -0
  731. package/src/StepCacheFold.ts +244 -0
  732. package/src/StepSandbox.ts +110 -0
  733. package/src/WakeBus.ts +167 -0
  734. package/src/WorkspaceSandbox.ts +1604 -0
  735. package/src/index.ts +185 -0
  736. package/src/internal/ActionPersistence.ts +2687 -0
  737. package/src/internal/ArtifactRoots.ts +92 -0
  738. package/src/internal/AttemptAdmission.ts +76 -0
  739. package/src/internal/AttemptLifecycle.ts +163 -0
  740. package/src/internal/AttemptProbe.ts +90 -0
  741. package/src/internal/CacheAdmission.ts +133 -0
  742. package/src/internal/CacheAgeHistory.ts +58 -0
  743. package/src/internal/CacheAgeVerdicts.ts +61 -0
  744. package/src/internal/CacheOutputPolicy.ts +82 -0
  745. package/src/internal/CachePublication.ts +153 -0
  746. package/src/internal/CallFacts.ts +87 -0
  747. package/src/internal/CopiedRecord.ts +201 -0
  748. package/src/internal/DeferredPersistence.ts +459 -0
  749. package/src/internal/EffectRecords.ts +136 -0
  750. package/src/internal/EngineJj.ts +30 -0
  751. package/src/internal/EngineStateSchema.ts +92 -0
  752. package/src/internal/ExecutionSnapshotRead.ts +298 -0
  753. package/src/internal/ExecutionSnapshotRelations.ts +121 -0
  754. package/src/internal/ExitEncoding.ts +453 -0
  755. package/src/internal/FileBoundarySnapshot.ts +39 -0
  756. package/src/internal/FileEnumeration.ts +334 -0
  757. package/src/internal/HostReflection.ts +128 -0
  758. package/src/internal/JournalRecords.ts +396 -0
  759. package/src/internal/NodeJournal.ts +340 -0
  760. package/src/internal/Ordering.ts +14 -0
  761. package/src/internal/PlanInputs.ts +62 -0
  762. package/src/internal/PlanMerges.ts +123 -0
  763. package/src/internal/ProvenanceSlot.ts +52 -0
  764. package/src/internal/ResultEnvelope.ts +118 -0
  765. package/src/internal/RetentionOps.ts +865 -0
  766. package/src/internal/RunCatalogOps.ts +174 -0
  767. package/src/internal/RunCoordinator.ts +215 -0
  768. package/src/internal/RunDriver.ts +3152 -0
  769. package/src/internal/RunLifecycle.ts +53 -0
  770. package/src/internal/RunListing.ts +210 -0
  771. package/src/internal/RunListingError.ts +37 -0
  772. package/src/internal/RuntimeGraph.ts +253 -0
  773. package/src/internal/SandboxedExecution.ts +165 -0
  774. package/src/internal/StateTransaction.ts +71 -0
  775. package/src/internal/StepFacts.ts +36 -0
  776. package/src/internal/TypedEvents.ts +29 -0
  777. package/src/migrations/0001_initial.ts +51 -0
  778. package/src/migrations/0002_selection_store.ts +38 -0
  779. package/src/migrations/0003_plan_inputs.ts +75 -0
  780. package/src/migrations/0004_plan_environment.ts +34 -0
  781. package/src/migrations/0005_plan_merges.ts +60 -0
  782. package/src/migrations/0006_execution_listing.ts +86 -0
  783. package/src/migrations/0007_run_parent_sequence.ts +19 -0
  784. package/src/migrations/0008_deferred_consumption.ts +27 -0
  785. package/src/migrations/0009_deferred_clock_facts.ts +163 -0
  786. package/src/migrations/0010_pending_cancellation.ts +20 -0
  787. package/src/test/TestStores.ts +145 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/PlanMergeStore.ts"],
4
+ "sourcesContent": ["/**\n * Owner-fenced scheduler decisions, distinct from action failure evidence and\n * redacted journal projections. Intent survives before a merge is appended.\n * @since 1.0.0\n */\n\nimport { Sha256 } from \"@smthrs/crypto\"\nimport { DurableWriter } from \"@smthrs/database/DurableWriter\"\nimport { Plan } from \"@smthrs/plan\"\nimport { OwnerId } from \"@smthrs/run-store/Ownership\"\nimport { Context, Effect, Layer, Option, Schema } from \"effect\"\nimport type * as Crypto from \"effect/Crypto\"\nimport * as SqlClient from \"effect/unstable/sql/SqlClient\"\n\nconst Natural = Schema.Int.check(Schema.isGreaterThanOrEqualTo(0))\nconst Positive = Schema.Int.check(Schema.isGreaterThan(0))\nconst Names = Schema.Array(Schema.NonEmptyString).check(Schema.isMaxLength(Plan.maximumPlanNodes))\n\n/** Execution binding shared by every decision of one plan run.\n * @since 1.0.0\n * @category schemas\n */\nexport const Identity = Schema.Struct({\n runId: Schema.NonEmptyString,\n planId: Schema.NonEmptyString,\n baseDigest: Schema.NonEmptyString,\n environmentDigest: Schema.NonEmptyString\n})\n/** Execution binding.\n * @since 1.0.0\n * @category models\n */\nexport type Identity = typeof Identity.Type\n/** A stopped attempt and the exact cohort eligible to supply merge winners.\n * @since 1.0.0\n * @category schemas\n */\nexport const Intent = Schema.Struct({\n version: Schema.Literal(1),\n nodeId: Schema.NonEmptyString,\n nodeKey: Schema.NonEmptyString,\n dispatchKey: Schema.NonEmptyString,\n attempts: Positive,\n rebases: Natural,\n peers: Names\n})\n/** Durable stopped-attempt decision.\n * @since 1.0.0\n * @category models\n */\nexport type Intent = typeof Intent.Type\n/** The plan extension committed for an intent.\n * @since 1.0.0\n * @category schemas\n */\nexport const Completion = Schema.Struct({\n version: Schema.Literal(1),\n generation: Positive,\n parentDigest: Schema.NonEmptyString,\n planDigest: Schema.NonEmptyString,\n mergeId: Schema.NonEmptyString,\n mergeKey: Schema.NonEmptyString,\n winners: Names\n})\n/** Committed merge extension.\n * @since 1.0.0\n * @category models\n */\nexport type Completion = typeof Completion.Type\n/** Intent with its optional committed extension.\n * @since 1.0.0\n * @category models\n */\nexport interface Decision {\n readonly intent: Intent\n readonly completion?: Completion\n}\n/** Typed admission/storage refusal.\n * @since 1.0.0\n * @category errors\n */\nexport class PlanMergeError extends Schema.TaggedError<PlanMergeError>()(\"@smthrs/engine-store/PlanMergeError\", {\n code: Schema.Literals([\n \"invalid_input\",\n \"corrupt_state\",\n \"incompatible_state\",\n \"fence_lost\",\n \"transaction_open\",\n \"transaction_required\",\n \"persistence_failed\"\n ]),\n message: Schema.String,\n cause: Schema.optional(Schema.Unknown)\n}) {}\n/** Store operations; writes may join the owning transaction, reads require committed state.\n * @since 1.0.0\n * @category models\n */\nexport interface Service {\n readonly list: (identity: Identity, owner: OwnerId) => Effect.Effect<ReadonlyArray<Decision>, PlanMergeError>\n readonly intend: (identity: Identity, intent: Intent, owner: OwnerId) => Effect.Effect<Intent, PlanMergeError>\n readonly complete: (\n identity: Identity,\n nodeId: string,\n completion: Completion,\n owner: OwnerId\n ) => Effect.Effect<Completion, PlanMergeError>\n}\n/** Durable merge decision service.\n * @since 1.0.0\n * @category services\n */\nexport class PlanMergeStore extends Context.Service<PlanMergeStore, Service>()(\"@smthrs/engine-store/PlanMergeStore\") {}\n/** Encoded decision limit, in JavaScript code units.\n * @since 1.0.0\n * @category constants\n */\nexport const maximumDecisionCharacters = 16 * 1024 * 1024\nconst error = (code: PlanMergeError[\"code\"], message: string, cause?: unknown) =>\n new PlanMergeError({ code, message, ...(cause === undefined ? {} : { cause }) })\nconst storageError = (cause: unknown) =>\n cause instanceof PlanMergeError ? cause : error(\"persistence_failed\", \"could not access plan merge decisions\", cause)\nconst decode = <S extends Schema.Top & { readonly DecodingServices: never }>(\n schema: S,\n value: unknown,\n code: \"invalid_input\" | \"corrupt_state\"\n) =>\n Effect.try({\n try: () => Schema.decodeUnknownSync(schema)(value, { onExcessProperty: \"error\" }),\n catch: (cause) => error(code, \"invalid plan merge decision\", cause)\n })\nconst unique = (names: ReadonlyArray<string>, code: \"invalid_input\" | \"corrupt_state\") =>\n new Set(names).size === names.length ? Effect.void : Effect.fail(error(code, \"duplicate merge peer identity\"))\n\n/** SQL constructor; all collaborating stores must use the same database/writer.\n * @since 1.0.0\n * @category constructors\n */\nexport const make: Effect.Effect<Service, never, SqlClient.SqlClient | DurableWriter | Crypto.Crypto> = Effect.gen(\n function*() {\n const sql = yield* SqlClient.SqlClient\n const writer = yield* DurableWriter\n const crypto = yield* Effect.context<Crypto.Crypto>()\n const hash = (value: string) => Schema.decodeUnknownEffect(Sha256)(value).pipe(Effect.provide(crypto))\n const fence = (identity: Identity, owner: OwnerId, requireHead: boolean) =>\n Effect.gen(function*() {\n const owned = yield* sql`SELECT run_id FROM flows_runs WHERE run_id = ${identity.runId}\n AND status = 'running' AND cancel_requested_at_ms IS NULL\n AND owner_host_id = ${owner.hostId} AND owner_pid = ${owner.pid} AND owner_nonce = ${owner.nonce}`\n if (owned.length !== 1) {\n return yield* Effect.fail(error(\"fence_lost\", \"merge decision owner no longer owns the run\"))\n }\n const heads = yield* sql<\n { planId: string; baseDigest: string; environmentDigest: string | null; version: number | null }\n >`SELECT\n plan_id AS \"planId\", base_digest AS \"baseDigest\", environment_digest AS \"environmentDigest\", merge_state_version AS version\n FROM flows_plan_input_heads WHERE run_id = ${identity.runId}`\n const head = heads[0]\n if (head === undefined) {\n const orphan = yield* sql`SELECT 1 FROM flows_plan_merge_intents WHERE run_id = ${identity.runId} LIMIT 1`\n if (requireHead || orphan.length > 0) {\n return yield* Effect.fail(error(\"corrupt_state\", \"merge intent has no admitted input generation\"))\n }\n return\n }\n if (\n head.version !== 1 || head.planId !== identity.planId || head.baseDigest !== identity.baseDigest ||\n head.environmentDigest !== identity.environmentDigest\n ) {\n return yield* Effect.fail(\n error(\n \"incompatible_state\",\n \"this run has different or unrecorded merge execution state; recover with its original runtime or reconcile before starting a new run\"\n )\n )\n }\n })\n const encoded = <A>(value: A) =>\n Effect.gen(function*() {\n const json = JSON.stringify(value)\n if (json.length > maximumDecisionCharacters) {\n return yield* Effect.fail(error(\"invalid_input\", \"merge decision exceeds its durable size limit\"))\n }\n return { json, checksum: yield* hash(json) }\n })\n const stored = <S extends Schema.Top & { readonly DecodingServices: never }>(\n schema: S,\n row: { json: string; checksum: string }\n ) =>\n Effect.gen(function*() {\n if (row.json.length > maximumDecisionCharacters || (yield* hash(row.json)) !== row.checksum) {\n return yield* Effect.fail(error(\"corrupt_state\", \"merge decision failed its size or integrity check\"))\n }\n return yield* decode(Schema.fromJsonString(schema), row.json, \"corrupt_state\")\n })\n const load = (identity: Identity, nodeId?: string) =>\n Effect.gen(function*() {\n const rows = yield* sql<\n {\n nodeId: string\n json: string\n checksum: string\n generation: number | null\n mergeId: string | null\n completionJson: string | null\n completionChecksum: string | null\n }\n >`SELECT i.stopped_node_id AS \"nodeId\", i.intent_json AS json, i.checksum,\n c.generation, c.merge_node_id AS \"mergeId\", c.completion_json AS \"completionJson\",\n c.checksum AS \"completionChecksum\"\n FROM flows_plan_merge_intents i LEFT JOIN flows_plan_merge_completions c\n ON c.run_id = i.run_id AND c.stopped_node_id = i.stopped_node_id\n WHERE i.run_id = ${identity.runId} ${nodeId === undefined ? sql`` : sql`AND i.stopped_node_id = ${nodeId}`}\n ORDER BY i.stopped_node_id LIMIT ${Plan.maximumPlanNodes + 1}`\n if (rows.length > Plan.maximumPlanNodes) {\n return yield* Effect.fail(error(\"corrupt_state\", \"too many merge decisions for one plan\"))\n }\n return yield* Effect.forEach(rows, (row) =>\n Effect.gen(function*() {\n const intent = yield* stored(Intent, row)\n yield* unique(intent.peers, \"corrupt_state\")\n if (intent.nodeId !== row.nodeId || intent.peers.includes(intent.nodeId)) {\n return yield* Effect.fail(error(\"corrupt_state\", \"merge intent identity is inconsistent\"))\n }\n if (row.completionJson === null) return { intent } satisfies Decision\n const completion = yield* stored(Completion, {\n json: row.completionJson,\n checksum: row.completionChecksum!\n })\n yield* unique(completion.winners, \"corrupt_state\")\n if (\n completion.generation !== row.generation || completion.mergeId !== row.mergeId ||\n completion.winners.some((id) => !intent.peers.includes(id))\n ) {\n return yield* Effect.fail(error(\"corrupt_state\", \"merge completion does not match its intent\"))\n }\n return { intent, completion } satisfies Decision\n }))\n })\n const list: Service[\"list\"] = (input, ownerInput) =>\n Effect.gen(function*() {\n const identity = yield* decode(Identity, input, \"invalid_input\")\n const owner = yield* decode(OwnerId, ownerInput, \"invalid_input\")\n if (Option.isSome(yield* Effect.serviceOption(sql.transactionService))) {\n return yield* Effect.fail(error(\"transaction_open\", \"merge recovery requires committed decisions\"))\n }\n return yield* writer.write(Effect.gen(function*() {\n yield* fence(identity, owner, false)\n return yield* load(identity)\n }))\n }).pipe(Effect.mapError(storageError))\n const intend: Service[\"intend\"] = (input, value, ownerInput) =>\n Effect.gen(function*() {\n const identity = yield* decode(Identity, input, \"invalid_input\")\n const owner = yield* decode(OwnerId, ownerInput, \"invalid_input\")\n const intent = yield* decode(Intent, value, \"invalid_input\")\n yield* unique(intent.peers, \"invalid_input\")\n if (intent.peers.includes(intent.nodeId)) {\n return yield* Effect.fail(error(\"invalid_input\", \"a merge cannot stop its own peer\"))\n }\n const data = yield* encoded(intent)\n return yield* writer.write(Effect.gen(function*() {\n yield* fence(identity, owner, true)\n const [existing] = yield* load(identity, intent.nodeId)\n if (existing !== undefined) return existing.intent\n const [count] = yield* sql<{ count: number }>`SELECT count(*) AS count\n FROM flows_plan_merge_intents WHERE run_id = ${identity.runId}`\n if (count!.count >= Plan.maximumPlanNodes) {\n return yield* Effect.fail(error(\"invalid_input\", \"too many merge intents for one plan\"))\n }\n yield* sql`INSERT INTO flows_plan_merge_intents (run_id, stopped_node_id, intent_json, checksum)\n VALUES (${identity.runId}, ${intent.nodeId}, ${data.json}, ${data.checksum})`\n return intent\n }))\n }).pipe(Effect.mapError(storageError))\n const complete: Service[\"complete\"] = (input, nodeIdInput, value, ownerInput) =>\n Effect.gen(function*() {\n if (Option.isNone(yield* Effect.serviceOption(sql.transactionService))) {\n return yield* Effect.fail(\n error(\"transaction_required\", \"merge completion must join the plan/input append transaction\")\n )\n }\n const identity = yield* decode(Identity, input, \"invalid_input\")\n const owner = yield* decode(OwnerId, ownerInput, \"invalid_input\")\n const nodeId = yield* decode(Schema.NonEmptyString, nodeIdInput, \"invalid_input\")\n const completion = yield* decode(Completion, value, \"invalid_input\")\n yield* unique(completion.winners, \"invalid_input\")\n const data = yield* encoded(completion)\n return yield* writer.write(Effect.gen(function*() {\n yield* fence(identity, owner, true)\n const [decision] = yield* load(identity, nodeId)\n if (decision === undefined) {\n return yield* Effect.fail(error(\"corrupt_state\", \"merge completion has no intent\"))\n }\n if (decision.completion !== undefined) {\n if (JSON.stringify(decision.completion) !== JSON.stringify(completion)) {\n return yield* Effect.fail(\n error(\"incompatible_state\", \"a merge intent already committed a different extension\")\n )\n }\n return decision.completion\n }\n if (completion.winners.some((id) => !decision.intent.peers.includes(id))) {\n return yield* Effect.fail(error(\"invalid_input\", \"merge winner was not an admitted peer\"))\n }\n const appended =\n yield* sql`SELECT p.plan_id FROM flows_plans p JOIN flows_plan_input_generations i ON i.plan_id = p.plan_id\n JOIN flows_plan_nodes n ON n.plan_id = p.plan_id AND n.generation = p.generation\n WHERE p.plan_id = ${identity.planId} AND p.digest = ${completion.planDigest} AND p.generation = ${completion.generation}\n AND i.run_id = ${identity.runId} AND i.generation = ${completion.generation}\n AND n.node_id = ${completion.mergeId} AND n.key_digest = ${completion.mergeKey} AND n.kind = 'merge'`\n if (appended.length !== 1) {\n return yield* Effect.fail(\n error(\"corrupt_state\", \"merge completion requires its plan and input generation in the same transaction\")\n )\n }\n yield* sql`INSERT INTO flows_plan_merge_completions (run_id, stopped_node_id, generation, merge_node_id, completion_json, checksum)\n VALUES (${identity.runId}, ${nodeId}, ${completion.generation}, ${completion.mergeId}, ${data.json}, ${data.checksum})`\n return completion\n }))\n }).pipe(Effect.mapError(storageError))\n return { list, intend, complete }\n }\n)\n/** SQL-backed merge decisions; migrations must run first.\n * @since 1.0.0\n * @category layers\n */\nexport const layer: Layer.Layer<PlanMergeStore, never, SqlClient.SqlClient | DurableWriter | Crypto.Crypto> = Layer\n .effect(PlanMergeStore)(make)\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,363 @@
1
+ /**
2
+ * Drives a persisted plan: the node scheduler.
3
+ *
4
+ * `@smthrs/plan` makes the plan a value; this makes it run. The scheduler
5
+ * walks the persisted graph, dispatches ready nodes through the same
6
+ * `internal/ActionPersistence` seam every action uses — so the shared step
7
+ * cache, the workspace sandbox's execute→materialize transaction, attempt
8
+ * rows, and the fenced journal all apply unchanged — and records an
9
+ * evaluation outcome per node.
10
+ *
11
+ * ## What it is, and what it is not
12
+ *
13
+ * Skyframe's `AbstractParallelEvaluator` is the prior art for the state
14
+ * machine (`CHECK_DEPENDENCIES → VERIFIED_CLEAN | NEEDS_REBUILDING →
15
+ * REBUILDING → DONE`) and `EvaluationProgressReceiver` for the outcome
16
+ * vocabulary. Two deliberate deviations:
17
+ *
18
+ * 1. **No cache-invalidating node visitor.** Content addressing governs
19
+ * reuse. Private reverse indexes propagate settled outcomes and readiness,
20
+ * never dirty bits. Dispatch-time content measurement still decides
21
+ * whether a recorded result can serve the node.
22
+ * 2. **Completion-driven, without Skyframe restarts.** Skyframe atomically
23
+ * signals reverse dependencies when one node settles. Our dependencies are
24
+ * declared in the plan before anything runs, so one coordinator can make
25
+ * the equivalent decision from the plan, settled state, and scheduling
26
+ * permits: every completion is reconciled and immediately opens another
27
+ * admission pass. Giving up the wavefront barrier also gives up its
28
+ * trivially serialized reconciliation; draining and applying the durable
29
+ * deviation journal after each settlement, before reevaluating downstream
30
+ * readiness, restores that ordering without holding unrelated ready cones.
31
+ * The coordinator is the sole writer of scheduling state, which keeps every
32
+ * admission decision deterministic without the `DeterministicHelper` the
33
+ * vault rejected.
34
+ *
35
+ * ## The three limits
36
+ *
37
+ * The same number must never
38
+ * stand in for graph width, scheduler admission, and provider capacity. This
39
+ * module owns the middle one only: `concurrency.steps` is the leaf-execution
40
+ * cap, and `concurrency.agents` is the subset cap an agent node consumes in
41
+ * addition. Structural width is whatever the plan says; seats belong to
42
+ * `Agent Adapters` and are not modelled here.
43
+ *
44
+ * Under contention, ready work is ordered by effective priority — declared
45
+ * `priority` plus one point per capacity-constrained admission pass. A ready
46
+ * node gains a point exactly when a pass considers it but cannot give it the
47
+ * required permits. Aging is what lets priority change latency without
48
+ * permitting starvation; equal effective priorities preserve deterministic
49
+ * plan order.
50
+ *
51
+ * ## Observing the world exactly once
52
+ *
53
+ * The torn-run rule: never re-observe the
54
+ * world mid-run. Reads with no preceding writer are **source** inputs; their
55
+ * digests and glob membership are durably recorded before dispatch and restored
56
+ * on reopening. Preceding producers' outputs are measured after settlement —
57
+ * observing our own output, not the world. Later and self-writes are not source
58
+ * producers. New generations retain prior pins and record new observations.
59
+ *
60
+ * @since 0.1.0
61
+ */
62
+ import type { FileBoundary } from "@smthrs/flow/FileBoundary";
63
+ import { Journal } from "@smthrs/journal";
64
+ import type { Jj } from "@smthrs/kernel";
65
+ import { Plan, Scheduling, StepKey } from "@smthrs/plan";
66
+ import { PlanStore } from "@smthrs/plan-store";
67
+ import { AttemptStore, type Ownership, type RunStore } from "@smthrs/run-store";
68
+ import type { CacheStore } from "@smthrs/step-cache";
69
+ import * as Cause from "effect/Cause";
70
+ import * as Context from "effect/Context";
71
+ import type * as Crypto from "effect/Crypto";
72
+ import * as Effect from "effect/Effect";
73
+ import * as Layer from "effect/Layer";
74
+ import * as Schema from "effect/Schema";
75
+ import * as PlanInputStore from "./PlanInputStore.ts";
76
+ import * as PlanMergeStore from "./PlanMergeStore.ts";
77
+ import * as Reconciliation from "./Reconciliation.ts";
78
+ import * as Selection from "./Selection.ts";
79
+ import * as StepBoundary from "./StepBoundary.ts";
80
+ /**
81
+ * The evaluation outcomes: Skyframe's `EvaluationState` adapted to a
82
+ * content-addressed store, plus the selection debt.
83
+ *
84
+ * - `built` — the node executed (`SUCCESS_VERSION_CHANGED`).
85
+ * - `clean` — a recorded result served it and no executor ran. This includes
86
+ * same-run durable attempt replay for every tier, and shared-cache hits for
87
+ * eligible sealed work (`SUCCESS_VERSION_UNCHANGED`). It does not assert
88
+ * cross-run cache eligibility.
89
+ * - `failed` — the node executed and failed, or reconciliation failed it.
90
+ * - `skipped` — its cone prevented dispatch, or `stop-merge` stopped a
91
+ * conflicted attempt in favour of a merge node. The latter has nonzero
92
+ * attempts; skipped does not imply that its executor never ran. Skyframe
93
+ * splits failure by version instead; a content-addressed store never serves
94
+ * a failure from cache, so that split has no meaning here and this one does.
95
+ * - `deferred`: a selection guess postponed this sink
96
+ * (`docs/guides/defer-work-with-selection.md`). It never dispatched,
97
+ * wrote no cache row, and is journaled as a debt for a later guess-free
98
+ * pass. Distinct from `skipped` — the work was runnable, a guess postponed
99
+ * it — and never reported as passed.
100
+ *
101
+ * @since 0.1.0
102
+ * @category models
103
+ */
104
+ export type Outcome = "built" | "clean" | "failed" | "skipped" | "deferred";
105
+ /**
106
+ * One material `Ref` input, resolved: the settled output of `from` projected
107
+ * along `path` — for sealed work, the value whose digest the dispatch key folds.
108
+ *
109
+ * @since 0.1.0
110
+ * @category models
111
+ */
112
+ export interface ResolvedInput {
113
+ readonly from: string;
114
+ readonly path: ReadonlyArray<string>;
115
+ readonly value: unknown;
116
+ }
117
+ /**
118
+ * What the scheduler hands a node's executor.
119
+ *
120
+ * @since 0.1.0
121
+ * @category models
122
+ */
123
+ export interface NodeInput {
124
+ readonly node: Plan.PlanNode;
125
+ readonly attempt: number;
126
+ /** The measured boundary; folded into sealed keys, diagnostic context for other tiers. */
127
+ readonly boundary: FileBoundary;
128
+ /**
129
+ * The node's material `Ref` inputs, resolved through the same projection the
130
+ * dispatch key digests for sealed work. Ordering (`Pending`) dependencies
131
+ * and unprojected sibling fields are deliberately absent. This preserves
132
+ * the consumed-data contract for every tier and prevents a sealed cache hit
133
+ * from serving an execution that consumed different data.
134
+ */
135
+ readonly inputs: ReadonlyArray<ResolvedInput>;
136
+ }
137
+ /**
138
+ * The DI seam that turns a plan node into work.
139
+ *
140
+ * The scheduler owns identity, admission, caching, and journaling; it
141
+ * deliberately owns nothing about what a node *means*. A flow runtime, a test,
142
+ * or a remote host each supply their own executor.
143
+ *
144
+ * @since 0.1.0
145
+ * @category models
146
+ */
147
+ export interface Executor {
148
+ readonly execute: (input: NodeInput) => Effect.Effect<unknown, unknown>;
149
+ }
150
+ declare const NodeExecutor_base: Context.ServiceClass<NodeExecutor, "@smthrs/engine-store/NodeExecutor", Executor>;
151
+ /**
152
+ * Service tag for the node executor.
153
+ *
154
+ * @since 0.1.0
155
+ * @category services
156
+ */
157
+ export declare class NodeExecutor extends NodeExecutor_base {
158
+ }
159
+ /**
160
+ * Provides a plain {@link Executor} value as the {@link NodeExecutor} service.
161
+ *
162
+ * This is the whole wiring story for the scheduler's one open seam: a flow
163
+ * runtime, a test double, or a remote dispatcher each become a layer by
164
+ * passing themselves here.
165
+ *
166
+ * @since 0.1.0
167
+ * @category layers
168
+ */
169
+ export declare const layerExecutor: (executor: Executor) => Layer.Layer<NodeExecutor>;
170
+ /**
171
+ * How one node ended.
172
+ *
173
+ * @since 0.1.0
174
+ * @category models
175
+ */
176
+ export interface Settlement {
177
+ readonly nodeId: string;
178
+ /** The plan-time key: a pure function of declarations. */
179
+ readonly planKey: string;
180
+ /** The execution key: content-derived for sealed work; run/plan/node/declaration-scoped for other tiers. */
181
+ readonly dispatchKey: string;
182
+ readonly outcome: Outcome;
183
+ readonly attempts: number;
184
+ readonly rebases: number;
185
+ }
186
+ /**
187
+ * What a run of a plan produced.
188
+ *
189
+ * @since 0.1.0
190
+ * @category models
191
+ */
192
+ export interface Report {
193
+ readonly planId: string;
194
+ readonly digest: string;
195
+ readonly settlements: ReadonlyArray<Settlement>;
196
+ readonly results: Readonly<Record<string, unknown>>;
197
+ readonly verdicts: ReadonlyArray<{
198
+ readonly nodeId: string;
199
+ readonly verdict: Reconciliation.Verdict;
200
+ }>;
201
+ /** Merge nodes a `stop-merge` conflict appended to the plan. */
202
+ readonly appended: ReadonlyArray<string>;
203
+ }
204
+ /**
205
+ * Scheduler construction options.
206
+ *
207
+ * @since 0.1.0
208
+ * @category models
209
+ */
210
+ export interface Options {
211
+ readonly runId: string;
212
+ readonly owner: Ownership.OwnerId;
213
+ readonly sourceId: string;
214
+ /**
215
+ * Engine-resolved identity, copied at scheduler construction and durably
216
+ * bound before dispatch. A changed identity cannot resume the same run.
217
+ * Omitting it preserves existing action keys but is itself a distinct binding.
218
+ */
219
+ readonly environment?: StepKey.EnvironmentIdentity | undefined;
220
+ /**
221
+ * The admission caps. Both default to unbounded, because a cap the caller
222
+ * did not declare is not the scheduler's to invent — `aspects.ts` owns the
223
+ * policy and narrows it. Explicit caps must be positive safe integers;
224
+ * zero is refused rather than silently clamped or allowed to deadlock.
225
+ */
226
+ readonly concurrency?: Scheduling.Concurrency | undefined;
227
+ /**
228
+ * How many times a `delay-rebase` node may re-measure and re-key against a
229
+ * newly recorded base before reconciliation is asked. Bounded on purpose: an
230
+ * unbounded rebase loop is a livelock with good manners.
231
+ */
232
+ readonly rebaseLimit?: number | undefined;
233
+ /**
234
+ * Probabilistic selection input for this run (`Selection`). Every field is
235
+ * optional because every default is inert: no changed paths and no beliefs
236
+ * admit everything, so a caller that never opted in runs exactly as today.
237
+ * `full: true` is the run-level override — every verdict is treated as
238
+ * `Admit` and the override is journaled, the way `--fresh` ignores the
239
+ * cache.
240
+ */
241
+ readonly selection?: {
242
+ /** Changed paths the belief edges are matched against. */
243
+ readonly changed?: ReadonlyArray<string> | undefined;
244
+ /** The belief snapshot pinned before planning. */
245
+ readonly beliefs?: Selection.BeliefSnapshot | undefined;
246
+ /** Deferral policy; `deferBelow` defaults to zero, which defers nothing. */
247
+ readonly policy?: Selection.Policy | undefined;
248
+ /** Force full selection: treat every verdict as `Admit`, journaled. */
249
+ readonly full?: boolean | undefined;
250
+ } | undefined;
251
+ }
252
+ /**
253
+ * Everything driving a plan needs from the composition.
254
+ *
255
+ * @since 0.1.0
256
+ * @category models
257
+ */
258
+ export type Requirements = PlanMergeStore.PlanMergeStore | AttemptStore.AttemptStore | CacheStore.CacheStore | Crypto.Crypto | Jj.Jj | Journal.Journal | NodeExecutor | PlanStore.PlanStore | PlanInputStore.PlanInputStore | RunStore.RunStore | StepBoundary.Service;
259
+ declare const SchedulerError_base: Schema.Class<SchedulerError, Schema.TaggedStruct<"@smthrs/engine-store/SchedulerError", {
260
+ readonly code: Schema.Literals<readonly ["invalid_plan", "boundary_unavailable", "key_uncomputable", "elaboration_failed", "store_failed"]>;
261
+ readonly message: Schema.String;
262
+ readonly cause: Schema.optional<Schema.Unknown>;
263
+ /** Failures while settling siblings after the primary scheduler failure. */
264
+ readonly cleanupErrors: Schema.optional<Schema.$Array<Schema.Unknown>>;
265
+ }>, Cause.YieldableError>;
266
+ /**
267
+ * A refusal the scheduler itself raises. A node's own failure is an outcome,
268
+ * not one of these — the run continues and the report says `failed`.
269
+ *
270
+ * @since 0.1.0
271
+ * @category errors
272
+ */
273
+ export declare class SchedulerError extends SchedulerError_base {
274
+ }
275
+ /**
276
+ * Plan-driving operations.
277
+ *
278
+ * @since 0.1.0
279
+ * @category models
280
+ */
281
+ export interface Service {
282
+ /** Persists generation 0 and journals `plan-recorded`. */
283
+ readonly record: (plan: Plan.Plan) => Effect.Effect<PlanStore.RecordResult, SchedulerError, PlanStore.PlanStore | Journal.Journal | Crypto.Crypto>;
284
+ /** Persists the newest generation and journals `subgraph-appended`. */
285
+ readonly append: (plan: Plan.Plan) => Effect.Effect<void, SchedulerError, PlanStore.PlanStore | Journal.Journal | Crypto.Crypto>;
286
+ /** Drives the plan to completion and reports every node's outcome. */
287
+ readonly run: (plan: Plan.Plan) => Effect.Effect<Report, SchedulerError, Requirements>;
288
+ }
289
+ declare const PlanScheduler_base: Context.ServiceClass<PlanScheduler, "@smthrs/engine-store/PlanScheduler", Service>;
290
+ /**
291
+ * Service tag for the plan scheduler.
292
+ *
293
+ * @since 0.1.0
294
+ * @category services
295
+ */
296
+ export declare class PlanScheduler extends PlanScheduler_base {
297
+ }
298
+ /**
299
+ * Constructs a scheduler bound to one run.
300
+ *
301
+ * @since 0.1.0
302
+ * @category constructors
303
+ */
304
+ export declare const make: (options: Options) => Service;
305
+ /**
306
+ * Provides a scheduler bound to one run.
307
+ *
308
+ * @since 0.1.0
309
+ * @category layers
310
+ */
311
+ export declare const layer: (options: Options) => Layer.Layer<PlanScheduler>;
312
+ /**
313
+ * What {@link recertify} returns: the repaying run's id, its report, and the
314
+ * deferring run's remaining debt after the repayment is counted.
315
+ *
316
+ * @since 0.1.0
317
+ * @category models
318
+ */
319
+ export interface RecertifyResult {
320
+ readonly runId: string;
321
+ readonly report: Report;
322
+ readonly remaining: ReadonlyArray<Selection.DebtEntry>;
323
+ }
324
+ /**
325
+ * The recertification driver: re-drives a compiled plan under a fresh,
326
+ * caller-supplied run with the `full` selection override — guess-free by
327
+ * construction — then reports the deferring run's remaining debt via
328
+ * `Selection.debt(deferringRunId, { repaidBy: [options.runId] })`.
329
+ *
330
+ * The design draft placed this beside the other Selection helpers; it lives
331
+ * here because it constructs a scheduler, and `Selection` must stay
332
+ * type-only toward this module to keep the dependency graph acyclic. The
333
+ * deferring run's journal is never written — repayment is a read-side join.
334
+ * Scheduling the cadence (nightly, per-merge) stays a product concern; this
335
+ * is only the primitive one pass runs.
336
+ *
337
+ * @since 0.1.0
338
+ * @category combinators
339
+ */
340
+ export declare const recertify: (input: {
341
+ readonly plan: Plan.Plan;
342
+ readonly deferringRunId: string;
343
+ readonly options: Options;
344
+ }) => Effect.Effect<{
345
+ runId: string;
346
+ report: Report;
347
+ remaining: readonly {
348
+ readonly planId: string;
349
+ readonly nodeId: string;
350
+ readonly planKey: string;
351
+ readonly edge: {
352
+ readonly scope: string;
353
+ readonly affects: string;
354
+ readonly confidence: number;
355
+ readonly validFromMs: number;
356
+ readonly evidence: readonly string[];
357
+ };
358
+ readonly likelihood: number;
359
+ readonly seq: number;
360
+ }[];
361
+ }, Journal.JournalError | SchedulerError, Requirements>;
362
+ export {};
363
+ //# sourceMappingURL=PlanScheduler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlanScheduler.d.ts","sourceRoot":"","sources":["../../src/PlanScheduler.ts"],"names":[],"mappings":"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"}