@plurnk/plurnk-service 1.21.0 → 1.22.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 (249) hide show
  1. package/.env.defaults +15 -6
  2. package/INSTALL.md +2 -2
  3. package/README.md +1 -1
  4. package/SPEC.md +329 -228
  5. package/dist/build-info.json +1 -1
  6. package/dist/content/edit-receipt.js +4 -3
  7. package/dist/content/edit-receipt.js.map +1 -1
  8. package/dist/content/index.d.ts +2 -7
  9. package/dist/content/index.d.ts.map +1 -1
  10. package/dist/content/index.js +2 -5
  11. package/dist/content/index.js.map +1 -1
  12. package/dist/content/line-anchors.d.ts.map +1 -1
  13. package/dist/content/line-anchors.js +46 -15
  14. package/dist/content/line-anchors.js.map +1 -1
  15. package/dist/content/line-marker.d.ts +1 -0
  16. package/dist/content/line-marker.d.ts.map +1 -1
  17. package/dist/content/line-marker.js +2 -0
  18. package/dist/content/line-marker.js.map +1 -1
  19. package/dist/content/matcher.d.ts +1 -1
  20. package/dist/content/matcher.d.ts.map +1 -1
  21. package/dist/content/matcher.js +7 -9
  22. package/dist/content/matcher.js.map +1 -1
  23. package/dist/content/pattern-edits.d.ts +6 -0
  24. package/dist/content/pattern-edits.d.ts.map +1 -1
  25. package/dist/content/pattern-edits.js +14 -0
  26. package/dist/content/pattern-edits.js.map +1 -1
  27. package/dist/content/read-projector.d.ts.map +1 -1
  28. package/dist/content/read-projector.js +2 -1
  29. package/dist/content/read-projector.js.map +1 -1
  30. package/dist/content/scope-format.d.ts +2 -2
  31. package/dist/content/scope-format.d.ts.map +1 -1
  32. package/dist/content/scope-format.js.map +1 -1
  33. package/dist/core/AdmittedTurnExecutor.d.ts.map +1 -1
  34. package/dist/core/AdmittedTurnExecutor.js +5 -2
  35. package/dist/core/AdmittedTurnExecutor.js.map +1 -1
  36. package/dist/core/DataStatementRunner.js +1 -1
  37. package/dist/core/DataStatementRunner.js.map +1 -1
  38. package/dist/core/Dispatcher.d.ts.map +1 -1
  39. package/dist/core/Dispatcher.js +1 -0
  40. package/dist/core/Dispatcher.js.map +1 -1
  41. package/dist/core/Dispatcher.sql +1 -1
  42. package/dist/core/EditMutations.js +4 -4
  43. package/dist/core/EditMutations.js.map +1 -1
  44. package/dist/core/EditSequence.d.ts.map +1 -1
  45. package/dist/core/EditSequence.js +2 -1
  46. package/dist/core/EditSequence.js.map +1 -1
  47. package/dist/core/Engine.d.ts +4 -1
  48. package/dist/core/Engine.d.ts.map +1 -1
  49. package/dist/core/Engine.js +7 -2
  50. package/dist/core/Engine.js.map +1 -1
  51. package/dist/core/ExecutorRegistry.d.ts +1 -0
  52. package/dist/core/ExecutorRegistry.d.ts.map +1 -1
  53. package/dist/core/ExecutorRegistry.js +4 -0
  54. package/dist/core/ExecutorRegistry.js.map +1 -1
  55. package/dist/core/FabricatedLog.d.ts +8 -0
  56. package/dist/core/FabricatedLog.d.ts.map +1 -0
  57. package/dist/core/FabricatedLog.js +16 -0
  58. package/dist/core/FabricatedLog.js.map +1 -0
  59. package/dist/core/KnownToxins.d.ts +0 -1
  60. package/dist/core/KnownToxins.d.ts.map +1 -1
  61. package/dist/core/KnownToxins.js +3 -12
  62. package/dist/core/KnownToxins.js.map +1 -1
  63. package/dist/core/LogBody.d.ts.map +1 -1
  64. package/dist/core/LogBody.js +3 -2
  65. package/dist/core/LogBody.js.map +1 -1
  66. package/dist/core/LogVisibility.d.ts +3 -1
  67. package/dist/core/LogVisibility.d.ts.map +1 -1
  68. package/dist/core/LogVisibility.js +30 -16
  69. package/dist/core/LogVisibility.js.map +1 -1
  70. package/dist/core/LoopDriver.d.ts.map +1 -1
  71. package/dist/core/LoopDriver.js +2 -3
  72. package/dist/core/LoopDriver.js.map +1 -1
  73. package/dist/core/LoopOutcome.d.ts +0 -1
  74. package/dist/core/LoopOutcome.d.ts.map +1 -1
  75. package/dist/core/LoopOutcome.js +1 -1
  76. package/dist/core/LoopOutcome.js.map +1 -1
  77. package/dist/core/OutsideEvent.d.ts +10 -0
  78. package/dist/core/OutsideEvent.d.ts.map +1 -0
  79. package/dist/core/OutsideEvent.js +5 -0
  80. package/dist/core/OutsideEvent.js.map +1 -0
  81. package/dist/core/PacketBuilder.js +2 -2
  82. package/dist/core/PacketBuilder.js.map +1 -1
  83. package/dist/core/PatternSelection.d.ts +1 -1
  84. package/dist/core/PatternSelection.d.ts.map +1 -1
  85. package/dist/core/PatternSelection.js +8 -6
  86. package/dist/core/PatternSelection.js.map +1 -1
  87. package/dist/core/ProposalLifecycle.d.ts.map +1 -1
  88. package/dist/core/ProposalLifecycle.js +2 -4
  89. package/dist/core/ProposalLifecycle.js.map +1 -1
  90. package/dist/core/ProviderInstantiate.d.ts +4 -4
  91. package/dist/core/ProviderInstantiate.d.ts.map +1 -1
  92. package/dist/core/ProviderInstantiate.js +24 -25
  93. package/dist/core/ProviderInstantiate.js.map +1 -1
  94. package/dist/core/ProviderRecovery.d.ts +1 -1
  95. package/dist/core/ProviderRecovery.d.ts.map +1 -1
  96. package/dist/core/ProviderRecovery.js +3 -1
  97. package/dist/core/ProviderRecovery.js.map +1 -1
  98. package/dist/core/ResourceSelector.js +1 -1
  99. package/dist/core/ResourceSelector.js.map +1 -1
  100. package/dist/core/StoredPacket.d.ts +1 -1
  101. package/dist/core/StoredPacket.d.ts.map +1 -1
  102. package/dist/core/StoredPacket.js +6 -15
  103. package/dist/core/StoredPacket.js.map +1 -1
  104. package/dist/core/StrikeRail.d.ts +2 -0
  105. package/dist/core/StrikeRail.d.ts.map +1 -1
  106. package/dist/core/StrikeRail.js +7 -1
  107. package/dist/core/StrikeRail.js.map +1 -1
  108. package/dist/core/Turn.d.ts +1 -1
  109. package/dist/core/Turn.d.ts.map +1 -1
  110. package/dist/core/Turn.js.map +1 -1
  111. package/dist/core/TurnDispositionHandler.d.ts.map +1 -1
  112. package/dist/core/TurnDispositionHandler.js +1 -4
  113. package/dist/core/TurnDispositionHandler.js.map +1 -1
  114. package/dist/core/TurnMaterialization.d.ts.map +1 -1
  115. package/dist/core/TurnMaterialization.js +5 -7
  116. package/dist/core/TurnMaterialization.js.map +1 -1
  117. package/dist/core/TurnRunner.d.ts +5 -1
  118. package/dist/core/TurnRunner.d.ts.map +1 -1
  119. package/dist/core/TurnRunner.js +108 -23
  120. package/dist/core/TurnRunner.js.map +1 -1
  121. package/dist/core/WorkerControlHandler.d.ts.map +1 -1
  122. package/dist/core/WorkerControlHandler.js +6 -1
  123. package/dist/core/WorkerControlHandler.js.map +1 -1
  124. package/dist/core/WorkerName.sql +2 -2
  125. package/dist/core/attachments.d.ts +0 -3
  126. package/dist/core/attachments.d.ts.map +1 -1
  127. package/dist/core/attachments.js +3 -3
  128. package/dist/core/attachments.js.map +1 -1
  129. package/dist/core/caps/DbSubscriptionCaps.d.ts.map +1 -1
  130. package/dist/core/caps/DbSubscriptionCaps.js +1 -2
  131. package/dist/core/caps/DbSubscriptionCaps.js.map +1 -1
  132. package/dist/core/fork.sql +2 -2
  133. package/dist/core/packet-wire.d.ts +1 -2
  134. package/dist/core/packet-wire.d.ts.map +1 -1
  135. package/dist/core/packet-wire.js +51 -54
  136. package/dist/core/packet-wire.js.map +1 -1
  137. package/dist/core/plurnk-uri.d.ts +0 -1
  138. package/dist/core/plurnk-uri.d.ts.map +1 -1
  139. package/dist/core/plurnk-uri.js +1 -1
  140. package/dist/core/plurnk-uri.js.map +1 -1
  141. package/dist/core/worker-ops.sql +1 -1
  142. package/dist/digest/Digest.d.ts.map +1 -1
  143. package/dist/digest/Digest.js +33 -60
  144. package/dist/digest/Digest.js.map +1 -1
  145. package/dist/digest/DigestEvidence.d.ts +9 -0
  146. package/dist/digest/DigestEvidence.d.ts.map +1 -0
  147. package/dist/digest/DigestEvidence.js +52 -0
  148. package/dist/digest/DigestEvidence.js.map +1 -0
  149. package/dist/digest/DigestRender.d.ts +1 -1
  150. package/dist/digest/DigestRender.d.ts.map +1 -1
  151. package/dist/digest/DigestRender.js +115 -66
  152. package/dist/digest/DigestRender.js.map +1 -1
  153. package/dist/digest/DigestRequiem.d.ts.map +1 -1
  154. package/dist/digest/DigestRequiem.js +56 -47
  155. package/dist/digest/DigestRequiem.js.map +1 -1
  156. package/dist/digest/digest-paths.d.ts.map +1 -1
  157. package/dist/digest/digest-paths.js +5 -14
  158. package/dist/digest/digest-paths.js.map +1 -1
  159. package/dist/digest/digest-rows.d.ts +10 -9
  160. package/dist/digest/digest-rows.d.ts.map +1 -1
  161. package/dist/digest/digest.sql +15 -11
  162. package/dist/schemes/EffectPolicy.js +1 -1
  163. package/dist/schemes/EffectPolicy.js.map +1 -1
  164. package/dist/schemes/Exec.d.ts.map +1 -1
  165. package/dist/schemes/Exec.js +26 -6
  166. package/dist/schemes/Exec.js.map +1 -1
  167. package/dist/schemes/ExecScratch.d.ts +10 -0
  168. package/dist/schemes/ExecScratch.d.ts.map +1 -0
  169. package/dist/schemes/ExecScratch.js +43 -0
  170. package/dist/schemes/ExecScratch.js.map +1 -0
  171. package/dist/schemes/File.d.ts.map +1 -1
  172. package/dist/schemes/File.js +39 -5
  173. package/dist/schemes/File.js.map +1 -1
  174. package/dist/schemes/Log.d.ts.map +1 -1
  175. package/dist/schemes/Log.js +5 -4
  176. package/dist/schemes/Log.js.map +1 -1
  177. package/dist/schemes/TurnSource.js +2 -2
  178. package/dist/schemes/TurnSource.js.map +1 -1
  179. package/dist/schemes/Worker.d.ts.map +1 -1
  180. package/dist/schemes/Worker.js +6 -3
  181. package/dist/schemes/Worker.js.map +1 -1
  182. package/dist/schemes/_entry-crud.d.ts.map +1 -1
  183. package/dist/schemes/_entry-crud.js +2 -3
  184. package/dist/schemes/_entry-crud.js.map +1 -1
  185. package/dist/schemes/_entry-find.d.ts.map +1 -1
  186. package/dist/schemes/_entry-find.js +2 -1
  187. package/dist/schemes/_entry-find.js.map +1 -1
  188. package/dist/schemes/_entry-fts.d.ts +1 -0
  189. package/dist/schemes/_entry-fts.d.ts.map +1 -1
  190. package/dist/schemes/_entry-fts.js +34 -2
  191. package/dist/schemes/_entry-fts.js.map +1 -1
  192. package/dist/schemes/_entry-ops.d.ts.map +1 -1
  193. package/dist/schemes/_entry-ops.js +3 -2
  194. package/dist/schemes/_entry-ops.js.map +1 -1
  195. package/dist/schemes/_path-scope.d.ts.map +1 -1
  196. package/dist/schemes/_path-scope.js +2 -3
  197. package/dist/schemes/_path-scope.js.map +1 -1
  198. package/dist/server/Daemon.d.ts +25 -13
  199. package/dist/server/Daemon.d.ts.map +1 -1
  200. package/dist/server/Daemon.js +89 -58
  201. package/dist/server/Daemon.js.map +1 -1
  202. package/dist/server/DrainSupervisor.d.ts +3 -3
  203. package/dist/server/DrainSupervisor.d.ts.map +1 -1
  204. package/dist/server/DrainSupervisor.js +3 -3
  205. package/dist/server/DrainSupervisor.js.map +1 -1
  206. package/dist/server/EnvFunctionality.d.ts +0 -1
  207. package/dist/server/EnvFunctionality.d.ts.map +1 -1
  208. package/dist/server/EnvFunctionality.js +1 -1
  209. package/dist/server/EnvFunctionality.js.map +1 -1
  210. package/dist/server/MembersFunctionality.d.ts +0 -9
  211. package/dist/server/MembersFunctionality.d.ts.map +1 -1
  212. package/dist/server/WorkerModelResolver.d.ts +8 -8
  213. package/dist/server/WorkerModelResolver.d.ts.map +1 -1
  214. package/dist/server/WorkerModelResolver.js +46 -45
  215. package/dist/server/WorkerModelResolver.js.map +1 -1
  216. package/dist/server/client-input.d.ts +1 -0
  217. package/dist/server/client-input.d.ts.map +1 -1
  218. package/dist/server/client-input.js +7 -0
  219. package/dist/server/client-input.js.map +1 -1
  220. package/dist/server/drain.sql +6 -6
  221. package/dist/server/envelope.sql +6 -6
  222. package/dist/server/loopDocs.js +1 -1
  223. package/dist/server/loopDocs.js.map +1 -1
  224. package/dist/server/model-catalog.js +2 -2
  225. package/dist/server/model-catalog.js.map +1 -1
  226. package/dist/server/model-route.d.ts +2 -2
  227. package/dist/server/model-route.d.ts.map +1 -1
  228. package/dist/server/model-route.js +5 -5
  229. package/dist/server/model-route.js.map +1 -1
  230. package/dist/service.d.ts.map +1 -1
  231. package/dist/service.js +41 -6
  232. package/dist/service.js.map +1 -1
  233. package/dist/share/Share.d.ts +15 -0
  234. package/dist/share/Share.d.ts.map +1 -0
  235. package/dist/share/Share.js +106 -0
  236. package/dist/share/Share.js.map +1 -0
  237. package/dist/share/share.sql +6 -0
  238. package/migrations/001_workspaces.sql +2 -2
  239. package/migrations/002_workers.sql +4 -6
  240. package/migrations/003_loops.sql +2 -2
  241. package/migrations/004_inference.sql +2 -2
  242. package/migrations/005_entries.sql +2 -2
  243. package/migrations/006_log.sql +2 -2
  244. package/migrations/007_subscriptions.sql +2 -2
  245. package/migrations/008_interactions.sql +2 -2
  246. package/migrations/009_effort.sql +7 -0
  247. package/migrations/010_outside_text.sql +41 -0
  248. package/migrations/011_settled.sql +133 -0
  249. package/package.json +42 -37
