@plurnk/plurnk-service 1.16.4 → 1.17.0

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 (636) hide show
  1. package/.env.defaults +122 -246
  2. package/INSTALL.md +84 -138
  3. package/README.md +9 -5
  4. package/SPEC.md +1710 -1015
  5. package/dist/Paths.d.ts +2 -0
  6. package/dist/Paths.d.ts.map +1 -1
  7. package/dist/Paths.js +2 -0
  8. package/dist/Paths.js.map +1 -1
  9. package/dist/build-info.d.ts.map +1 -1
  10. package/dist/build-info.js +7 -1
  11. package/dist/build-info.js.map +1 -1
  12. package/dist/build-info.json +1 -1
  13. package/dist/content/body-preview.d.ts +8 -0
  14. package/dist/content/body-preview.d.ts.map +1 -0
  15. package/dist/content/body-preview.js +39 -0
  16. package/dist/content/body-preview.js.map +1 -0
  17. package/dist/content/byte-view.d.ts +1 -4
  18. package/dist/content/byte-view.d.ts.map +1 -1
  19. package/dist/content/byte-view.js.map +1 -1
  20. package/dist/content/edit-collision.d.ts.map +1 -1
  21. package/dist/content/edit-collision.js +3 -4
  22. package/dist/content/edit-collision.js.map +1 -1
  23. package/dist/content/line-anchors.d.ts +2 -2
  24. package/dist/content/line-anchors.d.ts.map +1 -1
  25. package/dist/content/line-anchors.js +4 -3
  26. package/dist/content/line-anchors.js.map +1 -1
  27. package/dist/content/line-selection.d.ts +9 -0
  28. package/dist/content/line-selection.d.ts.map +1 -0
  29. package/dist/content/line-selection.js +29 -0
  30. package/dist/content/line-selection.js.map +1 -0
  31. package/dist/content/matcher.d.ts +0 -1
  32. package/dist/content/matcher.d.ts.map +1 -1
  33. package/dist/content/matcher.js +2 -3
  34. package/dist/content/matcher.js.map +1 -1
  35. package/dist/content/pattern-edits.d.ts +39 -0
  36. package/dist/content/pattern-edits.d.ts.map +1 -0
  37. package/dist/content/pattern-edits.js +121 -0
  38. package/dist/content/pattern-edits.js.map +1 -0
  39. package/dist/content/read-projector.d.ts +18 -9
  40. package/dist/content/read-projector.d.ts.map +1 -1
  41. package/dist/content/read-projector.js +132 -35
  42. package/dist/content/read-projector.js.map +1 -1
  43. package/dist/content/read-resolve.d.ts +3 -1
  44. package/dist/content/read-resolve.d.ts.map +1 -1
  45. package/dist/content/read-resolve.js +39 -7
  46. package/dist/content/read-resolve.js.map +1 -1
  47. package/dist/core/AdmittedTurnExecutor.d.ts +3 -5
  48. package/dist/core/AdmittedTurnExecutor.d.ts.map +1 -1
  49. package/dist/core/AdmittedTurnExecutor.js +91 -83
  50. package/dist/core/AdmittedTurnExecutor.js.map +1 -1
  51. package/dist/core/BareBatchRunner.d.ts +6 -1
  52. package/dist/core/BareBatchRunner.d.ts.map +1 -1
  53. package/dist/core/BareBatchRunner.js +20 -5
  54. package/dist/core/BareBatchRunner.js.map +1 -1
  55. package/dist/core/BudgetReadout.d.ts +2 -3
  56. package/dist/core/BudgetReadout.d.ts.map +1 -1
  57. package/dist/core/BudgetReadout.js +23 -32
  58. package/dist/core/BudgetReadout.js.map +1 -1
  59. package/dist/core/CapabilityPolicies.d.ts +3 -8
  60. package/dist/core/CapabilityPolicies.d.ts.map +1 -1
  61. package/dist/core/CapabilityPolicies.js +2 -28
  62. package/dist/core/CapabilityPolicies.js.map +1 -1
  63. package/dist/core/CapabilityResolver.d.ts +10 -10
  64. package/dist/core/CapabilityResolver.d.ts.map +1 -1
  65. package/dist/core/CapabilityResolver.js +87 -65
  66. package/dist/core/CapabilityResolver.js.map +1 -1
  67. package/dist/core/ChannelWrite.d.ts +14 -11
  68. package/dist/core/ChannelWrite.d.ts.map +1 -1
  69. package/dist/core/ChannelWrite.js +11 -12
  70. package/dist/core/ChannelWrite.js.map +1 -1
  71. package/dist/core/ChannelWrite.sql +99 -9
  72. package/dist/core/ClientInteractions.d.ts.map +1 -1
  73. package/dist/core/ClientInteractions.js +7 -0
  74. package/dist/core/ClientInteractions.js.map +1 -1
  75. package/dist/core/CoreSchemeServices.d.ts +13 -10
  76. package/dist/core/CoreSchemeServices.d.ts.map +1 -1
  77. package/dist/core/CoreSchemeServices.js +13 -5
  78. package/dist/core/CoreSchemeServices.js.map +1 -1
  79. package/dist/core/DataStatementRunner.d.ts +2 -2
  80. package/dist/core/DataStatementRunner.d.ts.map +1 -1
  81. package/dist/core/DataStatementRunner.js +36 -39
  82. package/dist/core/DataStatementRunner.js.map +1 -1
  83. package/dist/core/Dispatcher.d.ts +19 -26
  84. package/dist/core/Dispatcher.d.ts.map +1 -1
  85. package/dist/core/Dispatcher.js +369 -219
  86. package/dist/core/Dispatcher.js.map +1 -1
  87. package/dist/core/Dispatcher.sql +66 -0
  88. package/dist/core/DurableStatement.d.ts.map +1 -1
  89. package/dist/core/DurableStatement.js +2 -1
  90. package/dist/core/DurableStatement.js.map +1 -1
  91. package/dist/core/EditMutations.d.ts +14 -18
  92. package/dist/core/EditMutations.d.ts.map +1 -1
  93. package/dist/core/EditMutations.js +211 -280
  94. package/dist/core/EditMutations.js.map +1 -1
  95. package/dist/core/EditMutations.sql +15 -0
  96. package/dist/core/EditSequence.d.ts +13 -0
  97. package/dist/core/EditSequence.d.ts.map +1 -0
  98. package/dist/core/EditSequence.js +73 -0
  99. package/dist/core/EditSequence.js.map +1 -0
  100. package/dist/core/Engine.d.ts +17 -23
  101. package/dist/core/Engine.d.ts.map +1 -1
  102. package/dist/core/Engine.js +73 -163
  103. package/dist/core/Engine.js.map +1 -1
  104. package/dist/core/Engine.sql +0 -724
  105. package/dist/core/EntryAddressBinding.d.ts +7 -17
  106. package/dist/core/EntryAddressBinding.d.ts.map +1 -1
  107. package/dist/core/EntryAddressBinding.js +12 -72
  108. package/dist/core/EntryAddressBinding.js.map +1 -1
  109. package/dist/core/ExecutionOutputs.d.ts +9 -0
  110. package/dist/core/ExecutionOutputs.d.ts.map +1 -0
  111. package/dist/core/ExecutionOutputs.js +36 -0
  112. package/dist/core/ExecutionOutputs.js.map +1 -0
  113. package/dist/core/ExecutionOutputs.sql +13 -0
  114. package/dist/core/ExecutorRegistry.d.ts +7 -5
  115. package/dist/core/ExecutorRegistry.d.ts.map +1 -1
  116. package/dist/core/ExecutorRegistry.js +36 -32
  117. package/dist/core/ExecutorRegistry.js.map +1 -1
  118. package/dist/core/HostPaths.d.ts +1 -0
  119. package/dist/core/HostPaths.d.ts.map +1 -1
  120. package/dist/core/HostPaths.js +4 -0
  121. package/dist/core/HostPaths.js.map +1 -1
  122. package/dist/core/InferenceCall.d.ts.map +1 -1
  123. package/dist/core/InferenceCall.js +1 -2
  124. package/dist/core/InferenceCall.js.map +1 -1
  125. package/dist/core/InferenceCall.sql +29 -0
  126. package/dist/core/KillHandler.d.ts +1 -0
  127. package/dist/core/KillHandler.d.ts.map +1 -1
  128. package/dist/core/KillHandler.js +24 -21
  129. package/dist/core/KillHandler.js.map +1 -1
  130. package/dist/core/LogBody.d.ts +8 -1
  131. package/dist/core/LogBody.d.ts.map +1 -1
  132. package/dist/core/LogBody.js +42 -11
  133. package/dist/core/LogBody.js.map +1 -1
  134. package/dist/core/LogEntryProjection.d.ts +1 -0
  135. package/dist/core/LogEntryProjection.d.ts.map +1 -1
  136. package/dist/core/LogEntryProjection.js +18 -10
  137. package/dist/core/LogEntryProjection.js.map +1 -1
  138. package/dist/core/LogVisibility.d.ts +1 -0
  139. package/dist/core/LogVisibility.d.ts.map +1 -1
  140. package/dist/core/LogVisibility.js +3 -0
  141. package/dist/core/LogVisibility.js.map +1 -1
  142. package/dist/core/LogWriter.d.ts +2 -3
  143. package/dist/core/LogWriter.d.ts.map +1 -1
  144. package/dist/core/LogWriter.js +25 -32
  145. package/dist/core/LogWriter.js.map +1 -1
  146. package/dist/core/LogWriter.sql +23 -0
  147. package/dist/core/LoopDriver.d.ts +11 -8
  148. package/dist/core/LoopDriver.d.ts.map +1 -1
  149. package/dist/core/LoopDriver.js +163 -189
  150. package/dist/core/LoopDriver.js.map +1 -1
  151. package/dist/core/LoopDriver.sql +11 -0
  152. package/dist/core/LoopLifecycle.d.ts +32 -2
  153. package/dist/core/LoopLifecycle.d.ts.map +1 -1
  154. package/dist/core/LoopLifecycle.js +88 -4
  155. package/dist/core/LoopLifecycle.js.map +1 -1
  156. package/dist/core/LoopLifecycle.sql +145 -28
  157. package/dist/core/LoopPolicyReader.sql +6 -0
  158. package/dist/core/MembershipMaterialization.d.ts.map +1 -1
  159. package/dist/core/MembershipMaterialization.js +6 -28
  160. package/dist/core/MembershipMaterialization.js.map +1 -1
  161. package/dist/core/ModelCall.sql +70 -0
  162. package/dist/core/MutationEffects.d.ts +5 -3
  163. package/dist/core/MutationEffects.d.ts.map +1 -1
  164. package/dist/core/MutationEffects.js +10 -28
  165. package/dist/core/MutationEffects.js.map +1 -1
  166. package/dist/core/NativeContent.d.ts +6 -0
  167. package/dist/core/NativeContent.d.ts.map +1 -0
  168. package/dist/core/NativeContent.js +16 -0
  169. package/dist/core/NativeContent.js.map +1 -0
  170. package/dist/core/NativeContent.sql +6 -0
  171. package/dist/core/NoticeChannel.js +1 -1
  172. package/dist/core/NoticeChannel.js.map +1 -1
  173. package/dist/core/OperatorConfig.js +5 -5
  174. package/dist/core/OperatorConfig.js.map +1 -1
  175. package/dist/core/PacketBuilder.d.ts +8 -5
  176. package/dist/core/PacketBuilder.d.ts.map +1 -1
  177. package/dist/core/PacketBuilder.js +117 -81
  178. package/dist/core/PacketBuilder.js.map +1 -1
  179. package/dist/core/PacketBuilder.sql +146 -0
  180. package/dist/core/PatternSelection.d.ts +28 -0
  181. package/dist/core/PatternSelection.d.ts.map +1 -0
  182. package/dist/core/PatternSelection.js +42 -0
  183. package/dist/core/PatternSelection.js.map +1 -0
  184. package/dist/core/ProblemLog.d.ts.map +1 -1
  185. package/dist/core/ProblemLog.js +0 -1
  186. package/dist/core/ProblemLog.js.map +1 -1
  187. package/dist/core/PromptFrames.d.ts +12 -0
  188. package/dist/core/PromptFrames.d.ts.map +1 -0
  189. package/dist/core/PromptFrames.js +28 -0
  190. package/dist/core/PromptFrames.js.map +1 -0
  191. package/dist/core/ProposalLifecycle.d.ts +0 -1
  192. package/dist/core/ProposalLifecycle.d.ts.map +1 -1
  193. package/dist/core/ProposalLifecycle.js +20 -19
  194. package/dist/core/ProposalLifecycle.js.map +1 -1
  195. package/dist/core/ProposalLifecycle.sql +33 -0
  196. package/dist/core/ProviderInstantiate.d.ts +1 -1
  197. package/dist/core/ProviderInstantiate.d.ts.map +1 -1
  198. package/dist/core/ProviderInstantiate.js +7 -14
  199. package/dist/core/ProviderInstantiate.js.map +1 -1
  200. package/dist/core/ReasoningView.d.ts +9 -0
  201. package/dist/core/ReasoningView.d.ts.map +1 -0
  202. package/dist/core/ReasoningView.js +47 -0
  203. package/dist/core/ReasoningView.js.map +1 -0
  204. package/dist/core/ResourceBindings.d.ts +16 -0
  205. package/dist/core/ResourceBindings.d.ts.map +1 -0
  206. package/dist/core/ResourceBindings.js +45 -0
  207. package/dist/core/ResourceBindings.js.map +1 -0
  208. package/dist/core/ResourceMutations.d.ts +5 -8
  209. package/dist/core/ResourceMutations.d.ts.map +1 -1
  210. package/dist/core/ResourceMutations.js +6 -7
  211. package/dist/core/ResourceMutations.js.map +1 -1
  212. package/dist/core/ResourceSelector.d.ts +2 -2
  213. package/dist/core/ResourceSelector.d.ts.map +1 -1
  214. package/dist/core/ResourceSelector.js +122 -62
  215. package/dist/core/ResourceSelector.js.map +1 -1
  216. package/dist/core/ResourceTransfers.d.ts +4 -2
  217. package/dist/core/ResourceTransfers.d.ts.map +1 -1
  218. package/dist/core/ResourceTransfers.js +95 -26
  219. package/dist/core/ResourceTransfers.js.map +1 -1
  220. package/dist/core/RuntimeWorker.d.ts +5 -0
  221. package/dist/core/RuntimeWorker.d.ts.map +1 -0
  222. package/dist/core/RuntimeWorker.js +10 -0
  223. package/dist/core/RuntimeWorker.js.map +1 -0
  224. package/dist/core/RuntimeWorker.sql +5 -0
  225. package/dist/core/SchemeRegistry.d.ts +12 -16
  226. package/dist/core/SchemeRegistry.d.ts.map +1 -1
  227. package/dist/core/SchemeRegistry.js +58 -84
  228. package/dist/core/SchemeRegistry.js.map +1 -1
  229. package/dist/core/StoredPacket.d.ts +6 -1
  230. package/dist/core/StoredPacket.d.ts.map +1 -1
  231. package/dist/core/StoredPacket.js +30 -10
  232. package/dist/core/StoredPacket.js.map +1 -1
  233. package/dist/core/StrikeRail.d.ts +9 -6
  234. package/dist/core/StrikeRail.d.ts.map +1 -1
  235. package/dist/core/StrikeRail.js +60 -113
  236. package/dist/core/StrikeRail.js.map +1 -1
  237. package/dist/core/StrikeRail.sql +12 -0
  238. package/dist/core/TerminalResult.d.ts +1 -1
  239. package/dist/core/TerminalResult.d.ts.map +1 -1
  240. package/dist/core/TerminalResult.js +2 -2
  241. package/dist/core/TerminalResult.js.map +1 -1
  242. package/dist/core/TokenCalibration.d.ts +1 -6
  243. package/dist/core/TokenCalibration.d.ts.map +1 -1
  244. package/dist/core/TokenCalibration.js +13 -9
  245. package/dist/core/TokenCalibration.js.map +1 -1
  246. package/dist/core/TokenCalibration.sql +15 -0
  247. package/dist/core/ToolInputSchema.d.ts +6 -0
  248. package/dist/core/ToolInputSchema.d.ts.map +1 -0
  249. package/dist/core/ToolInputSchema.js +43 -0
  250. package/dist/core/ToolInputSchema.js.map +1 -0
  251. package/dist/core/ToolResources.d.ts.map +1 -1
  252. package/dist/core/ToolResources.js +76 -52
  253. package/dist/core/ToolResources.js.map +1 -1
  254. package/dist/core/Turn.d.ts +5 -2
  255. package/dist/core/Turn.d.ts.map +1 -1
  256. package/dist/core/Turn.js +13 -11
  257. package/dist/core/Turn.js.map +1 -1
  258. package/dist/core/Turn.sql +25 -39
  259. package/dist/core/{SendBroadcastHandler.d.ts → TurnDispositionHandler.d.ts} +25 -17
  260. package/dist/core/TurnDispositionHandler.d.ts.map +1 -0
  261. package/dist/core/TurnDispositionHandler.js +198 -0
  262. package/dist/core/TurnDispositionHandler.js.map +1 -0
  263. package/dist/core/TurnMaterialization.d.ts +2 -3
  264. package/dist/core/TurnMaterialization.d.ts.map +1 -1
  265. package/dist/core/TurnMaterialization.js +40 -15
  266. package/dist/core/TurnMaterialization.js.map +1 -1
  267. package/dist/core/TurnMaterialization.sql +44 -0
  268. package/dist/core/TurnOps.d.ts.map +1 -1
  269. package/dist/core/TurnOps.js +8 -64
  270. package/dist/core/TurnOps.js.map +1 -1
  271. package/dist/core/TurnRunner.d.ts +9 -12
  272. package/dist/core/TurnRunner.d.ts.map +1 -1
  273. package/dist/core/TurnRunner.js +232 -408
  274. package/dist/core/TurnRunner.js.map +1 -1
  275. package/dist/core/TurnRunner.sql +74 -0
  276. package/dist/core/TurnSources.sql +39 -0
  277. package/dist/core/WorkerControlAddress.d.ts +1 -0
  278. package/dist/core/WorkerControlAddress.d.ts.map +1 -1
  279. package/dist/core/WorkerControlAddress.js +5 -0
  280. package/dist/core/WorkerControlAddress.js.map +1 -1
  281. package/dist/core/WorkerControlHandler.d.ts +1 -3
  282. package/dist/core/WorkerControlHandler.d.ts.map +1 -1
  283. package/dist/core/WorkerControlHandler.js +41 -48
  284. package/dist/core/WorkerControlHandler.js.map +1 -1
  285. package/dist/core/WorkerName.d.ts +8 -6
  286. package/dist/core/WorkerName.d.ts.map +1 -1
  287. package/dist/core/WorkerName.js +33 -24
  288. package/dist/core/WorkerName.js.map +1 -1
  289. package/dist/core/WorkerName.sql +7 -10
  290. package/dist/core/WorkspaceGate.d.ts +1 -1
  291. package/dist/core/WorkspaceGate.d.ts.map +1 -1
  292. package/dist/core/WorkspaceGate.js +29 -6
  293. package/dist/core/WorkspaceGate.js.map +1 -1
  294. package/dist/core/ambient.sql +236 -0
  295. package/dist/core/attachments.d.ts +2 -1
  296. package/dist/core/attachments.d.ts.map +1 -1
  297. package/dist/core/attachments.js +5 -4
  298. package/dist/core/attachments.js.map +1 -1
  299. package/dist/core/caps/CapsResolve.d.ts +2 -3
  300. package/dist/core/caps/CapsResolve.d.ts.map +1 -1
  301. package/dist/core/caps/CapsResolve.js +5 -5
  302. package/dist/core/caps/CapsResolve.js.map +1 -1
  303. package/dist/core/caps/DbChannelCaps.d.ts +1 -1
  304. package/dist/core/caps/DbChannelCaps.d.ts.map +1 -1
  305. package/dist/core/caps/DbChannelCaps.js +4 -6
  306. package/dist/core/caps/DbChannelCaps.js.map +1 -1
  307. package/dist/core/caps/DbEntryCaps.d.ts +2 -1
  308. package/dist/core/caps/DbEntryCaps.d.ts.map +1 -1
  309. package/dist/core/caps/DbEntryCaps.js +11 -17
  310. package/dist/core/caps/DbEntryCaps.js.map +1 -1
  311. package/dist/core/caps/DbNotifyCaps.d.ts +1 -1
  312. package/dist/core/caps/DbNotifyCaps.d.ts.map +1 -1
  313. package/dist/core/caps/DbNotifyCaps.js +3 -5
  314. package/dist/core/caps/DbNotifyCaps.js.map +1 -1
  315. package/dist/core/caps/DbProjectionCaps.js +1 -1
  316. package/dist/core/caps/DbProjectionCaps.js.map +1 -1
  317. package/dist/core/caps/DbSubscriptionCaps.d.ts +1 -1
  318. package/dist/core/caps/DbSubscriptionCaps.d.ts.map +1 -1
  319. package/dist/core/caps/DbSubscriptionCaps.js +5 -7
  320. package/dist/core/caps/DbSubscriptionCaps.js.map +1 -1
  321. package/dist/core/caps/SchemeCtxImpl.d.ts +0 -2
  322. package/dist/core/caps/SchemeCtxImpl.d.ts.map +1 -1
  323. package/dist/core/caps/SchemeCtxImpl.js +4 -20
  324. package/dist/core/caps/SchemeCtxImpl.js.map +1 -1
  325. package/dist/core/env-defaults.d.ts.map +1 -1
  326. package/dist/core/env-defaults.js +4 -2
  327. package/dist/core/env-defaults.js.map +1 -1
  328. package/dist/core/file-materialization.d.ts +4 -1
  329. package/dist/core/file-materialization.d.ts.map +1 -1
  330. package/dist/core/file-materialization.js +14 -0
  331. package/dist/core/file-materialization.js.map +1 -1
  332. package/dist/core/fork.d.ts +1 -6
  333. package/dist/core/fork.d.ts.map +1 -1
  334. package/dist/core/fork.js +9 -153
  335. package/dist/core/fork.js.map +1 -1
  336. package/dist/core/fork.sql +162 -185
  337. package/dist/core/git-env.d.ts +1 -0
  338. package/dist/core/git-env.d.ts.map +1 -1
  339. package/dist/core/git-env.js +39 -2
  340. package/dist/core/git-env.js.map +1 -1
  341. package/dist/core/git-membership.d.ts.map +1 -1
  342. package/dist/core/git-membership.js +64 -48
  343. package/dist/core/git-membership.js.map +1 -1
  344. package/dist/core/git-state.d.ts.map +1 -1
  345. package/dist/core/git-state.js +25 -19
  346. package/dist/core/git-state.js.map +1 -1
  347. package/dist/core/glob_match.d.ts +4 -0
  348. package/dist/core/glob_match.d.ts.map +1 -0
  349. package/dist/core/glob_match.js +7 -0
  350. package/dist/core/glob_match.js.map +1 -0
  351. package/dist/core/maintenance.sql +6 -0
  352. package/dist/core/mutation-types.d.ts +7 -28
  353. package/dist/core/mutation-types.d.ts.map +1 -1
  354. package/dist/core/packet-inject.d.ts.map +1 -1
  355. package/dist/core/packet-inject.js +2 -3
  356. package/dist/core/packet-inject.js.map +1 -1
  357. package/dist/core/packet-wire.d.ts +8 -6
  358. package/dist/core/packet-wire.d.ts.map +1 -1
  359. package/dist/core/packet-wire.js +131 -163
  360. package/dist/core/packet-wire.js.map +1 -1
  361. package/dist/core/plurnk-uri.d.ts +1 -1
  362. package/dist/core/plurnk-uri.d.ts.map +1 -1
  363. package/dist/core/plurnk-uri.js +5 -12
  364. package/dist/core/plurnk-uri.js.map +1 -1
  365. package/dist/core/scheme-types.d.ts +3 -3
  366. package/dist/core/scheme-types.d.ts.map +1 -1
  367. package/dist/core/scheme-types.js.map +1 -1
  368. package/dist/core/sha256.d.ts +4 -0
  369. package/dist/core/sha256.d.ts.map +1 -0
  370. package/dist/core/sha256.js +6 -0
  371. package/dist/core/sha256.js.map +1 -0
  372. package/dist/core/teaching.js +1 -1
  373. package/dist/core/teaching.js.map +1 -1
  374. package/dist/core/turn-scheduler.d.ts.map +1 -1
  375. package/dist/core/turn-scheduler.js +5 -18
  376. package/dist/core/turn-scheduler.js.map +1 -1
  377. package/dist/core/turn-signals.d.ts +0 -6
  378. package/dist/core/turn-signals.d.ts.map +1 -1
  379. package/dist/core/turn-signals.js +1 -7
  380. package/dist/core/turn-signals.js.map +1 -1
  381. package/dist/core/worker-ops.sql +15 -22
  382. package/dist/core/workspace-settings.d.ts.map +1 -1
  383. package/dist/core/workspace-settings.js +18 -2
  384. package/dist/core/workspace-settings.js.map +1 -1
  385. package/dist/core/workspace-settings.sql +6 -0
  386. package/dist/digest/Digest.d.ts.map +1 -1
  387. package/dist/digest/Digest.js +27 -90
  388. package/dist/digest/Digest.js.map +1 -1
  389. package/dist/digest/DigestRender.d.ts.map +1 -1
  390. package/dist/digest/DigestRender.js +14 -54
  391. package/dist/digest/DigestRender.js.map +1 -1
  392. package/dist/digest/digest-rows.d.ts +10 -32
  393. package/dist/digest/digest-rows.d.ts.map +1 -1
  394. package/dist/digest/digest.sql +43 -18
  395. package/dist/schemes/Exec.d.ts +6 -12
  396. package/dist/schemes/Exec.d.ts.map +1 -1
  397. package/dist/schemes/Exec.js +256 -188
  398. package/dist/schemes/Exec.js.map +1 -1
  399. package/dist/schemes/ExecOutputScheme.d.ts +8 -6
  400. package/dist/schemes/ExecOutputScheme.d.ts.map +1 -1
  401. package/dist/schemes/ExecOutputScheme.js +33 -61
  402. package/dist/schemes/ExecOutputScheme.js.map +1 -1
  403. package/dist/schemes/ExecutionInput.d.ts +12 -0
  404. package/dist/schemes/ExecutionInput.d.ts.map +1 -0
  405. package/dist/schemes/ExecutionInput.js +94 -0
  406. package/dist/schemes/ExecutionInput.js.map +1 -0
  407. package/dist/schemes/File.d.ts +5 -2
  408. package/dist/schemes/File.d.ts.map +1 -1
  409. package/dist/schemes/File.js +62 -92
  410. package/dist/schemes/File.js.map +1 -1
  411. package/dist/schemes/Log.d.ts.map +1 -1
  412. package/dist/schemes/Log.js +84 -79
  413. package/dist/schemes/Log.js.map +1 -1
  414. package/dist/schemes/Log.sql +183 -15
  415. package/dist/schemes/Prompt.d.ts.map +1 -1
  416. package/dist/schemes/Prompt.js +3 -12
  417. package/dist/schemes/Prompt.js.map +1 -1
  418. package/dist/schemes/QuestionTool.d.ts +5 -0
  419. package/dist/schemes/QuestionTool.d.ts.map +1 -1
  420. package/dist/schemes/QuestionTool.js +6 -14
  421. package/dist/schemes/QuestionTool.js.map +1 -1
  422. package/dist/schemes/Skill.d.ts +12 -7
  423. package/dist/schemes/Skill.d.ts.map +1 -1
  424. package/dist/schemes/Skill.js +149 -21
  425. package/dist/schemes/Skill.js.map +1 -1
  426. package/dist/schemes/TurnSource.d.ts +12 -0
  427. package/dist/schemes/TurnSource.d.ts.map +1 -0
  428. package/dist/schemes/TurnSource.js +116 -0
  429. package/dist/schemes/TurnSource.js.map +1 -0
  430. package/dist/schemes/Worker.d.ts +3 -3
  431. package/dist/schemes/Worker.d.ts.map +1 -1
  432. package/dist/schemes/Worker.js +61 -208
  433. package/dist/schemes/Worker.js.map +1 -1
  434. package/dist/schemes/_entry-crud.d.ts +12 -15
  435. package/dist/schemes/_entry-crud.d.ts.map +1 -1
  436. package/dist/schemes/_entry-crud.js +63 -63
  437. package/dist/schemes/_entry-crud.js.map +1 -1
  438. package/dist/schemes/_entry-crud.sql +142 -46
  439. package/dist/schemes/_entry-find.d.ts +1 -3
  440. package/dist/schemes/_entry-find.d.ts.map +1 -1
  441. package/dist/schemes/_entry-find.js +111 -112
  442. package/dist/schemes/_entry-find.js.map +1 -1
  443. package/dist/schemes/_entry-find.sql +22 -14
  444. package/dist/schemes/_entry-fts.d.ts +14 -0
  445. package/dist/schemes/_entry-fts.d.ts.map +1 -0
  446. package/dist/schemes/_entry-fts.js +82 -0
  447. package/dist/schemes/_entry-fts.js.map +1 -0
  448. package/dist/schemes/_entry-fts.sql +31 -0
  449. package/dist/schemes/_entry-graph.d.ts.map +1 -1
  450. package/dist/schemes/_entry-graph.js +6 -14
  451. package/dist/schemes/_entry-graph.js.map +1 -1
  452. package/dist/schemes/_entry-graph.sql +29 -44
  453. package/dist/schemes/_entry-manifest.d.ts +2 -1
  454. package/dist/schemes/_entry-manifest.d.ts.map +1 -1
  455. package/dist/schemes/_entry-manifest.js +15 -12
  456. package/dist/schemes/_entry-manifest.js.map +1 -1
  457. package/dist/schemes/_entry-manifest.sql +26 -0
  458. package/dist/schemes/_entry-ops.d.ts +3 -5
  459. package/dist/schemes/_entry-ops.d.ts.map +1 -1
  460. package/dist/schemes/_entry-ops.js +30 -43
  461. package/dist/schemes/_entry-ops.js.map +1 -1
  462. package/dist/schemes/_entry-ops.sql +5 -6
  463. package/dist/schemes/_entry-readable.d.ts +8 -0
  464. package/dist/schemes/_entry-readable.d.ts.map +1 -0
  465. package/dist/schemes/_entry-readable.js +38 -0
  466. package/dist/schemes/_entry-readable.js.map +1 -0
  467. package/dist/schemes/_entry-send.d.ts +1 -1
  468. package/dist/schemes/_entry-send.d.ts.map +1 -1
  469. package/dist/schemes/_entry-send.js +3 -3
  470. package/dist/schemes/_entry-send.js.map +1 -1
  471. package/dist/schemes/_search-index.d.ts +1 -3
  472. package/dist/schemes/_search-index.d.ts.map +1 -1
  473. package/dist/schemes/_search-index.js +79 -110
  474. package/dist/schemes/_search-index.js.map +1 -1
  475. package/dist/schemes/_search-index.sql +30 -0
  476. package/dist/schemes/exec-runtime.d.ts +1 -1
  477. package/dist/schemes/exec-runtime.d.ts.map +1 -1
  478. package/dist/schemes/exec-runtime.js.map +1 -1
  479. package/dist/server/ClientReads.d.ts +2 -2
  480. package/dist/server/ClientReads.d.ts.map +1 -1
  481. package/dist/server/ClientReads.js +5 -8
  482. package/dist/server/ClientReads.js.map +1 -1
  483. package/dist/server/Daemon.d.ts +14 -21
  484. package/dist/server/Daemon.d.ts.map +1 -1
  485. package/dist/server/Daemon.js +135 -156
  486. package/dist/server/Daemon.js.map +1 -1
  487. package/dist/server/DaemonModule.d.ts +23 -21
  488. package/dist/server/DaemonModule.d.ts.map +1 -1
  489. package/dist/server/DrainSupervisor.d.ts +8 -21
  490. package/dist/server/DrainSupervisor.d.ts.map +1 -1
  491. package/dist/server/DrainSupervisor.js +278 -306
  492. package/dist/server/DrainSupervisor.js.map +1 -1
  493. package/dist/server/Functionality.d.ts +11 -12
  494. package/dist/server/Functionality.d.ts.map +1 -1
  495. package/dist/server/Functionality.js +129 -101
  496. package/dist/server/Functionality.js.map +1 -1
  497. package/dist/server/FunctionalityManager.d.ts +3 -5
  498. package/dist/server/FunctionalityManager.d.ts.map +1 -1
  499. package/dist/server/FunctionalityManager.js +20 -58
  500. package/dist/server/FunctionalityManager.js.map +1 -1
  501. package/dist/server/MembersFunctionality.d.ts +5 -4
  502. package/dist/server/MembersFunctionality.d.ts.map +1 -1
  503. package/dist/server/MembersFunctionality.js +24 -37
  504. package/dist/server/MembersFunctionality.js.map +1 -1
  505. package/dist/server/PlurnkSkill.d.ts +11 -0
  506. package/dist/server/PlurnkSkill.d.ts.map +1 -0
  507. package/dist/server/PlurnkSkill.js +41 -0
  508. package/dist/server/PlurnkSkill.js.map +1 -0
  509. package/dist/server/Retention.d.ts +22 -0
  510. package/dist/server/Retention.d.ts.map +1 -0
  511. package/dist/server/Retention.js +54 -0
  512. package/dist/server/Retention.js.map +1 -0
  513. package/dist/server/Retention.sql +36 -0
  514. package/dist/server/ServiceModules.d.ts +5 -0
  515. package/dist/server/ServiceModules.d.ts.map +1 -0
  516. package/dist/server/ServiceModules.js +10 -0
  517. package/dist/server/ServiceModules.js.map +1 -0
  518. package/dist/server/SkillsFunctionality.d.ts +14 -19
  519. package/dist/server/SkillsFunctionality.d.ts.map +1 -1
  520. package/dist/server/SkillsFunctionality.js +97 -104
  521. package/dist/server/SkillsFunctionality.js.map +1 -1
  522. package/dist/server/WorkerModelResolver.d.ts +4 -0
  523. package/dist/server/WorkerModelResolver.d.ts.map +1 -1
  524. package/dist/server/WorkerModelResolver.js +72 -39
  525. package/dist/server/WorkerModelResolver.js.map +1 -1
  526. package/dist/server/WorkspaceCapabilities.d.ts +21 -0
  527. package/dist/server/WorkspaceCapabilities.d.ts.map +1 -0
  528. package/dist/server/{WorkerCapabilities.js → WorkspaceCapabilities.js} +40 -40
  529. package/dist/server/WorkspaceCapabilities.js.map +1 -0
  530. package/dist/server/WorkspaceResidency.d.ts +36 -0
  531. package/dist/server/WorkspaceResidency.d.ts.map +1 -0
  532. package/dist/server/WorkspaceResidency.js +199 -0
  533. package/dist/server/WorkspaceResidency.js.map +1 -0
  534. package/dist/server/client-input.d.ts +1 -4
  535. package/dist/server/client-input.d.ts.map +1 -1
  536. package/dist/server/client-input.js +4 -45
  537. package/dist/server/client-input.js.map +1 -1
  538. package/dist/server/dispatch-as-plurnk.d.ts.map +1 -1
  539. package/dist/server/dispatch-as-plurnk.js +4 -22
  540. package/dist/server/dispatch-as-plurnk.js.map +1 -1
  541. package/dist/server/drain.sql +65 -42
  542. package/dist/server/envelope.d.ts +8 -0
  543. package/dist/server/envelope.d.ts.map +1 -1
  544. package/dist/server/envelope.js +9 -7
  545. package/dist/server/envelope.js.map +1 -1
  546. package/dist/server/envelope.sql +49 -13
  547. package/dist/server/lifecycle-recovery.sql +14 -17
  548. package/dist/server/logEntry.d.ts +1 -1
  549. package/dist/server/logEntry.d.ts.map +1 -1
  550. package/dist/server/logEntry.js +4 -1
  551. package/dist/server/logEntry.js.map +1 -1
  552. package/dist/server/logEntry.sql +25 -1
  553. package/dist/server/loopDocs.d.ts +2 -2
  554. package/dist/server/loopDocs.d.ts.map +1 -1
  555. package/dist/server/loopDocs.js +38 -31
  556. package/dist/server/loopDocs.js.map +1 -1
  557. package/dist/server/loopDocs.sql +1 -3
  558. package/dist/server/model-catalog.d.ts.map +1 -1
  559. package/dist/server/model-catalog.js +2 -1
  560. package/dist/server/model-catalog.js.map +1 -1
  561. package/dist/server/model-route.d.ts +1 -1
  562. package/dist/server/model-route.d.ts.map +1 -1
  563. package/dist/server/model-route.js +4 -2
  564. package/dist/server/model-route.js.map +1 -1
  565. package/dist/server/seam-entry-read.sql +3 -4
  566. package/dist/server/seam-loop.sql +2 -9
  567. package/dist/server/workspace-capabilities.sql +19 -0
  568. package/dist/service.d.ts.map +1 -1
  569. package/dist/service.js +5 -17
  570. package/dist/service.js.map +1 -1
  571. package/docs/members.md +83 -0
  572. package/docs/skills.md +50 -0
  573. package/migrations/001_workspaces.sql +53 -0
  574. package/migrations/002_workers.sql +183 -0
  575. package/migrations/003_loops.sql +326 -0
  576. package/migrations/004_inference.sql +360 -0
  577. package/migrations/005_entries.sql +207 -0
  578. package/migrations/006_log.sql +578 -0
  579. package/migrations/007_subscriptions.sql +175 -0
  580. package/migrations/008_interactions.sql +29 -0
  581. package/package.json +33 -40
  582. package/digest-sql/channel-dispositions/dispositions.sql +0 -15
  583. package/digest-sql/channel-state/state.sql +0 -6
  584. package/digest-sql/curation/curation.sql +0 -6
  585. package/digest-sql/derivations/derivations.sql +0 -4
  586. package/digest-sql/embeddings/embeddings.sql +0 -4
  587. package/digest-sql/entry-dispositions/dispositions.sql +0 -15
  588. package/digest-sql/entry-state/state.sql +0 -6
  589. package/digest-sql/token-counts/token-counts.sql +0 -2
  590. package/dist/core/EmbeddingCall.d.ts +0 -23
  591. package/dist/core/EmbeddingCall.d.ts.map +0 -1
  592. package/dist/core/EmbeddingCall.js +0 -149
  593. package/dist/core/EmbeddingCall.js.map +0 -1
  594. package/dist/core/OverflowTurn.d.ts +0 -11
  595. package/dist/core/OverflowTurn.d.ts.map +0 -1
  596. package/dist/core/OverflowTurn.js +0 -80
  597. package/dist/core/OverflowTurn.js.map +0 -1
  598. package/dist/core/Owner.d.ts +0 -8
  599. package/dist/core/Owner.d.ts.map +0 -1
  600. package/dist/core/Owner.js +0 -46
  601. package/dist/core/Owner.js.map +0 -1
  602. package/dist/core/SendBroadcastHandler.d.ts.map +0 -1
  603. package/dist/core/SendBroadcastHandler.js +0 -159
  604. package/dist/core/SendBroadcastHandler.js.map +0 -1
  605. package/dist/core/VectorPump.d.ts +0 -28
  606. package/dist/core/VectorPump.d.ts.map +0 -1
  607. package/dist/core/VectorPump.js +0 -130
  608. package/dist/core/VectorPump.js.map +0 -1
  609. package/dist/core/owner.sql +0 -11
  610. package/dist/core/worker-settings.d.ts +0 -10
  611. package/dist/core/worker-settings.d.ts.map +0 -1
  612. package/dist/core/worker-settings.js +0 -53
  613. package/dist/core/worker-settings.js.map +0 -1
  614. package/dist/schemes/_entry-chunk.d.ts +0 -14
  615. package/dist/schemes/_entry-chunk.d.ts.map +0 -1
  616. package/dist/schemes/_entry-chunk.js +0 -165
  617. package/dist/schemes/_entry-chunk.js.map +0 -1
  618. package/dist/schemes/_entry-semantic.d.ts +0 -63
  619. package/dist/schemes/_entry-semantic.d.ts.map +0 -1
  620. package/dist/schemes/_entry-semantic.js +0 -299
  621. package/dist/schemes/_entry-semantic.js.map +0 -1
  622. package/dist/schemes/_entry-semantic.sql +0 -99
  623. package/dist/schemes/cosine.d.ts +0 -4
  624. package/dist/schemes/cosine.d.ts.map +0 -1
  625. package/dist/schemes/cosine.js +0 -9
  626. package/dist/schemes/cosine.js.map +0 -1
  627. package/dist/server/WorkerCapabilities.d.ts +0 -21
  628. package/dist/server/WorkerCapabilities.d.ts.map +0 -1
  629. package/dist/server/WorkerCapabilities.js.map +0 -1
  630. package/dist/server/WorkerResidency.d.ts +0 -40
  631. package/dist/server/WorkerResidency.d.ts.map +0 -1
  632. package/dist/server/WorkerResidency.js +0 -283
  633. package/dist/server/WorkerResidency.js.map +0 -1
  634. package/dist/server/seam-log-read.sql +0 -21
  635. package/dist/server/worker-capabilities.sql +0 -28
  636. package/migrations/001_schema.sql +0 -2207
