@plurnk/plurnk-service 1.26.0 → 1.28.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 (293) hide show
  1. package/.env.defaults +16 -25
  2. package/SPEC.md +338 -263
  3. package/dist/build-info.json +1 -1
  4. package/dist/content/body-preview.d.ts +1 -0
  5. package/dist/content/body-preview.d.ts.map +1 -1
  6. package/dist/content/body-preview.js +7 -0
  7. package/dist/content/body-preview.js.map +1 -1
  8. package/dist/content/byte-view.d.ts +19 -2
  9. package/dist/content/byte-view.d.ts.map +1 -1
  10. package/dist/content/byte-view.js +67 -14
  11. package/dist/content/byte-view.js.map +1 -1
  12. package/dist/content/edit-receipt.js +1 -1
  13. package/dist/content/edit-receipt.js.map +1 -1
  14. package/dist/content/line-marker.d.ts +1 -0
  15. package/dist/content/line-marker.d.ts.map +1 -1
  16. package/dist/content/line-marker.js +6 -1
  17. package/dist/content/line-marker.js.map +1 -1
  18. package/dist/content/line-selection.d.ts +3 -1
  19. package/dist/content/line-selection.d.ts.map +1 -1
  20. package/dist/content/line-selection.js +27 -3
  21. package/dist/content/line-selection.js.map +1 -1
  22. package/dist/content/matcher.d.ts +9 -14
  23. package/dist/content/matcher.d.ts.map +1 -1
  24. package/dist/content/matcher.js +51 -45
  25. package/dist/content/matcher.js.map +1 -1
  26. package/dist/content/pattern-edits.d.ts +7 -26
  27. package/dist/content/pattern-edits.d.ts.map +1 -1
  28. package/dist/content/pattern-edits.js +54 -91
  29. package/dist/content/pattern-edits.js.map +1 -1
  30. package/dist/content/read-projector.d.ts +2 -1
  31. package/dist/content/read-projector.d.ts.map +1 -1
  32. package/dist/content/read-projector.js +42 -10
  33. package/dist/content/read-projector.js.map +1 -1
  34. package/dist/content/read-resolve.d.ts.map +1 -1
  35. package/dist/content/read-resolve.js +7 -4
  36. package/dist/content/read-resolve.js.map +1 -1
  37. package/dist/core/AdmittedTurnExecutor.d.ts +3 -1
  38. package/dist/core/AdmittedTurnExecutor.d.ts.map +1 -1
  39. package/dist/core/AdmittedTurnExecutor.js +22 -7
  40. package/dist/core/AdmittedTurnExecutor.js.map +1 -1
  41. package/dist/core/BudgetReadout.d.ts +4 -4
  42. package/dist/core/BudgetReadout.d.ts.map +1 -1
  43. package/dist/core/BudgetReadout.js +26 -41
  44. package/dist/core/BudgetReadout.js.map +1 -1
  45. package/dist/core/ChannelWrite.d.ts +2 -3
  46. package/dist/core/ChannelWrite.d.ts.map +1 -1
  47. package/dist/core/ChannelWrite.js +21 -22
  48. package/dist/core/ChannelWrite.js.map +1 -1
  49. package/dist/core/ChannelWrite.sql +26 -0
  50. package/dist/core/ContextFit.d.ts +26 -0
  51. package/dist/core/ContextFit.d.ts.map +1 -0
  52. package/dist/core/ContextFit.js +56 -0
  53. package/dist/core/ContextFit.js.map +1 -0
  54. package/dist/core/DataStatementRunner.d.ts.map +1 -1
  55. package/dist/core/DataStatementRunner.js +1 -0
  56. package/dist/core/DataStatementRunner.js.map +1 -1
  57. package/dist/core/Dispatcher.d.ts +15 -2
  58. package/dist/core/Dispatcher.d.ts.map +1 -1
  59. package/dist/core/Dispatcher.js +148 -16
  60. package/dist/core/Dispatcher.js.map +1 -1
  61. package/dist/core/EditMutations.d.ts +5 -5
  62. package/dist/core/EditMutations.d.ts.map +1 -1
  63. package/dist/core/EditMutations.js +44 -50
  64. package/dist/core/EditMutations.js.map +1 -1
  65. package/dist/core/EditSequence.js +2 -2
  66. package/dist/core/EditSequence.js.map +1 -1
  67. package/dist/core/EmissionHead.d.ts +8 -0
  68. package/dist/core/EmissionHead.d.ts.map +1 -0
  69. package/dist/core/EmissionHead.js +29 -0
  70. package/dist/core/EmissionHead.js.map +1 -0
  71. package/dist/core/Engine.d.ts +1 -0
  72. package/dist/core/Engine.d.ts.map +1 -1
  73. package/dist/core/Engine.js +3 -0
  74. package/dist/core/Engine.js.map +1 -1
  75. package/dist/core/InferenceCall.js +2 -2
  76. package/dist/core/InferenceCall.js.map +1 -1
  77. package/dist/core/InferenceCall.sql +1 -0
  78. package/dist/core/LiveSubscription.d.ts +20 -0
  79. package/dist/core/LiveSubscription.d.ts.map +1 -0
  80. package/dist/core/LiveSubscription.js +68 -0
  81. package/dist/core/LiveSubscription.js.map +1 -0
  82. package/dist/core/LiveSubscriptions.d.ts +1 -0
  83. package/dist/core/LiveSubscriptions.d.ts.map +1 -1
  84. package/dist/core/LiveSubscriptions.js +8 -0
  85. package/dist/core/LiveSubscriptions.js.map +1 -1
  86. package/dist/core/LogBody.js +1 -1
  87. package/dist/core/LogBody.js.map +1 -1
  88. package/dist/core/LogEntryProjection.d.ts +1 -0
  89. package/dist/core/LogEntryProjection.d.ts.map +1 -1
  90. package/dist/core/LogEntryProjection.js +9 -0
  91. package/dist/core/LogEntryProjection.js.map +1 -1
  92. package/dist/core/LogWriter.d.ts +42 -0
  93. package/dist/core/LogWriter.d.ts.map +1 -1
  94. package/dist/core/LogWriter.js +11 -5
  95. package/dist/core/LogWriter.js.map +1 -1
  96. package/dist/core/LoopDriver.js +2 -1
  97. package/dist/core/LoopDriver.js.map +1 -1
  98. package/dist/core/LoopLifecycle.d.ts +2 -2
  99. package/dist/core/LoopLifecycle.d.ts.map +1 -1
  100. package/dist/core/LoopLifecycle.js +2 -4
  101. package/dist/core/LoopLifecycle.js.map +1 -1
  102. package/dist/core/LoopLifecycle.sql +1 -6
  103. package/dist/core/MutationEffects.d.ts +1 -3
  104. package/dist/core/MutationEffects.d.ts.map +1 -1
  105. package/dist/core/MutationEffects.js +2 -1
  106. package/dist/core/MutationEffects.js.map +1 -1
  107. package/dist/core/PacketBuilder.d.ts +17 -4
  108. package/dist/core/PacketBuilder.d.ts.map +1 -1
  109. package/dist/core/PacketBuilder.js +80 -120
  110. package/dist/core/PacketBuilder.js.map +1 -1
  111. package/dist/core/PacketBuilder.sql +4 -12
  112. package/dist/core/PatternSelection.d.ts +5 -10
  113. package/dist/core/PatternSelection.d.ts.map +1 -1
  114. package/dist/core/PatternSelection.js +9 -16
  115. package/dist/core/PatternSelection.js.map +1 -1
  116. package/dist/core/ResourceMutations.d.ts +2 -4
  117. package/dist/core/ResourceMutations.d.ts.map +1 -1
  118. package/dist/core/ResourceMutations.js +2 -5
  119. package/dist/core/ResourceMutations.js.map +1 -1
  120. package/dist/core/ResourceSelector.d.ts +2 -2
  121. package/dist/core/ResourceSelector.d.ts.map +1 -1
  122. package/dist/core/ResourceSelector.js +64 -33
  123. package/dist/core/ResourceSelector.js.map +1 -1
  124. package/dist/core/ResourceTransfers.d.ts +2 -4
  125. package/dist/core/ResourceTransfers.d.ts.map +1 -1
  126. package/dist/core/ResourceTransfers.js +74 -50
  127. package/dist/core/ResourceTransfers.js.map +1 -1
  128. package/dist/core/SchemeRegistry.d.ts +1 -0
  129. package/dist/core/SchemeRegistry.d.ts.map +1 -1
  130. package/dist/core/SchemeRegistry.js +11 -9
  131. package/dist/core/SchemeRegistry.js.map +1 -1
  132. package/dist/core/ServiceTeardown.d.ts +3 -2
  133. package/dist/core/ServiceTeardown.d.ts.map +1 -1
  134. package/dist/core/ServiceTeardown.js +17 -8
  135. package/dist/core/ServiceTeardown.js.map +1 -1
  136. package/dist/core/StopDeadline.d.ts +5 -0
  137. package/dist/core/StopDeadline.d.ts.map +1 -0
  138. package/dist/core/StopDeadline.js +20 -0
  139. package/dist/core/StopDeadline.js.map +1 -0
  140. package/dist/core/StrikeRail.d.ts.map +1 -1
  141. package/dist/core/StrikeRail.js +5 -1
  142. package/dist/core/StrikeRail.js.map +1 -1
  143. package/dist/core/ToolResources.d.ts.map +1 -1
  144. package/dist/core/ToolResources.js +11 -2
  145. package/dist/core/ToolResources.js.map +1 -1
  146. package/dist/core/TurnDispositionHandler.d.ts +4 -2
  147. package/dist/core/TurnDispositionHandler.d.ts.map +1 -1
  148. package/dist/core/TurnDispositionHandler.js +24 -6
  149. package/dist/core/TurnDispositionHandler.js.map +1 -1
  150. package/dist/core/TurnMaterialization.d.ts +6 -2
  151. package/dist/core/TurnMaterialization.d.ts.map +1 -1
  152. package/dist/core/TurnMaterialization.js +64 -16
  153. package/dist/core/TurnMaterialization.js.map +1 -1
  154. package/dist/core/TurnOps.js +7 -7
  155. package/dist/core/TurnOps.js.map +1 -1
  156. package/dist/core/TurnRunner.d.ts +1 -0
  157. package/dist/core/TurnRunner.d.ts.map +1 -1
  158. package/dist/core/TurnRunner.js +155 -160
  159. package/dist/core/TurnRunner.js.map +1 -1
  160. package/dist/core/TurnRunner.sql +2 -2
  161. package/dist/core/caps/DbSubscriptionCaps.d.ts.map +1 -1
  162. package/dist/core/caps/DbSubscriptionCaps.js +13 -19
  163. package/dist/core/caps/DbSubscriptionCaps.js.map +1 -1
  164. package/dist/core/content-hash.d.ts +1 -1
  165. package/dist/core/content-hash.d.ts.map +1 -1
  166. package/dist/core/content-hash.js.map +1 -1
  167. package/dist/core/env-catalog.js +2 -2
  168. package/dist/core/env-catalog.js.map +1 -1
  169. package/dist/core/fork.sql +4 -10
  170. package/dist/core/git-env.d.ts +1 -1
  171. package/dist/core/git-env.d.ts.map +1 -1
  172. package/dist/core/git-env.js +19 -12
  173. package/dist/core/git-env.js.map +1 -1
  174. package/dist/core/git-membership.d.ts.map +1 -1
  175. package/dist/core/git-membership.js +11 -5
  176. package/dist/core/git-membership.js.map +1 -1
  177. package/dist/core/git-state.js +1 -1
  178. package/dist/core/git-state.js.map +1 -1
  179. package/dist/core/mutation-types.d.ts +6 -4
  180. package/dist/core/mutation-types.d.ts.map +1 -1
  181. package/dist/core/operation-target-groups.d.ts +1 -1
  182. package/dist/core/operation-target-groups.d.ts.map +1 -1
  183. package/dist/core/operation-target-groups.js +27 -5
  184. package/dist/core/operation-target-groups.js.map +1 -1
  185. package/dist/core/packet-wire.d.ts +80 -10
  186. package/dist/core/packet-wire.d.ts.map +1 -1
  187. package/dist/core/packet-wire.js +211 -227
  188. package/dist/core/packet-wire.js.map +1 -1
  189. package/dist/core/provider-accounting.d.ts +1 -1
  190. package/dist/core/provider-accounting.d.ts.map +1 -1
  191. package/dist/core/provider-accounting.js +2 -1
  192. package/dist/core/provider-accounting.js.map +1 -1
  193. package/dist/digest/Digest.d.ts.map +1 -1
  194. package/dist/digest/Digest.js +3 -2
  195. package/dist/digest/Digest.js.map +1 -1
  196. package/dist/digest/DigestEvidence.d.ts +1 -0
  197. package/dist/digest/DigestEvidence.d.ts.map +1 -1
  198. package/dist/digest/DigestEvidence.js +6 -0
  199. package/dist/digest/DigestEvidence.js.map +1 -1
  200. package/dist/digest/DigestRender.d.ts +1 -0
  201. package/dist/digest/DigestRender.d.ts.map +1 -1
  202. package/dist/digest/DigestRender.js +107 -48
  203. package/dist/digest/DigestRender.js.map +1 -1
  204. package/dist/digest/DigestRequiem.js +4 -4
  205. package/dist/digest/DigestRequiem.js.map +1 -1
  206. package/dist/digest/digest-rows.d.ts +8 -0
  207. package/dist/digest/digest-rows.d.ts.map +1 -1
  208. package/dist/digest/digest-rows.js.map +1 -1
  209. package/dist/digest/digest.sql +20 -2
  210. package/dist/schemes/Exec.d.ts.map +1 -1
  211. package/dist/schemes/Exec.js +28 -27
  212. package/dist/schemes/Exec.js.map +1 -1
  213. package/dist/schemes/File.d.ts.map +1 -1
  214. package/dist/schemes/File.js +1 -2
  215. package/dist/schemes/File.js.map +1 -1
  216. package/dist/schemes/Log.d.ts.map +1 -1
  217. package/dist/schemes/Log.js +4 -17
  218. package/dist/schemes/Log.js.map +1 -1
  219. package/dist/schemes/TurnSource.js +2 -2
  220. package/dist/schemes/TurnSource.js.map +1 -1
  221. package/dist/schemes/_derivation-use.d.ts +7 -0
  222. package/dist/schemes/_derivation-use.d.ts.map +1 -0
  223. package/dist/schemes/_derivation-use.js +40 -0
  224. package/dist/schemes/_derivation-use.js.map +1 -0
  225. package/dist/schemes/_entry-crud.d.ts +6 -1
  226. package/dist/schemes/_entry-crud.d.ts.map +1 -1
  227. package/dist/schemes/_entry-crud.js.map +1 -1
  228. package/dist/schemes/_entry-find.d.ts.map +1 -1
  229. package/dist/schemes/_entry-find.js +15 -49
  230. package/dist/schemes/_entry-find.js.map +1 -1
  231. package/dist/schemes/_entry-find.sql +0 -11
  232. package/dist/schemes/_entry-fts.d.ts.map +1 -1
  233. package/dist/schemes/_entry-fts.js +9 -3
  234. package/dist/schemes/_entry-fts.js.map +1 -1
  235. package/dist/schemes/_entry-fts.sql +14 -8
  236. package/dist/schemes/_entry-graph.d.ts +5 -8
  237. package/dist/schemes/_entry-graph.d.ts.map +1 -1
  238. package/dist/schemes/_entry-graph.js +33 -72
  239. package/dist/schemes/_entry-graph.js.map +1 -1
  240. package/dist/schemes/_entry-graph.sql +30 -48
  241. package/dist/schemes/_entry-manifest.d.ts +5 -0
  242. package/dist/schemes/_entry-manifest.d.ts.map +1 -1
  243. package/dist/schemes/_entry-manifest.js +5 -0
  244. package/dist/schemes/_entry-manifest.js.map +1 -1
  245. package/dist/schemes/_entry-ops.d.ts +1 -1
  246. package/dist/schemes/_entry-ops.d.ts.map +1 -1
  247. package/dist/schemes/_entry-ops.js +4 -11
  248. package/dist/schemes/_entry-ops.js.map +1 -1
  249. package/dist/schemes/_search-index.d.ts +10 -0
  250. package/dist/schemes/_search-index.d.ts.map +1 -1
  251. package/dist/schemes/_search-index.js +33 -1
  252. package/dist/schemes/_search-index.js.map +1 -1
  253. package/dist/schemes/exec-lifetime.d.ts.map +1 -1
  254. package/dist/schemes/exec-lifetime.js +1 -2
  255. package/dist/schemes/exec-lifetime.js.map +1 -1
  256. package/dist/server/Daemon.d.ts +2 -1
  257. package/dist/server/Daemon.d.ts.map +1 -1
  258. package/dist/server/Daemon.js +31 -35
  259. package/dist/server/Daemon.js.map +1 -1
  260. package/dist/server/DrainSupervisor.d.ts +2 -1
  261. package/dist/server/DrainSupervisor.d.ts.map +1 -1
  262. package/dist/server/DrainSupervisor.js +37 -56
  263. package/dist/server/DrainSupervisor.js.map +1 -1
  264. package/dist/server/Functionality.d.ts +1 -1
  265. package/dist/server/Functionality.d.ts.map +1 -1
  266. package/dist/server/Functionality.js +24 -11
  267. package/dist/server/Functionality.js.map +1 -1
  268. package/dist/server/FunctionalityManager.js +2 -2
  269. package/dist/server/FunctionalityManager.js.map +1 -1
  270. package/dist/server/Retention.d.ts.map +1 -1
  271. package/dist/server/Retention.js +7 -3
  272. package/dist/server/Retention.js.map +1 -1
  273. package/dist/server/drain.sql +0 -6
  274. package/dist/server/seam-loop.sql +1 -1
  275. package/dist/service.js +1 -1
  276. package/dist/service.js.map +1 -1
  277. package/docs/env.md +4 -3
  278. package/migrations/013_graph_regions.sql +32 -0
  279. package/migrations/014_stream_timing.sql +4 -0
  280. package/migrations/015_request_evidence.sql +4 -0
  281. package/package.json +34 -34
  282. package/dist/core/KnownToxins.d.ts +0 -4
  283. package/dist/core/KnownToxins.d.ts.map +0 -1
  284. package/dist/core/KnownToxins.js +0 -22
  285. package/dist/core/KnownToxins.js.map +0 -1
  286. package/dist/core/ReasoningView.d.ts +0 -12
  287. package/dist/core/ReasoningView.d.ts.map +0 -1
  288. package/dist/core/ReasoningView.js +0 -40
  289. package/dist/core/ReasoningView.js.map +0 -1
  290. package/dist/server/exec-poll-backoff.d.ts +0 -2
  291. package/dist/server/exec-poll-backoff.d.ts.map +0 -1
  292. package/dist/server/exec-poll-backoff.js +0 -6
  293. package/dist/server/exec-poll-backoff.js.map +0 -1
