@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,135 @@
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 Inconsistency_exports = {};
30
+ __export(Inconsistency_exports, {
31
+ Inconsistency: () => Inconsistency,
32
+ layerNoop: () => layerNoop,
33
+ layerStrict: () => layerStrict,
34
+ layerTolerant: () => layerTolerant,
35
+ make: () => make,
36
+ makeNoop: () => makeNoop
37
+ });
38
+ module.exports = __toCommonJS(Inconsistency_exports);
39
+ var import_engine = require("@smthrs/engine");
40
+ var import_journal = require("@smthrs/journal");
41
+ var Context = __toESM(require("effect/Context"), 1);
42
+ var Effect = __toESM(require("effect/Effect"), 1);
43
+ var Layer = __toESM(require("effect/Layer"), 1);
44
+ var JournalRecords = __toESM(require("./internal/JournalRecords.js"), 1);
45
+ class Inconsistency extends Context.Service()("@smthrs/engine-store/Inconsistency") {
46
+ }
47
+ const make = (options) => ({
48
+ note: Effect.fn("Inconsistency.note")(
49
+ (event) => Effect.as(
50
+ options.journal.emitDurable(
51
+ JournalRecords.cacheConflict(
52
+ {
53
+ runId: event.attempted.recordedRunId,
54
+ sourceId: "flows/engine-store/inconsistency",
55
+ lineageId: import_engine.FlowEngine.Lineage.root(event.attempted.recordedRunId)
56
+ },
57
+ {
58
+ // `@smthrs/journal` redacts the credential word `key`. A durable
59
+ // content identity must use the specific, non-credential name.
60
+ cacheKey: event.key,
61
+ verdict: options.verdict,
62
+ existing: event.existing === void 0 ? null : {
63
+ recordedRunId: event.existing.recordedRunId,
64
+ recordedEventSeq: event.existing.recordedEventSeq,
65
+ createdAtMs: event.existing.createdAtMs
66
+ },
67
+ attempted: {
68
+ recordedRunId: event.attempted.recordedRunId,
69
+ recordedEventSeq: event.attempted.recordedEventSeq,
70
+ createdAtMs: event.attempted.createdAtMs
71
+ }
72
+ }
73
+ ),
74
+ options.owner
75
+ ),
76
+ options.verdict
77
+ )
78
+ ),
79
+ noteCorruption: Effect.fn("Inconsistency.noteCorruption")(
80
+ (event) => Effect.as(
81
+ options.journal.emitDurable(
82
+ JournalRecords.cacheCorruption(
83
+ {
84
+ runId: event.runId,
85
+ lineageId: import_engine.FlowEngine.Lineage.root(event.runId),
86
+ // The producer identity is the corruption evidence plus the
87
+ // recorded row generation (issues #156, #172): a caller
88
+ // re-observing the same corrupt row re-emits an exact producer
89
+ // duplicate the journal collapses, while an identically corrupt
90
+ // row recorded after eviction and healing has new provenance and
91
+ // lands as a distinct incident. Attempt-row evidence has no cache
92
+ // provenance, so its explicit local markers retain same-row
93
+ // convergence. A record already landed by another lineage under
94
+ // this identity surfaces as an idempotency conflict; either way
95
+ // evidence for that row generation exists exactly once.
96
+ sourceId: `flows/engine-store/inconsistency:corruption:${event.keyDigest}:${event.path}:${event.recordedDigest}:${event.measuredDigest}:${event.recordedRunId ?? "local"}:${event.recordedEventSeq ?? "local"}`,
97
+ sourceSeq: 0
98
+ },
99
+ {
100
+ keyDigest: event.keyDigest,
101
+ verdict: options.verdict,
102
+ path: event.path,
103
+ recordedDigest: event.recordedDigest,
104
+ measuredDigest: event.measuredDigest,
105
+ recordedRunId: event.recordedRunId ?? null,
106
+ recordedEventSeq: event.recordedEventSeq ?? null
107
+ }
108
+ ),
109
+ options.owner
110
+ ).pipe(
111
+ Effect.catch((error) => error.code === "idempotency_conflict" ? Effect.succeed(void 0) : Effect.fail(error))
112
+ ),
113
+ options.verdict
114
+ )
115
+ )
116
+ });
117
+ const makeNoop = (overrides = {}) => ({
118
+ note: Effect.fn("Inconsistency.note")(() => Effect.succeed("tolerate")),
119
+ noteCorruption: Effect.fn("Inconsistency.noteCorruption")(() => Effect.succeed("tolerate")),
120
+ ...overrides
121
+ });
122
+ const layerNoop = (overrides = {}) => Layer.succeed(Inconsistency)(makeNoop(overrides));
123
+ const layerStrict = (owner) => Layer.effect(Inconsistency)(
124
+ Effect.gen(function* () {
125
+ const journal = yield* import_journal.Journal.Journal;
126
+ return make({ journal, verdict: "fail", owner });
127
+ })
128
+ );
129
+ const layerTolerant = (owner) => Layer.effect(Inconsistency)(
130
+ Effect.gen(function* () {
131
+ const journal = yield* import_journal.Journal.Journal;
132
+ return make({ journal, verdict: "tolerate", owner });
133
+ })
134
+ );
135
+ //# sourceMappingURL=Inconsistency.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/Inconsistency.ts"],
4
+ "sourcesContent": ["/**\n * Receiver for detected engine inconsistencies.\n *\n * Modeled on Skyframe's `GraphInconsistencyReceiver`: the store layer detects\n * an invariant violation \u2014 today, a content-addressed cache key that produced\n * a different result than the recorded row \u2014 and this service decides whether\n * the run fails or tolerates it. Either way the conflict is journaled, so the\n * detector is never wired to /dev/null.\n *\n * The `note` signature deliberately matches the plugin spec's\n * `cacheInconsistency` hook (`(event) => Effect<InconsistencyVerdict>`); the\n * strict layer is the future default plugin.\n *\n * The core default is strict so an invariant violation cannot pass silently.\n *\n * Governing designs: `docs/concepts/attempts-and-replay.md` and\n * `apps/site/src/content/docs/docs/concepts/flows-actions-plans.mdx`.\n *\n * @since 0.1.0\n */\n\nimport { FlowEngine } from \"@smthrs/engine\"\nimport { Journal } from \"@smthrs/journal\"\nimport type { Ownership } from \"@smthrs/run-store\"\nimport type { CacheStore } from \"@smthrs/step-cache\"\nimport * as Context from \"effect/Context\"\nimport * as Effect from \"effect/Effect\"\nimport * as Layer from \"effect/Layer\"\nimport * as JournalRecords from \"./internal/JournalRecords.ts\"\n\n/**\n * Decision returned by an inconsistency receiver.\n *\n * @category models\n * @since 0.1.0\n */\nexport type InconsistencyVerdict = \"fail\" | \"tolerate\"\n\n/**\n * A content-addressed cache key that produced a result different from the\n * recorded row \u2014 a hermeticity/determinism violation.\n *\n * @category models\n * @since 0.1.0\n */\nexport interface CacheConflict {\n readonly key: string\n readonly existing: CacheStore.CacheEntry | undefined\n readonly attempted: CacheStore.CacheEntry\n}\n\n/**\n * Recorded boundary evidence whose blob no longer hashes to its recorded\n * digest \u2014 on-disk corruption of the content-addressed store, detected while\n * replaying a verified cache hit or a succeeded attempt (issue #150).\n * Distinct from a transient host failure, which merely refuses the replay\n * and stays retryable.\n *\n * @category models\n * @since 0.1.0\n */\nexport interface BlobCorruption {\n /** The run that observed the corruption; the journaling target. */\n readonly runId: string\n readonly keyDigest: string\n readonly path: string\n readonly recordedDigest: string\n readonly measuredDigest: string\n /**\n * Provenance of the corrupt evidence when it came from a shared cache row;\n * absent when it came from this run's own succeeded attempt row.\n */\n readonly recordedRunId?: string | undefined\n readonly recordedEventSeq?: number | undefined\n}\n\n/**\n * Inconsistency receiver operations.\n *\n * @category models\n * @since 0.1.0\n */\nexport interface Service {\n readonly note: (event: CacheConflict) => Effect.Effect<InconsistencyVerdict, Journal.JournalError>\n /**\n * Observes on-disk corruption of recorded boundary evidence (issue #150).\n * `\"fail\"` fails the dispatch; `\"tolerate\"` lets it fall back to a real\n * execution (which re-captures and heals the corrupt address).\n */\n readonly noteCorruption: (event: BlobCorruption) => Effect.Effect<InconsistencyVerdict, Journal.JournalError>\n}\n\n/**\n * Service tag for the engine inconsistency receiver.\n *\n * @category services\n * @since 0.1.0\n */\nexport class Inconsistency extends Context.Service<Inconsistency, Service>()(\"@smthrs/engine-store/Inconsistency\") {}\n\n/**\n * Options for constructing a journaling inconsistency receiver.\n *\n * @category models\n * @since 0.1.0\n */\nexport interface MakeOptions {\n readonly journal: Journal.Service\n readonly verdict: InconsistencyVerdict\n /**\n * The owner the conflict record is fenced to: a reclaimed run cannot append\n * hermeticity evidence it no longer owns. Required \u2014 every composer of this\n * receiver is a run's owner.\n */\n readonly owner: Ownership.OwnerId\n}\n\n/**\n * Builds a receiver that journals every conflict under the run that attempted\n * the write and returns a fixed verdict.\n *\n * The record goes through the journal's durable channel: a cache conflict is\n * hermeticity evidence, and a `tolerate` verdict that silently dropped its\n * only record would wire the detector to /dev/null (issue #10).\n *\n * @category constructors\n * @since 0.1.0\n */\nexport const make = (options: MakeOptions): Service => ({\n note: Effect.fn(\"Inconsistency.note\")((event) =>\n Effect.as(\n options.journal.emitDurable(\n JournalRecords.cacheConflict(\n {\n runId: event.attempted.recordedRunId,\n sourceId: \"flows/engine-store/inconsistency\",\n lineageId: FlowEngine.Lineage.root(event.attempted.recordedRunId)\n },\n {\n // `@smthrs/journal` redacts the credential word `key`. A durable\n // content identity must use the specific, non-credential name.\n cacheKey: event.key,\n verdict: options.verdict,\n existing: event.existing === undefined ? null : {\n recordedRunId: event.existing.recordedRunId,\n recordedEventSeq: event.existing.recordedEventSeq,\n createdAtMs: event.existing.createdAtMs\n },\n attempted: {\n recordedRunId: event.attempted.recordedRunId,\n recordedEventSeq: event.attempted.recordedEventSeq,\n createdAtMs: event.attempted.createdAtMs\n }\n }\n ),\n options.owner\n ),\n options.verdict\n )\n ),\n noteCorruption: Effect.fn(\"Inconsistency.noteCorruption\")((event) =>\n Effect.as(\n options.journal.emitDurable(\n JournalRecords.cacheCorruption(\n {\n runId: event.runId,\n lineageId: FlowEngine.Lineage.root(event.runId),\n // The producer identity is the corruption evidence plus the\n // recorded row generation (issues #156, #172): a caller\n // re-observing the same corrupt row re-emits an exact producer\n // duplicate the journal collapses, while an identically corrupt\n // row recorded after eviction and healing has new provenance and\n // lands as a distinct incident. Attempt-row evidence has no cache\n // provenance, so its explicit local markers retain same-row\n // convergence. A record already landed by another lineage under\n // this identity surfaces as an idempotency conflict; either way\n // evidence for that row generation exists exactly once.\n sourceId:\n `flows/engine-store/inconsistency:corruption:${event.keyDigest}:${event.path}:${event.recordedDigest}:${event.measuredDigest}:${\n event.recordedRunId ?? \"local\"\n }:${event.recordedEventSeq ?? \"local\"}`,\n sourceSeq: 0\n },\n {\n keyDigest: event.keyDigest,\n verdict: options.verdict,\n path: event.path,\n recordedDigest: event.recordedDigest,\n measuredDigest: event.measuredDigest,\n recordedRunId: event.recordedRunId ?? null,\n recordedEventSeq: event.recordedEventSeq ?? null\n }\n ),\n options.owner\n ).pipe(\n Effect.catch((error) => error.code === \"idempotency_conflict\" ? Effect.succeed(undefined) : Effect.fail(error))\n ),\n options.verdict\n )\n )\n})\n\n/**\n * Builds a receiver from overrides. The default notes nothing and tolerates.\n *\n * @category constructors\n * @since 0.1.0\n */\nexport const makeNoop = (overrides: Partial<Service> = {}): Service => ({\n note: Effect.fn(\"Inconsistency.note\")(() => Effect.succeed(\"tolerate\" as const)),\n noteCorruption: Effect.fn(\"Inconsistency.noteCorruption\")(() => Effect.succeed(\"tolerate\" as const)),\n ...overrides\n})\n\n/**\n * Provides a receiver that never journals and always tolerates.\n *\n * @category layers\n * @since 0.1.0\n */\nexport const layerNoop = (overrides: Partial<Service> = {}): Layer.Layer<Inconsistency> =>\n Layer.succeed(Inconsistency)(makeNoop(overrides))\n\n/**\n * Journals every cache conflict and fails the run. This is the default\n * receiver for engine wiring: a non-hermetic sealed hard-boundary action is\n * a defect, not a condition to paper over.\n *\n * @category layers\n * @since 0.1.0\n */\nexport const layerStrict = (owner: Ownership.OwnerId): Layer.Layer<Inconsistency, never, Journal.Journal> =>\n Layer.effect(Inconsistency)(\n Effect.gen(function*() {\n const journal = yield* Journal.Journal\n return make({ journal, verdict: \"fail\", owner })\n })\n )\n\n/**\n * Journals every cache conflict and continues, preserving the first-recorded\n * row (Skyframe's tolerant production configuration).\n *\n * @category layers\n * @since 0.1.0\n */\nexport const layerTolerant = (owner: Ownership.OwnerId): Layer.Layer<Inconsistency, never, Journal.Journal> =>\n Layer.effect(Inconsistency)(\n Effect.gen(function*() {\n const journal = yield* Journal.Journal\n return make({ journal, verdict: \"tolerate\", owner })\n })\n )\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAqBA,oBAA2B;AAC3B,qBAAwB;AAGxB,cAAyB;AACzB,aAAwB;AACxB,YAAuB;AACvB,qBAAgC;AAsEzB,MAAM,sBAAsB,QAAQ,QAAgC,EAAE,oCAAoC,EAAE;AAAC;AA8B7G,MAAM,OAAO,CAAC,aAAmC;AAAA,EACtD,MAAM,OAAO,GAAG,oBAAoB;AAAA,IAAE,CAAC,UACrC,OAAO;AAAA,MACL,QAAQ,QAAQ;AAAA,QACd,eAAe;AAAA,UACb;AAAA,YACE,OAAO,MAAM,UAAU;AAAA,YACvB,UAAU;AAAA,YACV,WAAW,yBAAW,QAAQ,KAAK,MAAM,UAAU,aAAa;AAAA,UAClE;AAAA,UACA;AAAA;AAAA;AAAA,YAGE,UAAU,MAAM;AAAA,YAChB,SAAS,QAAQ;AAAA,YACjB,UAAU,MAAM,aAAa,SAAY,OAAO;AAAA,cAC9C,eAAe,MAAM,SAAS;AAAA,cAC9B,kBAAkB,MAAM,SAAS;AAAA,cACjC,aAAa,MAAM,SAAS;AAAA,YAC9B;AAAA,YACA,WAAW;AAAA,cACT,eAAe,MAAM,UAAU;AAAA,cAC/B,kBAAkB,MAAM,UAAU;AAAA,cAClC,aAAa,MAAM,UAAU;AAAA,YAC/B;AAAA,UACF;AAAA,QACF;AAAA,QACA,QAAQ;AAAA,MACV;AAAA,MACA,QAAQ;AAAA,IACV;AAAA,EACF;AAAA,EACA,gBAAgB,OAAO,GAAG,8BAA8B;AAAA,IAAE,CAAC,UACzD,OAAO;AAAA,MACL,QAAQ,QAAQ;AAAA,QACd,eAAe;AAAA,UACb;AAAA,YACE,OAAO,MAAM;AAAA,YACb,WAAW,yBAAW,QAAQ,KAAK,MAAM,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAW9C,UACE,+CAA+C,MAAM,SAAS,IAAI,MAAM,IAAI,IAAI,MAAM,cAAc,IAAI,MAAM,cAAc,IAC1H,MAAM,iBAAiB,OACzB,IAAI,MAAM,oBAAoB,OAAO;AAAA,YACvC,WAAW;AAAA,UACb;AAAA,UACA;AAAA,YACE,WAAW,MAAM;AAAA,YACjB,SAAS,QAAQ;AAAA,YACjB,MAAM,MAAM;AAAA,YACZ,gBAAgB,MAAM;AAAA,YACtB,gBAAgB,MAAM;AAAA,YACtB,eAAe,MAAM,iBAAiB;AAAA,YACtC,kBAAkB,MAAM,oBAAoB;AAAA,UAC9C;AAAA,QACF;AAAA,QACA,QAAQ;AAAA,MACV,EAAE;AAAA,QACA,OAAO,MAAM,CAAC,UAAU,MAAM,SAAS,yBAAyB,OAAO,QAAQ,MAAS,IAAI,OAAO,KAAK,KAAK,CAAC;AAAA,MAChH;AAAA,MACA,QAAQ;AAAA,IACV;AAAA,EACF;AACF;AAQO,MAAM,WAAW,CAAC,YAA8B,CAAC,OAAgB;AAAA,EACtE,MAAM,OAAO,GAAG,oBAAoB,EAAE,MAAM,OAAO,QAAQ,UAAmB,CAAC;AAAA,EAC/E,gBAAgB,OAAO,GAAG,8BAA8B,EAAE,MAAM,OAAO,QAAQ,UAAmB,CAAC;AAAA,EACnG,GAAG;AACL;AAQO,MAAM,YAAY,CAAC,YAA8B,CAAC,MACvD,MAAM,QAAQ,aAAa,EAAE,SAAS,SAAS,CAAC;AAU3C,MAAM,cAAc,CAAC,UAC1B,MAAM,OAAO,aAAa;AAAA,EACxB,OAAO,IAAI,aAAY;AACrB,UAAM,UAAU,OAAO,uBAAQ;AAC/B,WAAO,KAAK,EAAE,SAAS,SAAS,QAAQ,MAAM,CAAC;AAAA,EACjD,CAAC;AACH;AASK,MAAM,gBAAgB,CAAC,UAC5B,MAAM,OAAO,aAAa;AAAA,EACxB,OAAO,IAAI,aAAY;AACrB,UAAM,UAAU,OAAO,uBAAQ;AAC/B,WAAO,KAAK,EAAE,SAAS,SAAS,YAAY,MAAM,CAAC;AAAA,EACrD,CAAC;AACH;",
6
+ "names": []
7
+ }
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Durable engine schema migrations.
3
+ *
4
+ * Engine-store owns persisted deferred/clock state, execution selections,
5
+ * and append-only plan-input observations. These are authoritative execution
6
+ * records, distinct from journal projections and evictable step-cache rows.
7
+ * It reserves migration id block `3000`.
8
+ *
9
+ * Because engine-store composes the journal, the run store, and the step
10
+ * cache, {@link sets} is also the full durable schema an engine needs, and
11
+ * {@link layer} installs it in dependency order.
12
+ *
13
+ * Derived contracts: `docs/api.md` ("Migrations") and
14
+ * `packages/smithers/flows/journal/docs/api.md`.
15
+ *
16
+ * @since 0.1.0
17
+ */
18
+ import * as DatabaseMigrations from "@smthrs/database/Migrations";
19
+ import * as Layer from "effect/Layer";
20
+ /**
21
+ * Engine-store's own namespaced migration set.
22
+ *
23
+ * @category migrations
24
+ * @since 0.1.0
25
+ */
26
+ export declare const set: DatabaseMigrations.MigrationSet;
27
+ /**
28
+ * Every migration set a durable engine needs, in dependency order: journal
29
+ * events, run and attempt state, the step cache, the engine's own deferred and
30
+ * clock, selection, and input tables, then the persisted plan.
31
+ *
32
+ * The plan set has the highest id block (`4000`). The database loader applies
33
+ * forward additions within already installed blocks transactionally before
34
+ * the ordinary migration pass (for example, engine-store `3003` after plan
35
+ * `4003`). Earlier holes and entirely new lower blocks remain refusals.
36
+ *
37
+ * @category migrations
38
+ * @since 0.1.0
39
+ */
40
+ export declare const sets: ReadonlyArray<DatabaseMigrations.MigrationSet>;
41
+ /**
42
+ * Creates the complete durable engine schema.
43
+ *
44
+ * @category migrations
45
+ * @since 0.1.0
46
+ */
47
+ export declare const run: import("effect/Effect").Effect<readonly (readonly [id: number, name: string])[], import("effect/unstable/sql/SqlError").SqlError | import("effect/unstable/sql/Migrator").MigrationError, import("effect/unstable/sql/SqlClient").SqlClient>;
48
+ /**
49
+ * Layer that installs the complete durable engine schema before exposing the
50
+ * database to any durable service.
51
+ *
52
+ * @category layers
53
+ * @since 0.1.0
54
+ */
55
+ export declare const layer: Layer.Layer<never, import("effect/unstable/sql/SqlError").SqlError | import("effect/unstable/sql/Migrator").MigrationError, import("effect/unstable/sql/SqlClient").SqlClient>;
56
+ //# sourceMappingURL=Migrations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Migrations.d.ts","sourceRoot":"","sources":["../../src/Migrations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,kBAAkB,MAAM,6BAA6B,CAAA;AAKjE,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAYrC;;;;;GAKG;AACH,eAAO,MAAM,GAAG,EAAE,kBAAkB,CAAC,YAepC,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,IAAI,EAAE,aAAa,CAAC,kBAAkB,CAAC,YAAY,CAM/D,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,GAAG,8OAA+B,CAAA;AAE/C;;;;;;GAMG;AACH,eAAO,MAAM,KAAK,gLAA2B,CAAA"}
@@ -0,0 +1,78 @@
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 Migrations_exports = {};
30
+ __export(Migrations_exports, {
31
+ layer: () => layer,
32
+ run: () => run,
33
+ set: () => set,
34
+ sets: () => sets
35
+ });
36
+ module.exports = __toCommonJS(Migrations_exports);
37
+ var DatabaseMigrations = __toESM(require("@smthrs/database/Migrations"), 1);
38
+ var JournalMigrations = __toESM(require("@smthrs/journal/Migrations"), 1);
39
+ var PlanMigrations = __toESM(require("@smthrs/plan-store/Migrations"), 1);
40
+ var RunStoreMigrations = __toESM(require("@smthrs/run-store/Migrations"), 1);
41
+ var StepCacheMigrations = __toESM(require("@smthrs/step-cache/Migrations"), 1);
42
+ var Layer = __toESM(require("effect/Layer"), 1);
43
+ var import_initial = require("./migrations/0001_initial.js");
44
+ var import_selection_store = require("./migrations/0002_selection_store.js");
45
+ var import_plan_inputs = require("./migrations/0003_plan_inputs.js");
46
+ var import_plan_environment = require("./migrations/0004_plan_environment.js");
47
+ var import_plan_merges = require("./migrations/0005_plan_merges.js");
48
+ var import_execution_listing = require("./migrations/0006_execution_listing.js");
49
+ var import_run_parent_sequence = require("./migrations/0007_run_parent_sequence.js");
50
+ var import_deferred_consumption = require("./migrations/0008_deferred_consumption.js");
51
+ var import_deferred_clock_facts = require("./migrations/0009_deferred_clock_facts.js");
52
+ var import_pending_cancellation = require("./migrations/0010_pending_cancellation.js");
53
+ const set = {
54
+ namespace: "engine-store",
55
+ idOffset: DatabaseMigrations.idBlock * 3,
56
+ migrations: {
57
+ "0001_initial": import_initial.initial,
58
+ "0002_selection_store": import_selection_store.selectionStore,
59
+ "0003_plan_inputs": import_plan_inputs.planInputs,
60
+ "0004_plan_environment": import_plan_environment.planEnvironment,
61
+ "0005_plan_merges": import_plan_merges.planMerges,
62
+ "0006_execution_listing": import_execution_listing.executionListing,
63
+ "0007_run_parent_sequence": import_run_parent_sequence.runParentSequence,
64
+ "0008_deferred_consumption": import_deferred_consumption.deferredConsumption,
65
+ "0009_deferred_clock_facts": import_deferred_clock_facts.deferredClockFacts,
66
+ "0010_pending_cancellation": import_pending_cancellation.pendingCancellation
67
+ }
68
+ };
69
+ const sets = [
70
+ JournalMigrations.set,
71
+ RunStoreMigrations.set,
72
+ StepCacheMigrations.set,
73
+ set,
74
+ PlanMigrations.set
75
+ ];
76
+ const run = DatabaseMigrations.run(sets);
77
+ const layer = Layer.effectDiscard(run);
78
+ //# sourceMappingURL=Migrations.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/Migrations.ts"],
4
+ "sourcesContent": ["/**\n * Durable engine schema migrations.\n *\n * Engine-store owns persisted deferred/clock state, execution selections,\n * and append-only plan-input observations. These are authoritative execution\n * records, distinct from journal projections and evictable step-cache rows.\n * It reserves migration id block `3000`.\n *\n * Because engine-store composes the journal, the run store, and the step\n * cache, {@link sets} is also the full durable schema an engine needs, and\n * {@link layer} installs it in dependency order.\n *\n * Derived contracts: `docs/api.md` (\"Migrations\") and\n * `packages/smithers/flows/journal/docs/api.md`.\n *\n * @since 0.1.0\n */\n\nimport * as DatabaseMigrations from \"@smthrs/database/Migrations\"\nimport * as JournalMigrations from \"@smthrs/journal/Migrations\"\nimport * as PlanMigrations from \"@smthrs/plan-store/Migrations\"\nimport * as RunStoreMigrations from \"@smthrs/run-store/Migrations\"\nimport * as StepCacheMigrations from \"@smthrs/step-cache/Migrations\"\nimport * as Layer from \"effect/Layer\"\nimport { initial } from \"./migrations/0001_initial.ts\"\nimport { selectionStore } from \"./migrations/0002_selection_store.ts\"\nimport { planInputs } from \"./migrations/0003_plan_inputs.ts\"\nimport { planEnvironment } from \"./migrations/0004_plan_environment.ts\"\nimport { planMerges } from \"./migrations/0005_plan_merges.ts\"\nimport { executionListing } from \"./migrations/0006_execution_listing.ts\"\nimport { runParentSequence } from \"./migrations/0007_run_parent_sequence.ts\"\nimport { deferredConsumption } from \"./migrations/0008_deferred_consumption.ts\"\nimport { deferredClockFacts } from \"./migrations/0009_deferred_clock_facts.ts\"\nimport { pendingCancellation } from \"./migrations/0010_pending_cancellation.ts\"\n\n/**\n * Engine-store's own namespaced migration set.\n *\n * @category migrations\n * @since 0.1.0\n */\nexport const set: DatabaseMigrations.MigrationSet = {\n namespace: \"engine-store\",\n idOffset: DatabaseMigrations.idBlock * 3,\n migrations: {\n \"0001_initial\": initial,\n \"0002_selection_store\": selectionStore,\n \"0003_plan_inputs\": planInputs,\n \"0004_plan_environment\": planEnvironment,\n \"0005_plan_merges\": planMerges,\n \"0006_execution_listing\": executionListing,\n \"0007_run_parent_sequence\": runParentSequence,\n \"0008_deferred_consumption\": deferredConsumption,\n \"0009_deferred_clock_facts\": deferredClockFacts,\n \"0010_pending_cancellation\": pendingCancellation\n }\n}\n\n/**\n * Every migration set a durable engine needs, in dependency order: journal\n * events, run and attempt state, the step cache, the engine's own deferred and\n * clock, selection, and input tables, then the persisted plan.\n *\n * The plan set has the highest id block (`4000`). The database loader applies\n * forward additions within already installed blocks transactionally before\n * the ordinary migration pass (for example, engine-store `3003` after plan\n * `4003`). Earlier holes and entirely new lower blocks remain refusals.\n *\n * @category migrations\n * @since 0.1.0\n */\nexport const sets: ReadonlyArray<DatabaseMigrations.MigrationSet> = [\n JournalMigrations.set,\n RunStoreMigrations.set,\n StepCacheMigrations.set,\n set,\n PlanMigrations.set\n]\n\n/**\n * Creates the complete durable engine schema.\n *\n * @category migrations\n * @since 0.1.0\n */\nexport const run = DatabaseMigrations.run(sets)\n\n/**\n * Layer that installs the complete durable engine schema before exposing the\n * database to any durable service.\n *\n * @category layers\n * @since 0.1.0\n */\nexport const layer = Layer.effectDiscard(run)\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAkBA,yBAAoC;AACpC,wBAAmC;AACnC,qBAAgC;AAChC,yBAAoC;AACpC,0BAAqC;AACrC,YAAuB;AACvB,qBAAwB;AACxB,6BAA+B;AAC/B,yBAA2B;AAC3B,8BAAgC;AAChC,yBAA2B;AAC3B,+BAAiC;AACjC,iCAAkC;AAClC,kCAAoC;AACpC,kCAAmC;AACnC,kCAAoC;AAQ7B,MAAM,MAAuC;AAAA,EAClD,WAAW;AAAA,EACX,UAAU,mBAAmB,UAAU;AAAA,EACvC,YAAY;AAAA,IACV,gBAAgB;AAAA,IAChB,wBAAwB;AAAA,IACxB,oBAAoB;AAAA,IACpB,yBAAyB;AAAA,IACzB,oBAAoB;AAAA,IACpB,0BAA0B;AAAA,IAC1B,4BAA4B;AAAA,IAC5B,6BAA6B;AAAA,IAC7B,6BAA6B;AAAA,IAC7B,6BAA6B;AAAA,EAC/B;AACF;AAeO,MAAM,OAAuD;AAAA,EAClE,kBAAkB;AAAA,EAClB,mBAAmB;AAAA,EACnB,oBAAoB;AAAA,EACpB;AAAA,EACA,eAAe;AACjB;AAQO,MAAM,MAAM,mBAAmB,IAAI,IAAI;AASvC,MAAM,QAAQ,MAAM,cAAc,GAAG;",
6
+ "names": []
7
+ }
@@ -0,0 +1,91 @@
1
+ /**
2
+ * The source of the fencing identity a store incarnation runs under.
3
+ *
4
+ * Minting an {@link OwnerId} is an act of nondeterminism against the host: it
5
+ * reads a process identifier and draws a fresh nonce. Both belong behind a
6
+ * port rather than in the composition itself — the closed-host doctrine in
7
+ * `@smthrs/kernel`'s `HostServices` admits no ambient `process` and no static
8
+ * `node:crypto` import, and browser support is a hard requirement, so a store
9
+ * that reached for either directly could not be composed in a tab at all.
10
+ *
11
+ * Governing design: `docs/concepts/ownership-and-fencing.md`.
12
+ *
13
+ * @since 0.1.0
14
+ */
15
+ import type { OwnerId } from "@smthrs/journal/OwnerId";
16
+ import * as Context from "effect/Context";
17
+ import * as Crypto from "effect/Crypto";
18
+ import * as Effect from "effect/Effect";
19
+ import * as Layer from "effect/Layer";
20
+ /**
21
+ * Owner identity operations.
22
+ *
23
+ * @category models
24
+ * @since 0.1.0
25
+ */
26
+ export interface Service {
27
+ /**
28
+ * Mints the identity this incarnation fences its durable writes with. The
29
+ * host supplies the incarnation; the caller supplies the host id, because
30
+ * which host a store speaks for is a composition decision, not a host fact.
31
+ */
32
+ readonly ownerId: (hostId: string) => Effect.Effect<OwnerId>;
33
+ }
34
+ declare const OwnerIdentity_base: Context.ServiceClass<OwnerIdentity, "@smthrs/engine-store/OwnerIdentity", Service>;
35
+ /**
36
+ * Service tag for the owner identity source.
37
+ *
38
+ * @category services
39
+ * @since 0.1.0
40
+ */
41
+ export declare class OwnerIdentity extends OwnerIdentity_base {
42
+ }
43
+ /**
44
+ * Constructs an owner identity source from an implementation.
45
+ *
46
+ * @category constructors
47
+ * @since 0.1.0
48
+ */
49
+ export declare const make: (service: Service) => Service;
50
+ /**
51
+ * Builds the standard identity source over an explicitly supplied process id
52
+ * and the injected `Crypto` service.
53
+ *
54
+ * On node and bun `pid` is the real process id, so the minted token is exactly
55
+ * what the store produced before this service existed. A browser tab has no
56
+ * process, and no stable per-tab integer that means the same thing, so
57
+ * `undefined` draws an incarnation number instead: the component's only job is
58
+ * to distinguish concurrent incarnations on one host, and `Random` is the
59
+ * sanctioned port for drawing one. Effect's own cluster storage does the same
60
+ * where a backend exposes no connection pid (`reference/effect`
61
+ * `unstable/cluster/SqlRunnerStorage.ts`).
62
+ *
63
+ * The nonce is a UUIDv4 drawn from the injected `effect/Crypto` service — the
64
+ * closed-host seam every composition already provides for digesting — so no
65
+ * ambient `crypto` global is reached from a hot path. A host whose crypto
66
+ * cannot mint a UUID cannot fence anything, so that refusal is a defect.
67
+ *
68
+ * @category constructors
69
+ * @since 0.1.0
70
+ */
71
+ export declare const makeIncarnation: (pid: number | undefined, crypto: Crypto.Crypto) => Service;
72
+ /**
73
+ * Provides {@link makeIncarnation} over whatever process id the running
74
+ * platform reports and the composition's `Crypto` service. This is what
75
+ * engine composition supplies unless a host has a better answer.
76
+ *
77
+ * @category layers
78
+ * @since 0.1.0
79
+ */
80
+ export declare const layer: Layer.Layer<OwnerIdentity, never, Crypto.Crypto>;
81
+ /**
82
+ * Provides a fixed identity. A test — or a host that derives ownership from
83
+ * something outside this process, such as a lease it already holds — pins the
84
+ * whole token instead of letting the default draw one.
85
+ *
86
+ * @category layers
87
+ * @since 0.1.0
88
+ */
89
+ export declare const layerConstant: (owner: OwnerId) => Layer.Layer<OwnerIdentity>;
90
+ export {};
91
+ //# sourceMappingURL=OwnerIdentity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OwnerIdentity.d.ts","sourceRoot":"","sources":["../../src/OwnerIdentity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AACtD,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAGrC;;;;;GAKG;AACH,MAAM,WAAW,OAAO;IACtB;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;CAC7D;;AAED;;;;;GAKG;AACH,qBAAa,aAAc,SAAQ,kBAA+E;CAAG;AAErH;;;;;GAKG;AACH,eAAO,MAAM,IAAI,GAAI,SAAS,OAAO,KAAG,OAAoC,CAAA;AAc5E;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,eAAe,GAAI,KAAK,MAAM,GAAG,SAAS,EAAE,QAAQ,MAAM,CAAC,MAAM,KAAG,OAchF,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAGlE,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,GAAI,OAAO,OAAO,KAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CACM,CAAA"}
@@ -0,0 +1,65 @@
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 OwnerIdentity_exports = {};
30
+ __export(OwnerIdentity_exports, {
31
+ OwnerIdentity: () => OwnerIdentity,
32
+ layer: () => layer,
33
+ layerConstant: () => layerConstant,
34
+ make: () => make,
35
+ makeIncarnation: () => makeIncarnation
36
+ });
37
+ module.exports = __toCommonJS(OwnerIdentity_exports);
38
+ var Context = __toESM(require("effect/Context"), 1);
39
+ var Crypto = __toESM(require("effect/Crypto"), 1);
40
+ var Effect = __toESM(require("effect/Effect"), 1);
41
+ var Layer = __toESM(require("effect/Layer"), 1);
42
+ var Random = __toESM(require("effect/Random"), 1);
43
+ class OwnerIdentity extends Context.Service()("@smthrs/engine-store/OwnerIdentity") {
44
+ }
45
+ const make = (service) => OwnerIdentity.of(service);
46
+ const hostProcessId = () => globalThis.process?.pid;
47
+ const makeIncarnation = (pid, crypto) => {
48
+ const incarnationId = pid === void 0 ? Random.nextIntBetween(0, Number.MAX_SAFE_INTEGER, { halfOpen: true }) : Effect.succeed(pid);
49
+ return make({
50
+ ownerId: Effect.fn("OwnerIdentity.ownerId")(function* (hostId) {
51
+ yield* Effect.annotateCurrentSpan({ hostId });
52
+ return {
53
+ hostId,
54
+ pid: yield* incarnationId,
55
+ nonce: yield* crypto.randomUUIDv4.pipe(Effect.orDie)
56
+ };
57
+ })
58
+ });
59
+ };
60
+ const layer = Layer.effect(
61
+ OwnerIdentity,
62
+ Effect.map(Crypto.Crypto, (crypto) => makeIncarnation(hostProcessId(), crypto))
63
+ );
64
+ const layerConstant = (owner) => Layer.succeed(OwnerIdentity)(make({ ownerId: () => Effect.succeed(owner) }));
65
+ //# sourceMappingURL=OwnerIdentity.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/OwnerIdentity.ts"],
4
+ "sourcesContent": ["/**\n * The source of the fencing identity a store incarnation runs under.\n *\n * Minting an {@link OwnerId} is an act of nondeterminism against the host: it\n * reads a process identifier and draws a fresh nonce. Both belong behind a\n * port rather than in the composition itself \u2014 the closed-host doctrine in\n * `@smthrs/kernel`'s `HostServices` admits no ambient `process` and no static\n * `node:crypto` import, and browser support is a hard requirement, so a store\n * that reached for either directly could not be composed in a tab at all.\n *\n * Governing design: `docs/concepts/ownership-and-fencing.md`.\n *\n * @since 0.1.0\n */\n\nimport type { OwnerId } from \"@smthrs/journal/OwnerId\"\nimport * as Context from \"effect/Context\"\nimport * as Crypto from \"effect/Crypto\"\nimport * as Effect from \"effect/Effect\"\nimport * as Layer from \"effect/Layer\"\nimport * as Random from \"effect/Random\"\n\n/**\n * Owner identity operations.\n *\n * @category models\n * @since 0.1.0\n */\nexport interface Service {\n /**\n * Mints the identity this incarnation fences its durable writes with. The\n * host supplies the incarnation; the caller supplies the host id, because\n * which host a store speaks for is a composition decision, not a host fact.\n */\n readonly ownerId: (hostId: string) => Effect.Effect<OwnerId>\n}\n\n/**\n * Service tag for the owner identity source.\n *\n * @category services\n * @since 0.1.0\n */\nexport class OwnerIdentity extends Context.Service<OwnerIdentity, Service>()(\"@smthrs/engine-store/OwnerIdentity\") {}\n\n/**\n * Constructs an owner identity source from an implementation.\n *\n * @category constructors\n * @since 0.1.0\n */\nexport const make = (service: Service): Service => OwnerIdentity.of(service)\n\n/**\n * The host's process identifier, when the platform has one.\n *\n * Read off `globalThis` rather than through a bare `process` reference so the\n * module carries no Node binding at all: a browser bundle sees `undefined`\n * here and falls through to a drawn incarnation number instead. The read\n * happens at layer construction \u2014 {@link layer} \u2014 so importing the module\n * touches nothing.\n */\nconst hostProcessId = (): number | undefined =>\n (globalThis as { readonly process?: { readonly pid?: number } }).process?.pid\n\n/**\n * Builds the standard identity source over an explicitly supplied process id\n * and the injected `Crypto` service.\n *\n * On node and bun `pid` is the real process id, so the minted token is exactly\n * what the store produced before this service existed. A browser tab has no\n * process, and no stable per-tab integer that means the same thing, so\n * `undefined` draws an incarnation number instead: the component's only job is\n * to distinguish concurrent incarnations on one host, and `Random` is the\n * sanctioned port for drawing one. Effect's own cluster storage does the same\n * where a backend exposes no connection pid (`reference/effect`\n * `unstable/cluster/SqlRunnerStorage.ts`).\n *\n * The nonce is a UUIDv4 drawn from the injected `effect/Crypto` service \u2014 the\n * closed-host seam every composition already provides for digesting \u2014 so no\n * ambient `crypto` global is reached from a hot path. A host whose crypto\n * cannot mint a UUID cannot fence anything, so that refusal is a defect.\n *\n * @category constructors\n * @since 0.1.0\n */\nexport const makeIncarnation = (pid: number | undefined, crypto: Crypto.Crypto): Service => {\n const incarnationId: Effect.Effect<number> = pid === undefined\n ? Random.nextIntBetween(0, Number.MAX_SAFE_INTEGER, { halfOpen: true })\n : Effect.succeed(pid)\n return make({\n ownerId: Effect.fn(\"OwnerIdentity.ownerId\")(function*(hostId) {\n yield* Effect.annotateCurrentSpan({ hostId })\n return {\n hostId,\n pid: yield* incarnationId,\n nonce: yield* crypto.randomUUIDv4.pipe(Effect.orDie)\n } satisfies OwnerId\n })\n })\n}\n\n/**\n * Provides {@link makeIncarnation} over whatever process id the running\n * platform reports and the composition's `Crypto` service. This is what\n * engine composition supplies unless a host has a better answer.\n *\n * @category layers\n * @since 0.1.0\n */\nexport const layer: Layer.Layer<OwnerIdentity, never, Crypto.Crypto> = Layer.effect(\n OwnerIdentity,\n Effect.map(Crypto.Crypto, (crypto) => makeIncarnation(hostProcessId(), crypto))\n)\n\n/**\n * Provides a fixed identity. A test \u2014 or a host that derives ownership from\n * something outside this process, such as a lease it already holds \u2014 pins the\n * whole token instead of letting the default draw one.\n *\n * @category layers\n * @since 0.1.0\n */\nexport const layerConstant = (owner: OwnerId): Layer.Layer<OwnerIdentity> =>\n Layer.succeed(OwnerIdentity)(make({ ownerId: () => Effect.succeed(owner) }))\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAgBA,cAAyB;AACzB,aAAwB;AACxB,aAAwB;AACxB,YAAuB;AACvB,aAAwB;AAuBjB,MAAM,sBAAsB,QAAQ,QAAgC,EAAE,oCAAoC,EAAE;AAAC;AAQ7G,MAAM,OAAO,CAAC,YAA8B,cAAc,GAAG,OAAO;AAW3E,MAAM,gBAAgB,MACnB,WAAgE,SAAS;AAuBrE,MAAM,kBAAkB,CAAC,KAAyB,WAAmC;AAC1F,QAAM,gBAAuC,QAAQ,SACjD,OAAO,eAAe,GAAG,OAAO,kBAAkB,EAAE,UAAU,KAAK,CAAC,IACpE,OAAO,QAAQ,GAAG;AACtB,SAAO,KAAK;AAAA,IACV,SAAS,OAAO,GAAG,uBAAuB,EAAE,WAAU,QAAQ;AAC5D,aAAO,OAAO,oBAAoB,EAAE,OAAO,CAAC;AAC5C,aAAO;AAAA,QACL;AAAA,QACA,KAAK,OAAO;AAAA,QACZ,OAAO,OAAO,OAAO,aAAa,KAAK,OAAO,KAAK;AAAA,MACrD;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AACH;AAUO,MAAM,QAA0D,MAAM;AAAA,EAC3E;AAAA,EACA,OAAO,IAAI,OAAO,QAAQ,CAAC,WAAW,gBAAgB,cAAc,GAAG,MAAM,CAAC;AAChF;AAUO,MAAM,gBAAgB,CAAC,UAC5B,MAAM,QAAQ,aAAa,EAAE,KAAK,EAAE,SAAS,MAAM,OAAO,QAAQ,KAAK,EAAE,CAAC,CAAC;",
6
+ "names": []
7
+ }
@@ -0,0 +1,110 @@
1
+ /**
2
+ * Authoritative source observations for one durable plan execution. These are
3
+ * replay state, not approval data, journal projections, or evictable cache rows.
4
+ * @since 1.0.0
5
+ */
6
+ import { DurableWriter } from "@smthrs/database/DurableWriter";
7
+ import { OwnerId } from "@smthrs/run-store/Ownership";
8
+ import { Context, Effect, Layer, Option, Schema } from "effect";
9
+ import type * as Crypto from "effect/Crypto";
10
+ import * as SqlClient from "effect/unstable/sql/SqlClient";
11
+ /**
12
+ * Address of an append-only observation generation. `environmentDigest` comes
13
+ * from `StepKey.environmentIdentity` and binds every generation of the run.
14
+ * @since 1.0.0
15
+ * @category schemas
16
+ */
17
+ export declare const Address: Schema.Struct<{
18
+ readonly runId: Schema.NonEmptyString;
19
+ readonly planId: Schema.NonEmptyString;
20
+ readonly baseDigest: Schema.NonEmptyString;
21
+ readonly environmentDigest: Schema.NonEmptyString;
22
+ readonly generation: Schema.Int;
23
+ }>;
24
+ /**
25
+ * Address of an append-only observation generation.
26
+ * @since 1.0.0
27
+ * @category models
28
+ */
29
+ export type Address = typeof Address.Type;
30
+ /**
31
+ * Maximum encoded snapshot size, in JavaScript string code units.
32
+ * @since 1.0.0
33
+ * @category constants
34
+ */
35
+ export declare const maximumSnapshotCharacters: number;
36
+ /**
37
+ * Frozen membership and newly pinned source digests for one generation.
38
+ * @since 1.0.0
39
+ * @category schemas
40
+ */
41
+ export declare const Snapshot: Schema.Struct<{
42
+ readonly version: Schema.Literal<1>;
43
+ readonly generation: Schema.Int;
44
+ readonly nodes: Schema.$Array<Schema.Struct<{
45
+ readonly id: Schema.NonEmptyString;
46
+ readonly key: Schema.NonEmptyString;
47
+ readonly reads: Schema.$Array<Schema.Struct<{
48
+ readonly entry: Schema.Union<readonly [Schema.NonEmptyString, Schema.TaggedStruct<"Glob", {
49
+ readonly include: Schema.NonEmptyArray<Schema.NonEmptyString>;
50
+ readonly exclude: Schema.optional<Schema.$Array<Schema.NonEmptyString>>;
51
+ }>]>;
52
+ readonly sourcePaths: Schema.$Array<Schema.NonEmptyString>;
53
+ }>>;
54
+ }>>;
55
+ readonly pins: Schema.$Array<Schema.Struct<{
56
+ readonly path: Schema.NonEmptyString;
57
+ readonly digest: Schema.NonEmptyString;
58
+ }>>;
59
+ }>;
60
+ /**
61
+ * Frozen membership and newly pinned source digests for one generation.
62
+ * @since 1.0.0
63
+ * @category models
64
+ */
65
+ export type Snapshot = typeof Snapshot.Type;
66
+ declare const PlanInputError_base: Schema.Class<PlanInputError, Schema.TaggedStruct<"@smthrs/engine-store/PlanInputError", {
67
+ readonly code: Schema.Literals<readonly ["invalid_input", "corrupt_state", "incompatible_state", "fence_lost", "transaction_open", "persistence_failed"]>;
68
+ readonly message: Schema.String;
69
+ readonly cause: Schema.optional<Schema.Unknown>;
70
+ }>, import("effect/Cause").YieldableError>;
71
+ /**
72
+ * A durable observation cannot be read or safely admitted.
73
+ * @since 1.0.0
74
+ * @category errors
75
+ */
76
+ export declare class PlanInputError extends PlanInputError_base {
77
+ }
78
+ /**
79
+ * `get` is a committed-state admission gate and refuses an enclosing SQL
80
+ * transaction. `record` is first-writer-wins and may join a write transaction;
81
+ * callers must wait for its outer commit before executing affected actions.
82
+ * @since 1.0.0
83
+ * @category models
84
+ */
85
+ export interface Service {
86
+ readonly get: (address: Address, owner: OwnerId) => Effect.Effect<Option.Option<Snapshot>, PlanInputError>;
87
+ readonly record: (address: Address, snapshot: Snapshot, owner: OwnerId) => Effect.Effect<Snapshot, PlanInputError>;
88
+ }
89
+ declare const PlanInputStore_base: Context.ServiceClass<PlanInputStore, "@smthrs/engine-store/PlanInputStore", Service>;
90
+ /**
91
+ * Durable plan-input service.
92
+ * @since 1.0.0
93
+ * @category services
94
+ */
95
+ export declare class PlanInputStore extends PlanInputStore_base {
96
+ }
97
+ /**
98
+ * Builds the SQL-backed, owner-fenced store.
99
+ * @since 1.0.0
100
+ * @category constructors
101
+ */
102
+ export declare const make: Effect.Effect<Service, never, SqlClient.SqlClient | DurableWriter | Crypto.Crypto>;
103
+ /**
104
+ * Provides the SQL-backed input store over the same database as the run/attempt stores.
105
+ * @since 1.0.0
106
+ * @category layers
107
+ */
108
+ export declare const layer: Layer.Layer<PlanInputStore, never, SqlClient.SqlClient | DurableWriter | Crypto.Crypto>;
109
+ export {};
110
+ //# sourceMappingURL=PlanInputStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlanInputStore.d.ts","sourceRoot":"","sources":["../../src/PlanInputStore.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AAE9D,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/D,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,SAAS,MAAM,+BAA+B,CAAA;AAI1D;;;;;GAKG;AACH,eAAO,MAAM,OAAO;;;;;;EAMlB,CAAA;AACF;;;;GAIG;AACH,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAA;AAEzC;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,QAAmB,CAAA;AAEzD;;;;GAIG;AACH,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;EAYnB,CAAA;AACF;;;;GAIG;AACH,MAAM,MAAM,QAAQ,GAAG,OAAO,QAAQ,CAAC,IAAI,CAAA;;;;;;AAE3C;;;;GAIG;AACH,qBAAa,cAAe,SAAQ,mBAWlC;CAAG;AAEL;;;;;;GAMG;AACH,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAC,CAAA;IAC1G,QAAQ,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAA;CACnH;;AAED;;;;GAIG;AACH,qBAAa,cAAe,SAAQ,mBAAiF;CAAG;AAsCxH;;;;GAIG;AACH,eAAO,MAAM,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,SAAS,GAAG,aAAa,GAAG,MAAM,CAAC,MAAM,CAuInG,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,EAAE,SAAS,CAAC,SAAS,GAAG,aAAa,GAAG,MAAM,CAAC,MAAM,CAGjG,CAAA"}