@@ -1,7 +1,19 @@
1
1
  import Results from "./results.js";
2
2
  import ErrorDetail from "./ErrorDetail.js";
3
+ export function taskTiming(row) {
4
+ if (row.scheduled_at === null)
5
+ return {};
6
+ return {
7
+ scheduledAt: new Date(row.scheduled_at).toISOString(),
8
+ ...(row.repeat_interval_ms === null ? {} : {
9
+ intervalMinutes: row.repeat_interval_ms / 60_000,
10
+ recurrenceId: row.recurrence_root_loop_id ?? row.id,
11
+ }),
12
+ };
13
+ }
3
14
  export default class LoopLifecycle {
4
15
  #db;
16
+ #executions = new Map();
5
17
  constructor(db) {
6
18
  this.#db = db;
7
19
  }
@@ -21,24 +33,87 @@ export default class LoopLifecycle {
21
33
  return 500;
22
34
  throw new TypeError(`loop terminal result must have status 200 through 599; got ${status}`);
23
35
  }
24
- async park(loopId) {
36
+ async startExecution(loopId, budgetMs, onTimeout) {
37
+ if (this.#executions.has(loopId))
38
+ return true;
39
+ if (!Number.isSafeInteger(budgetMs) || budgetMs <= 0) {
40
+ throw new TypeError("loop execution allowance must be positive safe integer milliseconds");
41
+ }
42
+ const budget = await this.#db.lifecycle_execution_budget.get({ loop_id: loopId, budget_ms: budgetMs });
43
+ if (budget === undefined)
44
+ return false;
45
+ const started = performance.now();
46
+ const elapsed = () => budget.execution_elapsed_ms + performance.now() - started;
47
+ let timer;
48
+ const arm = () => {
49
+ const remaining = budget.execution_budget_ms - elapsed();
50
+ if (remaining <= 0)
51
+ onTimeout();
52
+ else
53
+ timer = setTimeout(arm, Math.min(2_147_483_647, Math.ceil(remaining))).unref();
54
+ };
55
+ this.#executions.set(loopId, {
56
+ workerId: budget.worker_id,
57
+ stop: () => {
58
+ clearTimeout(timer);
59
+ return elapsed();
60
+ },
61
+ });
62
+ arm();
63
+ return true;
64
+ }
65
+ #stopExecution(loopId) {
66
+ const execution = this.#executions.get(loopId);
67
+ if (execution === undefined)
68
+ return null;
69
+ this.#executions.delete(loopId);
70
+ return execution.stop();
71
+ }
72
+ async endExecution(loopId) {
73
+ const elapsed = this.#stopExecution(loopId);
74
+ if (elapsed !== null) {
75
+ await this.#db.lifecycle_checkpoint_execution.run({ loop_id: loopId, elapsed_ms: elapsed });
76
+ }
77
+ }
78
+ async park(loopId, timing = {}) {
79
+ const now = Date.now();
80
+ for (const value of [timing.timeoutMs, timing.pollMs]) {
81
+ if (value !== undefined && (!Number.isSafeInteger(value) || value < 0 || now + value > 8.64e15)) {
82
+ throw new TypeError("wait durations must be nonnegative safe integer milliseconds within the supported date range");
83
+ }
84
+ }
25
85
  return (await this.#db.lifecycle_park_loop.get({
26
86
  loop_id: loopId,
87
+ elapsed_ms: this.#stopExecution(loopId),
88
+ deadline_at: timing.timeoutMs === undefined ? null : now + timing.timeoutMs,
89
+ poll_interval: timing.pollMs ?? null,
90
+ poll_at: timing.pollMs === undefined || timing.pollMs === 0 ? null : now + timing.pollMs,
27
91
  })) !== undefined;
