@smthrs/engine-store 0.0.0-stage → 1.0.0-rc.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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 +201 -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 +1586 -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 +300 -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 +3154 -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,15 @@
1
+ /**
2
+ * Durable suspected-edge storage for probabilistic selection.
3
+ *
4
+ * @since 0.1.0
5
+ */
6
+ import * as Effect from "effect/Effect";
7
+ import * as SqlClient from "effect/unstable/sql/SqlClient";
8
+ /**
9
+ * Creates the `flows_selection_suspected_edges` table.
10
+ *
11
+ * @category migrations
12
+ * @since 0.1.0
13
+ */
14
+ export declare const selectionStore: Effect.Effect<void, unknown, SqlClient.SqlClient>;
15
+ //# sourceMappingURL=0002_selection_store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"0002_selection_store.d.ts","sourceRoot":"","sources":["../../../src/migrations/0002_selection_store.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,SAAS,MAAM,+BAA+B,CAAA;AAE1D;;;;;GAKG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,SAAS,CAqB3E,CAAA"}
@@ -0,0 +1,56 @@
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 selection_store_exports = {};
30
+ __export(selection_store_exports, {
31
+ selectionStore: () => selectionStore
32
+ });
33
+ module.exports = __toCommonJS(selection_store_exports);
34
+ var Dialect = __toESM(require("@smthrs/database/Dialect"), 1);
35
+ var Effect = __toESM(require("effect/Effect"), 1);
36
+ var SqlClient = __toESM(require("effect/unstable/sql/SqlClient"), 1);
37
+ const selectionStore = Effect.gen(function* () {
38
+ const sql = yield* SqlClient.SqlClient;
39
+ yield* sql`CREATE TABLE flows_selection_suspected_edges (
40
+ scope TEXT NOT NULL CHECK (length(scope) > 0),
41
+ affects TEXT NOT NULL CHECK (length(affects) > 0),
42
+ confidence DOUBLE PRECISION NOT NULL CHECK (
43
+ ${sql.literal(Dialect.isPostgres(sql) ? "TRUE" : "(typeof(confidence) = 'real' OR typeof(confidence) = 'integer')")} AND
44
+ confidence >= 0 AND
45
+ confidence <= 1
46
+ ),
47
+ valid_from_ms ${Dialect.integer(sql)} NOT NULL CHECK (
48
+ ${Dialect.isInteger(sql, sql`valid_from_ms`)} AND
49
+ valid_from_ms >= 0 AND
50
+ valid_from_ms <= 9007199254740991
51
+ ),
52
+ evidence_json TEXT NOT NULL CHECK (${Dialect.jsonValid(sql, sql`evidence_json`)}),
53
+ PRIMARY KEY (scope, affects)
54
+ )`;
55
+ });
56
+ //# sourceMappingURL=0002_selection_store.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/migrations/0002_selection_store.ts"],
4
+ "sourcesContent": ["/**\n * Durable suspected-edge storage for probabilistic selection.\n *\n * @since 0.1.0\n */\n\nimport * as Dialect from \"@smthrs/database/Dialect\"\nimport * as Effect from \"effect/Effect\"\nimport * as SqlClient from \"effect/unstable/sql/SqlClient\"\n\n/**\n * Creates the `flows_selection_suspected_edges` table.\n *\n * @category migrations\n * @since 0.1.0\n */\nexport const selectionStore: Effect.Effect<void, unknown, SqlClient.SqlClient> = Effect.gen(function*() {\n const sql = yield* SqlClient.SqlClient\n\n yield* sql`CREATE TABLE flows_selection_suspected_edges (\n scope TEXT NOT NULL CHECK (length(scope) > 0),\n affects TEXT NOT NULL CHECK (length(affects) > 0),\n confidence DOUBLE PRECISION NOT NULL CHECK (\n ${\n sql.literal(Dialect.isPostgres(sql) ? \"TRUE\" : \"(typeof(confidence) = 'real' OR typeof(confidence) = 'integer')\")\n } AND\n confidence >= 0 AND\n confidence <= 1\n ),\n valid_from_ms ${Dialect.integer(sql)} NOT NULL CHECK (\n ${Dialect.isInteger(sql, sql`valid_from_ms`)} AND\n valid_from_ms >= 0 AND\n valid_from_ms <= 9007199254740991\n ),\n evidence_json TEXT NOT NULL CHECK (${Dialect.jsonValid(sql, sql`evidence_json`)}),\n PRIMARY KEY (scope, affects)\n )`\n})\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,cAAyB;AACzB,aAAwB;AACxB,gBAA2B;AAQpB,MAAM,iBAAoE,OAAO,IAAI,aAAY;AACtG,QAAM,MAAM,OAAO,UAAU;AAE7B,SAAO;AAAA;AAAA;AAAA;AAAA,QAKL,IAAI,QAAQ,QAAQ,WAAW,GAAG,IAAI,SAAS,iEAAiE,CAClH;AAAA;AAAA;AAAA;AAAA,oBAIkB,QAAQ,QAAQ,GAAG,CAAC;AAAA,QAChC,QAAQ,UAAU,KAAK,kBAAkB,CAAC;AAAA;AAAA;AAAA;AAAA,yCAIT,QAAQ,UAAU,KAAK,kBAAkB,CAAC;AAAA;AAAA;AAGnF,CAAC;",
6
+ "names": []
7
+ }
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Durable, append-only source observations for compiled plan execution.
3
+ * @since 1.0.0
4
+ */
5
+ import * as Effect from "effect/Effect";
6
+ import * as SqlClient from "effect/unstable/sql/SqlClient";
7
+ /**
8
+ * Creates input generations and marks pre-observation executions as non-recoverable.
9
+ * @since 1.0.0
10
+ * @category migrations
11
+ */
12
+ export declare const planInputs: Effect.Effect<void, unknown, SqlClient.SqlClient>;
13
+ //# sourceMappingURL=0003_plan_inputs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"0003_plan_inputs.d.ts","sourceRoot":"","sources":["../../../src/migrations/0003_plan_inputs.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,SAAS,MAAM,+BAA+B,CAAA;AAE1D;;;;GAIG;AACH,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,SAAS,CA4DvE,CAAA"}
@@ -0,0 +1,90 @@
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 plan_inputs_exports = {};
30
+ __export(plan_inputs_exports, {
31
+ planInputs: () => planInputs
32
+ });
33
+ module.exports = __toCommonJS(plan_inputs_exports);
34
+ var Dialect = __toESM(require("@smthrs/database/Dialect"), 1);
35
+ var Effect = __toESM(require("effect/Effect"), 1);
36
+ var SqlClient = __toESM(require("effect/unstable/sql/SqlClient"), 1);
37
+ const planInputs = Effect.gen(function* () {
38
+ const sql = yield* SqlClient.SqlClient;
39
+ yield* sql`CREATE TABLE flows_plan_input_legacy_runs (
40
+ run_id TEXT PRIMARY KEY NOT NULL REFERENCES flows_runs(run_id) ON DELETE CASCADE
41
+ )`;
42
+ yield* sql`INSERT INTO flows_plan_input_legacy_runs (run_id)
43
+ SELECT DISTINCT run_id FROM flows_attempts`;
44
+ yield* Dialect.trigger(sql, {
45
+ name: `flows_plan_input_legacy_runs_no_update`,
46
+ table: `flows_plan_input_legacy_runs`,
47
+ event: "BEFORE UPDATE",
48
+ reject: "legacy plan input uncertainty is immutable"
49
+ });
50
+ yield* sql`CREATE TABLE flows_plan_input_heads (
51
+ run_id TEXT NOT NULL REFERENCES flows_runs(run_id) ON DELETE CASCADE,
52
+ plan_id TEXT NOT NULL CHECK (length(plan_id) > 0),
53
+ base_digest TEXT NOT NULL CHECK (length(base_digest) > 0),
54
+ generation ${Dialect.integer(sql)} NOT NULL CHECK (${Dialect.isInteger(sql, sql`generation`)} AND generation >= 0 AND generation <= 9007199254740991),
55
+ PRIMARY KEY (run_id, plan_id)
56
+ )`;
57
+ yield* sql`CREATE UNIQUE INDEX flows_plan_input_heads_run_idx ON flows_plan_input_heads (run_id)`;
58
+ yield* sql`CREATE TABLE flows_plan_input_generations (
59
+ run_id TEXT NOT NULL REFERENCES flows_runs(run_id) ON DELETE CASCADE,
60
+ plan_id TEXT NOT NULL CHECK (length(plan_id) > 0),
61
+ generation ${Dialect.integer(sql)} NOT NULL CHECK (${Dialect.isInteger(sql, sql`generation`)} AND generation >= 0 AND generation <= 9007199254740991),
62
+ snapshot_json TEXT NOT NULL CHECK (${Dialect.jsonValid(sql, sql`snapshot_json`)}),
63
+ checksum TEXT NOT NULL CHECK (length(checksum) = 64),
64
+ PRIMARY KEY (run_id, plan_id, generation)
65
+ )`;
66
+ yield* Dialect.trigger(sql, {
67
+ name: `flows_plan_input_generations_no_update`,
68
+ table: `flows_plan_input_generations`,
69
+ event: "BEFORE UPDATE",
70
+ reject: "plan input generations are immutable"
71
+ });
72
+ yield* Dialect.trigger(sql, {
73
+ name: `flows_plan_input_heads_forward_only`,
74
+ table: `flows_plan_input_heads`,
75
+ event: "BEFORE UPDATE",
76
+ when: `NEW.run_id <> OLD.run_id OR NEW.plan_id <> OLD.plan_id OR
77
+ NEW.base_digest <> OLD.base_digest OR NEW.generation <> OLD.generation + 1`,
78
+ reject: "plan input heads only advance one generation"
79
+ });
80
+ for (const table of ["flows_plan_input_legacy_runs", "flows_plan_input_heads", "flows_plan_input_generations"]) {
81
+ yield* Dialect.trigger(sql, {
82
+ name: `${table}_no_delete`,
83
+ table: `${table}`,
84
+ event: "BEFORE DELETE",
85
+ when: `EXISTS (SELECT 1 FROM flows_runs WHERE run_id = OLD.run_id)`,
86
+ reject: "plan inputs belong to their run"
87
+ });
88
+ }
89
+ });
90
+ //# sourceMappingURL=0003_plan_inputs.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/migrations/0003_plan_inputs.ts"],
4
+ "sourcesContent": ["/**\n * Durable, append-only source observations for compiled plan execution.\n * @since 1.0.0\n */\n\nimport * as Dialect from \"@smthrs/database/Dialect\"\nimport * as Effect from \"effect/Effect\"\nimport * as SqlClient from \"effect/unstable/sql/SqlClient\"\n\n/**\n * Creates input generations and marks pre-observation executions as non-recoverable.\n * @since 1.0.0\n * @category migrations\n */\nexport const planInputs: Effect.Effect<void, unknown, SqlClient.SqlClient> = Effect.gen(function*() {\n const sql = yield* SqlClient.SqlClient\n yield* sql`CREATE TABLE flows_plan_input_legacy_runs (\n run_id TEXT PRIMARY KEY NOT NULL REFERENCES flows_runs(run_id) ON DELETE CASCADE\n )`\n // A past source snapshot cannot be reconstructed from the files a completed\n // action may already have changed. Preserve that uncertainty on upgrade.\n yield* sql`INSERT INTO flows_plan_input_legacy_runs (run_id)\n SELECT DISTINCT run_id FROM flows_attempts`\n yield* Dialect.trigger(sql, {\n name: `flows_plan_input_legacy_runs_no_update`,\n table: `flows_plan_input_legacy_runs`,\n event: \"BEFORE UPDATE\",\n reject: \"legacy plan input uncertainty is immutable\"\n })\n yield* sql`CREATE TABLE flows_plan_input_heads (\n run_id TEXT NOT NULL REFERENCES flows_runs(run_id) ON DELETE CASCADE,\n plan_id TEXT NOT NULL CHECK (length(plan_id) > 0),\n base_digest TEXT NOT NULL CHECK (length(base_digest) > 0),\n generation ${Dialect.integer(sql)} NOT NULL CHECK (${\n Dialect.isInteger(sql, sql`generation`)\n } AND generation >= 0 AND generation <= 9007199254740991),\n PRIMARY KEY (run_id, plan_id)\n )`\n yield* sql`CREATE UNIQUE INDEX flows_plan_input_heads_run_idx ON flows_plan_input_heads (run_id)`\n yield* sql`CREATE TABLE flows_plan_input_generations (\n run_id TEXT NOT NULL REFERENCES flows_runs(run_id) ON DELETE CASCADE,\n plan_id TEXT NOT NULL CHECK (length(plan_id) > 0),\n generation ${Dialect.integer(sql)} NOT NULL CHECK (${\n Dialect.isInteger(sql, sql`generation`)\n } AND generation >= 0 AND generation <= 9007199254740991),\n snapshot_json TEXT NOT NULL CHECK (${Dialect.jsonValid(sql, sql`snapshot_json`)}),\n checksum TEXT NOT NULL CHECK (length(checksum) = 64),\n PRIMARY KEY (run_id, plan_id, generation)\n )`\n yield* Dialect.trigger(sql, {\n name: `flows_plan_input_generations_no_update`,\n table: `flows_plan_input_generations`,\n event: \"BEFORE UPDATE\",\n reject: \"plan input generations are immutable\"\n })\n yield* Dialect.trigger(sql, {\n name: `flows_plan_input_heads_forward_only`,\n table: `flows_plan_input_heads`,\n event: \"BEFORE UPDATE\",\n when: `NEW.run_id <> OLD.run_id OR NEW.plan_id <> OLD.plan_id OR\n NEW.base_digest <> OLD.base_digest OR NEW.generation <> OLD.generation + 1`,\n reject: \"plan input heads only advance one generation\"\n })\n for (const table of [\"flows_plan_input_legacy_runs\", \"flows_plan_input_heads\", \"flows_plan_input_generations\"]) {\n // Cascade on run collection is allowed; direct deletion of replay state\n // while its owning run exists is not.\n yield* Dialect.trigger(sql, {\n name: `${table}_no_delete`,\n table: `${table}`,\n event: \"BEFORE DELETE\",\n when: `EXISTS (SELECT 1 FROM flows_runs WHERE run_id = OLD.run_id)`,\n reject: \"plan inputs belong to their run\"\n })\n }\n})\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,cAAyB;AACzB,aAAwB;AACxB,gBAA2B;AAOpB,MAAM,aAAgE,OAAO,IAAI,aAAY;AAClG,QAAM,MAAM,OAAO,UAAU;AAC7B,SAAO;AAAA;AAAA;AAKP,SAAO;AAAA;AAEP,SAAO,QAAQ,QAAQ,KAAK;AAAA,IAC1B,MAAM;AAAA,IACN,OAAO;AAAA,IACP,OAAO;AAAA,IACP,QAAQ;AAAA,EACV,CAAC;AACD,SAAO;AAAA;AAAA;AAAA;AAAA,iBAIQ,QAAQ,QAAQ,GAAG,CAAC,oBACjC,QAAQ,UAAU,KAAK,eAAe,CACxC;AAAA;AAAA;AAGA,SAAO;AACP,SAAO;AAAA;AAAA;AAAA,iBAGQ,QAAQ,QAAQ,GAAG,CAAC,oBACjC,QAAQ,UAAU,KAAK,eAAe,CACxC;AAAA,yCACuC,QAAQ,UAAU,KAAK,kBAAkB,CAAC;AAAA;AAAA;AAAA;AAIjF,SAAO,QAAQ,QAAQ,KAAK;AAAA,IAC1B,MAAM;AAAA,IACN,OAAO;AAAA,IACP,OAAO;AAAA,IACP,QAAQ;AAAA,EACV,CAAC;AACD,SAAO,QAAQ,QAAQ,KAAK;AAAA,IAC1B,MAAM;AAAA,IACN,OAAO;AAAA,IACP,OAAO;AAAA,IACP,MAAM;AAAA;AAAA,IAEN,QAAQ;AAAA,EACV,CAAC;AACD,aAAW,SAAS,CAAC,gCAAgC,0BAA0B,8BAA8B,GAAG;AAG9G,WAAO,QAAQ,QAAQ,KAAK;AAAA,MAC1B,MAAM,GAAG,KAAK;AAAA,MACd,OAAO,GAAG,KAAK;AAAA,MACf,OAAO;AAAA,MACP,MAAM;AAAA,MACN,QAAQ;AAAA,IACV,CAAC;AAAA,EACH;AACF,CAAC;",
6
+ "names": []
7
+ }
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Bind source observations to the runtime identity that admitted them.
3
+ * @since 1.0.0
4
+ */
5
+ import * as Effect from "effect/Effect";
6
+ import * as SqlClient from "effect/unstable/sql/SqlClient";
7
+ /**
8
+ * Older heads retain NULL: their original runtime environment is unknowable.
9
+ * New heads require an environment fingerprint, immutable for their lifetime.
10
+ * @since 1.0.0
11
+ * @category migrations
12
+ */
13
+ export declare const planEnvironment: Effect.Effect<void, unknown, SqlClient.SqlClient>;
14
+ //# sourceMappingURL=0004_plan_environment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"0004_plan_environment.d.ts","sourceRoot":"","sources":["../../../src/migrations/0004_plan_environment.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,SAAS,MAAM,+BAA+B,CAAA;AAE1D;;;;;GAKG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,SAAS,CAkB5E,CAAA"}
@@ -0,0 +1,56 @@
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 plan_environment_exports = {};
30
+ __export(plan_environment_exports, {
31
+ planEnvironment: () => planEnvironment
32
+ });
33
+ module.exports = __toCommonJS(plan_environment_exports);
34
+ var Dialect = __toESM(require("@smthrs/database/Dialect"), 1);
35
+ var Effect = __toESM(require("effect/Effect"), 1);
36
+ var SqlClient = __toESM(require("effect/unstable/sql/SqlClient"), 1);
37
+ const planEnvironment = Effect.gen(function* () {
38
+ const sql = yield* SqlClient.SqlClient;
39
+ yield* sql`ALTER TABLE flows_plan_input_heads ADD COLUMN environment_digest TEXT
40
+ CHECK (environment_digest IS NULL OR length(environment_digest) > 0)`;
41
+ yield* Dialect.trigger(sql, {
42
+ name: `flows_plan_input_heads_environment_required`,
43
+ table: `flows_plan_input_heads`,
44
+ event: "BEFORE INSERT",
45
+ when: `NEW.environment_digest IS NULL`,
46
+ reject: "new plan input heads require an environment identity"
47
+ });
48
+ yield* Dialect.trigger(sql, {
49
+ name: `flows_plan_input_heads_environment_immutable`,
50
+ table: `flows_plan_input_heads`,
51
+ event: "BEFORE UPDATE",
52
+ when: `NEW.environment_digest IS DISTINCT FROM OLD.environment_digest`,
53
+ reject: "plan input environment identity is immutable"
54
+ });
55
+ });
56
+ //# sourceMappingURL=0004_plan_environment.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/migrations/0004_plan_environment.ts"],
4
+ "sourcesContent": ["/**\n * Bind source observations to the runtime identity that admitted them.\n * @since 1.0.0\n */\n\nimport * as Dialect from \"@smthrs/database/Dialect\"\nimport * as Effect from \"effect/Effect\"\nimport * as SqlClient from \"effect/unstable/sql/SqlClient\"\n\n/**\n * Older heads retain NULL: their original runtime environment is unknowable.\n * New heads require an environment fingerprint, immutable for their lifetime.\n * @since 1.0.0\n * @category migrations\n */\nexport const planEnvironment: Effect.Effect<void, unknown, SqlClient.SqlClient> = Effect.gen(function*() {\n const sql = yield* SqlClient.SqlClient\n yield* sql`ALTER TABLE flows_plan_input_heads ADD COLUMN environment_digest TEXT\n CHECK (environment_digest IS NULL OR length(environment_digest) > 0)`\n yield* Dialect.trigger(sql, {\n name: `flows_plan_input_heads_environment_required`,\n table: `flows_plan_input_heads`,\n event: \"BEFORE INSERT\",\n when: `NEW.environment_digest IS NULL`,\n reject: \"new plan input heads require an environment identity\"\n })\n yield* Dialect.trigger(sql, {\n name: `flows_plan_input_heads_environment_immutable`,\n table: `flows_plan_input_heads`,\n event: \"BEFORE UPDATE\",\n when: `NEW.environment_digest IS DISTINCT FROM OLD.environment_digest`,\n reject: \"plan input environment identity is immutable\"\n })\n})\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,cAAyB;AACzB,aAAwB;AACxB,gBAA2B;AAQpB,MAAM,kBAAqE,OAAO,IAAI,aAAY;AACvG,QAAM,MAAM,OAAO,UAAU;AAC7B,SAAO;AAAA;AAEP,SAAO,QAAQ,QAAQ,KAAK;AAAA,IAC1B,MAAM;AAAA,IACN,OAAO;AAAA,IACP,OAAO;AAAA,IACP,MAAM;AAAA,IACN,QAAQ;AAAA,EACV,CAAC;AACD,SAAO,QAAQ,QAAQ,KAAK;AAAA,IAC1B,MAAM;AAAA,IACN,OAAO;AAAA,IACP,OAAO;AAAA,IACP,MAAM;AAAA,IACN,QAAQ;AAAA,EACV,CAAC;AACH,CAAC;",
6
+ "names": []
7
+ }
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Durable scheduler merge intentions and their committed plan extensions.
3
+ * @since 1.0.0
4
+ */
5
+ import * as Effect from "effect/Effect";
6
+ import * as SqlClient from "effect/unstable/sql/SqlClient";
7
+ /**
8
+ * Existing heads retain an unknown merge-state version; a later runtime must
9
+ * not infer its missing control decisions from arbitrary plan-node bodies.
10
+ * @since 1.0.0
11
+ * @category migrations
12
+ */
13
+ export declare const planMerges: Effect.Effect<void, unknown, SqlClient.SqlClient>;
14
+ //# sourceMappingURL=0005_plan_merges.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"0005_plan_merges.d.ts","sourceRoot":"","sources":["../../../src/migrations/0005_plan_merges.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,SAAS,MAAM,+BAA+B,CAAA;AAE1D;;;;;GAKG;AACH,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,SAAS,CA4CvE,CAAA"}
@@ -0,0 +1,82 @@
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 plan_merges_exports = {};
30
+ __export(plan_merges_exports, {
31
+ planMerges: () => planMerges
32
+ });
33
+ module.exports = __toCommonJS(plan_merges_exports);
34
+ var Dialect = __toESM(require("@smthrs/database/Dialect"), 1);
35
+ var Effect = __toESM(require("effect/Effect"), 1);
36
+ var SqlClient = __toESM(require("effect/unstable/sql/SqlClient"), 1);
37
+ const planMerges = Effect.gen(function* () {
38
+ const sql = yield* SqlClient.SqlClient;
39
+ yield* sql`ALTER TABLE flows_plan_input_heads ADD COLUMN merge_state_version ${Dialect.integer(sql)}
40
+ CHECK (merge_state_version IS NULL OR merge_state_version = 1)`;
41
+ yield* Dialect.trigger(sql, {
42
+ name: `flows_plan_input_heads_merge_version_immutable`,
43
+ table: `flows_plan_input_heads`,
44
+ event: "BEFORE UPDATE",
45
+ when: `NEW.merge_state_version IS DISTINCT FROM OLD.merge_state_version`,
46
+ reject: "plan merge state version is immutable"
47
+ });
48
+ yield* sql`CREATE TABLE flows_plan_merge_intents (
49
+ run_id TEXT NOT NULL REFERENCES flows_runs(run_id) ON DELETE CASCADE,
50
+ stopped_node_id TEXT NOT NULL CHECK (length(stopped_node_id) > 0),
51
+ intent_json TEXT NOT NULL CHECK (${Dialect.jsonValid(sql, sql`intent_json`)}),
52
+ checksum TEXT NOT NULL CHECK (length(checksum) = 64),
53
+ PRIMARY KEY (run_id, stopped_node_id)
54
+ )`;
55
+ yield* sql`CREATE TABLE flows_plan_merge_completions (
56
+ run_id TEXT NOT NULL REFERENCES flows_runs(run_id) ON DELETE CASCADE,
57
+ stopped_node_id TEXT NOT NULL CHECK (length(stopped_node_id) > 0),
58
+ generation ${Dialect.integer(sql)} NOT NULL CHECK (${Dialect.isInteger(sql, sql`generation`)} AND generation > 0),
59
+ merge_node_id TEXT NOT NULL CHECK (length(merge_node_id) > 0),
60
+ completion_json TEXT NOT NULL CHECK (${Dialect.jsonValid(sql, sql`completion_json`)}),
61
+ checksum TEXT NOT NULL CHECK (length(checksum) = 64),
62
+ PRIMARY KEY (run_id, stopped_node_id),
63
+ UNIQUE (run_id, generation), UNIQUE (run_id, merge_node_id),
64
+ FOREIGN KEY (run_id, stopped_node_id) REFERENCES flows_plan_merge_intents(run_id, stopped_node_id) ON DELETE CASCADE
65
+ )`;
66
+ for (const table of ["flows_plan_merge_intents", "flows_plan_merge_completions"]) {
67
+ yield* Dialect.trigger(sql, {
68
+ name: `${table}_no_update`,
69
+ table: `${table}`,
70
+ event: "BEFORE UPDATE",
71
+ reject: "plan merge decisions are immutable"
72
+ });
73
+ yield* Dialect.trigger(sql, {
74
+ name: `${table}_no_delete`,
75
+ table: `${table}`,
76
+ event: "BEFORE DELETE",
77
+ when: `EXISTS (SELECT 1 FROM flows_runs WHERE run_id = OLD.run_id)`,
78
+ reject: "plan merge decisions belong to their run"
79
+ });
80
+ }
81
+ });
82
+ //# sourceMappingURL=0005_plan_merges.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/migrations/0005_plan_merges.ts"],
4
+ "sourcesContent": ["/**\n * Durable scheduler merge intentions and their committed plan extensions.\n * @since 1.0.0\n */\n\nimport * as Dialect from \"@smthrs/database/Dialect\"\nimport * as Effect from \"effect/Effect\"\nimport * as SqlClient from \"effect/unstable/sql/SqlClient\"\n\n/**\n * Existing heads retain an unknown merge-state version; a later runtime must\n * not infer its missing control decisions from arbitrary plan-node bodies.\n * @since 1.0.0\n * @category migrations\n */\nexport const planMerges: Effect.Effect<void, unknown, SqlClient.SqlClient> = Effect.gen(function*() {\n const sql = yield* SqlClient.SqlClient\n yield* sql`ALTER TABLE flows_plan_input_heads ADD COLUMN merge_state_version ${Dialect.integer(sql)}\n CHECK (merge_state_version IS NULL OR merge_state_version = 1)`\n yield* Dialect.trigger(sql, {\n name: `flows_plan_input_heads_merge_version_immutable`,\n table: `flows_plan_input_heads`,\n event: \"BEFORE UPDATE\",\n when: `NEW.merge_state_version IS DISTINCT FROM OLD.merge_state_version`,\n reject: \"plan merge state version is immutable\"\n })\n yield* sql`CREATE TABLE flows_plan_merge_intents (\n run_id TEXT NOT NULL REFERENCES flows_runs(run_id) ON DELETE CASCADE,\n stopped_node_id TEXT NOT NULL CHECK (length(stopped_node_id) > 0),\n intent_json TEXT NOT NULL CHECK (${Dialect.jsonValid(sql, sql`intent_json`)}),\n checksum TEXT NOT NULL CHECK (length(checksum) = 64),\n PRIMARY KEY (run_id, stopped_node_id)\n )`\n yield* sql`CREATE TABLE flows_plan_merge_completions (\n run_id TEXT NOT NULL REFERENCES flows_runs(run_id) ON DELETE CASCADE,\n stopped_node_id TEXT NOT NULL CHECK (length(stopped_node_id) > 0),\n generation ${Dialect.integer(sql)} NOT NULL CHECK (${Dialect.isInteger(sql, sql`generation`)} AND generation > 0),\n merge_node_id TEXT NOT NULL CHECK (length(merge_node_id) > 0),\n completion_json TEXT NOT NULL CHECK (${Dialect.jsonValid(sql, sql`completion_json`)}),\n checksum TEXT NOT NULL CHECK (length(checksum) = 64),\n PRIMARY KEY (run_id, stopped_node_id),\n UNIQUE (run_id, generation), UNIQUE (run_id, merge_node_id),\n FOREIGN KEY (run_id, stopped_node_id) REFERENCES flows_plan_merge_intents(run_id, stopped_node_id) ON DELETE CASCADE\n )`\n for (const table of [\"flows_plan_merge_intents\", \"flows_plan_merge_completions\"]) {\n yield* Dialect.trigger(sql, {\n name: `${table}_no_update`,\n table: `${table}`,\n event: \"BEFORE UPDATE\",\n reject: \"plan merge decisions are immutable\"\n })\n yield* Dialect.trigger(sql, {\n name: `${table}_no_delete`,\n table: `${table}`,\n event: \"BEFORE DELETE\",\n when: `EXISTS (SELECT 1 FROM flows_runs WHERE run_id = OLD.run_id)`,\n reject: \"plan merge decisions belong to their run\"\n })\n }\n})\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,cAAyB;AACzB,aAAwB;AACxB,gBAA2B;AAQpB,MAAM,aAAgE,OAAO,IAAI,aAAY;AAClG,QAAM,MAAM,OAAO,UAAU;AAC7B,SAAO,wEAAwE,QAAQ,QAAQ,GAAG,CAAC;AAAA;AAEnG,SAAO,QAAQ,QAAQ,KAAK;AAAA,IAC1B,MAAM;AAAA,IACN,OAAO;AAAA,IACP,OAAO;AAAA,IACP,MAAM;AAAA,IACN,QAAQ;AAAA,EACV,CAAC;AACD,SAAO;AAAA;AAAA;AAAA,uCAG8B,QAAQ,UAAU,KAAK,gBAAgB,CAAC;AAAA;AAAA;AAAA;AAI7E,SAAO;AAAA;AAAA;AAAA,iBAGQ,QAAQ,QAAQ,GAAG,CAAC,oBAAoB,QAAQ,UAAU,KAAK,eAAe,CAAC;AAAA;AAAA,2CAErD,QAAQ,UAAU,KAAK,oBAAoB,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAMrF,aAAW,SAAS,CAAC,4BAA4B,8BAA8B,GAAG;AAChF,WAAO,QAAQ,QAAQ,KAAK;AAAA,MAC1B,MAAM,GAAG,KAAK;AAAA,MACd,OAAO,GAAG,KAAK;AAAA,MACf,OAAO;AAAA,MACP,QAAQ;AAAA,IACV,CAAC;AACD,WAAO,QAAQ,QAAQ,KAAK;AAAA,MAC1B,MAAM,GAAG,KAAK;AAAA,MACd,OAAO,GAAG,KAAK;AAAA,MACf,OAAO;AAAA,MACP,MAAM;AAAA,MACN,QAAQ;AAAA,IACV,CAAC;AAAA,EACH;AACF,CAAC;",
6
+ "names": []
7
+ }
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Indexed engine execution observation and ordering.
3
+ *
4
+ * @since 1.0.0
5
+ */
6
+ import * as Effect from "effect/Effect";
7
+ import * as SqlClient from "effect/unstable/sql/SqlClient";
8
+ /**
9
+ * Brings existing spawn edges into the migration ladder and binds changes to
10
+ * their child's run revision. Run-store owns the shared revision triggers.
11
+ * @category migrations
12
+ * @since 1.0.0
13
+ */
14
+ export declare const executionListing: Effect.Effect<void, unknown, SqlClient.SqlClient>;
15
+ //# sourceMappingURL=0006_execution_listing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"0006_execution_listing.d.ts","sourceRoot":"","sources":["../../../src/migrations/0006_execution_listing.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,SAAS,MAAM,+BAA+B,CAAA;AAE1D;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,SAAS,CAqE7E,CAAA"}
@@ -0,0 +1,101 @@
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 execution_listing_exports = {};
30
+ __export(execution_listing_exports, {
31
+ executionListing: () => executionListing
32
+ });
33
+ module.exports = __toCommonJS(execution_listing_exports);
34
+ var Dialect = __toESM(require("@smthrs/database/Dialect"), 1);
35
+ var Effect = __toESM(require("effect/Effect"), 1);
36
+ var SqlClient = __toESM(require("effect/unstable/sql/SqlClient"), 1);
37
+ const executionListing = Effect.gen(function* () {
38
+ const sql = yield* SqlClient.SqlClient;
39
+ yield* sql`CREATE TABLE IF NOT EXISTS flows_run_parents (
40
+ child_id TEXT NOT NULL CHECK (length(child_id) > 0),
41
+ parent_id TEXT NOT NULL CHECK (length(parent_id) > 0),
42
+ seq ${Dialect.integer(sql)} NOT NULL CHECK (${Dialect.isInteger(sql, sql`seq`)} AND seq >= 0 AND seq <= 9007199254740991),
43
+ PRIMARY KEY (child_id, parent_id)
44
+ )`;
45
+ yield* sql`CREATE INDEX IF NOT EXISTS flows_run_parents_parent_idx ON flows_run_parents (parent_id)`;
46
+ yield* sql`CREATE INDEX flows_run_parents_first_idx ON flows_run_parents (child_id, seq, parent_id)`;
47
+ yield* sql`CREATE INDEX flows_run_parents_children_idx ON flows_run_parents (parent_id, seq, child_id)`;
48
+ yield* Dialect.trigger(sql, {
49
+ name: "flows_run_parents_gc",
50
+ table: "flows_runs",
51
+ event: "AFTER DELETE",
52
+ body: "DELETE FROM flows_run_parents WHERE child_id = OLD.run_id OR parent_id = OLD.run_id;"
53
+ });
54
+ yield* sql`ALTER TABLE flows_runs ADD COLUMN execution_parent_id TEXT`;
55
+ yield* sql`ALTER TABLE flows_runs ADD COLUMN execution_flow TEXT
56
+ GENERATED ALWAYS AS (${Dialect.jsonText(sql, sql`state_json`, "$.flowName")}) ${sql.literal(Dialect.isPostgres(sql) ? "STORED" : "VIRTUAL")}`;
57
+ yield* sql`ALTER TABLE flows_runs ADD COLUMN execution_lineage TEXT
58
+ GENERATED ALWAYS AS (COALESCE(lineage_id, run_id)) ${sql.literal(Dialect.isPostgres(sql) ? "STORED" : "VIRTUAL")}`;
59
+ yield* sql`CREATE INDEX flows_runs_round_page_idx ON flows_runs (execution_lineage, COALESCE(round_ordinal, 0), run_id)`;
60
+ yield* Dialect.trigger(sql, {
61
+ name: `flows_runs_creation_immutable`,
62
+ table: `flows_runs`,
63
+ event: "BEFORE UPDATE OF created_at_ms",
64
+ when: `NEW.created_at_ms <> OLD.created_at_ms`,
65
+ reject: "execution creation key is immutable"
66
+ });
67
+ yield* sql`UPDATE flows_runs SET execution_parent_id = COALESCE(parent_run_id,
68
+ (SELECT parent_id FROM flows_run_parents WHERE child_id = run_id ORDER BY seq, parent_id LIMIT 1))`;
69
+ for (const operation of ["INSERT", "UPDATE OF parent_run_id"]) {
70
+ yield* Dialect.trigger(sql, {
71
+ name: `flows_runs_effective_parent_${operation === "INSERT" ? "insert" : "update"}`,
72
+ table: "flows_runs",
73
+ event: `AFTER ${operation}`,
74
+ body: `
75
+ UPDATE flows_runs SET execution_parent_id = COALESCE(NEW.parent_run_id,
76
+ (SELECT parent_id FROM flows_run_parents WHERE child_id = NEW.run_id ORDER BY seq, parent_id LIMIT 1))
77
+ WHERE run_id = NEW.run_id;
78
+ `
79
+ });
80
+ }
81
+ for (const operation of ["INSERT", "UPDATE", "DELETE"]) {
82
+ const row = operation === "DELETE" ? "OLD" : "NEW";
83
+ yield* Dialect.trigger(sql, {
84
+ name: `flows_run_parents_revision_${operation.toLowerCase()}`,
85
+ table: "flows_run_parents",
86
+ event: `AFTER ${operation}`,
87
+ body: `
88
+ UPDATE flows_runs SET execution_parent_id = COALESCE(parent_run_id,
89
+ (SELECT parent_id FROM flows_run_parents WHERE child_id = run_id ORDER BY seq, parent_id LIMIT 1))
90
+ WHERE run_id = ${row}.child_id ${operation === "UPDATE" ? "OR run_id = OLD.child_id" : ""};
91
+ `
92
+ });
93
+ }
94
+ const fields = ["status", "execution_flow", "execution_parent_id", "execution_lineage", "waiting_reason"];
95
+ for (let mask = 0; mask < 32; mask++) {
96
+ const columns = fields.filter((_, index) => (mask & 1 << index) !== 0);
97
+ yield* sql.unsafe(`CREATE INDEX flows_runs_listing_${mask} ON flows_runs
98
+ (${[...columns, "created_at_ms", "run_id"].join(", ")})`);
99
+ }
100
+ });
101
+ //# sourceMappingURL=0006_execution_listing.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/migrations/0006_execution_listing.ts"],
4
+ "sourcesContent": ["/**\n * Indexed engine execution observation and ordering.\n *\n * @since 1.0.0\n */\n\nimport * as Dialect from \"@smthrs/database/Dialect\"\nimport * as Effect from \"effect/Effect\"\nimport * as SqlClient from \"effect/unstable/sql/SqlClient\"\n\n/**\n * Brings existing spawn edges into the migration ladder and binds changes to\n * their child's run revision. Run-store owns the shared revision triggers.\n * @category migrations\n * @since 1.0.0\n */\nexport const executionListing: Effect.Effect<void, unknown, SqlClient.SqlClient> = Effect.gen(function*() {\n const sql = yield* SqlClient.SqlClient\n yield* sql`CREATE TABLE IF NOT EXISTS flows_run_parents (\n child_id TEXT NOT NULL CHECK (length(child_id) > 0),\n parent_id TEXT NOT NULL CHECK (length(parent_id) > 0),\n seq ${Dialect.integer(sql)} NOT NULL CHECK (${\n Dialect.isInteger(sql, sql`seq`)\n } AND seq >= 0 AND seq <= 9007199254740991),\n PRIMARY KEY (child_id, parent_id)\n )`\n yield* sql`CREATE INDEX IF NOT EXISTS flows_run_parents_parent_idx ON flows_run_parents (parent_id)`\n yield* sql`CREATE INDEX flows_run_parents_first_idx ON flows_run_parents (child_id, seq, parent_id)`\n yield* sql`CREATE INDEX flows_run_parents_children_idx ON flows_run_parents (parent_id, seq, child_id)`\n yield* Dialect.trigger(sql, {\n name: \"flows_run_parents_gc\",\n table: \"flows_runs\",\n event: \"AFTER DELETE\",\n body: \"DELETE FROM flows_run_parents WHERE child_id = OLD.run_id OR parent_id = OLD.run_id;\"\n })\n yield* sql`ALTER TABLE flows_runs ADD COLUMN execution_parent_id TEXT`\n yield* sql`ALTER TABLE flows_runs ADD COLUMN execution_flow TEXT\n GENERATED ALWAYS AS (${Dialect.jsonText(sql, sql`state_json`, \"$.flowName\")}) ${\n sql.literal(Dialect.isPostgres(sql) ? \"STORED\" : \"VIRTUAL\")\n }`\n yield* sql`ALTER TABLE flows_runs ADD COLUMN execution_lineage TEXT\n GENERATED ALWAYS AS (COALESCE(lineage_id, run_id)) ${sql.literal(Dialect.isPostgres(sql) ? \"STORED\" : \"VIRTUAL\")}`\n yield* sql`CREATE INDEX flows_runs_round_page_idx ON flows_runs (execution_lineage, COALESCE(round_ordinal, 0), run_id)`\n yield* Dialect.trigger(sql, {\n name: `flows_runs_creation_immutable`,\n table: `flows_runs`,\n event: \"BEFORE UPDATE OF created_at_ms\",\n when: `NEW.created_at_ms <> OLD.created_at_ms`,\n reject: \"execution creation key is immutable\"\n })\n yield* sql`UPDATE flows_runs SET execution_parent_id = COALESCE(parent_run_id,\n (SELECT parent_id FROM flows_run_parents WHERE child_id = run_id ORDER BY seq, parent_id LIMIT 1))`\n for (const operation of [\"INSERT\", \"UPDATE OF parent_run_id\"] as const) {\n yield* Dialect.trigger(sql, {\n name: `flows_runs_effective_parent_${operation === \"INSERT\" ? \"insert\" : \"update\"}`,\n table: \"flows_runs\",\n event: `AFTER ${operation}`,\n body: `\n UPDATE flows_runs SET execution_parent_id = COALESCE(NEW.parent_run_id,\n (SELECT parent_id FROM flows_run_parents WHERE child_id = NEW.run_id ORDER BY seq, parent_id LIMIT 1))\n WHERE run_id = NEW.run_id;\n `\n })\n }\n for (const operation of [\"INSERT\", \"UPDATE\", \"DELETE\"] as const) {\n const row = operation === \"DELETE\" ? \"OLD\" : \"NEW\"\n yield* Dialect.trigger(sql, {\n name: `flows_run_parents_revision_${operation.toLowerCase()}`,\n table: \"flows_run_parents\",\n event: `AFTER ${operation}`,\n body: `\n UPDATE flows_runs SET execution_parent_id = COALESCE(parent_run_id,\n (SELECT parent_id FROM flows_run_parents WHERE child_id = run_id ORDER BY seq, parent_id LIMIT 1))\n WHERE run_id = ${row}.child_id ${operation === \"UPDATE\" ? \"OR run_id = OLD.child_id\" : \"\"};\n `\n })\n }\n // Every subset of the five equality filters has its creation-order suffix.\n // This avoids rare combined predicates degrading to whole-history scans.\n const fields = [\"status\", \"execution_flow\", \"execution_parent_id\", \"execution_lineage\", \"waiting_reason\"]\n for (let mask = 0; mask < 32; mask++) {\n const columns = fields.filter((_, index) => (mask & (1 << index)) !== 0)\n yield* sql.unsafe(`CREATE INDEX flows_runs_listing_${mask} ON flows_runs\n (${[...columns, \"created_at_ms\", \"run_id\"].join(\", \")})`)\n }\n})\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,cAAyB;AACzB,aAAwB;AACxB,gBAA2B;AAQpB,MAAM,mBAAsE,OAAO,IAAI,aAAY;AACxG,QAAM,MAAM,OAAO,UAAU;AAC7B,SAAO;AAAA;AAAA;AAAA,UAGC,QAAQ,QAAQ,GAAG,CAAC,oBAC1B,QAAQ,UAAU,KAAK,QAAQ,CACjC;AAAA;AAAA;AAGA,SAAO;AACP,SAAO;AACP,SAAO;AACP,SAAO,QAAQ,QAAQ,KAAK;AAAA,IAC1B,MAAM;AAAA,IACN,OAAO;AAAA,IACP,OAAO;AAAA,IACP,MAAM;AAAA,EACR,CAAC;AACD,SAAO;AACP,SAAO;AAAA,2BACkB,QAAQ,SAAS,KAAK,iBAAiB,YAAY,CAAC,KAC3E,IAAI,QAAQ,QAAQ,WAAW,GAAG,IAAI,WAAW,SAAS,CAC5D;AACA,SAAO;AAAA,yDACgD,IAAI,QAAQ,QAAQ,WAAW,GAAG,IAAI,WAAW,SAAS,CAAC;AAClH,SAAO;AACP,SAAO,QAAQ,QAAQ,KAAK;AAAA,IAC1B,MAAM;AAAA,IACN,OAAO;AAAA,IACP,OAAO;AAAA,IACP,MAAM;AAAA,IACN,QAAQ;AAAA,EACV,CAAC;AACD,SAAO;AAAA;AAEP,aAAW,aAAa,CAAC,UAAU,yBAAyB,GAAY;AACtE,WAAO,QAAQ,QAAQ,KAAK;AAAA,MAC1B,MAAM,+BAA+B,cAAc,WAAW,WAAW,QAAQ;AAAA,MACjF,OAAO;AAAA,MACP,OAAO,SAAS,SAAS;AAAA,MACzB,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA,IAKR,CAAC;AAAA,EACH;AACA,aAAW,aAAa,CAAC,UAAU,UAAU,QAAQ,GAAY;AAC/D,UAAM,MAAM,cAAc,WAAW,QAAQ;AAC7C,WAAO,QAAQ,QAAQ,KAAK;AAAA,MAC1B,MAAM,8BAA8B,UAAU,YAAY,CAAC;AAAA,MAC3D,OAAO;AAAA,MACP,OAAO,SAAS,SAAS;AAAA,MACzB,MAAM;AAAA;AAAA;AAAA,yBAGa,GAAG,aAAa,cAAc,WAAW,6BAA6B,EAAE;AAAA;AAAA,IAE7F,CAAC;AAAA,EACH;AAGA,QAAM,SAAS,CAAC,UAAU,kBAAkB,uBAAuB,qBAAqB,gBAAgB;AACxG,WAAS,OAAO,GAAG,OAAO,IAAI,QAAQ;AACpC,UAAM,UAAU,OAAO,OAAO,CAAC,GAAG,WAAW,OAAQ,KAAK,WAAY,CAAC;AACvE,WAAO,IAAI,OAAO,mCAAmC,IAAI;AAAA,SACpD,CAAC,GAAG,SAAS,iBAAiB,QAAQ,EAAE,KAAK,IAAI,CAAC,GAAG;AAAA,EAC5D;AACF,CAAC;",
6
+ "names": []
7
+ }
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Indexed allocation of the global run-parent sequence.
3
+ *
4
+ * @since 1.0.0
5
+ */
6
+ import * as Effect from "effect/Effect";
7
+ import * as SqlClient from "effect/unstable/sql/SqlClient";
8
+ /**
9
+ * Supports MAX(seq) without scanning retained edges from unrelated runs.
10
+ *
11
+ * @category migrations
12
+ * @since 1.0.0
13
+ */
14
+ export declare const runParentSequence: Effect.Effect<void, unknown, SqlClient.SqlClient>;
15
+ //# sourceMappingURL=0007_run_parent_sequence.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"0007_run_parent_sequence.d.ts","sourceRoot":"","sources":["../../../src/migrations/0007_run_parent_sequence.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,SAAS,MAAM,+BAA+B,CAAA;AAE1D;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,SAAS,CAG9E,CAAA"}
@@ -0,0 +1,40 @@
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 run_parent_sequence_exports = {};
30
+ __export(run_parent_sequence_exports, {
31
+ runParentSequence: () => runParentSequence
32
+ });
33
+ module.exports = __toCommonJS(run_parent_sequence_exports);
34
+ var Effect = __toESM(require("effect/Effect"), 1);
35
+ var SqlClient = __toESM(require("effect/unstable/sql/SqlClient"), 1);
36
+ const runParentSequence = Effect.gen(function* () {
37
+ const sql = yield* SqlClient.SqlClient;
38
+ yield* sql`CREATE INDEX flows_run_parents_seq_idx ON flows_run_parents (seq)`;
39
+ });
40
+ //# sourceMappingURL=0007_run_parent_sequence.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/migrations/0007_run_parent_sequence.ts"],
4
+ "sourcesContent": ["/**\n * Indexed allocation of the global run-parent sequence.\n *\n * @since 1.0.0\n */\n\nimport * as Effect from \"effect/Effect\"\nimport * as SqlClient from \"effect/unstable/sql/SqlClient\"\n\n/**\n * Supports MAX(seq) without scanning retained edges from unrelated runs.\n *\n * @category migrations\n * @since 1.0.0\n */\nexport const runParentSequence: Effect.Effect<void, unknown, SqlClient.SqlClient> = Effect.gen(function*() {\n const sql = yield* SqlClient.SqlClient\n yield* sql`CREATE INDEX flows_run_parents_seq_idx ON flows_run_parents (seq)`\n})\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,aAAwB;AACxB,gBAA2B;AAQpB,MAAM,oBAAuE,OAAO,IAAI,aAAY;AACzG,QAAM,MAAM,OAAO,UAAU;AAC7B,SAAO;AACT,CAAC;",
6
+ "names": []
7
+ }