@@ -0,0 +1,20 @@
1
+ import { Knob } from "@plurnk/plurnk-meta";
2
+ // {§crash-only-stop}: one absolute budget across daemon drains and enclosing resource cleanup.
3
+ export default class StopDeadline {
4
+ #expires = Date.now() + Knob.integer("PLURNK_SERVICE_STOP_TIMEOUT_MS", 1);
5
+ settle(label, wait) {
6
+ return new Promise((resolve) => {
7
+ let settled = false;
8
+ const finish = (result) => {
9
+ if (settled)
10
+ return;
11
+ settled = true;
12
+ clearTimeout(timer);
13
+ resolve(result);
14
+ };
15
+ const timer = setTimeout(() => finish({ status: "rejected", reason: new Error(`stop deadline exceeded waiting for ${label}`) }), Math.max(0, this.#expires - Date.now()));
16
+ Promise.resolve().then(wait).then((value) => finish({ status: "fulfilled", value }), (reason) => finish({ status: "rejected", reason }));
17
+ });
18
+ }
19
+ }
20
+ //# sourceMappingURL=StopDeadline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StopDeadline.js","sourceRoot":"","sources":["../../src/core/StopDeadline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAE3C,+FAA+F;AAC/F,MAAM,CAAC,OAAO,OAAO,YAAY;IACpB,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,gCAAgC,EAAE,CAAC,CAAC,CAAC;IAEnF,MAAM,CAAI,KAAa,EAAE,IAAsB;QAC3C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3B,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,MAAM,MAAM,GAAG,CAAC,MAA+B,EAAQ,EAAE;gBACrD,IAAI,OAAO;oBAAE,OAAO;gBACpB,OAAO,GAAG,IAAI,CAAC;gBACf,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,OAAO,CAAC,MAAM,CAAC,CAAC;YACpB,CAAC,CAAC;YACF,MAAM,KAAK,GAAG,UAAU,CACpB,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,KAAK,CAAC,sCAAsC,KAAK,EAAE,CAAC,EAAE,CAAC,EACtG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAC1C,CAAC;YACF,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAC7B,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,EACjD,CAAC,MAAe,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAC9D,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC;CACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"StrikeRail.d.ts","sourceRoot":"","sources":["../../src/core/StrikeRail.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACjF,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAElC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAS3D,MAAM,MAAM,aAAa,GAAG;IAExB,QAAQ,CAAC,EAAE,EAAE,eAAe,CAAC,IAAI,CAAC,GAAG,UAAU,GAAG,IAAI,CAAC;IACvD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACxC,CAAC;AAKF,MAAM,MAAM,YAAY,GAAG,YAAY,GAAG,WAAW,GAAG,cAAc,CAAC;AAOvE,eAAO,MAAM,UAAU,cAAe,eAAe,UAAU,MAAM,KAAG,OAGmB,CAAC;AAW5F,MAAM,CAAC,OAAO,OAAO,UAAU;;IAI3B,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,aAAa,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC,EAAE,aAAa,CAAC,eAAe,CAAC,GAAG,MAAM,CAoB5G;IAOD,MAAM,CAAC,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEhD;IAKD,MAAM,CAAC,WAAW,CACd,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,EAC9B,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,GACvB;QAAE,QAAQ,EAAE,KAAK,CAAA;KAAE,GAAG;QAAE,QAAQ,EAAE,IAAI,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAe1E;IAID,YAAY,EAAE,EAAE,EAAE,EAEjB;IASK,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAE5C;IAIK,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE;QAC/B,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;QAEvC,UAAU,EAAE,OAAO,CAAC;QACpB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,MAAM,CAAC;QACvB,UAAU,EAAE,MAAM,CAAC;KACtB,GAAG,OAAO,CAAC;QAAE,aAAa,EAAE,OAAO,CAAC;QAAC,gBAAgB,EAAE,OAAO,CAAC;QAAC,SAAS,EAAE,YAAY,GAAG,IAAI,CAAA;KAAE,CAAC,CAqCjG;CACJ"}
1
+ {"version":3,"file":"StrikeRail.d.ts","sourceRoot":"","sources":["../../src/core/StrikeRail.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACjF,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAElC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAW3D,MAAM,MAAM,aAAa,GAAG;IAExB,QAAQ,CAAC,EAAE,EAAE,eAAe,CAAC,IAAI,CAAC,GAAG,UAAU,GAAG,IAAI,CAAC;IACvD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACxC,CAAC;AAKF,MAAM,MAAM,YAAY,GAAG,YAAY,GAAG,WAAW,GAAG,cAAc,CAAC;AAQvE,eAAO,MAAM,UAAU,cAAe,eAAe,UAAU,MAAM,KAAG,OAGmB,CAAC;AAW5F,MAAM,CAAC,OAAO,OAAO,UAAU;;IAI3B,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,aAAa,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC,EAAE,aAAa,CAAC,eAAe,CAAC,GAAG,MAAM,CAoB5G;IAOD,MAAM,CAAC,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEhD;IAKD,MAAM,CAAC,WAAW,CACd,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,EAC9B,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,GACvB;QAAE,QAAQ,EAAE,KAAK,CAAA;KAAE,GAAG;QAAE,QAAQ,EAAE,IAAI,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAe1E;IAID,YAAY,EAAE,EAAE,EAAE,EAEjB;IASK,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAE5C;IAIK,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE;QAC/B,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;QAEvC,UAAU,EAAE,OAAO,CAAC;QACpB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,MAAM,CAAC;QACvB,UAAU,EAAE,MAAM,CAAC;KACtB,GAAG,OAAO,CAAC;QAAE,aAAa,EAAE,OAAO,CAAC;QAAC,gBAAgB,EAAE,OAAO,CAAC;QAAC,SAAS,EAAE,YAAY,GAAG,IAAI,CAAA;KAAE,CAAC,CAsCjG;CACJ"}
@@ -6,7 +6,10 @@ import { isExecutionOp } from "@plurnk/plurnk-contracts";
6
6
  // including a completion READ ({§exec-stream}).
7
7
  const SOFT_FAILURE_STATUSES = new Set([404, 409, 416, 425, 501]);
8
8
  const EXECUTOR_EVIDENCE_PREFIX = "https://problems.plurnk.xyz/executor/";
9
+ // {§matcher-refusal} — a fumbled pattern refuses its one operation and is never a contract strike.
10
+ const UNREADABLE_PATTERN = "https://problems.plurnk.xyz/grammar/matcher/unreadable-pattern";
9
11
  const isExecutorEvidence = ({ problemType }) => typeof problemType === "string" && problemType.startsWith(EXECUTOR_EVIDENCE_PREFIX);
12
+ const isUnreadablePattern = ({ problemType }) => problemType === UNREADABLE_PATTERN;
10
13
  // {§strike-progress-immunity} — only an operation that acts on the task and succeeds is progress;
11
14
  // NOTE, WAIT, a parameterless KILL and a targetless SEND steer the loop instead.
12
15
  export const isProgress = (statement, status) => status < 400
@@ -108,7 +111,8 @@ export default class StrikeRail {
108
111
  const recordedFailed = !turn.progressed && turn.outcomes.some((outcome) => !isExecutionOp(outcome.op)
109
112
  && outcome.status >= 400
110
113
  && !SOFT_FAILURE_STATUSES.has(outcome.status)
111
- && !isExecutorEvidence(outcome));
114
+ && !isExecutorEvidence(outcome)
115
+ && !isUnreadablePattern(outcome));
112
116
  // {§empty-turn} — a turn with no operation is one progress-contract strike.
113
117
  const struck = recordedFailed || cycle.detected || turn.emptyTurn === true;
114
118
  const streak = struck ? state.strike_streak + 1 : 0;
@@ -1 +1 @@
1
- {"version":3,"file":"StrikeRail.js","sourceRoot":"","sources":["../../src/core/StrikeRail.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StrikeRail.js","sourceRoot":"","sources":["../../src/core/StrikeRail.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ToolResources.d.ts","sourceRoot":"","sources":["../../src/core/ToolResources.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACR,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACtB,MAAM,sBAAsB,CAAC;AAG9B,MAAM,WAAW,YAAY;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC5B;AAED,UAAU,UAAU;IAChB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IACrC,QAAQ,CAAC,UAAU,EAAE,qBAAqB,CAAC;IAC3C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAE9C,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACnC;AAmKD,MAAM,CAAC,OAAO,OAAO,aAAa;IAC9B,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAEnE;IAED,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAG3C;IAED,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,YAAY,EAAE,CAuEhD;CACJ"}
1
+ {"version":3,"file":"ToolResources.d.ts","sourceRoot":"","sources":["../../src/core/ToolResources.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACR,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACtB,MAAM,sBAAsB,CAAC;AAG9B,MAAM,WAAW,YAAY;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC5B;AAED,UAAU,UAAU;IAChB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IACrC,QAAQ,CAAC,UAAU,EAAE,qBAAqB,CAAC;IAC3C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAE9C,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACnC;AAmKD,MAAM,CAAC,OAAO,OAAO,aAAa;IAC9B,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAEnE;IAED,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAG3C;IAED,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,YAAY,EAAE,CAgFhD;CACJ"}
@@ -153,6 +153,11 @@ export default class ToolResources {
153
153
  return [];
154
154
  // Declaration order is the taught order (a family's lifecycle verbs, a server's tools).
155
155
  const tools = source.registry.tools;
156
+ // {§executor-tool-catalog} — registry validation guarantees all definitions or none.
157
+ const catalog = tools[0].definition === undefined ? [] : [{
158
+ pathname: `${childrenRoot}.json`,
159
+ content: JSON.stringify({ tools: tools.map(({ definition }) => definition) }, null, 2),
160
+ }];
156
161
  const schemaPath = (target) => `${childrenRoot}/${ToolResources.targetSegment(target)}.json`;
157
162
  // {§scheme-catalog-aside} — the family's summary is its complete menu: every tool inside
158
163
  // the invocation form, shown whole by the catalog, so the discovery row invokes without a READ.
@@ -177,8 +182,12 @@ export default class ToolResources {
177
182
  const detailsBlock = [source.details.trimEnd(), ...sections]
178
183
  .filter((part) => part.length > 0)
179
184
  .join("\n\n");
180
- const family = renderDocument(source.runtime, summary, ["## Tools", "", familyInvocations.join("\n\n")], detailsBlock);
181
- return [{ pathname, content: family }, ...tools.flatMap((tool) => tool.invocation.inputSchema === undefined ? [] : [schemaDocument(schemaPath(tool.target), `${source.runtime}: ${tool.target}`, tool.invocation.inputSchema, tool.details ?? "")])];
185
+ const family = renderDocument(source.runtime, summary, [
186
+ "## Tools", "",
187
+ ...catalog.map(({ pathname }) => `Complete tool definitions: ${inlineCode(`worker://${pathname}`)}.\n`),
188
+ familyInvocations.join("\n\n"),
189
+ ], detailsBlock);
190
+ return [{ pathname, content: family }, ...tools.flatMap((tool) => tool.invocation.inputSchema === undefined ? [] : [schemaDocument(schemaPath(tool.target), `${source.runtime}: ${tool.target}`, tool.invocation.inputSchema, tool.details ?? "")]), ...catalog];
182
191
  }
183
192
  }
184
193
  //# sourceMappingURL=ToolResources.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ToolResources.js","sourceRoot":"","sources":["../../src/core/ToolResources.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ToolResources.js","sourceRoot":"","sources":["../../src/core/ToolResources.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import type { Db } from "./Db.ts";
2
2
  import type { WriterTier } from "./scheme-types.ts";
3
3
  import LoopLifecycle from "./LoopLifecycle.ts";
4
4
  import type { DispatchResult } from "./Dispatcher.ts";
5
+ import type { DispositionStatement } from "@plurnk/plurnk-contracts";
5
6
  export interface PacketBoundaries {
6
7
  operations: Array<{
7
8
  op: string;
@@ -24,6 +25,7 @@ type TurnContext = {
24
25
  };
25
26
  export default class TurnDispositionHandler {
26
27
  #private;
28
+ static configuredWaitSeconds(): number;
27
29
  constructor({ db, lifecycle, unobservedFailureCount, pendingSet, hasLiveWork }: {
28
30
  db: Db;
29
31
  lifecycle: LoopLifecycle;
@@ -31,9 +33,9 @@ export default class TurnDispositionHandler {
31
33
  pendingSet: (workerId: number, turnId: number, loopId: number) => Promise<CompletionEvidence>;
32
34
  hasLiveWork: (loopId: number) => Promise<boolean>;
33
35
  });
34
- handle(ctx: TurnContext): Promise<DispatchResult>;
36
+ handle(ctx: TurnContext, statement: DispositionStatement): Promise<DispatchResult>;
35
37
  completion(ctx: TurnContext, eligible: boolean): Promise<DispatchResult>;
36
- settle(ctx: TurnContext, wait: boolean, finalResponse: boolean): Promise<number>;
38
+ settle(ctx: TurnContext, waits: readonly DispositionStatement[], finalResponse: boolean): Promise<number>;
37
39
  }
38
40
  export {};
39
41
  //# sourceMappingURL=TurnDispositionHandler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TurnDispositionHandler.d.ts","sourceRoot":"","sources":["../../src/core/TurnDispositionHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAE/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD,MAAM,WAAW,gBAAgB;IAC7B,UAAU,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IACrD,kBAAkB,EAAE,KAAK,CAAC;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnD,iBAAiB,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,kBAAkB;IAC/B,OAAO,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,GAAG,UAAU,GAAG,uBAAuB,GAAG,gBAAgB,CAAC,CAAC;IAChG,QAAQ,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,KAAK,WAAW,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,CAAC;AAE5F,MAAM,CAAC,OAAO,OAAO,sBAAsB;;IAOvC,YAAY,EAAE,EAAE,EAAE,SAAS,EAAE,sBAAsB,EAAE,UAAU,EAAE,WAAW,EAAE,EAAE;QAC5E,EAAE,EAAE,EAAE,CAAC;QACP,SAAS,EAAE,aAAa,CAAC;QACzB,sBAAsB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5D,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAC9F,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;KACrD,EAMA;IAEK,MAAM,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC,CAItD;IAEK,UAAU,CAAC,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,CAG7E;IAEK,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAWrF;CAuBJ"}
1
+ {"version":3,"file":"TurnDispositionHandler.d.ts","sourceRoot":"","sources":["../../src/core/TurnDispositionHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAE/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAGrE,MAAM,WAAW,gBAAgB;IAC7B,UAAU,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IACrD,kBAAkB,EAAE,KAAK,CAAC;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnD,iBAAiB,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,kBAAkB;IAC/B,OAAO,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,GAAG,UAAU,GAAG,uBAAuB,GAAG,gBAAgB,CAAC,CAAC;IAChG,QAAQ,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,KAAK,WAAW,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,CAAC;AAE5F,MAAM,CAAC,OAAO,OAAO,sBAAsB;;IACvC,MAAM,CAAC,qBAAqB,IAAI,MAAM,CAQrC;IAQD,YAAY,EAAE,EAAE,EAAE,SAAS,EAAE,sBAAsB,EAAE,UAAU,EAAE,WAAW,EAAE,EAAE;QAC5E,EAAE,EAAE,EAAE,CAAC;QACP,SAAS,EAAE,aAAa,CAAC;QACzB,sBAAsB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5D,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAC9F,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;KACrD,EAMA;IAEK,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,SAAS,EAAE,oBAAoB,GAAG,OAAO,CAAC,cAAc,CAAC,CAOvF;IAEK,UAAU,CAAC,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,CAG7E;IAEK,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,oBAAoB,EAAE,EAAE,aAAa,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAgB9G;CAuBJ"}
@@ -1,5 +1,15 @@
1
1
  import TerminalResult from "./TerminalResult.js";
2
+ import { ConfigurationError, Knob } from "@plurnk/plurnk-meta";
2
3
  export default class TurnDispositionHandler {
4
+ static configuredWaitSeconds() {
5
+ const retired = { PLURNK_SERVICE_EXEC_POLL_SEC: true, PLURNK_SERVICE_EXEC_POLL_TURNS: true };
6
+ for (const key of Object.keys(retired)) {
7
+ if (process.env[key]) {
8
+ throw new ConfigurationError(key, `${key} is retired: use PLURNK_SERVICE_WAIT_SEC for the maximum park duration.`);
9
+ }
10
+ }
11
+ return Knob.integer("PLURNK_SERVICE_WAIT_SEC", 1);
12
+ }
3
13
  #db;
4
14
  #lifecycle;
5
15
  #unobservedFailureCount;
@@ -12,10 +22,12 @@ export default class TurnDispositionHandler {
12
22
  this.#pendingSet = pendingSet;
13
23
  this.#hasLiveWork = hasLiveWork;
14
24
  }
15
- async handle(ctx) {
25
+ async handle(ctx, statement) {
16
26
  // {§wait-obligation-matrix}: record intent now; settle the complete program before parking.
17
- if (await this.#hasLiveWork(ctx.loopId))
18
- return { status: 202, attrs: { waiting: -1 } };
27
+ if (await this.#hasLiveWork(ctx.loopId)) {
28
+ const seconds = statement.lineMarker?.marks[0] ?? TurnDispositionHandler.configuredWaitSeconds();
29
+ return { status: seconds === 0 ? 102 : 202, attrs: { waiting: seconds } };
30
+ }
19
31
  return { status: 102, detail: "Nothing is in flight. Continuing." };
20
32
  }
21
33
  async completion(ctx, eligible) {
@@ -23,13 +35,19 @@ export default class TurnDispositionHandler {
23
35
  return { status: 102, detail: "Completion deferred. Conclude with KILL alone." };
24
36
  return this.#assess(ctx, false, true);
25
37
  }
26
- async settle(ctx, wait, finalResponse) {
38
+ async settle(ctx, waits, finalResponse) {
27
39
  const status = await this.#lifecycle.status(ctx.loopId);
28
40
  if (![100, 102, 202].includes(status))
29
41
  return status;
30
- const decision = await this.#assess(ctx, wait, finalResponse);
42
+ const decision = await this.#assess(ctx, waits.length > 0, finalResponse);
31
43
  if (decision.status === 202) {
32
- return await this.#lifecycle.park(ctx.loopId, { wakenBy: "obligations" }) ? 202 : this.#lifecycle.status(ctx.loopId);
44
+ const configured = TurnDispositionHandler.configuredWaitSeconds();
45
+ const seconds = waits.length === 0 ? configured
46
+ : Math.min(...waits.map((statement) => statement.lineMarker?.marks[0] ?? configured));
47
+ if (seconds === 0)
48
+ return 102;
49
+ const pollAt = Math.ceil(Date.now() + seconds * 1000);
50
+ return await this.#lifecycle.park(ctx.loopId, { wakenBy: "obligations", pollAt }) ? 202 : this.#lifecycle.status(ctx.loopId);
33
51
  }
34
52
  if (decision.status !== 200 || ctx.origin !== "model")
35
53
  return decision.status;
@@ -1 +1 @@
1
- {"version":3,"file":"TurnDispositionHandler.js","sourceRoot":"","sources":["../../src/core/TurnDispositionHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TurnDispositionHandler.js","sourceRoot":"","sources":["../../src/core/TurnDispositionHandler.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  import type { Db } from "./Db.ts";
2
2
  import { type FsDivergence } from "./git-membership.ts";
3
3
  import { type GitStatusSnapshot } from "./git-state.ts";
4
- import type { Mimetypes } from "@plurnk/plurnk-mimetypes";
4
+ import { type Mimetypes } from "@plurnk/plurnk-mimetypes";
5
+ import { type ContextFit } from "./ContextFit.ts";
5
6
  export default class TurnMaterialization {
6
7
  #private;
7
8
  constructor({ db, weighContent, mimetypes }: {
@@ -22,9 +23,11 @@ export default class TurnMaterialization {
22
23
  loopId: number;
23
24
  turnId: number;
24
25
  fromSequence: number;
26
+ fit?: ContextFit;
25
27
  }): Promise<number[]>;
26
28
  logFsFictions(workspaceId: number, divergences: FsDivergence[], gitStatus: GitStatusSnapshot | null): Promise<void>;
27
- writeArrivalLog({ workerId, loopId, turnId, sequence, body, source, resource, selfAddressed, }: {
29
+ writeArrivalLog({ workspaceId, workerId, loopId, turnId, sequence, body, source, resource, selfAddressed, fit, }: {
30
+ workspaceId: number;
28
31
  workerId: number;
29
32
  loopId: number;
30
33
  turnId: number;
@@ -33,6 +36,7 @@ export default class TurnMaterialization {
33
36
  source: string | null;
34
37
  resource: string;
35
38
  selfAddressed?: boolean;
39
+ fit?: ContextFit;
36
40
  }): Promise<number>;
37
41
  }
38
42
  //# sourceMappingURL=TurnMaterialization.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TurnMaterialization.d.ts","sourceRoot":"","sources":["../../src/core/TurnMaterialization.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAgBxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAE1D,MAAM,CAAC,OAAO,OAAO,mBAAmB;;IAKpC,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE;QACzC,EAAE,EAAE,EAAE,CAAC;QACP,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;QACvC,SAAS,EAAE,SAAS,CAAC;KACxB,EAIA;IAEK,4BAA4B,CAAC,IAAI,EAAE;QACrC,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;KAC/F,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAwHpB;IAGK,uBAAuB,CAAC,IAAI,EAAE;QAChC,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;KAC/F,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAmGpB;IAKK,aAAa,CACf,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,YAAY,EAAE,EAC3B,SAAS,EAAE,iBAAiB,GAAG,IAAI,GACpC,OAAO,CAAC,IAAI,CAAC,CAgEf;IAQK,eAAe,CAAC,EAClB,QAAQ,EACR,MAAM,EACN,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,aAAqB,GACxB,EAAE;QACC,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,QAAQ,EAAE,MAAM,CAAC;QAGjB,aAAa,CAAC,EAAE,OAAO,CAAC;KAC3B,GAAG,OAAO,CAAC,MAAM,CAAC,CA0ClB;CAKJ"}
1
+ {"version":3,"file":"TurnMaterialization.d.ts","sourceRoot":"","sources":["../../src/core/TurnMaterialization.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAgBxD,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAE3E,OAAO,EAAqC,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAErF,MAAM,CAAC,OAAO,OAAO,mBAAmB;;IAKpC,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE;QACzC,EAAE,EAAE,EAAE,CAAC;QACP,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;QACvC,SAAS,EAAE,SAAS,CAAC;KACxB,EAIA;IAEK,4BAA4B,CAAC,IAAI,EAAE;QACrC,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;KAC/F,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAwHpB;IAGK,uBAAuB,CAAC,IAAI,EAAE;QAChC,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAE5F,GAAG,CAAC,EAAE,UAAU,CAAC;KACpB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAwHpB;IA+BK,aAAa,CACf,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,YAAY,EAAE,EAC3B,SAAS,EAAE,iBAAiB,GAAG,IAAI,GACpC,OAAO,CAAC,IAAI,CAAC,CAgEf;IAQK,eAAe,CAAC,EAClB,WAAW,EACX,QAAQ,EACR,MAAM,EACN,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,aAAqB,EACrB,GAAG,GACN,EAAE;QACC,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,QAAQ,EAAE,MAAM,CAAC;QAGjB,aAAa,CAAC,EAAE,OAAO,CAAC;QAGxB,GAAG,CAAC,EAAE,UAAU,CAAC;KACpB,GAAG,OAAO,CAAC,MAAM,CAAC,CAmDlB;CAKJ"}
@@ -13,6 +13,9 @@ import AdministrativeLoop from "./AdministrativeLoop.js";
13
13
  import RuntimeWorker from "./RuntimeWorker.js";
14
14
  import LogBody from "./LogBody.js";
15
15
  import LogVisibility from "./LogVisibility.js";
16
+ import { TextCoordinates } from "@plurnk/plurnk-mimetypes";
17
+ import PacketWire from "./packet-wire.js";
18
+ import { reserved, resultSize, unfitResult } from "./ContextFit.js";
16
19
  export default class TurnMaterialization {
17
20
  #db;
18
21
  #weighContent;
@@ -119,7 +122,7 @@ export default class TurnMaterialization {
119
122
  return entryIds;
120
123
  }
121
124
  async materializeStreamDeltas(args) {
122
- const { workerId, loopId, turnId, fromSequence } = args;
125
+ const { workspaceId, workerId, loopId, turnId, fromSequence, fit } = args;
123
126
  const channels = await this.#db.engine_worker_stream_channels.all({ worker_id: workerId });
124
127
  const entryIds = [];
125
128
  // {§exec-stream} — a concluded stream lands one row per channel that has content; an empty
@@ -150,7 +153,10 @@ export default class TurnMaterialization {
150
153
  for (const ch of kept)
151
154
  siblings.set(ch.publication_id, empties);
152
155
  }
153
- for (const ch of channels) {
156
+ // {§context-fit} — the rows this pass lands, known before the first one is measured.
157
+ const landing = channels.filter((ch) => (ch.state === "closed" || ch.state === "errored")
158
+ && ch.producer_result !== null && !skipped.has(ch.publication_id));
159
+ for (const [index, ch] of landing.entries()) {
154
160
  // Default channels are an implementation detail. Preserve the
155
161
  // channel internally on the entry/subscription, but present the
156
162
  // ordinary address to the model; only an explicitly non-default
@@ -162,22 +168,18 @@ export default class TurnMaterialization {
162
168
  const targetParts = authorityParts(ch.authority);
163
169
  // {§exec-stream} — nothing publishes while a stream is active: the Delegation streams
164
170
  // section reports its size and growth ({§child-orientation}); the model READs any
165
- // range it wants. At close, ONE foisted READ that is exactly a markerless READ —
166
- // the first page, the extent, the terminal status and Problem — initially visible. {§exec-stream-page}
167
- if (ch.state !== "closed" && ch.state !== "errored")
168
- continue;
171
+ // range it wants. At close, ONE foisted READ that is exactly a markerless READ — the first
172
+ // page ({§markerless-first-page}, {§exec-stream-page}), whole when it fits the budget and
173
+ // otherwise its size ({§context-fit}) — with the extent, the terminal status and Problem,
174
+ // initially visible.
169
175
  // {§stream-observation-result} — the terminal result lands in a separate write after
170
- // the executor closes the channel (#818).
171
- if (ch.producer_result === null)
172
- continue;
173
- if (skipped.has(ch.publication_id))
174
- continue;
176
+ // the executor closes the channel (#818); `landing` holds only channels that have one.
175
177
  // {§validation-topology}: a stored result is chapter 5's; it is parsed, not re-asserted.
176
178
  const terminal = JSON.parse(ch.producer_result);
177
179
  const sequence = fromSequence + entryIds.length;
178
180
  const page = await ReadResolve.resolve({ content: ch.content, mimetype: ch.mimetype, lineMarker: null });
179
181
  const emptySiblings = siblings.get(ch.publication_id) ?? {};
180
- const result = Results.assert({
182
+ const whole = Results.assert({
181
183
  ...terminal,
182
184
  terminal: true,
183
185
  ...(terminal.problem === undefined ? {} : { problem: { ...terminal.problem } }),
@@ -188,6 +190,25 @@ export default class TurnMaterialization {
188
190
  ...(page.range === undefined ? {} : { range: page.range }),
189
191
  ...(page.range !== undefined || page.region === undefined ? {} : { region: page.region }),
190
192
  });
193
+ const streamRow = (rendered) => ({
194
+ id: null, loop_seq: 0, turn_seq: 0, sequence, origin: "_plurnk", op: "READ", signal: null,
195
+ scheme: ch.runtime, username: null, password: null, hostname: targetParts.hostname, port: targetParts.port,
196
+ pathname: ch.coord, query: null, fragment: visibleFragment,
197
+ status_rx: rendered.status, rx: JSON.stringify(rendered), mimetype_rx: "application/json",
198
+ tx: "", mimetype_tx: "text/plain",
199
+ initial_folded: LogVisibility.serialize(LogVisibility.OPEN), folded: LogVisibility.serialize(LogVisibility.OPEN),
200
+ source: null, attrs: JSON.stringify({ streamEnd: ch.content.length }), producer: "_plurnk",
201
+ });
202
+ const unfit = await this.#unfit(workspaceId, loopId, turnId, fit === undefined ? undefined : reserved(fit, landing.length - index - 1), whole.content, () => streamRow(whole));
203
+ // {§context-fit} — too large for the remaining budget: the terminal's own status and Problem stay
204
+ // when the stream failed; a clean close becomes the 413 receipt. The output remains at the stream.
205
+ const result = unfit === null ? whole : Results.assert(terminal.status >= 400 && terminal.problem !== undefined
206
+ ? { ...whole, content: "", problem: { ...terminal.problem, ...unfit.facts } }
207
+ : unfitResult({
208
+ terminal: true, mimetype: page.mimetype,
209
+ ...(Object.keys(emptySiblings).length === 0 ? {} : { channels: emptySiblings }),
210
+ ...(page.range === undefined ? {} : { range: page.range }),
211
+ }, resultSize(page), unfit.tokens, unfit.remaining));
191
212
  if (result.problem !== undefined && result.problem.instance === undefined) {
192
213
  const seqs = await this.#db.engine_loop_turn_seqs.get({
193
214
  loop_id: loopId,
@@ -222,6 +243,24 @@ export default class TurnMaterialization {
222
243
  }
223
244
  return entryIds;
224
245
  }
246
+ // {§context-fit} — whether one row to be landed fits the remaining budget: null when it fits or no
247
+ // budget exists; otherwise its tokens, the remaining budget, and the facts a receipt names.
248
+ async #unfit(workspaceId, loopId, turnId, fit, content, row) {
249
+ if (fit === undefined || typeof content !== "string" || content.length === 0)
250
+ return null;
251
+ const remaining = await fit.remaining();
252
+ if (remaining === null)
253
+ return null;
254
+ const seqs = await this.#db.engine_loop_turn_seqs.get({ loop_id: loopId, turn_id: turnId });
255
+ if (seqs === undefined)
256
+ throw new Error(`TurnMaterialization: loop_turn_seqs returned no row for loop=${loopId} turn=${turnId}`);
257
+ const workspace = await this.#db.envelope_get_workspace.get({ id: workspaceId });
258
+ const built = row(seqs);
259
+ const tokens = PacketWire.rowTokens(PacketWire.entryView({ ...built, loop_seq: seqs.loop_seq, turn_seq: seqs.turn_seq }), this.#weighContent, { projectRoot: workspace?.project_root ?? null });
260
+ if (tokens <= remaining)
261
+ return null;
262
+ return { tokens, remaining, facts: { lines: TextCoordinates.logicalLines(content).length, tokens, remaining } };
263
+ }
225
264
  // {§env-delta-filesystem-narration} {§membership-emi-divergence-signal}
226
265
  // — record project-file divergence once through the reserved actor.
227
266
  async logFsFictions(workspaceId, divergences, gitStatus) {
@@ -297,9 +336,18 @@ export default class TurnMaterialization {
297
336
  // sent side, published by the harness (origin `_plurnk`) with the causal `source` when another
298
337
  // actor caused it ({§message-causal-source}). `attrs.kind = "message"` tells it from the
299
338
  // engine's other harness-published SEND rows: observed activity and addressed replies.
300
- async writeArrivalLog({ workerId, loopId, turnId, sequence, body, source, resource, selfAddressed = false, }) {
339
+ async writeArrivalLog({ workspaceId, workerId, loopId, turnId, sequence, body, source, resource, selfAddressed = false, fit, }) {
301
340
  const tx = JSON.stringify({ op: "SEND", aside: null, target: null, metadata: null, lineMarker: null, matcher: null, body: { raw: body } });
302
341
  const rx = JSON.stringify({ status: 200, resource });
342
+ const baseAttrs = selfAddressed ? { kind: "message", selfAddressed: true } : { kind: "message" };
343
+ const unfit = await this.#unfit(workspaceId, loopId, turnId, fit, body, (seqs) => ({
344
+ id: null, loop_seq: seqs.loop_seq, turn_seq: seqs.turn_seq, sequence, origin: "_plurnk", op: "SEND", signal: null,
345
+ scheme: null, username: null, password: null, hostname: null, port: null, pathname: null, query: null, fragment: null,
346
+ status_rx: 200, rx, mimetype_rx: "application/json", tx, mimetype_tx: "application/json",
347
+ initial_folded: LogVisibility.serialize(LogVisibility.OPEN), folded: LogVisibility.serialize(LogVisibility.OPEN),
348
+ source, attrs: JSON.stringify(baseAttrs), producer: "model",
349
+ }));
350
+ const attrs = unfit === null ? baseAttrs : { ...baseAttrs, unfit: { lines: unfit.facts.lines, tokens: unfit.tokens } };
303
351
  const row = await this.#db.engine_insert_log_entry.get({
304
352
  worker_id: workerId,
305
353
  loop_id: loopId,
@@ -326,7 +374,7 @@ export default class TurnMaterialization {
326
374
  status_rx: 200,
327
375
  weight: LogBody.weight({
328
376
  op: "SEND",
329
- attrs: selfAddressed ? { kind: "message", selfAddressed: true } : { kind: "message" },
377
+ attrs,
330
378
  tx,
331
379
  rx,
332
380
  mimetypeTx: "application/json",
@@ -334,8 +382,8 @@ export default class TurnMaterialization {
334
382
  }, this.#weighContent),
335
383
  state: "resolved",
336
384
  outcome: null,
337
- attrs: JSON.stringify(selfAddressed ? { kind: "message", selfAddressed: true } : { kind: "message" }),
338
- initial_folded: LogVisibility.serialize(LogVisibility.OPEN),
385
+ attrs: JSON.stringify(attrs),
386
+ initial_folded: LogVisibility.serialize(unfit === null ? LogVisibility.OPEN : LogVisibility.FOLDED),
339
387
  });
340
388
  if (row === undefined)
341
389
  throw new Error("TurnMaterialization.writeArrivalLog: INSERT ... RETURNING produced no row");
@@ -1 +1 @@
1
- {"version":3,"file":"TurnMaterialization.js","sourceRoot":"","sources":["../../src/core/TurnMaterialization.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TurnMaterialization.js","sourceRoot":"","sources":["../../src/core/TurnMaterialization.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import { TurnDisposition } from "@plurnk/plurnk-contracts";
2
2
  import { PlurnkParser } from "@plurnk/plurnk-parser";
3
- import BodyPreview from "../content/body-preview.js";
3
+ import EmissionHead from "./EmissionHead.js";
4
4
  // {§statement-rendering} — core programs use the same serializer and admission parser.
5
5
  export default class TurnOps {
6
- // {§emission-row} — each body within the shared preview bound; a longer body keeps its head and its
7
- // closer names the source. Dispatch and source evidence keep the original statements.
6
+ // {§emission-row} — each body as its head, an ellipsis marking the cut; a longer body's closer names the source. Dispatch and
7
+ // source evidence keep the original statements.
8
8
  static renderEmission(statements, source) {
9
9
  return statements.map((statement) => {
10
10
  const heading = PlurnkParser.heading(statement);
@@ -13,11 +13,11 @@ export default class TurnOps {
13
13
  : "";
14
14
  if (body.length === 0)
15
15
  return PlurnkParser.frame(heading, null);
16
- const { end } = BodyPreview.select(body);
17
- if (end >= body.length)
16
+ const { head: kept, cut } = EmissionHead.cut(body);
17
+ if (!cut)
18
18
  return PlurnkParser.frame(heading, body);
19
- const head = body.slice(0, end).replace(/\r?\n$/u, "");
20
- return `${PlurnkParser.frame(heading, head)} <!-- Automatically truncated op body: READ (${source}) to retrieve in full -->`;
19
+ const head = `${kept.replace(/\r?\n$/u, "")}…`;
20
+ return `${PlurnkParser.frame(heading, head)} <!-- … READ (${source}) -->`;
21
21
  }).join("\n\n");
22
22
  }
23
23
  static renderInternal(statements) {