28
92
  }
29
- async wake(loopId) {
93
+ async wake(loopId, condition = {}) {
30
94
  return (await this.#db.lifecycle_wake_loop.get({
31
95
  loop_id: loopId,
96
+ revision: condition.revision ?? null,
97
+ due_at: condition.dueAt ?? null,
98
+ event_only: condition.eventOnly === true ? 1 : 0,
32
99
  })) !== undefined;
33
100
  }
101
+ parked(workerId) {
102
+ return this.#db.lifecycle_parked_loops.all({ worker_id: workerId });
103
+ }
104
+ async inheritPoll(loopId, revision, pollAt) {
105
+ await this.#db.lifecycle_set_inherited_poll.run({ loop_id: loopId, revision, poll_at: pollAt });
106
+ }
34
107
  async finish(loopId, result, options = {}) {
35
108
  const exact = structuredClone(Results.assert(result));
36
109
  if (exact.problem !== undefined && exact.problem.instance === undefined) {
37
110
  Results.attachInstance(exact, `loop:///${loopId}`);
38
111
  }
112
+ const status = LoopLifecycle.projectStatus(exact.status);
39
113
  const row = await this.#db.lifecycle_finish_loop.get({
40
114
  loop_id: loopId,
41
- status: LoopLifecycle.projectStatus(exact.status),
115
+ elapsed_ms: this.#stopExecution(loopId),
116
+ status,
42
117
  result: JSON.stringify(exact),
43
118
  terminated_by: options.terminatedBy ?? null,
44
119
  });