@@ -1 +1 @@
1
- {"version":3,"file":"Turn.js","sourceRoot":"","sources":["../../src/core/Turn.ts"],"names":[],"mappings":"AAqBA,4EAA4E;AAC5E,+EAA+E;AAC/E,8EAA8E;AAC9E,MAAM,CAAC,OAAO,OAAO,IAAI;IACrB,MAAM,CAAC,KAAK,CAAC,IAAI,CACb,EAAM,EACN,IAAgE;QAEhE,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,SAAS,CAAC,GAAG,CAAU;YACzC,OAAO,EAAE,IAAI,CAAC,MAAM;YACpB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,IAAI,EAAE,IAAI,CAAC,IAAI;SAClB,CAAC,CAAC;QACH,IAAI,IAAI,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QAC7E,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,yFAAyF;IACzF,6FAA6F;IAC7F,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,EAAM,EAAE,EAAU,EAAE,QAA2B;QACxE,MAAM,EAAE,CAAC,qBAAqB,CAAC,GAAG,CAAC;YAC/B,OAAO,EAAE,EAAE;YACX,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,qBAAqB,EAAE,QAAQ,CAAC,mBAAmB;YACnD,aAAa,EAAE,QAAQ,CAAC,YAAY;YACpC,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,IAAI,EAAE,QAAQ,CAAC,IAAI;SACtB,CAAC,CAAC;IACP,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAM,EAAE,EAAU;QAC9C,MAAM,EAAE,CAAC,wBAAwB,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,EAAM,EAAE,MAAc,EAAE,IAAkC,EAAE,OAAe,EAAE,OAAO,GAG1G,EAAE;QACF,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAsB;YAC7D,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,CAAC;YAC/D,aAAa,EAAE,OAAO,CAAC,WAAW,IAAI,IAAI;SAC7C,CAAC,CAAC;QACH,IAAI,GAAG,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,IAAI,+DAA+D,CAAC,CAAC;IACtI,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAM,EAAE,EAAU,EAAE,MAAc;QACpD,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,GAAG,CAAiB,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QACxE,IAAI,IAAI,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,EAAE,cAAc,CAAC,CAAC;IACrF,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAM,EAAE,EAAU;QACpC,OAAO,CAAC,MAAM,EAAE,CAAC,cAAc,CAAC,GAAG,CAAiB,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC;IAC/E,CAAC;CACJ"}
1
+ {"version":3,"file":"Turn.js","sourceRoot":"","sources":["../../src/core/Turn.ts"],"names":[],"mappings":"AAqBA,4EAA4E;AAC5E,+EAA+E;AAC/E,8EAA8E;AAC9E,MAAM,CAAC,OAAO,OAAO,IAAI;IACrB,MAAM,CAAC,KAAK,CAAC,IAAI,CACb,EAAM,EACN,IAAgE;QAEhE,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,SAAS,CAAC,GAAG,CAAU;YACzC,OAAO,EAAE,IAAI,CAAC,MAAM;YACpB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,IAAI,EAAE,IAAI,CAAC,IAAI;SAClB,CAAC,CAAC;QACH,IAAI,IAAI,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QAC7E,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,yFAAyF;IACzF,6FAA6F;IAC7F,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,EAAM,EAAE,EAAU,EAAE,QAA2B;QACxE,MAAM,EAAE,CAAC,qBAAqB,CAAC,GAAG,CAAC;YAC/B,OAAO,EAAE,EAAE;YACX,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,qBAAqB,EAAE,QAAQ,CAAC,mBAAmB;YACnD,aAAa,EAAE,QAAQ,CAAC,YAAY;YACpC,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,IAAI,EAAE,QAAQ,CAAC,IAAI;SACtB,CAAC,CAAC;IACP,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAM,EAAE,EAAU;QAC9C,MAAM,EAAE,CAAC,wBAAwB,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,EAAM,EAAE,MAAc,EAAE,IAA8C,EAAE,OAAe,EAAE,OAAO,GAGtH,EAAE;QACF,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAsB;YAC7D,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,CAAC;YAC/D,aAAa,EAAE,OAAO,CAAC,WAAW,IAAI,IAAI;SAC7C,CAAC,CAAC;QACH,IAAI,GAAG,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,IAAI,+DAA+D,CAAC,CAAC;IACtI,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAM,EAAE,EAAU,EAAE,MAAc;QACpD,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,GAAG,CAAiB,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QACxE,IAAI,IAAI,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,EAAE,cAAc,CAAC,CAAC;IACrF,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAM,EAAE,EAAU;QACpC,OAAO,CAAC,MAAM,EAAE,CAAC,cAAc,CAAC,GAAG,CAAiB,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC;IAC/E,CAAC;CACJ"}
@@ -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,CAWtD;IAEK,UAAU,CAAC,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,CAGjG;IAEK,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAWrF;CA0BJ"}
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,CAQtD;IAEK,UAAU,CAAC,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,CAGjG;IAEK,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAWrF;CA0BJ"}
@@ -16,10 +16,7 @@ export default class TurnDispositionHandler {
16
16
  // {§wait-obligation-matrix}: record intent now; settle the complete program before parking.
17
17
  if (await this.#hasLiveWork(ctx.loopId))
18
18
  return { status: 202, attrs: { waiting: -1 } };
19
- // A second idle WAIT is the model waiting on a wake nothing can send. "Nothing is in
20
- // flight" reads as weather; on the repeat the row says what WAIT is for and what to reach
21
- // for instead, because the refusal is the only surface it is certain to read
22
- // (operator, 2026-09-22).
19
+ // {§wait-obligation-matrix}: a second idle WAIT names what WAIT is for.
23
20
  const prior = await this.#db.engine_prior_idle_waits.get({ loop_id: ctx.loopId });
24
21
  return (prior?.count ?? 0) > 0
25
22
  ? { status: 102, detail: "WAIT doesn't wait unless there's a child worker or stream to wait on. Use schedule for specific timing decisions." }
@@ -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 +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,CAqGpB;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,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"}
@@ -124,8 +124,7 @@ export default class TurnMaterialization {
124
124
  const entryIds = [];
125
125
  // {§exec-stream} — a concluded stream lands one row per channel that has content; an empty
126
126
  // sibling channel is a fact on that row (`channels`), never a row of its own, and only a
127
- // stream that printed nothing at all lands one bodyless row on its default channel
128
- // (operator, 2026-09-13: the empty ambient row was a packet bomb).
127
+ // stream that printed nothing at all lands one bodyless row on its default channel.
129
128
  const closedBySubscription = new Map();
130
129
  for (const ch of channels) {
131
130
  if (ch.state !== "closed" && ch.state !== "errored")
@@ -167,15 +166,14 @@ export default class TurnMaterialization {
167
166
  // the first page, the extent, the terminal status and Problem — initially visible. {§exec-stream-page}
168
167
  if (ch.state !== "closed" && ch.state !== "errored")
169
168
  continue;
170
- // An executor marks its channel closed itself; subscription settlement installs the
171
- // terminal result afterwards, in a separate write. Until it has, the stream is still
172
- // in flight and publishes on the turn after it settles. Reading state as "settled"
173
- // threw here under load (#818), taking the whole loop down.
169
+ // {§stream-observation-result} — the terminal result lands in a separate write after
170
+ // the executor closes the channel (#818).
174
171
  if (ch.producer_result === null)
175
172
  continue;
176
173
  if (skipped.has(ch.publication_id))
177
174
  continue;
178
- const terminal = Results.assert(JSON.parse(ch.producer_result));
175
+ // {§validation-topology}: a stored result is chapter 5's; it is parsed, not re-asserted.
176
+ const terminal = JSON.parse(ch.producer_result);
179
177
  const sequence = fromSequence + entryIds.length;
180
178
  const page = await ReadResolve.resolve({ content: ch.content, mimetype: ch.mimetype, lineMarker: null });
181
179
  const emptySiblings = siblings.get(ch.publication_id) ?? {};
@@ -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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"}
@@ -10,6 +10,7 @@ import type { PlurnkSchemeContext } from "./scheme-types.ts";
10
10
  import type ExecutorRegistry from "./ExecutorRegistry.ts";
11
11
  import type { StreamEventNotify, WakeWorkerNotify } from "./ChannelWrite.ts";
12
12
  import type { ReasoningEventNotify } from "./ReasoningEvent.ts";
13
+ import type { OutsideEventNotify } from "./OutsideEvent.ts";
13
14
  import type { LoopPacketNotify } from "./LoopPacket.ts";
14
15
  import LiveSubscriptions from "./LiveSubscriptions.ts";
15
16
  export declare const resolveOperatorGrammarPath: (value: string) => string;
@@ -30,6 +31,7 @@ type EngineTurnResult = {
30
31
  turnId: number;
31
32
  status: number;
32
33
  outcomes: StrikeOutcome[];
34
+ progressed: boolean;
33
35
  fingerprint: string;
34
36
  capacityHardStop: boolean;
35
37
  providerParked: boolean;
@@ -57,6 +59,7 @@ export type BareExecution = {
57
59
  export type AdmittedTurnResult = {
58
60
  readonly status: number;
59
61
  readonly outcomes: StrikeOutcome[];
62
+ readonly progressed: boolean;
60
63
  readonly fingerprint: string;
61
64
  readonly emptyTurn: boolean;
62
65
  };
@@ -65,7 +68,7 @@ type TurnDispatch = (context: DispatchContext) => Promise<DispatchResult>;
65
68
  type WarmWorkspace = (context: PlurnkSchemeContext, invalidate?: boolean, materialize?: boolean) => Promise<void>;
66
69
  export default class TurnRunner {
67
70
  #private;
68
- constructor({ db, schemes, mimetypes, weigh, notices, problems, strikes, packets, dispatcher, liveSubscriptions, streamEventNotify, reasoningEventNotify, loopPacketNotify, wakeWorkerNotify, executors, loopSignal, interactions, warmWorkspace, dispatch, resolveWorkerProviderIdentity, }: {
71
+ constructor({ db, schemes, mimetypes, weigh, notices, problems, strikes, packets, dispatcher, liveSubscriptions, streamEventNotify, reasoningEventNotify, outsideEventNotify, loopPacketNotify, wakeWorkerNotify, executors, loopSignal, interactions, warmWorkspace, dispatch, resolveWorkerProviderIdentity, }: {
69
72
  db: Db;
70
73
  schemes: SchemeRegistry;
71
74
  mimetypes: Mimetypes;
@@ -78,6 +81,7 @@ export default class TurnRunner {
78
81
  liveSubscriptions: LiveSubscriptions;
79
82
  streamEventNotify?: StreamEventNotify;
80
83
  reasoningEventNotify?: ReasoningEventNotify;
84
+ outsideEventNotify?: OutsideEventNotify;
81
85
  loopPacketNotify?: LoopPacketNotify;
82
86
  wakeWorkerNotify?: WakeWorkerNotify;
83
87
  executors: () => ExecutorRegistry | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"TurnRunner.d.ts","sourceRoot":"","sources":["../../src/core/TurnRunner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TurnRunner.d.ts","sourceRoot":"","sources":["../../src/core/TurnRunner.ts"],"names":[],"mappings":"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"}
@@ -6,11 +6,13 @@ import LoopPolicyReader from "./LoopPolicyReader.js";
6
6
  import { setTimeout as delay } from "node:timers/promises";
7
7
  import { aggregateProviderAccounting } from "@plurnk/plurnk-providers";
8
8
  const comparePosition = (a, b) => a.line - b.line || a.column - b.column;
9
+ import FabricatedLog from "./FabricatedLog.js";
9
10
  import Meta from "@plurnk/plurnk-meta";
10
11
  import GitMembership from "./git-membership.js";
11
12
  import { acceptedKinds } from "./attachments.js";
12
13
  import GitState from "./git-state.js";
13
14
  import WorkspaceSettings from "./workspace-settings.js";
15
+ import { contentWeight } from "./content-weight.js";
14
16
  import { generatedPathname } from "./plurnk-uri.js";
15
17
  import { readFile } from "node:fs/promises";
16
18
  import { resolve as resolvePath } from "node:path";
@@ -25,7 +27,7 @@ export const resolveOperatorGrammarPath = (value) => {
25
27
  return resolvePath(value);
26
28
  throw new Error(`PLURNK_PROVIDERS_GBNF=${value} names a bundled grammar profile; the service ships none (#588). Give the path of a grammar file you wrote.`);
27
29
  };
28
- // Shared module imported by both Engine and bin/digest.ts, so wire
30
+ // Shared module imported by both Engine and the digest, so wire
29
31
  // projection and digest projection are structurally one function — no
30
32
  // drift between wire and digest possible.
31
33
  import PacketWire from "./packet-wire.js";
@@ -126,6 +128,7 @@ const turnResult = ({ createdTurnIds, turnId }, status, facts = {}) => ({
126
128
  kind: "inference",
127
129
  status,
128
130
  outcomes: [],
131
+ progressed: false,
129
132
  fingerprint: "",
130
133
  capacityHardStop: false,
131
134
  providerParked: false,
@@ -147,6 +150,7 @@ class TurnRunner {
147
150
  #liveSubscriptions;
148
151
  #streamEventNotify;
149
152
  #reasoningEventNotify;
153
+ #outsideEventNotify;
150
154
  #loopPacketNotify;
151
155
  #wakeWorkerNotify;
152
156
  #executors;
@@ -161,7 +165,7 @@ class TurnRunner {
161
165
  #materialization;
162
166
  #bareBatch;
163
167
  #admitted;
164
- constructor({ db, schemes, mimetypes, weigh, notices, problems, strikes, packets, dispatcher, liveSubscriptions, streamEventNotify, reasoningEventNotify, loopPacketNotify, wakeWorkerNotify, executors, loopSignal, interactions, warmWorkspace, dispatch, resolveWorkerProviderIdentity, }) {
168
+ constructor({ db, schemes, mimetypes, weigh, notices, problems, strikes, packets, dispatcher, liveSubscriptions, streamEventNotify, reasoningEventNotify, outsideEventNotify, loopPacketNotify, wakeWorkerNotify, executors, loopSignal, interactions, warmWorkspace, dispatch, resolveWorkerProviderIdentity, }) {
165
169
  this.#db = db;
166
170
  this.#schemes = schemes;
167
171
  this.#mimetypes = mimetypes;
@@ -174,6 +178,7 @@ class TurnRunner {
174
178
  this.#liveSubscriptions = liveSubscriptions;
175
179
  this.#streamEventNotify = streamEventNotify;
176
180
  this.#reasoningEventNotify = reasoningEventNotify;
181
+ this.#outsideEventNotify = outsideEventNotify;
177
182
  this.#loopPacketNotify = loopPacketNotify;
178
183
  this.#wakeWorkerNotify = wakeWorkerNotify;
179
184
  this.#executors = executors;
@@ -753,6 +758,7 @@ class TurnRunner {
753
758
  response: undefined,
754
759
  split: undefined,
755
760
  railGrammar: undefined,
761
+ wellFormed: undefined,
756
762
  railEvidence: undefined,
757
763
  emissionAttempts: 0,
758
764
  callInFlight: false,
@@ -781,6 +787,7 @@ class TurnRunner {
781
787
  if (!signal?.aborted)
782
788
  this.#notices.push(workspaceId, workerId, loopId, { source: "engine:turn", kind: "turn_awaiting_model", level: "info", message: "awaiting model response" });
783
789
  attempts.railGrammar = await this.#operatorGrammar(provider);
790
+ attempts.wellFormed = await this.#bodyChecks(workspaceId);
784
791
  const attemptLimit = readEmissionAttempts();
785
792
  const strikeStreak = await this.#strikes.streak(loopId);
786
793
  for (let attempt = 1; attempt <= attemptLimit;) {
@@ -867,6 +874,10 @@ class TurnRunner {
867
874
  completedResponse = await this.#generate(args, request, attempts, modelCall, reasoning, strikeStreak);
868
875
  }
869
876
  catch (error) {
877
+ if (error instanceof ProviderError && error.kind === "repetition" && error.attempt !== undefined) {
878
+ await this.#rejectRepetition(args, attempts, modelCall, attemptRow.id, error, error.attempt);
879
+ return "rejected";
880
+ }
870
881
  if (error instanceof ProviderError
871
882
  && ProviderRecovery.RECOVERABLE.has(error.kind)
872
883
  && attempts.signal?.aborted !== true) {
@@ -899,7 +910,7 @@ class TurnRunner {
899
910
  attempts.turnWireAccounting.push(...completedResponse.accounting);
900
911
  await modelCall.observeResponse(completedResponse, null, attempts.wire.nativeInputs);
901
912
  attempts.railEvidence = attempts.railGrammar === undefined ? undefined : completedResponse.grammarEvidence;
902
- const split = this.#splitResponse(completedResponse, this.#executors()?.availableRuntimes(workspaceId) ?? []);
913
+ const split = this.#splitResponse(completedResponse, this.#executors()?.availableRuntimes(workspaceId) ?? [], attempts.wellFormed, this.#executors()?.jsonBodyRuntimes(workspaceId) ?? []);
903
914
  attempts.split = split;
904
915
  await this.#classifyProviderAttempt(attempts, attemptRow.id, split, attempt, split.emissionValid);
905
916
  return split.emissionValid ? "admitted" : "rejected";
@@ -996,6 +1007,22 @@ class TurnRunner {
996
1007
  }
997
1008
  }, genAiRequestOptions(ProviderInstantiate.providerIdOf(provider) ?? "other", provider.model));
998
1009
  }
1010
+ // {§repetition-stop} — a response stopped at a repeated line is an invalid emission, not a provider failure:
1011
+ // the partial attempt is durable evidence, the provider's sentence is its diagnostic, and the same packet is
1012
+ // resampled under {§invalid-emission-attempts}. No recovery wait, no provider notice, no problem row.
1013
+ async #rejectRepetition({ workspaceId }, attempts, modelCall, attemptId, error, attempt) {
1014
+ await modelCall.observeResponse(attempt, _a.#providerFailure(error, attempts.signal), attempts.wire.nativeInputs);
1015
+ attempts.callInFlight = false;
1016
+ const split = this.#splitResponse(attempt, this.#executors()?.availableRuntimes(workspaceId) ?? [], attempts.wellFormed, this.#executors()?.jsonBodyRuntimes(workspaceId) ?? []);
1017
+ attempts.response = attempt;
1018
+ attempts.split = {
1019
+ ...split,
1020
+ emissionValid: false,
1021
+ recoverableParseErrors: [],
1022
+ parseErrors: [{ message: error.message, line: 1, column: 1, source: "provider" }, ...split.parseErrors],
1023
+ };
1024
+ await this.#classifyProviderAttempt(attempts, attemptId, attempts.split, attempts.currentEmissionAttempt, false);
1025
+ }
999
1026
  // {§provider-recovery} — a transient provider failure never ends the loop: record
1000
1027
  // it, wait, and re-issue the same turn; once the budget is spent the failure
1001
1028
  // handler parks the loop instead of failing it.
@@ -1012,7 +1039,7 @@ class TurnRunner {
1012
1039
  // {§provider-interrupted-attempt} — the interrupted response stays durable
1013
1040
  // as an unaccepted attempt; it is never admitted or replayed.
1014
1041
  await modelCall.observeResponse(error.attempt, failure, attempts.wire.nativeInputs);
1015
- await this.#classifyProviderAttempt(attempts, attemptId, this.#splitResponse(error.attempt, this.#executors()?.availableRuntimes(workspaceId) ?? []), attempts.currentEmissionAttempt, false);
1042
+ await this.#classifyProviderAttempt(attempts, attemptId, this.#splitResponse(error.attempt, this.#executors()?.availableRuntimes(workspaceId) ?? [], attempts.wellFormed, this.#executors()?.jsonBodyRuntimes(workspaceId) ?? []), attempts.currentEmissionAttempt, false);
1016
1043
  }
1017
1044
  else {
1018
1045
  await modelCall.fail(failure, error.capacity ?? null);
@@ -1111,7 +1138,7 @@ class TurnRunner {
1111
1138
  if (err instanceof ProviderError && err.attempt !== undefined) {
1112
1139
  attempts.response = err.attempt;
1113
1140
  await attempts.modelCall.observeResponse(err.attempt, failure, attempts.wire.nativeInputs);
1114
- attempts.split = this.#splitResponse(err.attempt, this.#executors()?.availableRuntimes(workspaceId) ?? []);
1141
+ attempts.split = this.#splitResponse(err.attempt, this.#executors()?.availableRuntimes(workspaceId) ?? [], attempts.wellFormed, this.#executors()?.jsonBodyRuntimes(workspaceId) ?? []);
1115
1142
  await this.#classifyProviderAttempt(attempts, attempts.attemptId, attempts.split, attempts.currentEmissionAttempt, false);
1116
1143
  }
1117
1144
  else {
@@ -1284,6 +1311,25 @@ class TurnRunner {
1284
1311
  level: "warn",
1285
1312
  });
1286
1313
  }
1314
+ // {§outside-text} — text outside the operations is the turn's own source, never a log row
1315
+ // or a packet field; the model reads only its weight, the client reads its text once.
1316
+ if (split.outside !== null) {
1317
+ await Turn.recordSource(this.#db, request.turnId, "outside", split.outside.text, { modelCallId: emission.modelCallId });
1318
+ this.#notices.push(workspaceId, workerId, loopId, {
1319
+ source: "engine:turn",
1320
+ kind: "outside_text",
1321
+ level: "warn",
1322
+ message: `${split.outside.tokens} tokens emitted outside OPs. Discarded.`,
1323
+ });
1324
+ this.#outsideEventNotify?.(workspaceId, {
1325
+ workerId,
1326
+ loopId,
1327
+ turnId: request.turnId,
1328
+ coordinate: `${request.workerName}-${request.loopSeq}-${request.seq}`,
1329
+ text: split.outside.text,
1330
+ tokens: split.outside.tokens,
1331
+ });
1332
+ }
1287
1333
  // {§operator-grammar} — transport evidence only: the turn records whether the operator's
1288
1334
  // grammar reached the wire. Nothing grades the response against it; the parser's
1289
1335
  // admission is the one verdict (#588).
@@ -1345,6 +1391,7 @@ class TurnRunner {
1345
1391
  await this.#readEmptyTurnReasoning(args, request, split.packetAssistant);
1346
1392
  return turnResult(request, executed.status, {
1347
1393
  outcomes: executed.outcomes,
1394
+ progressed: executed.progressed,
1348
1395
  fingerprint: executed.fingerprint,
1349
1396
  emptyTurn: executed.emptyTurn,
1350
1397
  emissionAttempts: emission.emissionAttempts,
@@ -1352,7 +1399,7 @@ class TurnRunner {
1352
1399
  }
1353
1400
  // {§reasoning-empty-turn-read} — after a turn with no operation, one runtime turn READs that
1354
1401
  // turn's reasoning back to the model. A trace or emission carrying a foreign tool-call grammar
1355
- // is not echoed ({§response-text-note}); a turn without reasoning has nothing to read.
1402
+ // is not echoed (`KnownToxins`); a turn without reasoning has nothing to read.
1356
1403
  async #readEmptyTurnReasoning(args, request, { content, reasoning }) {
1357
1404
  const { provider, workspaceId, workerId, loopId, onDispatch, onSettled } = args;
1358
1405
  if (!reasoning?.length || KnownToxins.match(content) !== null || KnownToxins.match(reasoning) !== null)
@@ -1395,7 +1442,42 @@ class TurnRunner {
1395
1442
  // its assistant payload to skip the parse roundtrip. The wire Provider
1396
1443
  // contract has no `ops` field; only Mock exposes one. Real providers
1397
1444
  // always take the parse path because their `assistant.ops` is undefined.
1398
- #splitResponse(response, executors = []) {
1445
+ // {§pairing-objective}: each runtime that declares its body's media type is judged by that media type's
1446
+ // handler. The parse is synchronous, so the handler must validate synchronously; one that cannot breaks the
1447
+ // declaration's contract and fails here.
1448
+ async #bodyChecks(workspaceId) {
1449
+ const registry = this.#executors();
1450
+ if (registry === undefined)
1451
+ return undefined;
1452
+ const declared = registry.availableRuntimes(workspaceId).flatMap((runtime) => {
1453
+ const mimetype = registry.entry(runtime, workspaceId)?.invocation.body.mimetype;
1454
+ return mimetype === undefined ? [] : [{ runtime, mimetype }];
1455
+ });
1456
+ if (declared.length === 0)
1457
+ return undefined;
1458
+ const handlers = new Map(await Promise.all(declared.map(async ({ runtime, mimetype }) => {
1459
+ const handler = await this.#mimetypes.getHandler(mimetype);
1460
+ if (handler === null)
1461
+ throw new Error(`runtime '${runtime}' declares body media type ${mimetype}, which no installed handler reads`);
1462
+ return [runtime, handler];
1463
+ })));
1464
+ return (runtime, body) => {
1465
+ const handler = handlers.get(runtime);
1466
+ if (handler === undefined)
1467
+ return true;
1468
+ let verdict;
1469
+ try {
1470
+ verdict = handler.validate(body);
1471
+ }
1472
+ catch {
1473
+ return false;
1474
+ }
1475
+ if (verdict instanceof Promise)
1476
+ throw new Error(`the ${runtime} body media type validates asynchronously; a declared body media type must validate synchronously`);
1477
+ return true;
1478
+ };
1479
+ }
1480
+ #splitResponse(response, executors = [], wellFormed, jsonBodyExecutors = []) {
1399
1481
  const { assistant } = response;
1400
1482
  const preParsedOps = assistant.ops;
1401
1483
  const ops = [];
@@ -1403,6 +1485,10 @@ class TurnRunner {
1403
1485
  let contentStatementCount = 0;
1404
1486
  let hasUnparsedTail = false;
1405
1487
  const parseNotices = [];
1488
+ const fabrications = [];
1489
+ // {§outside-text}: every span outside an operation, verbatim and in source order; never an
1490
+ // operation of its own, so a repetitive or length-cut response stays one source.
1491
+ const outside = [];
1406
1492
  if (preParsedOps !== undefined) {
1407
1493
  ops.push(...preParsedOps);
1408
1494
  contentStatementCount = preParsedOps.length;
@@ -1413,29 +1499,25 @@ class TurnRunner {
1413
1499
  const parsed = observedSync("contracts.parse", {}, (span) => {
1414
1500
  // {§fence-heading-in-body} {§interstitial-fence} — the executors this workspace can run
1415
1501
  // are heading tags to the parser; anything else tagged is a code block.
1416
- const result = PlurnkParser.parse(assistant.content, { executors });
1502
+ const result = PlurnkParser.parse(assistant.content, { executors, jsonBodyExecutors, ...(wellFormed === undefined ? {} : { wellFormed }) });
1417
1503
  span.setAttribute("statements", result.items.filter((item) => item.kind === "statement").length);
1418
1504
  return result;
1419
1505
  });
1420
- // {§response-text-note}: storing interstitial text is a privilege of a turn that executed
1421
- // at least one operation, and only narration earns it; the count is known before the
1422
- // spans are filed, so the items are read once for the count and once in source order.
1423
- const statementCount = parsed.items.filter((item) => item.kind === "statement").length;
1424
1506
  for (const item of parsed.items) {
1425
1507
  if (item.kind === "statement") {
1426
1508
  ops.push(item.statement);
1427
1509
  contentStatementCount += 1;
1428
1510
  }
1429
- // Text outside an OP is the model's NOTE, never delivered and never counted as
1430
- // authored. A toxin or a broken program retains nothing: the emission stays at ops://,
1431
- // and nothing echoes the grammar that broke this turn into the next packet.
1511
+ // Operation boundaries stay the parser's responsibility; what falls outside them is
1512
+ // stored as the turn's outside source and counted as nothing.
1432
1513
  else if (item.kind === "text") {
1433
- if (!KnownToxins.retains(item.content, statementCount))
1514
+ // {§fabricated-log-entry}: a log-entry heading in outside text rejects the attempt.
1515
+ const fabricated = FabricatedLog.find(item.content);
1516
+ if (fabricated !== null) {
1517
+ fabrications.push({ message: FabricatedLog.message(fabricated.heading), line: item.position.line + fabricated.line, column: 1, source: "harness" });
1434
1518
  continue;
1435
- ops.push({
1436
- op: "NOTE", aside: null, target: null, metadata: null, lineMarker: null,
1437
- body: item.content.trim(), position: UNKNOWN_POSITION,
1438
- });
1519
+ }
1520
+ outside.push(item.content.trim());
1439
1521
  }
1440
1522
  else if (item.kind === "error") {
1441
1523
  const err = item.error;
@@ -1474,6 +1556,7 @@ class TurnRunner {
1474
1556
  parseErrors.push({ message: tail.reason, line: tail.from.line, column: tail.from.column, source: "grammar" });
1475
1557
  }
1476
1558
  }
1559
+ parseErrors.unshift(...fabrications.slice(0, 1));
1477
1560
  // {§kill-conclusion}: response shape expresses completion, not reasoning-side NOTE capture.
1478
1561
  const finalResponse = TurnDisposition.requestsCompletion(ops)
1479
1562
  && !hasUnparsedTail && parseErrors.length === 0
@@ -1483,13 +1566,14 @@ class TurnRunner {
1483
1566
  const notes = reasoning === null ? [] : PlurnkParser.parseReasoningNotes(reasoning);
1484
1567
  ops.unshift(...notes);
1485
1568
  // {§unparsed-tail-boundary}: only a closed response operation can justify admitting a
1486
- // lost boundary; outside text and reasoning NOTE do not supply that evidence.
1487
- const emissionValid = preParsedOps !== undefined
1569
+ // lost boundary; outside text and reasoning NOTEs do not supply that evidence.
1570
+ const emissionValid = fabrications.length === 0 && (preParsedOps !== undefined
1488
1571
  || emptyTurn
1489
- || contentStatementCount > 0;
1572
+ || contentStatementCount > 0);
1490
1573
  const recoverableParseErrors = parseErrors
1491
1574
  .filter((error) => error.message !== PlurnkParser.NO_VALID_OPERATION)
1492
1575
  .toSorted(comparePosition);
1576
+ const outsideText = outside.join("\n\n");
1493
1577
  return {
1494
1578
  packetAssistant: { content: assistant.content, ops, reasoning },
1495
1579
  sourceBacked: preParsedOps === undefined,
@@ -1500,6 +1584,7 @@ class TurnRunner {
1500
1584
  finalResponse,
1501
1585
  parseNotices,
1502
1586
  emissionValid,
1587
+ outside: outside.length === 0 ? null : { text: outsideText, tokens: contentWeight(outsideText) },
1503
1588
  };
1504
1589
  }
1505
1590
  // #note12 — plugin reference docs are materialized beneath