@@ -93,7 +168,16 @@ export default class LoopLifecycle {
93
168
  stage: "loop",
94
169
  retryable: false,
95
170
  });
96
- const loops = await this.#db.lifecycle_cancel_worker_tree.all({ ...params, result: JSON.stringify(cancellation) });
171
+ const workerIds = new Set(workers.map(({ worker_id }) => worker_id));
172
+ const worker_ids = JSON.stringify([...workerIds]);
173
+ const executions = [...this.#executions].flatMap(([loopId, execution]) => workerIds.has(execution.workerId)
174
+ ? [{ loop_id: loopId, elapsed_ms: this.#stopExecution(loopId) }]
175
+ : []);
176
+ if (executions.length > 0)
177
+ await this.#db.lifecycle_checkpoint_executions.run({ executions: JSON.stringify(executions) });
178
+ // {§worker-cancel-trigger} — one bound statement; the trigger retires the live loops inside it.
179
+ await this.#db.lifecycle_cancel_workers.run({ worker_ids, result: JSON.stringify(cancellation) });
180
+ const loops = await this.#db.lifecycle_cancelled_loops.all({ worker_cutoffs: JSON.stringify(workers) });
97
181
  return {
98
182
  workerIds: workers.map(({ worker_id }) => worker_id),
99
183
  loops: loops.map(({ loop_id, worker_id, terminal_result }) => ({
@@ -1 +1 @@
1
- {"version":3,"file":"LoopLifecycle.js","sourceRoot":"","sources":["../../src/core/LoopLifecycle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LoopLifecycle.js","sourceRoot":"","sources":["../../src/core/LoopLifecycle.ts"],"names":[],"mappings":"AAEA,OAAO,OAA8B,MAAM,cAAc,CAAC;AAC1D,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAe3C,MAAM,UAAU,UAAU,CAAC,GAE1B;IACG,IAAI,GAAG,CAAC,YAAY,KAAK,IAAI;QAAE,OAAO,EAAE,CAAC;IACzC,OAAO;QACH,WAAW,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE;QACrD,GAAG,CAAC,GAAG,CAAC,kBAAkB,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACvC,eAAe,EAAE,GAAG,CAAC,kBAAkB,GAAG,MAAM;YAChD,YAAY,EAAE,GAAG,CAAC,uBAAuB,IAAI,GAAG,CAAC,EAAE;SACtD,CAAC;KACL,CAAC;AACN,CAAC;AAeD,MAAM,CAAC,OAAO,OAAO,aAAa;IAC9B,GAAG,CAAK;IACR,WAAW,GAAG,IAAI,GAAG,EAAoD,CAAC;IAE1E,YAAY,EAAM;QACd,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;IAClB,CAAC;IAED,yEAAyE;IACzE,2EAA2E;IAC3E,yEAAyE;IACzE,mDAAmD;IACnD,MAAM,CAAC,aAAa,CAAC,MAAc;QAC/B,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YACjB,MAAM,IAAI,SAAS,CAAC,uEAAuE,CAAC,CAAC;QACjG,CAAC;QACD,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,MAAM,CAAC;QACxE,IAAI,MAAM,IAAI,GAAG,IAAI,MAAM,IAAI,GAAG;YAAE,OAAO,GAAG,CAAC;QAC/C,IAAI,MAAM,IAAI,GAAG,IAAI,MAAM,IAAI,GAAG;YAAE,OAAO,GAAG,CAAC;QAC/C,MAAM,IAAI,SAAS,CAAC,8DAA8D,MAAM,EAAE,CAAC,CAAC;IAChG,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,MAAc,EAAE,QAAgB,EAAE,SAAqB;QACxE,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC;QAC9C,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;YACnD,MAAM,IAAI,SAAS,CAAC,qEAAqE,CAAC,CAAC;QAC/F,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,0BAA0B,CAAC,GAAG,CAEzD,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC7C,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QACvC,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,GAAW,EAAE,CAAC,MAAM,CAAC,oBAAoB,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC;QACxF,IAAI,KAAgD,CAAC;QACrD,MAAM,GAAG,GAAG,GAAS,EAAE;YACnB,MAAM,SAAS,GAAG,MAAM,CAAC,mBAAmB,GAAG,OAAO,EAAE,CAAC;YACzD,IAAI,SAAS,IAAI,CAAC;gBAAE,SAAS,EAAE,CAAC;;gBAC3B,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QACxF,CAAC,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE;YACzB,QAAQ,EAAE,MAAM,CAAC,SAAS;YAC1B,IAAI,EAAE,GAAG,EAAE;gBACP,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,OAAO,OAAO,EAAE,CAAC;YACrB,CAAC;SACJ,CAAC,CAAC;QACH,GAAG,EAAE,CAAC;QACN,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,cAAc,CAAC,MAAc;QACzB,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,SAAS,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QACzC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAChC,OAAO,SAAS,CAAC,IAAI,EAAE,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAc;QAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,CAAC,GAAG,CAAC,8BAA8B,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;QAChG,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAAc,EAAE,MAAM,GAA4C,EAAE;QAC3E,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,KAAK,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YACpD,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,GAAG,GAAG,KAAK,GAAG,OAAO,CAAC,EAAE,CAAC;gBAC9F,MAAM,IAAI,SAAS,CAAC,8FAA8F,CAAC,CAAC;YACxH,CAAC;QACL,CAAC;QACD,OAAO,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,GAAG,CAAiB;YAC3D,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;YACvC,WAAW,EAAE,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,SAAS;YAC3E,aAAa,EAAE,MAAM,CAAC,MAAM,IAAI,IAAI;YACpC,OAAO,EAAE,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM;SAC3F,CAAC,CAAC,KAAK,SAAS,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAAc,EAAE,SAAS,GAA+D,EAAE;QACjG,OAAO,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,GAAG,CAAiB;YAC3D,OAAO,EAAE,MAAM;YACf,QAAQ,EAAE,SAAS,CAAC,QAAQ,IAAI,IAAI;YACpC,MAAM,EAAE,SAAS,CAAC,KAAK,IAAI,IAAI;YAC/B,UAAU,EAAE,SAAS,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACnD,CAAC,CAAC,KAAK,SAAS,CAAC;IACtB,CAAC;IAED,MAAM,CAAC,QAAgB;QACnB,OAAO,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,GAAG,CAAa,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;IACpF,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAAc,EAAE,QAAgB,EAAE,MAAc;QAC9D,MAAM,IAAI,CAAC,GAAG,CAAC,4BAA4B,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IACpG,CAAC;IAED,KAAK,CAAC,MAAM,CACR,MAAc,EACd,MAAoB,EACpB,OAAO,GAAuC,EAAE;QAEhD,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QACtD,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACtE,OAAO,CAAC,cAAc,CAAC,KAAK,EAAE,WAAW,MAAM,EAAE,CAAC,CAAC;QACvD,CAAC;QACD,MAAM,MAAM,GAAG,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACzD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,GAAG,CAA8B;YAC9E,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;YACvC,MAAM;YACN,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAC7B,aAAa,EAAE,OAAO,CAAC,YAAY,IAAI,IAAI;SAC9C,CAAC,CAAC;QACH,IAAI,GAAG,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QACnC,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAiB,CAAC,CAAC;IAC3E,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAAc;QACvB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,GAAG,CAAqD;YACrG,OAAO,EAAE,MAAM;SAClB,CAAC,CAAC;QACH,IAAI,GAAG,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,MAAM,iBAAiB,CAAC,CAAC;QACxE,OAAO,GAAG,CAAC,MAAM,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAAc;QACvB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,GAAG,CAAqD;YACrG,OAAO,EAAE,MAAM;SAClB,CAAC,CAAC;QACH,IAAI,GAAG,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,MAAM,iBAAiB,CAAC,CAAC;QACxE,OAAO,GAAG,CAAC,eAAe,KAAK,IAAI;YAC/B,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAiB,CAAC,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAAc;QACxB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,GAAG,CAAiB;YACjE,OAAO,EAAE,MAAM;SAClB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,MAAc;QAC/B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,+BAA+B,CAAC,GAAG,CAAoB;YAC9E,OAAO,EAAE,MAAM;SAClB,CAAC,CAAC;QACH,IAAI,GAAG,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,MAAM,kCAAkC,CAAC,CAAC;QACzF,OAAO,GAAG,CAAC,KAAK,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,QAAgB,EAAE,MAAc,EAAE,WAAoB;QACnE,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,wBAAwB,CAAC;QAC9E,MAAM,MAAM,GAAG;YACX,SAAS,EAAE,QAAQ;YACnB,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACpC,CAAC;QACF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,GAAG,CAA4D;YAChH,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,YAAY,EAAE,MAAM,CAAC,YAAY;SACpC,CAAC,CAAC;QACH,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAChC,kBAAkB,EAClB,iBAAiB,EACjB,GAAG,EACH,mCAAmC,aAAa,GAAG,EACnD,EAAE,EACF;YACI,MAAM,EAAE,aAAa;YACrB,KAAK,EAAE,MAAM;YACb,SAAS,EAAE,KAAK;SACnB,CACJ,CAAC;QACF,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;QACrE,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;QAClD,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,EAAE,CACrE,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC;YAC7B,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;YAChE,CAAC,CAAC,EAAE,CAAC,CAAC;QACd,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,IAAI,CAAC,GAAG,CAAC,+BAA+B,CAAC,GAAG,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC1H,gGAAgG;QAChG,MAAM,IAAI,CAAC,GAAG,CAAC,wBAAwB,CAAC,GAAG,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAClG,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,yBAAyB,CAAC,GAAG,CAIvD,EAAE,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAChD,OAAO;YACH,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC;YACpD,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC3D,MAAM,EAAE,OAAO;gBACf,QAAQ,EAAE,SAAS;gBACnB,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAiB,CAAC;aACtE,CAAC,CAAC;SACN,CAAC;IACN,CAAC;CACJ"}
@@ -1,22 +1,60 @@
1
1
  -- Durable loop lifecycle transitions. LoopLifecycle is the only TypeScript owner
2
- -- of these statements; callers request transitions rather than writing status.
2
+ -- of the transitions; callers request them rather than writing status. The loop's
3
+ -- identity read (engine_loop_sequence) is shared by every coordinate renderer.
4
+
5
+ -- PREP: lifecycle_execution_budget
6
+ UPDATE loops SET execution_budget_ms = COALESCE(execution_budget_ms, $budget_ms)
7
+ WHERE id = $loop_id AND status = 102
8
+ RETURNING worker_id, execution_budget_ms, execution_elapsed_ms;
9
+
10
+ -- PREP: lifecycle_checkpoint_execution
11
+ UPDATE loops SET execution_elapsed_ms = $elapsed_ms WHERE id = $loop_id;
3
12
 
4
13
  -- PREP: lifecycle_park_loop
5
14
  UPDATE loops
6
- SET status = 202
15
+ SET status = 202,
16
+ execution_elapsed_ms = COALESCE($elapsed_ms, execution_elapsed_ms),
17
+ wait_revision = wait_revision + 1,
18
+ wait_deadline_at = $deadline_at,
19
+ wait_poll_interval = $poll_interval,
20
+ wait_poll_at = $poll_at
7
21
  WHERE id = $loop_id AND status = 102
8
22
  RETURNING id;
9
23
 
10
24
  -- PREP: lifecycle_wake_loop
11
25
  UPDATE loops
12
- SET status = 100
26
+ SET status = 100,
27
+ wait_deadline_at = NULL,
28
+ wait_poll_interval = NULL,
29
+ wait_poll_at = NULL
13
30
  WHERE id = $loop_id AND status = 202
31
+ AND ($revision IS NULL OR wait_revision = $revision)
32
+ AND ($due_at IS NULL OR wait_deadline_at <= $due_at OR wait_poll_at <= $due_at)
33
+ AND ($event_only = 0 OR observed_wake_revision < (SELECT wake_revision FROM workers WHERE id = loops.worker_id))
14
34
  RETURNING id;
15
35
 
36
+ -- PREP: lifecycle_parked_loops
37
+ SELECT id, wait_revision, wait_deadline_at, wait_poll_interval, wait_poll_at
38
+ FROM loops WHERE worker_id = $worker_id AND status = 202
39
+ ORDER BY sequence;
40
+
41
+ -- PREP: lifecycle_set_inherited_poll
42
+ UPDATE loops SET wait_poll_at = $poll_at
43
+ WHERE id = $loop_id AND status = 202 AND wait_revision = $revision
44
+ AND wait_poll_interval IS NULL AND wait_poll_at IS NULL;
45
+
16
46
  -- PREP: lifecycle_finish_loop
17
47
  UPDATE loops
18
48
  SET status = $status,
19
- terminal_result = $result,
49
+ execution_elapsed_ms = COALESCE($elapsed_ms, execution_elapsed_ms),
50
+ wait_deadline_at = NULL,
51
+ wait_poll_interval = NULL,
52
+ wait_poll_at = NULL,
53
+ terminal_result = CASE WHEN EXISTS (SELECT 1 FROM loop_responses WHERE loop_id = loops.id)
54
+ THEN json_set($result,
55
+ '$.content', (SELECT content FROM loop_responses WHERE loop_id = loops.id),
56
+ '$.mimetype', 'text/markdown')
57
+ ELSE $result END,
20
58
  terminated_by = $terminated_by
21
59
  WHERE id = $loop_id AND status IN (100, 102, 202)
22
60
  RETURNING terminal_result;
@@ -45,29 +83,108 @@ WITH RECURSIVE tree(id, depth) AS (
45
83
  FROM workers child
46
84
  JOIN tree ON child.parent_worker_id = tree.id
47
85
  )
48
- SELECT id AS worker_id, depth
49
- FROM tree
50
- WHERE $include_root = 1 OR id <> $worker_id
51
- ORDER BY depth DESC, id;
52
-
53
- -- PREP: lifecycle_cancel_worker_tree
54
- WITH RECURSIVE tree(id) AS (
55
- SELECT id FROM workers WHERE id = $worker_id
56
- UNION ALL
57
- SELECT child.id
58
- FROM workers child
59
- JOIN tree ON child.parent_worker_id = tree.id
60
- )
86
+ -- CROSS JOIN fixes the nesting: the walked tree is the outer loop and each worker is a
87
+ -- primary-key probe, instead of a scan of every worker probing the tree ({§db-fk-indexes}).
88
+ SELECT tree.id AS worker_id, tree.depth, workers.cancelled_through_sequence
89
+ FROM tree CROSS JOIN workers ON workers.id = tree.id
90
+ WHERE $include_root = 1 OR tree.id <> $worker_id
91
+ ORDER BY tree.depth DESC, tree.id;
92
+
93
+ -- PREP: lifecycle_checkpoint_executions
94
+ -- Consumption measured by the process-local monotonic timers ({§loop-execution-allowance}) lands
95
+ -- before the cutoff, so the cancellation trigger finds every live loop's charge already durable.
61
96
  UPDATE loops
62
- SET status = 499,
63
- terminal_result = json_set(
64
- $result,
65
- '$.problem.instance',
66
- 'loop:///' || id
67
- ),
68
- terminated_by = 'cancel'
69
- WHERE worker_id IN (
70
- SELECT id FROM tree WHERE $include_root = 1 OR id <> $worker_id
97
+ SET execution_elapsed_ms = (
98
+ SELECT json_extract(value, '$.elapsed_ms') FROM json_each($executions)
99
+ WHERE json_extract(value, '$.loop_id') = loops.id
71
100
  )
72
- AND status IN (100, 102, 202)
73
- RETURNING id AS loop_id, worker_id, terminal_result;
101
+ WHERE id IN (SELECT json_extract(value, '$.loop_id') FROM json_each($executions));
102
+
103
+ -- PREP: lifecycle_cancel_workers
104
+ -- {§worker-causal-admission}: the cutoff and the cancellation are one durable decision — this
105
+ -- statement writes both onto the worker, and workers_cancel_live_loops retires the loops inside it.
106
+ UPDATE workers
107
+ SET cancelled_through_sequence = MAX(cancelled_through_sequence, COALESCE(
108
+ (SELECT MAX(sequence) FROM loops WHERE worker_id = workers.id), 0
109
+ )),
110
+ cancellation = $result
111
+ WHERE id IN (SELECT value FROM json_each($worker_ids));
112
+
113
+ -- PREP: lifecycle_cancelled_loops
114
+ SELECT loops.id AS loop_id, loops.worker_id, loops.terminal_result FROM loops
115
+ JOIN json_each($worker_cutoffs) cutoff ON loops.worker_id = json_extract(cutoff.value, '$.worker_id')
116
+ WHERE loops.sequence > json_extract(cutoff.value, '$.cancelled_through_sequence')
117
+ AND loops.status = 499 AND loops.terminated_by = 'cancel'
118
+ ORDER BY loops.id;
119
+
120
+ -- INIT: loops_schedule_successor
121
+ -- {§worker-scheduled-send}: settlement and successor admission are one mutation.
122
+ -- Claims coalesce elapsed cadence slots; neither prompts nor effects are replayed.
123
+ DROP TRIGGER IF EXISTS loops_schedule_successor;
124
+ CREATE TRIGGER loops_schedule_successor
125
+ AFTER UPDATE OF status ON loops
126
+ WHEN NEW.status = 200 AND OLD.status IN (100, 102, 202)
127
+ AND NEW.repeat_interval_ms IS NOT NULL
128
+ BEGIN
129
+ INSERT INTO loops (
130
+ worker_id, sequence, status, prompt, prompt_source, policy,
131
+ model_route_id, spawn_model_route_id, reasoning_policy, max_turns,
132
+ execution_budget_ms, open_paths, scheduled_at, repeat_interval_ms, recurrence_root_loop_id
133
+ )
134
+ SELECT NEW.worker_id,
135
+ (SELECT COALESCE(MAX(sequence), 0) + 1 FROM loops WHERE worker_id = NEW.worker_id),
136
+ 100, seed.prompt, seed.prompt_source, seed.policy,
137
+ seed.model_route_id, seed.spawn_model_route_id, seed.reasoning_policy, seed.max_turns,
138
+ seed.execution_budget_ms, seed.open_paths,
139
+ NEW.scheduled_at + NEW.repeat_interval_ms, NEW.repeat_interval_ms, seed.id
140
+ FROM loops seed
141
+ WHERE seed.id = COALESCE(NEW.recurrence_root_loop_id, NEW.id);
142
+ END;
143
+
144
+ -- INIT: loops_stamp_terminated_at
145
+ -- {§worker-scheme}: a loop crossing into a terminal status stamps terminated_at, so sibling
146
+ -- workers pull the termination as a folded ambient delta — caught uniformly across every
147
+ -- death-path (SEND, overflow recovery, max-turns, strike, KILL). The stamp updates terminated_at,
148
+ -- never status, so it cannot re-fire this trigger. Terminals: 200 done · 413 budget ·
149
+ -- 429 turn-ceiling · 499 cancel · 500 fail · 504 execution timeout · 508 runaway. (202 = parked/sleeping, NOT terminal.)
150
+ DROP TRIGGER IF EXISTS loops_stamp_terminated_at;
151
+ CREATE TRIGGER loops_stamp_terminated_at
152
+ AFTER UPDATE OF status ON loops
153
+ WHEN NEW.status IN (200, 413, 429, 499, 500, 504, 508) AND OLD.status NOT IN (200, 413, 429, 499, 500, 504, 508)
154
+ BEGIN
155
+ UPDATE loops SET terminated_at = strftime('%Y-%m-%dT%H:%M:%fZ', 'now') WHERE id = NEW.id;
156
+ END;
157
+
158
+ -- INIT: workers_cancel_live_loops
159
+ -- {§worker-cancel-trigger}: writing a worker's cancellation retires its live loops in the same
160
+ -- statement — 499, waits cleared, the delivered response kept as the result's content, the
161
+ -- Problem instanced per loop. Loops already terminal keep their own outcome.
162
+ DROP TRIGGER IF EXISTS workers_cancel_live_loops;
163
+ CREATE TRIGGER workers_cancel_live_loops
164
+ AFTER UPDATE OF cancellation ON workers
165
+ WHEN NEW.cancellation IS NOT NULL
166
+ BEGIN
167
+ UPDATE loops
168
+ SET status = 499,
169
+ wait_deadline_at = NULL,
170
+ wait_poll_interval = NULL,
171
+ wait_poll_at = NULL,
172
+ terminal_result = json_set(
173
+ CASE WHEN EXISTS (SELECT 1 FROM loop_responses WHERE loop_id = loops.id)
174
+ THEN json_set(NEW.cancellation,
175
+ '$.content', (SELECT content FROM loop_responses WHERE loop_id = loops.id),
176
+ '$.mimetype', 'text/markdown')
177
+ ELSE NEW.cancellation END,
178
+ '$.problem.instance',
179
+ 'loop:///' || id
180
+ ),
181
+ terminated_by = 'cancel'
182
+ WHERE worker_id = NEW.id
183
+ AND status IN (100, 102, 202);
184
+ END;
185
+
186
+ -- PREP: engine_loop_sequence
187
+ -- The loop's per-worker sequence — the model-facing coordinate (prompt/<worker>/<loop-seq>/<turn-seq>,
188
+ -- matching the log's loop-relative numbering). The raw db id leaked into prompt paths and the
189
+ -- model's first loop read as prompt/2/1 (the docs loop holds id 1). Owner: minor but annoying.
190
+ SELECT sequence FROM loops WHERE id = $loop_id;
@@ -0,0 +1,6 @@
1
+ -- LoopPolicyReader: the loop's immutable policy.
2
+
3
+ -- PREP: engine_get_loop_policy
4
+ -- Complete persisted policy. LoopPolicyReader is the sole validation path
5
+ -- ({§loop-policy-effective-read}).
6
+ SELECT policy FROM loops WHERE id = $loop_id;
@@ -1 +1 @@
1
- {"version":3,"file":"MembershipMaterialization.d.ts","sourceRoot":"","sources":["../../src/core/MembershipMaterialization.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAI7D,OAAO,KAAK,EAAE,YAAY,EAA4C,MAAM,qBAAqB,CAAC;AAqClG,MAAM,CAAC,OAAO,OAAO,yBAAyB;;IAU1C,OAAa,iBAAiB,CAC1B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,mBAAmB,EACxB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,GACzC,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAqI9B;CAoKJ"}
1
+ {"version":3,"file":"MembershipMaterialization.d.ts","sourceRoot":"","sources":["../../src/core/MembershipMaterialization.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAG7D,OAAO,KAAK,EAAE,YAAY,EAA4C,MAAM,qBAAqB,CAAC;AAqClG,MAAM,CAAC,OAAO,OAAO,yBAAyB;;IAU1C,OAAa,iBAAiB,CAC1B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,mBAAmB,EACxB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,GACzC,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAmH9B;CAuJJ"}
@@ -3,7 +3,6 @@ import { readFile, stat } from "node:fs/promises";
3
3
  import { join } from "node:path";
4
4
  import { MimetypeInputLimitError } from "@plurnk/plurnk-mimetypes";
5
5
  import { MimetypeBinary } from "../content/index.js";
6
- import Owner from "./Owner.js";
7
6
  import EntryCrud from "../schemes/_entry-crud.js";
8
7
  import FileMaterialization from "./file-materialization.js";
9
8
  const ABSENT_SIG = "absent";
@@ -50,9 +49,8 @@ export default class MembershipMaterialization {
50
49
  // reappearance another observable divergence.
51
50
  static async materializeMember(pathname, root, ctx, identities) {
52
51
  const canonical = join(root, pathname); // pathname is namespace-absolute (`/src/foo.ts`); join roots it at the workspace
53
- const commonsId = await Owner.commonsId(ctx.db, ctx.workspaceId);
54
52
  const known = await ctx.db.crud_get_member_sig.get({
55
- workspace_id: ctx.workspaceId, owner_id: commonsId, scheme: "file", authority: "", pathname,
53
+ workspace_id: ctx.workspaceId, scheme: "file", authority: "", pathname,
56
54
  });
57
55
  // SPEC {§membership-change-gated-sync} — the cheap detect is a stat (mtime:size),
58
56
  // never a content read: a member whose signature matches its last sync is a
@@ -76,7 +74,6 @@ export default class MembershipMaterialization {
76
74
  return null;
77
75
  const prior = await ctx.db.ops_read_channel.get({
78
76
  workspace_id: ctx.workspaceId,
79
- owner_id: commonsId,
80
77
  scheme: "file",
81
78
  authority: "",
82
79
  pathname,
@@ -109,7 +106,7 @@ export default class MembershipMaterialization {
109
106
  }
110
107
  }
111
108
  }
112
- const mimetype = await MembershipMaterialization.#detectMimetype(canonical, ctx.mimetypes);
109
+ const mimetype = await FileMaterialization.detectMimetype(canonical, ctx.mimetypes);
113
110
  const sourceMaterialization = FileMaterialization.classify(sourceBytes);
114
111
  if (sourceMaterialization.disposition === "input-limit") {
115
112
  return MembershipMaterialization.#materializeLimited(pathname, mimetype, sig, known?.synced_sig !== sig, known?.synced_sig === ABSENT_SIG, sourceMaterialization, ctx);
@@ -126,26 +123,19 @@ export default class MembershipMaterialization {
126
123
  return null;
127
124
  throw err;
128
125
  }
129
- // {§membership-binary-sniff} — the extension map can lie (.wasm fell through to
130
- // the markdown DEFAULT and a 3.3MB blob entered the corpus as prose, three copies,
131
- // ~10M tokens). NUL bytes in the head are binary truth regardless of the label:
132
- // re-stamp octet-stream and take the same bounded projection-or-marker arm.
133
- if (buf.subarray(0, 8192).includes(0)) {
134
- return MembershipMaterialization.#materializeBinary(pathname, { content: buf, hint: "application/octet-stream" }, "application/octet-stream", sig, known?.synced_sig !== sig, known?.synced_sig === ABSENT_SIG, ctx, identities);
135
- }
136
126
  const content = buf.toString("utf8");
137
127
  // {§env-delta-filesystem-narration} — capture the prior snapshot before
138
128
  // materialization replaces it, then journal the resulting net span.
139
129
  const diskChanged = known?.synced_sig !== sig;
140
130
  const prior = diskChanged
141
131
  ? await ctx.db.ops_read_channel.get({
142
- workspace_id: ctx.workspaceId, owner_id: commonsId, scheme: "file", authority: "", pathname, channel: "body",
132
+ workspace_id: ctx.workspaceId, scheme: "file", authority: "", pathname, channel: "body",
143
133
  })
144
134
  : undefined;
145
135
  const result = await EntryCrud.writeEntry({ authority: "", pathname }, {
146
136
  channels: { body: { content, mimetype } },
147
137
  attributes: FileMaterialization.attributes(sourceMaterialization),
148
- }, ctx, "file", commonsId);
138
+ }, ctx, "file");
149
139
  if (result.entryId !== null)
150
140
  await ctx.db.crud_set_synced_sig.run({ entry_id: result.entryId, synced_sig: sig });
151
141
  const changed = prior !== undefined && prior.content !== content;
@@ -197,7 +187,6 @@ export default class MembershipMaterialization {
197
187
  const prior = diskChanged && metadata.disposition === "projected"
198
188
  ? await ctx.db.ops_read_channel.get({
199
189
  workspace_id: ctx.workspaceId,
200
- owner_id: await Owner.commonsId(ctx.db, ctx.workspaceId),
201
190
  scheme: "file",
202
191
  authority: "",
203
192
  pathname,
@@ -207,7 +196,7 @@ export default class MembershipMaterialization {
207
196
  const result = await EntryCrud.writeEntry({ authority: "", pathname }, {
208
197
  channels: { body: { content, mimetype: outputMimetype } },
209
198
  attributes: { sourceProjection: metadata },
210
- }, ctx, "file", await Owner.commonsId(ctx.db, ctx.workspaceId));
199
+ }, ctx, "file");
211
200
  if (result.entryId !== null) {
212
201
  await ctx.db.crud_set_synced_sig.run({ entry_id: result.entryId, synced_sig: sig });
213
202
  }
@@ -233,21 +222,10 @@ export default class MembershipMaterialization {
233
222
  }
234
223
  return identity;
235
224
  }
236
- // Detect a tracked file's mimetype (mirrors File.detectFileMimetype) through
237
- // the configured registry, normalizing auto-derived text/plain to the text
238
- // primitive.
239
- static async #detectMimetype(canonical, mimetypes) {
240
- if (mimetypes === undefined)
241
- throw new Error("GitMembership: configured mimetype registry is required");
242
- const detected = await mimetypes.detect({ path: canonical });
243
- return MimetypeBinary.normalizeAutoTextMimetype(detected);
244
- }
245
225
  static async #materializeLimited(pathname, mimetype, sig, diskChanged, previouslyAbsent, metadata, ctx) {
246
- const commonsId = await Owner.commonsId(ctx.db, ctx.workspaceId);
247
226
  const prior = diskChanged
248
227
  ? await ctx.db.ops_read_channel.get({
249
228
  workspace_id: ctx.workspaceId,
250
- owner_id: commonsId,
251
229
  scheme: "file",
252
230
  authority: "",
253
231
  pathname,
@@ -263,7 +241,7 @@ export default class MembershipMaterialization {
263
241
  },
264
242
  },
265
243
  attributes: FileMaterialization.attributes(metadata),
266
- }, ctx, "file", commonsId);
244
+ }, ctx, "file");
267
245
  if (result.entryId !== null) {
268
246
  await ctx.db.crud_set_synced_sig.run({ entry_id: result.entryId, synced_sig: sig });
269
247
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MembershipMaterialization.js","sourceRoot":"","sources":["../../src/core/MembershipMaterialization.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MembershipMaterialization.js","sourceRoot":"","sources":["../../src/core/MembershipMaterialization.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ -- ModelCall: the logical model call beneath a turn attempt, and its closing triggers.
2
+
3
+ -- PREP: engine_open_model_call
4
+ -- Logical identity and request attribution become durable before provider I/O.
5
+ INSERT INTO inference_calls (
6
+ workspace_id, turn_id, sequence, kind, attributions, request_model
7
+ )
8
+ SELECT
9
+ w.workspace_id,
10
+ t.id,
11
+ COALESCE((SELECT MAX(sequence) FROM inference_calls WHERE turn_id = $turn_id), 0) + 1,
12
+ $kind,
13
+ $attributions,
14
+ $model
15
+ FROM turns t
16
+ JOIN loops l ON l.id = t.loop_id
17
+ JOIN workers w ON w.id = l.worker_id
18
+ WHERE t.id = $turn_id
19
+ RETURNING id, sequence;
20
+
21
+ -- PREP: engine_observe_model_call_response
22
+ -- Preserve the logical response before call-specific interpretation. Physical
23
+ -- request accounting has already settled through its cardinal observer path.
24
+ UPDATE model_calls SET
25
+ native_inputs = $native_inputs,
26
+ response = $response,
27
+ failure = $failure,
28
+ capacity = $capacity,
29
+ finish_reason = $finish_reason,
30
+ response_model = $model
31
+ WHERE id = $id
32
+ AND (SELECT state FROM inference_calls WHERE id = model_calls.id) = 'pending';
33
+
34
+ -- PREP: engine_fail_model_call
35
+ UPDATE model_calls SET
36
+ failure = $failure,
37
+ capacity = $capacity
38
+ WHERE id = $id
39
+ AND (SELECT state FROM inference_calls WHERE id = model_calls.id) = 'pending';
40
+
41
+ -- INIT: inference_calls_create_model_specialization
42
+ DROP TRIGGER IF EXISTS inference_calls_create_model_specialization;
43
+ CREATE TRIGGER inference_calls_create_model_specialization
44
+ AFTER INSERT ON inference_calls
45
+ WHEN NEW.kind IN ('emission', 'bare')
46
+ BEGIN
47
+ INSERT INTO model_calls (id) VALUES (NEW.id);
48
+ END;
49
+
50
+ -- INIT: model_calls_close_response
51
+ DROP TRIGGER IF EXISTS model_calls_close_response;
52
+ CREATE TRIGGER model_calls_close_response
53
+ AFTER UPDATE OF response ON model_calls
54
+ WHEN NEW.response IS NOT NULL
55
+ BEGIN
56
+ UPDATE inference_calls
57
+ SET state = 'response', completed_at = strftime('%Y-%m-%dT%H:%M:%fZ', 'now')
58
+ WHERE id = NEW.id AND state = 'pending';
59
+ END;
60
+
61
+ -- INIT: model_calls_close_error
62
+ DROP TRIGGER IF EXISTS model_calls_close_error;
63
+ CREATE TRIGGER model_calls_close_error
64
+ AFTER UPDATE OF failure ON model_calls
65
+ WHEN NEW.failure IS NOT NULL AND NEW.response IS NULL
66
+ BEGIN
67
+ UPDATE inference_calls
68
+ SET state = 'error', completed_at = strftime('%Y-%m-%dT%H:%M:%fZ', 'now')
69
+ WHERE id = NEW.id AND state = 'pending';
70
+ END;
@@ -1,7 +1,7 @@
1
1
  import { type ScopeNormalization } from "@plurnk/plurnk-schemes";
2
2
  import type { ProposalSettlement } from "./ProposalLifecycle.ts";
3
3
  import { type EditBatchReceipt, type LineAnchorPrecondition, type ResourceEffect, type ResourceEffectAction } from "../content/index.ts";
4
- import type { DispatchResult, PreparedEdit, ResourceAddress, AddressedResourceSelection, ResolvedResourceSelection, SelectedSource, DeferredMoveSource, PendingResourceEffect } from "./mutation-types.ts";
4
+ import type { DispatchResult, ResourceAddress, AddressedResourceSelection, ResolvedResourceSelection, SelectedSource, DeferredMoveSource, PendingResourceEffect } from "./mutation-types.ts";
5
5
  export default class MutationEffects {
6
6
  static failure(code: string, status: number, detail: string, fields?: Readonly<Record<string, unknown>>, extensions?: Readonly<Record<string, unknown>>): DispatchResult;
7
7
  static isDispatchResult(value: AddressedResourceSelection | SelectedSource | DispatchResult): value is DispatchResult;
@@ -17,10 +17,12 @@ export default class MutationEffects {
17
17
  static resourceAddress(selection: ResourceAddress): string;
18
18
  static pendingEffect(selection: ResourceAddress, action: ResourceEffectAction): PendingResourceEffect;
19
19
  static withProposalRoute(result: DispatchResult, selection: ResourceAddress): DispatchResult;
20
- static projectPreparedEdit(prepared: PreparedEdit): Promise<DispatchResult>;
20
+ static projectEdit(result: DispatchResult): DispatchResult;
21
21
  static finalizeEffects(result: DispatchResult, selection: ResourceAddress, pending: readonly PendingResourceEffect[]): DispatchResult;
22
22
  static sameChannel(left: ResourceAddress, right: ResourceAddress): boolean;
23
23
  static moveFailureAfterDestination(result: DispatchResult, destination: string, destinationEffects: readonly ResourceEffect[]): DispatchResult;
24
- static deferredMoveSource(source: ResolvedResourceSelection, destination: ResourceAddress, lineAnchorPrecondition: LineAnchorPrecondition | null): DeferredMoveSource;
24
+ static deferredMoveSource(source: ResolvedResourceSelection & {
25
+ readonly matchedLines?: readonly number[];
26
+ }, destination: ResourceAddress, lineAnchorPrecondition: LineAnchorPrecondition | null): DeferredMoveSource;
25
27
  }
26
28
  //# sourceMappingURL=MutationEffects.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MutationEffects.d.ts","sourceRoot":"","sources":["../../src/core/MutationEffects.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MutationEffects.d.ts","sourceRoot":"","sources":["../../src/core/MutationEffects.ts"],"names":[],"mappings":"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"}