@plurnk/plurnk-service 1.17.0 → 1.19.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 (501) hide show
  1. package/.env.defaults +95 -14
  2. package/README.md +5 -3
  3. package/SPEC.md +1756 -1442
  4. package/dist/Paths.js +3 -3
  5. package/dist/build-info.json +1 -1
  6. package/dist/content/body-preview.d.ts +1 -0
  7. package/dist/content/body-preview.d.ts.map +1 -1
  8. package/dist/content/body-preview.js +8 -10
  9. package/dist/content/body-preview.js.map +1 -1
  10. package/dist/content/edit-receipt.d.ts.map +1 -1
  11. package/dist/content/edit-receipt.js +30 -29
  12. package/dist/content/edit-receipt.js.map +1 -1
  13. package/dist/content/line-anchors.d.ts.map +1 -1
  14. package/dist/content/line-anchors.js +17 -5
  15. package/dist/content/line-anchors.js.map +1 -1
  16. package/dist/content/read-projector.d.ts +2 -2
  17. package/dist/content/read-projector.d.ts.map +1 -1
  18. package/dist/content/read-projector.js +81 -39
  19. package/dist/content/read-projector.js.map +1 -1
  20. package/dist/content/read-resolve.d.ts +1 -0
  21. package/dist/content/read-resolve.d.ts.map +1 -1
  22. package/dist/content/read-resolve.js +13 -10
  23. package/dist/content/read-resolve.js.map +1 -1
  24. package/dist/content/scope-format.d.ts +9 -0
  25. package/dist/content/scope-format.d.ts.map +1 -0
  26. package/dist/content/scope-format.js +28 -0
  27. package/dist/content/scope-format.js.map +1 -0
  28. package/dist/core/AdministrativeLoop.d.ts +8 -0
  29. package/dist/core/AdministrativeLoop.d.ts.map +1 -0
  30. package/dist/core/AdministrativeLoop.js +16 -0
  31. package/dist/core/AdministrativeLoop.js.map +1 -0
  32. package/dist/core/AdmittedTurnExecutor.d.ts +2 -2
  33. package/dist/core/AdmittedTurnExecutor.d.ts.map +1 -1
  34. package/dist/core/AdmittedTurnExecutor.js +26 -26
  35. package/dist/core/AdmittedTurnExecutor.js.map +1 -1
  36. package/dist/core/BareBatchRunner.d.ts +1 -2
  37. package/dist/core/BareBatchRunner.d.ts.map +1 -1
  38. package/dist/core/BareBatchRunner.js +7 -12
  39. package/dist/core/BareBatchRunner.js.map +1 -1
  40. package/dist/core/BudgetReadout.d.ts.map +1 -1
  41. package/dist/core/BudgetReadout.js +3 -4
  42. package/dist/core/BudgetReadout.js.map +1 -1
  43. package/dist/core/CapabilityPolicies.d.ts +4 -2
  44. package/dist/core/CapabilityPolicies.d.ts.map +1 -1
  45. package/dist/core/CapabilityPolicies.js +23 -2
  46. package/dist/core/CapabilityPolicies.js.map +1 -1
  47. package/dist/core/CapabilityResolver.d.ts +2 -2
  48. package/dist/core/CapabilityResolver.d.ts.map +1 -1
  49. package/dist/core/CapabilityResolver.js +46 -36
  50. package/dist/core/CapabilityResolver.js.map +1 -1
  51. package/dist/core/ChannelWrite.d.ts +4 -6
  52. package/dist/core/ChannelWrite.d.ts.map +1 -1
  53. package/dist/core/ChannelWrite.js +8 -8
  54. package/dist/core/ChannelWrite.js.map +1 -1
  55. package/dist/core/ChannelWrite.sql +17 -11
  56. package/dist/core/ClientInteractions.d.ts +11 -1
  57. package/dist/core/ClientInteractions.d.ts.map +1 -1
  58. package/dist/core/ClientInteractions.js +26 -2
  59. package/dist/core/ClientInteractions.js.map +1 -1
  60. package/dist/core/CoreSchemeServices.d.ts.map +1 -1
  61. package/dist/core/CoreSchemeServices.js +1 -0
  62. package/dist/core/CoreSchemeServices.js.map +1 -1
  63. package/dist/core/DataStatementRunner.d.ts.map +1 -1
  64. package/dist/core/DataStatementRunner.js +198 -148
  65. package/dist/core/DataStatementRunner.js.map +1 -1
  66. package/dist/core/Dispatcher.d.ts +18 -5
  67. package/dist/core/Dispatcher.d.ts.map +1 -1
  68. package/dist/core/Dispatcher.js +135 -114
  69. package/dist/core/Dispatcher.js.map +1 -1
  70. package/dist/core/Dispatcher.sql +11 -26
  71. package/dist/core/DurableStatement.d.ts +4 -1
  72. package/dist/core/DurableStatement.d.ts.map +1 -1
  73. package/dist/core/DurableStatement.js +4 -4
  74. package/dist/core/DurableStatement.js.map +1 -1
  75. package/dist/core/EditMutations.d.ts.map +1 -1
  76. package/dist/core/EditMutations.js +5 -2
  77. package/dist/core/EditMutations.js.map +1 -1
  78. package/dist/core/Engine.d.ts +11 -9
  79. package/dist/core/Engine.d.ts.map +1 -1
  80. package/dist/core/Engine.js +27 -65
  81. package/dist/core/Engine.js.map +1 -1
  82. package/dist/core/Engine.sql +2 -22
  83. package/dist/core/EnvFlags.d.ts.map +1 -1
  84. package/dist/core/EnvFlags.js +4 -2
  85. package/dist/core/EnvFlags.js.map +1 -1
  86. package/dist/core/ExecutionOutputs.sql +8 -0
  87. package/dist/core/ExecutorRegistry.d.ts +4 -0
  88. package/dist/core/ExecutorRegistry.d.ts.map +1 -1
  89. package/dist/core/ExecutorRegistry.js +3 -1
  90. package/dist/core/ExecutorRegistry.js.map +1 -1
  91. package/dist/core/KillHandler.d.ts.map +1 -1
  92. package/dist/core/KillHandler.js +7 -12
  93. package/dist/core/KillHandler.js.map +1 -1
  94. package/dist/core/Knob.d.ts +9 -0
  95. package/dist/core/Knob.d.ts.map +1 -0
  96. package/dist/core/Knob.js +50 -0
  97. package/dist/core/Knob.js.map +1 -0
  98. package/dist/core/LogBody.d.ts.map +1 -1
  99. package/dist/core/LogBody.js +8 -36
  100. package/dist/core/LogBody.js.map +1 -1
  101. package/dist/core/LogEntryProjection.d.ts.map +1 -1
  102. package/dist/core/LogEntryProjection.js +8 -10
  103. package/dist/core/LogEntryProjection.js.map +1 -1
  104. package/dist/core/LogVisibility.d.ts.map +1 -1
  105. package/dist/core/LogVisibility.js +2 -1
  106. package/dist/core/LogVisibility.js.map +1 -1
  107. package/dist/core/LogWriter.d.ts.map +1 -1
  108. package/dist/core/LogWriter.js +11 -9
  109. package/dist/core/LogWriter.js.map +1 -1
  110. package/dist/core/LoopDriver.d.ts +1 -1
  111. package/dist/core/LoopDriver.d.ts.map +1 -1
  112. package/dist/core/LoopDriver.js +24 -32
  113. package/dist/core/LoopDriver.js.map +1 -1
  114. package/dist/core/LoopLifecycle.d.ts +4 -17
  115. package/dist/core/LoopLifecycle.d.ts.map +1 -1
  116. package/dist/core/LoopLifecycle.js +20 -22
  117. package/dist/core/LoopLifecycle.js.map +1 -1
  118. package/dist/core/LoopLifecycle.sql +36 -49
  119. package/dist/core/LoopOutcome.d.ts +10 -0
  120. package/dist/core/LoopOutcome.d.ts.map +1 -0
  121. package/dist/core/LoopOutcome.js +28 -0
  122. package/dist/core/LoopOutcome.js.map +1 -0
  123. package/dist/core/LoopPolicies.d.ts +7 -0
  124. package/dist/core/LoopPolicies.d.ts.map +1 -0
  125. package/dist/core/LoopPolicies.js +37 -0
  126. package/dist/core/LoopPolicies.js.map +1 -0
  127. package/dist/core/MessageResources.d.ts +15 -0
  128. package/dist/core/MessageResources.d.ts.map +1 -0
  129. package/dist/core/MessageResources.js +46 -0
  130. package/dist/core/MessageResources.js.map +1 -0
  131. package/dist/core/MessageResources.sql +36 -0
  132. package/dist/core/ModelCall.d.ts.map +1 -1
  133. package/dist/core/ModelCall.js +2 -6
  134. package/dist/core/ModelCall.js.map +1 -1
  135. package/dist/core/ModelCall.sql +7 -36
  136. package/dist/core/OperatorConfig.d.ts +2 -1
  137. package/dist/core/OperatorConfig.d.ts.map +1 -1
  138. package/dist/core/OperatorConfig.js +14 -6
  139. package/dist/core/OperatorConfig.js.map +1 -1
  140. package/dist/core/PacketBuilder.d.ts.map +1 -1
  141. package/dist/core/PacketBuilder.js +20 -35
  142. package/dist/core/PacketBuilder.js.map +1 -1
  143. package/dist/core/PacketBuilder.sql +24 -6
  144. package/dist/core/PatternSelection.d.ts +1 -1
  145. package/dist/core/PatternSelection.d.ts.map +1 -1
  146. package/dist/core/ProposalLifecycle.d.ts +3 -1
  147. package/dist/core/ProposalLifecycle.d.ts.map +1 -1
  148. package/dist/core/ProposalLifecycle.js +93 -28
  149. package/dist/core/ProposalLifecycle.js.map +1 -1
  150. package/dist/core/ProviderInstantiate.d.ts +1 -0
  151. package/dist/core/ProviderInstantiate.d.ts.map +1 -1
  152. package/dist/core/ProviderInstantiate.js +12 -7
  153. package/dist/core/ProviderInstantiate.js.map +1 -1
  154. package/dist/core/ReasoningView.d.ts +1 -2
  155. package/dist/core/ReasoningView.d.ts.map +1 -1
  156. package/dist/core/ReasoningView.js +9 -20
  157. package/dist/core/ReasoningView.js.map +1 -1
  158. package/dist/core/ResourceBindings.d.ts.map +1 -1
  159. package/dist/core/ResourceBindings.js +5 -4
  160. package/dist/core/ResourceBindings.js.map +1 -1
  161. package/dist/core/ResourceMutations.d.ts +4 -4
  162. package/dist/core/ResourceMutations.d.ts.map +1 -1
  163. package/dist/core/ResourceMutations.js +2 -3
  164. package/dist/core/ResourceMutations.js.map +1 -1
  165. package/dist/core/ResourceSelector.d.ts +10 -3
  166. package/dist/core/ResourceSelector.d.ts.map +1 -1
  167. package/dist/core/ResourceSelector.js +52 -13
  168. package/dist/core/ResourceSelector.js.map +1 -1
  169. package/dist/core/ResourceTransfers.d.ts.map +1 -1
  170. package/dist/core/ResourceTransfers.js +4 -2
  171. package/dist/core/ResourceTransfers.js.map +1 -1
  172. package/dist/core/RuntimeWorker.d.ts.map +1 -1
  173. package/dist/core/RuntimeWorker.js +6 -1
  174. package/dist/core/RuntimeWorker.js.map +1 -1
  175. package/dist/core/RuntimeWorker.sql +7 -1
  176. package/dist/core/SchemeRegistry.d.ts +2 -0
  177. package/dist/core/SchemeRegistry.d.ts.map +1 -1
  178. package/dist/core/SchemeRegistry.js +12 -6
  179. package/dist/core/SchemeRegistry.js.map +1 -1
  180. package/dist/core/StoredPacket.d.ts +3 -1
  181. package/dist/core/StoredPacket.d.ts.map +1 -1
  182. package/dist/core/StoredPacket.js +7 -3
  183. package/dist/core/StoredPacket.js.map +1 -1
  184. package/dist/core/StrikeRail.d.ts +2 -2
  185. package/dist/core/StrikeRail.d.ts.map +1 -1
  186. package/dist/core/StrikeRail.js +15 -7
  187. package/dist/core/StrikeRail.js.map +1 -1
  188. package/dist/core/TerminalResult.d.ts +2 -2
  189. package/dist/core/TerminalResult.d.ts.map +1 -1
  190. package/dist/core/TerminalResult.js +15 -8
  191. package/dist/core/TerminalResult.js.map +1 -1
  192. package/dist/core/ToolInputSchema.d.ts.map +1 -1
  193. package/dist/core/ToolInputSchema.js +24 -8
  194. package/dist/core/ToolInputSchema.js.map +1 -1
  195. package/dist/core/ToolResources.d.ts +1 -0
  196. package/dist/core/ToolResources.d.ts.map +1 -1
  197. package/dist/core/ToolResources.js +50 -26
  198. package/dist/core/ToolResources.js.map +1 -1
  199. package/dist/core/Turn.d.ts +3 -1
  200. package/dist/core/Turn.d.ts.map +1 -1
  201. package/dist/core/Turn.js +4 -1
  202. package/dist/core/Turn.js.map +1 -1
  203. package/dist/core/Turn.sql +14 -2
  204. package/dist/core/TurnDispositionHandler.d.ts +13 -23
  205. package/dist/core/TurnDispositionHandler.d.ts.map +1 -1
  206. package/dist/core/TurnDispositionHandler.js +30 -180
  207. package/dist/core/TurnDispositionHandler.js.map +1 -1
  208. package/dist/core/TurnMaterialization.d.ts +9 -7
  209. package/dist/core/TurnMaterialization.d.ts.map +1 -1
  210. package/dist/core/TurnMaterialization.js +66 -46
  211. package/dist/core/TurnMaterialization.js.map +1 -1
  212. package/dist/core/TurnMaterialization.sql +23 -6
  213. package/dist/core/TurnOps.d.ts.map +1 -1
  214. package/dist/core/TurnOps.js +2 -2
  215. package/dist/core/TurnOps.js.map +1 -1
  216. package/dist/core/TurnRunner.d.ts +2 -8
  217. package/dist/core/TurnRunner.d.ts.map +1 -1
  218. package/dist/core/TurnRunner.js +1116 -1123
  219. package/dist/core/TurnRunner.js.map +1 -1
  220. package/dist/core/TurnRunner.sql +1 -24
  221. package/dist/core/TurnSources.sql +42 -11
  222. package/dist/core/WorkerControlHandler.d.ts.map +1 -1
  223. package/dist/core/WorkerControlHandler.js +23 -0
  224. package/dist/core/WorkerControlHandler.js.map +1 -1
  225. package/dist/core/WorkerName.d.ts +3 -6
  226. package/dist/core/WorkerName.d.ts.map +1 -1
  227. package/dist/core/WorkerName.js +10 -26
  228. package/dist/core/WorkerName.js.map +1 -1
  229. package/dist/core/WorkspaceGate.js +4 -4
  230. package/dist/core/WorkspaceGate.js.map +1 -1
  231. package/dist/core/ambient.sql +45 -19
  232. package/dist/core/attachments.d.ts +3 -1
  233. package/dist/core/attachments.d.ts.map +1 -1
  234. package/dist/core/attachments.js +4 -0
  235. package/dist/core/attachments.js.map +1 -1
  236. package/dist/core/caps/CoreInteractionCaps.d.ts +1 -1
  237. package/dist/core/caps/CoreInteractionCaps.d.ts.map +1 -1
  238. package/dist/core/caps/CoreInteractionCaps.js +4 -2
  239. package/dist/core/caps/CoreInteractionCaps.js.map +1 -1
  240. package/dist/core/caps/DbChannelCaps.js +6 -6
  241. package/dist/core/caps/DbChannelCaps.js.map +1 -1
  242. package/dist/core/caps/DbEntryCaps.js +1 -1
  243. package/dist/core/caps/DbEntryCaps.js.map +1 -1
  244. package/dist/core/caps/DbMessageCaps.d.ts +10 -0
  245. package/dist/core/caps/DbMessageCaps.d.ts.map +1 -0
  246. package/dist/core/caps/DbMessageCaps.js +39 -0
  247. package/dist/core/caps/DbMessageCaps.js.map +1 -0
  248. package/dist/core/caps/DbProjectionCaps.d.ts +2 -2
  249. package/dist/core/caps/DbProjectionCaps.d.ts.map +1 -1
  250. package/dist/core/caps/DbProjectionCaps.js +10 -4
  251. package/dist/core/caps/DbProjectionCaps.js.map +1 -1
  252. package/dist/core/caps/SchemeCtxImpl.d.ts +3 -1
  253. package/dist/core/caps/SchemeCtxImpl.d.ts.map +1 -1
  254. package/dist/core/caps/SchemeCtxImpl.js +11 -0
  255. package/dist/core/caps/SchemeCtxImpl.js.map +1 -1
  256. package/dist/core/env-catalog.d.ts +28 -0
  257. package/dist/core/env-catalog.d.ts.map +1 -0
  258. package/dist/core/env-catalog.js +99 -0
  259. package/dist/core/env-catalog.js.map +1 -0
  260. package/dist/core/file-materialization.js +1 -1
  261. package/dist/core/file-materialization.js.map +1 -1
  262. package/dist/core/fork.sql +7 -6
  263. package/dist/core/git-state.d.ts +3 -2
  264. package/dist/core/git-state.d.ts.map +1 -1
  265. package/dist/core/git-state.js +38 -21
  266. package/dist/core/git-state.js.map +1 -1
  267. package/dist/core/operation-target-groups.d.ts.map +1 -1
  268. package/dist/core/operation-target-groups.js +2 -1
  269. package/dist/core/operation-target-groups.js.map +1 -1
  270. package/dist/core/packet-inject.js +1 -1
  271. package/dist/core/packet-wire.d.ts +11 -0
  272. package/dist/core/packet-wire.d.ts.map +1 -1
  273. package/dist/core/packet-wire.js +382 -333
  274. package/dist/core/packet-wire.js.map +1 -1
  275. package/dist/core/plurnk-uri.d.ts +4 -5
  276. package/dist/core/plurnk-uri.d.ts.map +1 -1
  277. package/dist/core/plurnk-uri.js +10 -31
  278. package/dist/core/plurnk-uri.js.map +1 -1
  279. package/dist/core/scheme-types.d.ts +3 -1
  280. package/dist/core/scheme-types.d.ts.map +1 -1
  281. package/dist/core/scheme-types.js +1 -1
  282. package/dist/core/scheme-types.js.map +1 -1
  283. package/dist/core/teaching.d.ts.map +1 -1
  284. package/dist/core/teaching.js +2 -1
  285. package/dist/core/teaching.js.map +1 -1
  286. package/dist/core/types.d.ts +1 -2
  287. package/dist/core/types.d.ts.map +1 -1
  288. package/dist/core/types.js +1 -1
  289. package/dist/core/types.js.map +1 -1
  290. package/dist/core/worker-ops.sql +3 -8
  291. package/dist/digest/Digest.d.ts.map +1 -1
  292. package/dist/digest/Digest.js +37 -30
  293. package/dist/digest/Digest.js.map +1 -1
  294. package/dist/digest/DigestRender.d.ts +2 -0
  295. package/dist/digest/DigestRender.d.ts.map +1 -1
  296. package/dist/digest/DigestRender.js +97 -9
  297. package/dist/digest/DigestRender.js.map +1 -1
  298. package/dist/digest/DigestRequiem.d.ts.map +1 -1
  299. package/dist/digest/DigestRequiem.js +13 -15
  300. package/dist/digest/DigestRequiem.js.map +1 -1
  301. package/dist/digest/digest-db.d.ts +3 -0
  302. package/dist/digest/digest-db.d.ts.map +1 -0
  303. package/dist/digest/digest-db.js +68 -0
  304. package/dist/digest/digest-db.js.map +1 -0
  305. package/dist/digest/digest-paths.d.ts +6 -0
  306. package/dist/digest/digest-paths.d.ts.map +1 -0
  307. package/dist/digest/digest-paths.js +23 -0
  308. package/dist/digest/digest-paths.js.map +1 -0
  309. package/dist/digest/digest-rows.d.ts +21 -0
  310. package/dist/digest/digest-rows.d.ts.map +1 -1
  311. package/dist/digest/digest.sql +24 -5
  312. package/dist/index.d.ts +0 -1
  313. package/dist/index.d.ts.map +1 -1
  314. package/dist/index.js +0 -1
  315. package/dist/index.js.map +1 -1
  316. package/dist/observe/genai.d.ts +2 -2
  317. package/dist/observe/genai.d.ts.map +1 -1
  318. package/dist/observe/genai.js +15 -5
  319. package/dist/observe/genai.js.map +1 -1
  320. package/dist/schemes/EffectPolicy.d.ts +0 -2
  321. package/dist/schemes/EffectPolicy.d.ts.map +1 -1
  322. package/dist/schemes/EffectPolicy.js +25 -36
  323. package/dist/schemes/EffectPolicy.js.map +1 -1
  324. package/dist/schemes/Exec.d.ts +4 -5
  325. package/dist/schemes/Exec.d.ts.map +1 -1
  326. package/dist/schemes/Exec.js +129 -82
  327. package/dist/schemes/Exec.js.map +1 -1
  328. package/dist/schemes/ExecOutputScheme.d.ts +6 -5
  329. package/dist/schemes/ExecOutputScheme.d.ts.map +1 -1
  330. package/dist/schemes/ExecOutputScheme.js +49 -16
  331. package/dist/schemes/ExecOutputScheme.js.map +1 -1
  332. package/dist/schemes/ExecScheduler.js +2 -2
  333. package/dist/schemes/ExecScheduler.js.map +1 -1
  334. package/dist/schemes/File.d.ts.map +1 -1
  335. package/dist/schemes/File.js +30 -21
  336. package/dist/schemes/File.js.map +1 -1
  337. package/dist/schemes/Log.d.ts +4 -4
  338. package/dist/schemes/Log.d.ts.map +1 -1
  339. package/dist/schemes/Log.js +30 -10
  340. package/dist/schemes/Log.js.map +1 -1
  341. package/dist/schemes/QuestionTool.d.ts.map +1 -1
  342. package/dist/schemes/QuestionTool.js +15 -2
  343. package/dist/schemes/QuestionTool.js.map +1 -1
  344. package/dist/schemes/TurnSource.d.ts +3 -2
  345. package/dist/schemes/TurnSource.d.ts.map +1 -1
  346. package/dist/schemes/TurnSource.js +87 -41
  347. package/dist/schemes/TurnSource.js.map +1 -1
  348. package/dist/schemes/Worker.d.ts.map +1 -1
  349. package/dist/schemes/Worker.js +22 -56
  350. package/dist/schemes/Worker.js.map +1 -1
  351. package/dist/schemes/_entry-crud.js +6 -6
  352. package/dist/schemes/_entry-crud.js.map +1 -1
  353. package/dist/schemes/_entry-crud.sql +37 -17
  354. package/dist/schemes/_entry-find.d.ts.map +1 -1
  355. package/dist/schemes/_entry-find.js +6 -5
  356. package/dist/schemes/_entry-find.js.map +1 -1
  357. package/dist/schemes/_entry-fts.d.ts.map +1 -1
  358. package/dist/schemes/_entry-fts.js +6 -3
  359. package/dist/schemes/_entry-fts.js.map +1 -1
  360. package/dist/schemes/_entry-fts.sql +25 -6
  361. package/dist/schemes/_entry-manifest.d.ts +1 -1
  362. package/dist/schemes/_entry-manifest.d.ts.map +1 -1
  363. package/dist/schemes/_entry-manifest.js +10 -17
  364. package/dist/schemes/_entry-manifest.js.map +1 -1
  365. package/dist/schemes/_entry-manifest.sql +1 -1
  366. package/dist/schemes/_entry-ops.js +4 -4
  367. package/dist/schemes/_entry-ops.js.map +1 -1
  368. package/dist/schemes/_entry-ops.sql +2 -2
  369. package/dist/schemes/_entry-readable.d.ts.map +1 -1
  370. package/dist/schemes/_entry-readable.js +5 -4
  371. package/dist/schemes/_entry-readable.js.map +1 -1
  372. package/dist/schemes/_entry-send.js +2 -2
  373. package/dist/schemes/_entry-send.js.map +1 -1
  374. package/dist/schemes/_search-exclusion.d.ts +1 -0
  375. package/dist/schemes/_search-exclusion.d.ts.map +1 -1
  376. package/dist/schemes/_search-exclusion.js +12 -0
  377. package/dist/schemes/_search-exclusion.js.map +1 -1
  378. package/dist/schemes/_search-index.d.ts +5 -1
  379. package/dist/schemes/_search-index.d.ts.map +1 -1
  380. package/dist/schemes/_search-index.js +99 -59
  381. package/dist/schemes/_search-index.js.map +1 -1
  382. package/dist/schemes/_search-index.sql +17 -0
  383. package/dist/schemes/exec-abort.d.ts.map +1 -1
  384. package/dist/schemes/exec-abort.js +5 -4
  385. package/dist/schemes/exec-abort.js.map +1 -1
  386. package/dist/schemes/exec-env.d.ts +3 -0
  387. package/dist/schemes/exec-env.d.ts.map +1 -1
  388. package/dist/schemes/exec-env.js +66 -15
  389. package/dist/schemes/exec-env.js.map +1 -1
  390. package/dist/schemes/exec-lifetime.d.ts +11 -0
  391. package/dist/schemes/exec-lifetime.d.ts.map +1 -0
  392. package/dist/schemes/exec-lifetime.js +29 -0
  393. package/dist/schemes/exec-lifetime.js.map +1 -0
  394. package/dist/schemes/exec-runtime.d.ts +1 -1
  395. package/dist/schemes/exec-runtime.d.ts.map +1 -1
  396. package/dist/schemes/exec-runtime.js +1 -1
  397. package/dist/schemes/exec-runtime.js.map +1 -1
  398. package/dist/server/ClientReads.d.ts.map +1 -1
  399. package/dist/server/ClientReads.js +5 -2
  400. package/dist/server/ClientReads.js.map +1 -1
  401. package/dist/server/Daemon.d.ts +31 -7
  402. package/dist/server/Daemon.d.ts.map +1 -1
  403. package/dist/server/Daemon.js +137 -60
  404. package/dist/server/Daemon.js.map +1 -1
  405. package/dist/server/DaemonModule.d.ts +25 -6
  406. package/dist/server/DaemonModule.d.ts.map +1 -1
  407. package/dist/server/DrainSupervisor.d.ts +13 -11
  408. package/dist/server/DrainSupervisor.d.ts.map +1 -1
  409. package/dist/server/DrainSupervisor.js +87 -98
  410. package/dist/server/DrainSupervisor.js.map +1 -1
  411. package/dist/server/EnvFunctionality.d.ts +52 -0
  412. package/dist/server/EnvFunctionality.d.ts.map +1 -0
  413. package/dist/server/EnvFunctionality.js +199 -0
  414. package/dist/server/EnvFunctionality.js.map +1 -0
  415. package/dist/server/Functionality.d.ts +4 -2
  416. package/dist/server/Functionality.d.ts.map +1 -1
  417. package/dist/server/Functionality.js +250 -106
  418. package/dist/server/Functionality.js.map +1 -1
  419. package/dist/server/FunctionalityManager.d.ts +5 -1
  420. package/dist/server/FunctionalityManager.d.ts.map +1 -1
  421. package/dist/server/FunctionalityManager.js +24 -8
  422. package/dist/server/FunctionalityManager.js.map +1 -1
  423. package/dist/server/HttpListener.d.ts +16 -0
  424. package/dist/server/HttpListener.d.ts.map +1 -0
  425. package/dist/server/HttpListener.js +81 -0
  426. package/dist/server/HttpListener.js.map +1 -0
  427. package/dist/server/MembersFunctionality.d.ts.map +1 -1
  428. package/dist/server/MembersFunctionality.js +12 -17
  429. package/dist/server/MembersFunctionality.js.map +1 -1
  430. package/dist/server/PlurnkSkill.d.ts.map +1 -1
  431. package/dist/server/PlurnkSkill.js +1 -0
  432. package/dist/server/PlurnkSkill.js.map +1 -1
  433. package/dist/server/Retention.d.ts +14 -0
  434. package/dist/server/Retention.d.ts.map +1 -1
  435. package/dist/server/Retention.js +52 -4
  436. package/dist/server/Retention.js.map +1 -1
  437. package/dist/server/Retention.sql +55 -1
  438. package/dist/server/ServiceModules.d.ts.map +1 -1
  439. package/dist/server/ServiceModules.js +2 -0
  440. package/dist/server/ServiceModules.js.map +1 -1
  441. package/dist/server/SkillsFunctionality.d.ts +2 -0
  442. package/dist/server/SkillsFunctionality.d.ts.map +1 -1
  443. package/dist/server/SkillsFunctionality.js +27 -17
  444. package/dist/server/SkillsFunctionality.js.map +1 -1
  445. package/dist/server/WorkspaceCapabilities.d.ts.map +1 -1
  446. package/dist/server/WorkspaceCapabilities.js +1 -0
  447. package/dist/server/WorkspaceCapabilities.js.map +1 -1
  448. package/dist/server/WorkspaceResidency.d.ts +2 -0
  449. package/dist/server/WorkspaceResidency.d.ts.map +1 -1
  450. package/dist/server/WorkspaceResidency.js +27 -0
  451. package/dist/server/WorkspaceResidency.js.map +1 -1
  452. package/dist/server/WorkspaceStorage.d.ts +8 -0
  453. package/dist/server/WorkspaceStorage.d.ts.map +1 -0
  454. package/dist/server/WorkspaceStorage.js +26 -0
  455. package/dist/server/WorkspaceStorage.js.map +1 -0
  456. package/dist/server/client-input.d.ts +4 -3
  457. package/dist/server/client-input.d.ts.map +1 -1
  458. package/dist/server/client-input.js +25 -27
  459. package/dist/server/client-input.js.map +1 -1
  460. package/dist/server/dispatch-as-plurnk.js +2 -2
  461. package/dist/server/dispatch-as-plurnk.js.map +1 -1
  462. package/dist/server/drain.sql +69 -132
  463. package/dist/server/envelope.d.ts +2 -3
  464. package/dist/server/envelope.d.ts.map +1 -1
  465. package/dist/server/envelope.js +7 -21
  466. package/dist/server/envelope.js.map +1 -1
  467. package/dist/server/envelope.sql +10 -6
  468. package/dist/server/exec-poll-backoff.js +3 -3
  469. package/dist/server/exec-poll-backoff.js.map +1 -1
  470. package/dist/server/lifecycle-recovery.sql +12 -38
  471. package/dist/server/logEntry.sql +2 -2
  472. package/dist/server/loopDocs.js +3 -3
  473. package/dist/server/loopDocs.sql +4 -2
  474. package/dist/server/model-catalog.d.ts.map +1 -1
  475. package/dist/server/model-catalog.js +2 -2
  476. package/dist/server/model-catalog.js.map +1 -1
  477. package/dist/server/seam-loop.sql +0 -1
  478. package/dist/server/workspace-capabilities.sql +45 -0
  479. package/dist/server/workspace-storage.sql +8 -0
  480. package/dist/service.d.ts.map +1 -1
  481. package/dist/service.js +37 -11
  482. package/dist/service.js.map +1 -1
  483. package/docs/copy-move.md +31 -0
  484. package/docs/env.md +67 -0
  485. package/docs/members.md +4 -4
  486. package/docs/skills.md +2 -2
  487. package/migrations/002_workers.sql +41 -17
  488. package/migrations/003_loops.sql +82 -28
  489. package/migrations/004_inference.sql +53 -12
  490. package/migrations/005_entries.sql +135 -14
  491. package/migrations/006_log.sql +79 -24
  492. package/migrations/007_subscriptions.sql +10 -15
  493. package/package.json +45 -36
  494. package/dist/core/PromptFrames.d.ts +0 -12
  495. package/dist/core/PromptFrames.d.ts.map +0 -1
  496. package/dist/core/PromptFrames.js +0 -28
  497. package/dist/core/PromptFrames.js.map +0 -1
  498. package/dist/schemes/Prompt.d.ts +0 -8
  499. package/dist/schemes/Prompt.d.ts.map +0 -1
  500. package/dist/schemes/Prompt.js +0 -25
  501. package/dist/schemes/Prompt.js.map +0 -1
@@ -1,5 +1,4 @@
1
1
  import { TurnDisposition } from "@plurnk/plurnk-contracts";
2
- import TurnDispositionHandler from "./TurnDispositionHandler.js";
3
2
  import Results, { OperationFailureError } from "./results.js";
4
3
  import Turn from "./Turn.js";
5
4
  import StrikeRail from "./StrikeRail.js";
@@ -11,6 +10,10 @@ import { readOptimisticSettlementMs } from "./optimistic-settlement.js";
11
10
  import EditSequence from "./EditSequence.js";
12
11
  import LineAnchors from "../content/line-anchors.js";
13
12
  import { ENGINE_PROBLEMS, TURN_STATUS_IMPLICIT_CONTINUE } from "./turn-signals.js";
13
+ import { isExecution } from "@plurnk/plurnk-contracts";
14
+ import { writtenOp } from "@plurnk/plurnk-contracts";
15
+ // SEND recipients and delegation own their input; resource operations use the manifest.
16
+ const OWNS_METADATA = new Set(["SEND", "WORK", "FORK"]);
14
17
  export default class AdmittedTurnExecutor {
15
18
  #db;
16
19
  #schemes;
@@ -30,12 +33,14 @@ export default class AdmittedTurnExecutor {
30
33
  // Every admitted producer program is scheduled, dispatched, recorded, and
31
34
  // completed here; inference is only the model-specific way one program is
32
35
  // acquired and supplied with BARE capability.
33
- async executeAdmittedTurn({ statements, source, sourceModelCallId = null, origin, workspaceId, workerId, loopId, turnId, fromSequence, maxCommands = Number.POSITIVE_INFINITY, allowUnobservedRetrievalCompletion = false, failOnOperationError = false, recoverableParseErrors = [], emptyTurn = false, bare, signal, onDispatch, onSettled, }) {
34
- // {§turn-shape} — continuation is the default; TASK is explicit intent.
36
+ async executeAdmittedTurn({ statements, source, sourceModelCallId = null, origin, workspaceId, workerId, loopId, turnId, fromSequence, maxCommands = Number.POSITIVE_INFINITY, failOnOperationError = false, recoverableParseErrors = [], emptyTurn = false, proseAnswer = null, bare, signal, onDispatch, onSettled, }) {
37
+ // {§turn-shape} — continuation is the default; lifecycle verbs express explicit intent.
38
+ // {§turn-disposition} — every WAIT is admitted and dispatched; together they are one park,
39
+ // and the last of them settles the turn.
35
40
  const dispositions = statements.filter(TurnDisposition.is);
36
- const finalOp = dispositions[0];
37
- if ((statements.length === 0 && !emptyTurn) || dispositions.length > 1) {
38
- throw new Error("an admitted operation batch must contain operations and at most one disposition");
41
+ const finalOp = dispositions.at(-1);
42
+ if (statements.length === 0 && !emptyTurn) {
43
+ throw new Error("an admitted operation batch must contain operations");
39
44
  }
40
45
  // {§empty-turn} — a model response with no operation is a turn all the same: its text and
41
46
  // reasoning are kept, the packet says so, and the strike rail counts it once.
@@ -49,14 +54,12 @@ export default class AdmittedTurnExecutor {
49
54
  message: "This turn emitted no operations; its text was kept and nothing ran. An operation opens with four backticks and its name on the fence line.",
50
55
  });
51
56
  await Turn.complete(this.#db, turnId, TURN_STATUS_IMPLICIT_CONTINUE);
52
- return { status: TURN_STATUS_IMPLICIT_CONTINUE, outcomes: [], fingerprint: StrikeRail.fingerprintTurn([]), steerStruck: false, emptyTurn: true };
57
+ return { status: TURN_STATUS_IMPLICIT_CONTINUE, outcomes: [], fingerprint: StrikeRail.fingerprintTurn([]), emptyTurn: true };
53
58
  }
54
- const dispositionSignal = finalOp === undefined ? TURN_STATUS_IMPLICIT_CONTINUE : TurnDisposition.status(finalOp);
55
- let turnStatus = dispositionSignal;
56
- let steerStruck = false;
59
+ let wait = false;
57
60
  const pendingEngineErrors = [];
58
61
  let realCommands = 0;
59
- const admitted = statements.filter((statement) => statement === finalOp
62
+ const admitted = statements.filter((statement) => TurnDisposition.is(statement)
60
63
  || realCommands++ < maxCommands);
61
64
  const scheduled = scheduleTurnOps(admitted.flatMap(expandSafeUriTargetGroup));
62
65
  const logSelectionMaxId = (await this.#db.engine_log_selection_high_water.get({
@@ -110,10 +113,11 @@ export default class AdmittedTurnExecutor {
110
113
  await execHandler?.settleTurnSpawns?.(workerId, turnId, readOptimisticSettlementMs(), signal);
111
114
  };
112
115
  for (const [index, scheduledStatement] of scheduled.entries()) {
113
- // {§metadata-ignored} — a scheme that takes no [metadata] gets the operation without it,
114
- // and the model gets one notice, never a refusal (operator, 2026-09-12).
116
+ // {§metadata-ignored} — an unsupported resource option is dropped,
117
+ // and the model gets one notice, never a refusal. SEND recipients and invocation owners
118
+ // receive their own input whole ({§send-resource-attachments}, {§env-option}).
115
119
  let statement = scheduledStatement;
116
- if ("metadata" in statement && statement.metadata !== null && statement.op !== "EXEC") {
120
+ if ("metadata" in statement && statement.metadata !== null && !(isExecution(statement) || OWNS_METADATA.has(statement.op))) {
117
121
  const target = statement.target;
118
122
  const schemeName = target === null || target === undefined ? null : target.kind === "url" ? target.scheme ?? null : "file";
119
123
  const manifest = schemeName === null ? undefined : this.#schemes.manifestFor(schemeName, workspaceId);
@@ -122,14 +126,14 @@ export default class AdmittedTurnExecutor {
122
126
  source: "engine:dispatcher",
123
127
  kind: "metadata_ignored",
124
128
  level: "warn",
125
- message: `Scheme '${schemeName}' takes no [metadata]; the ${statement.op} ran without it.`,
129
+ message: `${statement.op} on '${schemeName}' takes no [metadata]; the ${statement.op} ran without it.`,
126
130
  });
127
131
  statement = { ...statement, metadata: null };
128
132
  }
129
133
  }
130
134
  if (scheduledStatement === finalOp)
131
135
  await settleTurn();
132
- const result = await observed("op.dispatch", { op: statement.op }, async (span) => {
136
+ const result = await observed("op.dispatch", { op: writtenOp(statement) }, async (span) => {
133
137
  let dispatchResult;
134
138
  if (statement.op === "BARE") {
135
139
  if (bare === undefined) {
@@ -151,7 +155,6 @@ export default class AdmittedTurnExecutor {
151
155
  turnId,
152
156
  workspaceId,
153
157
  workerId,
154
- primaryWorkerId: bare.primaryWorkerId,
155
158
  loopSequence: bare.loopSequence,
156
159
  turnSequence: bare.turnSequence,
157
160
  signal: bare.signal,
@@ -185,16 +188,16 @@ export default class AdmittedTurnExecutor {
185
188
  origin,
186
189
  logSelectionMaxId,
187
190
  editSequence,
188
- allowUnobservedRetrievalCompletion,
191
+ ...(statement === proseAnswer ? { proseAnswer: true } : {}),
189
192
  onDispatch,
190
193
  onSettled,
191
194
  });
192
195
  }
193
196
  span.setAttribute("status", dispatchResult.status);
194
- recordCounter(OPS_DISPATCHED, { op: statement.op, status: dispatchResult.status });
197
+ recordCounter(OPS_DISPATCHED, { op: writtenOp(statement), status: dispatchResult.status });
195
198
  return dispatchResult;
196
199
  });
197
- outcomes.push({ op: statement.op, status: result.status, problemType: result.problem?.type ?? null });
200
+ outcomes.push({ op: writtenOp(statement), status: result.status, problemType: result.problem?.type ?? null });
198
201
  results.push(result);
199
202
  rowSequence += result.rowsWritten ?? 1;
200
203
  if (failOnOperationError && result.status >= 400) {
@@ -218,11 +221,8 @@ export default class AdmittedTurnExecutor {
218
221
  message: `EDIT resolution applied: ${merge.rule} - the row's merged fact has the coordinates; verify before building on it.`,
219
222
  });
220
223
  }
221
- if (scheduledStatement === finalOp) {
222
- steerStruck = TurnDispositionHandler.refusedCompletion(result);
223
- turnStatus = result.status >= 400 && result.status !== 499
224
- ? TURN_STATUS_IMPLICIT_CONTINUE : result.status;
225
- }
224
+ if (TurnDisposition.is(scheduledStatement) && result.status < 400)
225
+ wait = true;
226
226
  }
227
227
  if (finalOp === undefined)
228
228
  await settleTurn();
@@ -247,12 +247,12 @@ export default class AdmittedTurnExecutor {
247
247
  result: Results.failure("engine:rail", problem.code, problem.status, problem.detail, {}, extensions),
248
248
  });
249
249
  }
250
+ const turnStatus = await this.#dispatcher.settleProgram({ workerId, loopId, turnId, origin }, wait);
250
251
  await Turn.complete(this.#db, turnId, turnStatus);
251
252
  return {
252
253
  status: turnStatus,
253
254
  outcomes,
254
255
  fingerprint: StrikeRail.fingerprintTurn(scheduled, results),
255
- steerStruck,
256
256
  emptyTurn: false,
257
257
  };
258
258
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AdmittedTurnExecutor.js","sourceRoot":"","sources":["../../src/core/AdmittedTurnExecutor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AdmittedTurnExecutor.js","sourceRoot":"","sources":["../../src/core/AdmittedTurnExecutor.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@ export default class BareBatchRunner {
11
11
  providerAttributions: (provider: Provider, context: PluginAttributionContext) => string[];
12
12
  providerFailure: (error: unknown, signal: AbortSignal | undefined) => SchemeResult;
13
13
  });
14
- runBareBatch({ statements, preparePrompt, provider, turnId, workspaceId, workerId, primaryWorkerId, loopSequence, turnSequence, signal, }: {
14
+ runBareBatch({ statements, preparePrompt, provider, turnId, workspaceId, workerId, loopSequence, turnSequence, signal, }: {
15
15
  statements: readonly BareStatement[];
16
16
  preparePrompt: (statement: BareStatement) => Promise<{
17
17
  prompt: string;
@@ -22,7 +22,6 @@ export default class BareBatchRunner {
22
22
  turnId: number;
23
23
  workspaceId: number;
24
24
  workerId: number;
25
- primaryWorkerId: string;
26
25
  loopSequence: number;
27
26
  turnSequence: number;
28
27
  signal: AbortSignal | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"BareBatchRunner.d.ts","sourceRoot":"","sources":["../../src/core/BareBatchRunner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAElC,OAAgB,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAK1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD,MAAM,CAAC,OAAO,OAAO,eAAe;;IAKhC,YAAY,EAAE,EAAE,EAAE,oBAAoB,EAAE,eAAe,EAAE,EAAE;QACvD,EAAE,EAAE,EAAE,CAAC;QACP,oBAAoB,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,wBAAwB,KAAK,MAAM,EAAE,CAAC;QAC1F,eAAe,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,GAAG,SAAS,KAAK,YAAY,CAAC;KACtF,EAIA;IAEK,YAAY,CAAC,EACf,UAAU,EACV,aAAa,EACb,QAAQ,EACR,MAAM,EACN,WAAW,EACX,QAAQ,EACR,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,MAAM,GACT,EAAE;QACC,UAAU,EAAE,SAAS,aAAa,EAAE,CAAC;QACrC,aAAa,EAAE,CAAC,SAAS,EAAE,aAAa,KAAK,OAAO,CAAC;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE,GAAG;YAAE,MAAM,EAAE,YAAY,CAAA;SAAE,CAAC,CAAC;QACpG,QAAQ,EAAE,QAAQ,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,eAAe,EAAE,MAAM,CAAC;QACxB,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;QACrB,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC;KACnC,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAiH7B;CAEJ"}
1
+ {"version":3,"file":"BareBatchRunner.d.ts","sourceRoot":"","sources":["../../src/core/BareBatchRunner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAElC,OAAgB,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAK1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD,MAAM,CAAC,OAAO,OAAO,eAAe;;IAKhC,YAAY,EAAE,EAAE,EAAE,oBAAoB,EAAE,eAAe,EAAE,EAAE;QACvD,EAAE,EAAE,EAAE,CAAC;QACP,oBAAoB,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,wBAAwB,KAAK,MAAM,EAAE,CAAC;QAC1F,eAAe,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,GAAG,SAAS,KAAK,YAAY,CAAC;KACtF,EAIA;IAEK,YAAY,CAAC,EACf,UAAU,EACV,aAAa,EACb,QAAQ,EACR,MAAM,EACN,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,MAAM,GACT,EAAE;QACC,UAAU,EAAE,SAAS,aAAa,EAAE,CAAC;QACrC,aAAa,EAAE,CAAC,SAAS,EAAE,aAAa,KAAK,OAAO,CAAC;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE,GAAG;YAAE,MAAM,EAAE,YAAY,CAAA;SAAE,CAAC,CAAC;QACpG,QAAQ,EAAE,QAAQ,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;QACrB,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC;KACnC,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CA2G7B;CAEJ"}
@@ -1,7 +1,7 @@
1
1
  import { randomUUID } from "node:crypto";
2
2
  import Results from "./results.js";
3
3
  import { observed } from "../observe/spans.js";
4
- import { GEN_AI_REQUEST_SPAN, genAiRequestOptions, settleGenAiResponse } from "../observe/genai.js";
4
+ import { genAiRequestName, genAiRequestOptions, settleGenAiResponse } from "../observe/genai.js";
5
5
  import { PROVIDER_CALLS, recordCounter } from "../observe/metrics.js";
6
6
  import ModelCall, { ModelCallPersistenceError, ProviderAccountingIntegrityError } from "./ModelCall.js";
7
7
  import { ProviderError } from "@plurnk/plurnk-providers";
@@ -15,7 +15,7 @@ export default class BareBatchRunner {
15
15
  this.#providerAttributions = providerAttributions;
16
16
  this.#providerFailure = providerFailure;
17
17
  }
18
- async runBareBatch({ statements, preparePrompt, provider, turnId, workspaceId, workerId, primaryWorkerId, loopSequence, turnSequence, signal, }) {
18
+ async runBareBatch({ statements, preparePrompt, provider, turnId, workspaceId, workerId, loopSequence, turnSequence, signal, }) {
19
19
  const inputs = [];
20
20
  for (const statement of statements) {
21
21
  signal?.throwIfAborted();
@@ -33,7 +33,6 @@ export default class BareBatchRunner {
33
33
  const attributionContext = Object.freeze({
34
34
  workspaceId: String(workspaceId),
35
35
  workerId: providerWorkerId,
36
- primaryWorkerId,
37
36
  loop: loopSequence,
38
37
  turn: turnSequence,
39
38
  attempt: 1,
@@ -45,25 +44,21 @@ export default class BareBatchRunner {
45
44
  attributions,
46
45
  model: provider.model,
47
46
  });
48
- prepared.push({ statement, prompt, modelCall, attributions, providerWorkerId });
47
+ prepared.push({ statement, prompt, modelCall, providerWorkerId });
49
48
  }
50
49
  const settlements = await Promise.allSettled(prepared.map(async (item) => {
51
50
  if ("result" in item)
52
51
  return { ...item, modelCallId: null };
53
- const { statement, prompt, modelCall, attributions, providerWorkerId } = item;
52
+ const { statement, prompt, modelCall, providerWorkerId } = item;
54
53
  try {
55
54
  signal?.throwIfAborted();
56
- const response = await observed(GEN_AI_REQUEST_SPAN, { model: provider.model, attempt: 1, kind: "bare" }, async (span) => {
55
+ const response = await observed(genAiRequestName(provider.model), { model: provider.model, attempt: 1, kind: "bare" }, async (span) => {
57
56
  try {
58
57
  const generated = await provider.generate({
59
58
  messages: [{ role: "user", content: prompt }],
60
59
  workerId: providerWorkerId,
61
- primaryWorkerId,
62
- signal,
63
- attributions: attributions.length > 0 ? attributions : undefined,
64
60
  workspaceId: String(workspaceId),
65
- loop: loopSequence,
66
- turn: turnSequence,
61
+ signal,
67
62
  observeRequest: modelCall.observeRequest,
68
63
  callKind: "bare",
69
64
  });
@@ -83,7 +78,7 @@ export default class BareBatchRunner {
83
78
  }
84
79
  throw error;
85
80
  }
86
- }, genAiRequestOptions(ProviderInstantiate.aliasOf(provider) ?? "plurnk", provider.model));
81
+ }, genAiRequestOptions(ProviderInstantiate.providerIdOf(provider) ?? "other", provider.model));
87
82
  await modelCall.observeResponse(response);
88
83
  return {
89
84
  statement,
@@ -1 +1 @@
1
- {"version":3,"file":"BareBatchRunner.js","sourceRoot":"","sources":["../../src/core/BareBatchRunner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BareBatchRunner.js","sourceRoot":"","sources":["../../src/core/BareBatchRunner.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"BudgetReadout.d.ts","sourceRoot":"","sources":["../../src/core/BudgetReadout.ts"],"names":[],"mappings":"AAGA,KAAK,aAAa,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;AAEjD,UAAU,cAAc;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC9B;AAOD,MAAM,CAAC,OAAO,OAAO,aAAa;;IAC9B,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,EAAE,WAAW,GAAE,MAAM,GAAG,IAAW,GAAG,MAAM,CAS9E;IAID,MAAM,CAAC,OAAO,CACV,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,aAAa,EAC5B,eAAe,GAAE,SAAS,cAAc,EAAO,EAC/C,WAAW,UAAQ,GACpB,MAAM,CAqBR;CAyEJ"}
1
+ {"version":3,"file":"BudgetReadout.d.ts","sourceRoot":"","sources":["../../src/core/BudgetReadout.ts"],"names":[],"mappings":"AAIA,KAAK,aAAa,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;AAEjD,UAAU,cAAc;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC9B;AAKD,MAAM,CAAC,OAAO,OAAO,aAAa;;IAC9B,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,EAAE,WAAW,GAAE,MAAM,GAAG,IAAW,GAAG,MAAM,CAS9E;IAID,MAAM,CAAC,OAAO,CACV,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,aAAa,EAC5B,eAAe,GAAE,SAAS,cAAc,EAAO,EAC/C,WAAW,UAAQ,GACpB,MAAM,CAqBR;CAyEJ"}
@@ -1,7 +1,6 @@
1
+ import Knob from "./Knob.js";
1
2
  const TOKENS_ACTIVE_TOTAL_PLACEHOLDER = "{{logTokensTotal}}";
2
3
  const MAX_WIDTH_PASSES = 64;
3
- const PRESSURE_FRACTION = 0.8;
4
- const LARGEST_LOG_ITEMS_MAX = 5;
5
4
  const PRESSURE_MANDATE = "YOU MUST KILL superseded, stale, or irrelevant log items and ranges.";
6
5
  const OVERFLOW_MANDATE = "YOU MUST ONLY KILL superseded, stale, or irrelevant log content in bulk.";
7
6
  export default class BudgetReadout {
@@ -22,7 +21,7 @@ export default class BudgetReadout {
22
21
  BudgetReadout.#assertCeiling(ceiling);
23
22
  BudgetReadout.#assertTemplate(template);
24
23
  const neutral = BudgetReadout.#resolveTemplate(template, measurePacket);
25
- if (!newOverflow && neutral.usage < ceiling * PRESSURE_FRACTION) {
24
+ if (!newOverflow && neutral.usage < ceiling * Knob.percent("PLURNK_SERVICE_BUDGET_PRESSURE")) {
26
25
  return neutral.content;
27
26
  }
28
27
  const warning = `\n\n> [!WARNING]\n> ${newOverflow ? OVERFLOW_MANDATE : PRESSURE_MANDATE}`;
@@ -31,7 +30,7 @@ export default class BudgetReadout {
31
30
  .toSorted((a, b) => a.logTokens === b.logTokens
32
31
  ? a.path < b.path ? -1 : a.path > b.path ? 1 : 0
33
32
  : a.logTokens > b.logTokens ? -1 : 1)
34
- .slice(0, LARGEST_LOG_ITEMS_MAX);
33
+ .slice(0, Knob.integer("PLURNK_SERVICE_BUDGET_LARGEST_ITEMS", 0));
35
34
  for (let count = ranked.length; count > 0; count -= 1) {
36
35
  const pressured = BudgetReadout.#withInventory(template, ranked.slice(0, count)) + warning;
37
36
  const resolved = BudgetReadout.#resolveTemplate(pressured, measurePacket);
@@ -1 +1 @@
1
- {"version":3,"file":"BudgetReadout.js","sourceRoot":"","sources":["../../src/core/BudgetReadout.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BudgetReadout.js","sourceRoot":"","sources":["../../src/core/BudgetReadout.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,10 @@ import { type CapabilityPolicy } from "@plurnk/plurnk-contracts";
2
2
  import type { Db } from "./Db.ts";
3
3
  export default class CapabilityPolicies {
4
4
  static service(env?: NodeJS.ProcessEnv): CapabilityPolicy;
5
- static layers(db: Db, workspaceId: number): Promise<readonly {
6
- scope: "service" | "workspace";
5
+ static readonly UNATTENDED: CapabilityPolicy;
6
+ static readonly UNATTENDED_RECOVERY: string;
7
+ static layers(db: Db, workspaceId: number, loopId?: number): Promise<readonly {
8
+ scope: "service" | "workspace" | "loop";
7
9
  policy: CapabilityPolicy;
8
10
  }[]>;
9
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CapabilityPolicies.d.ts","sourceRoot":"","sources":["../../src/core/CapabilityPolicies.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,KAAK,gBAAgB,EACxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAGlC,MAAM,CAAC,OAAO,OAAO,kBAAkB;IACnC,MAAM,CAAC,OAAO,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,gBAAgB,CAmBrE;IAED,OAAa,MAAM,CACf,EAAE,EAAE,EAAE,EACN,WAAW,EAAE,MAAM,GACpB,OAAO,CAAC,SAAS;QAAE,KAAK,EAAE,SAAS,GAAG,WAAW,CAAC;QAAC,MAAM,EAAE,gBAAgB,CAAA;KAAE,EAAE,CAAC,CAMlF;CACJ"}
1
+ {"version":3,"file":"CapabilityPolicies.d.ts","sourceRoot":"","sources":["../../src/core/CapabilityPolicies.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,KAAK,gBAAgB,EACxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAIlC,MAAM,CAAC,OAAO,OAAO,kBAAkB;IACnC,MAAM,CAAC,OAAO,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,gBAAgB,CAmBrE;IAMD,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAEzC;IAKH,MAAM,CAAC,QAAQ,CAAC,mBAAmB,SAEqB;IAMxD,OAAa,MAAM,CACf,EAAE,EAAE,EAAE,EACN,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,SAAS;QAAE,KAAK,EAAE,SAAS,GAAG,WAAW,GAAG,MAAM,CAAC;QAAC,MAAM,EAAE,gBAAgB,CAAA;KAAE,EAAE,CAAC,CAS3F;CACJ"}
@@ -1,5 +1,6 @@
1
1
  import { Validator, } from "@plurnk/plurnk-contracts";
2
2
  import WorkspaceSettings from "./workspace-settings.js";
3
+ import LoopPolicyReader from "./LoopPolicyReader.js";
3
4
  export default class CapabilityPolicies {
4
5
  static service(env = process.env) {
5
6
  const raw = env.PLURNK_SERVICE_CAPABILITIES;
@@ -23,12 +24,32 @@ export default class CapabilityPolicies {
23
24
  throw new Error("PLURNK_SERVICE_CAPABILITIES is not a valid capability policy.", { cause });
24
25
  }
25
26
  }
26
- static async layers(db, workspaceId) {
27
+ // {§loop-attendance} — the loop is the cascade's innermost ring. An unattended run has nobody
28
+ // to answer, so it denies the `interact` access class outright: the reserved tool tree's FIND
29
+ // and READ faces drop every interaction runtime and turn 0 never surveys one, rather than the
30
+ // model being taught a tool and spending a turn discovering it cannot work (#770).
31
+ static UNATTENDED = Object.freeze({
32
+ deny: Object.freeze([Object.freeze({ access: "interact" })]),
33
+ });
34
+ // The loop ring exists for exactly one reason today, so its recovery lives beside it rather
35
+ // than being reinvented at the refusal. A denial that names a ring but not a reason tells the
36
+ // model a tool vanished without telling it what to do instead.
37
+ static UNATTENDED_RECOVERY = "This run is unattended: nobody is present to answer. Decide from what you already have, "
38
+ + "or conclude stating what you could not resolve.";
39
+ // `loopId` is omitted where the question is genuinely about the workspace and not one run —
40
+ // the operator's capability projection, and the shared reserved-document materialization, which
41
+ // is one tree per workspace. Admission for a particular loop is decided at dispatch, which has
42
+ // the loop coordinate, so a document a loop may not use is one it may not READ.
43
+ static async layers(db, workspaceId, loopId) {
27
44
  const workspace = await WorkspaceSettings.read(db, workspaceId);
28
- return [
45
+ const base = [
29
46
  { scope: "service", policy: CapabilityPolicies.service() },
30
47
  { scope: "workspace", policy: workspace.capabilities },
31
48
  ];
49
+ if (loopId === undefined)
50
+ return base;
51
+ const { attended } = await LoopPolicyReader.read(db, loopId);
52
+ return attended ? base : [...base, { scope: "loop", policy: CapabilityPolicies.UNATTENDED }];
32
53
  }
33
54
  }
34
55
  //# sourceMappingURL=CapabilityPolicies.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CapabilityPolicies.js","sourceRoot":"","sources":["../../src/core/CapabilityPolicies.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,SAAS,GAEZ,MAAM,0BAA0B,CAAC;AAElC,OAAO,iBAAiB,MAAM,yBAAyB,CAAC;AAExD,MAAM,CAAC,OAAO,OAAO,kBAAkB;IACnC,MAAM,CAAC,OAAO,CAAC,GAAG,GAAsB,OAAO,CAAC,GAAG;QAC/C,MAAM,GAAG,GAAG,GAAG,CAAC,2BAA2B,CAAC;QAC5C,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,8EAA8E,CAAC,CAAC;QACpG,CAAC;QACD,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;QAC3F,CAAC;QACD,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACD,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAY,CAAC;QACxC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,gDAAgD,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACjF,CAAC;QACD,IAAI,CAAC;YACD,OAAO,SAAS,CAAC,sBAAsB,CAAC,MAA0B,CAAC,CAAC;QACxE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,+DAA+D,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAChG,CAAC;IACL,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CACf,EAAM,EACN,WAAmB;QAEnB,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;QAChE,OAAO;YACH,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,kBAAkB,CAAC,OAAO,EAAE,EAAE;YAC1D,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,CAAC,YAAY,EAAE;SACzD,CAAC;IACN,CAAC;CACJ"}
1
+ {"version":3,"file":"CapabilityPolicies.js","sourceRoot":"","sources":["../../src/core/CapabilityPolicies.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,SAAS,GAEZ,MAAM,0BAA0B,CAAC;AAElC,OAAO,iBAAiB,MAAM,yBAAyB,CAAC;AACxD,OAAO,gBAAgB,MAAM,uBAAuB,CAAC;AAErD,MAAM,CAAC,OAAO,OAAO,kBAAkB;IACnC,MAAM,CAAC,OAAO,CAAC,GAAG,GAAsB,OAAO,CAAC,GAAG;QAC/C,MAAM,GAAG,GAAG,GAAG,CAAC,2BAA2B,CAAC;QAC5C,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,8EAA8E,CAAC,CAAC;QACpG,CAAC;QACD,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;QAC3F,CAAC;QACD,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACD,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAY,CAAC;QACxC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,gDAAgD,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACjF,CAAC;QACD,IAAI,CAAC;YACD,OAAO,SAAS,CAAC,sBAAsB,CAAC,MAA0B,CAAC,CAAC;QACxE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,+DAA+D,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAChG,CAAC;IACL,CAAC;IAED,8FAA8F;IAC9F,8FAA8F;IAC9F,8FAA8F;IAC9F,mFAAmF;IACnF,MAAM,CAAU,UAAU,GAAqB,MAAM,CAAC,MAAM,CAAC;QACzD,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,UAAmB,EAAE,CAAC,CAAC,CAA6B;KACpG,CAAC,CAAC;IAEH,4FAA4F;IAC5F,8FAA8F;IAC9F,+DAA+D;IAC/D,MAAM,CAAU,mBAAmB,GAC/B,0FAA0F;UACxF,iDAAiD,CAAC;IAExD,4FAA4F;IAC5F,gGAAgG;IAChG,+FAA+F;IAC/F,gFAAgF;IAChF,MAAM,CAAC,KAAK,CAAC,MAAM,CACf,EAAM,EACN,WAAmB,EACnB,MAAe;QAEf,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;QAChE,MAAM,IAAI,GAAG;YACT,EAAE,KAAK,EAAE,SAAkB,EAAE,MAAM,EAAE,kBAAkB,CAAC,OAAO,EAAE,EAAE;YACnE,EAAE,KAAK,EAAE,WAAoB,EAAE,MAAM,EAAE,SAAS,CAAC,YAAY,EAAE;SAClE,CAAC;QACF,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QACtC,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QAC7D,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,KAAK,EAAE,MAAe,EAAE,MAAM,EAAE,kBAAkB,CAAC,UAAU,EAAE,CAAC,CAAC;IAC1G,CAAC;CACJ"}
@@ -4,7 +4,7 @@ import type { Db } from "./Db.ts";
4
4
  import type ExecutorRegistry from "./ExecutorRegistry.ts";
5
5
  import type SchemeRegistry from "./SchemeRegistry.ts";
6
6
  import type { SchemeManifest, WriterTier } from "@plurnk/plurnk-schemes";
7
- type CapabilityScope = "service" | "workspace";
7
+ type CapabilityScope = "service" | "workspace" | "loop";
8
8
  export interface CapabilityDenial {
9
9
  readonly descriptor: CapabilityDescriptor;
10
10
  readonly scope: CapabilityScope;
@@ -13,7 +13,7 @@ export default class CapabilityResolver {
13
13
  #private;
14
14
  constructor(db: Db, schemes: SchemeRegistry, executors: () => ExecutorRegistry | undefined);
15
15
  descriptors(statement: PlurnkStatement, workspaceId: number, writer?: WriterTier, observeManifest?: (target: ParsedPath) => SchemeManifest | undefined): readonly CapabilityDescriptor[];
16
- denial(statement: PlurnkStatement, workspaceId: number, writer?: WriterTier, resolveResource?: (target: ParsedPath) => Promise<SchemeManifest | undefined>): Promise<CapabilityDenial | null>;
16
+ denial(statement: PlurnkStatement, workspaceId: number, writer?: WriterTier, resolveResource?: (target: ParsedPath) => Promise<SchemeManifest | undefined>, loopId?: number): Promise<CapabilityDenial | null>;
17
17
  projection(workspaceId: number): Promise<CapabilityProjection>;
18
18
  allowsAcross(statement: PlurnkStatement, workspaceId: number, policies: readonly CapabilityPolicy[]): boolean;
19
19
  allowsSchemeAcross(scheme: string, workspaceId: number, policies: readonly CapabilityPolicy[]): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"CapabilityResolver.d.ts","sourceRoot":"","sources":["../../src/core/CapabilityResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,eAAe,EACvB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAC;AAKtD,OAAO,KAAK,EAAiB,cAAc,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAExF,KAAK,eAAe,GAAG,SAAS,GAAG,WAAW,CAAC;AAE/C,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAAC;IAC1C,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;CACnC;AAED,MAAM,CAAC,OAAO,OAAO,kBAAkB;;IAKnC,YAAY,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,gBAAgB,GAAG,SAAS,EAIzF;IAED,WAAW,CACP,SAAS,EAAE,eAAe,EAC1B,WAAW,EAAE,MAAM,EACnB,MAAM,GAAE,UAAoB,EAC5B,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,cAAc,GAAG,SAAS,GACrE,SAAS,oBAAoB,EAAE,CA2FjC;IAEK,MAAM,CACR,SAAS,EAAE,eAAe,EAC1B,WAAW,EAAE,MAAM,EACnB,MAAM,GAAE,UAAoB,EAC5B,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,GAC9E,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAkBlC;IAEK,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAYnE;IAED,YAAY,CACR,SAAS,EAAE,eAAe,EAC1B,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,SAAS,gBAAgB,EAAE,GACtC,OAAO,CAGT;IAID,kBAAkB,CACd,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,SAAS,gBAAgB,EAAE,GACtC,OAAO,CAoBT;IAWK,aAAa,CACf,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,WAAW,EAAE,MAAM,GACpB,OAAO,CAAC,OAAO,CAAC,CAMlB;IAED,mBAAmB,CACf,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,SAAS,gBAAgB,EAAE,GACtC,OAAO,CAET;IAiBD,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,gBAAgB,EAAE,GAAG,gBAAgB,CAExE;CAOJ"}
1
+ {"version":3,"file":"CapabilityResolver.d.ts","sourceRoot":"","sources":["../../src/core/CapabilityResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,eAAe,EACvB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAC;AAKtD,OAAO,KAAK,EAAiB,cAAc,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAIxF,KAAK,eAAe,GAAG,SAAS,GAAG,WAAW,GAAG,MAAM,CAAC;AAExD,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAAC;IAC1C,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;CACnC;AAED,MAAM,CAAC,OAAO,OAAO,kBAAkB;;IAKnC,YAAY,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,gBAAgB,GAAG,SAAS,EAIzF;IAED,WAAW,CACP,SAAS,EAAE,eAAe,EAC1B,WAAW,EAAE,MAAM,EACnB,MAAM,GAAE,UAAoB,EAC5B,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,cAAc,GAAG,SAAS,GACrE,SAAS,oBAAoB,EAAE,CA6FjC;IAIK,MAAM,CACR,SAAS,EAAE,eAAe,EAC1B,WAAW,EAAE,MAAM,EACnB,MAAM,GAAE,UAAoB,EAC5B,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,EAC7E,MAAM,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAkBlC;IAEK,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAYnE;IAED,YAAY,CACR,SAAS,EAAE,eAAe,EAC1B,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,SAAS,gBAAgB,EAAE,GACtC,OAAO,CAGT;IAID,kBAAkB,CACd,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,SAAS,gBAAgB,EAAE,GACtC,OAAO,CAyBT;IAWK,aAAa,CACf,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,WAAW,EAAE,MAAM,GACpB,OAAO,CAAC,OAAO,CAAC,CAMlB;IAED,mBAAmB,CACf,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,SAAS,gBAAgB,EAAE,GACtC,OAAO,CAET;IAiBD,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,gBAAgB,EAAE,GAAG,gBAAgB,CAExE;CAOJ"}
@@ -3,6 +3,7 @@ import CapabilityPolicies from "./CapabilityPolicies.js";
3
3
  import { isGeneratedPathname, schemeNameOf } from "./plurnk-uri.js";
4
4
  import { execRouteOf } from "../schemes/exec-runtime.js";
5
5
  import { coreRepresentationProvider } from "./CoreSchemeServices.js";
6
+ import { isExecution, isExecutionOp } from "@plurnk/plurnk-contracts";
6
7
  export default class CapabilityResolver {
7
8
  #db;
8
9
  #schemes;
@@ -32,6 +33,38 @@ export default class CapabilityResolver {
32
33
  const composedDemands = (...items) => items.every((item) => item !== null)
33
34
  ? demands(...items)
34
35
  : [];
36
+ // An execution's operation is its runtime tag; the capability route is the runtime's.
37
+ if (isExecution(statement)) {
38
+ const executors = this.#executors();
39
+ const route = execRouteOf(statement);
40
+ const runtime = route.runtime;
41
+ const entry = executors?.entry(runtime, workspaceId);
42
+ if (entry === undefined)
43
+ return [];
44
+ const registry = executors?.toolRegistry(runtime, workspaceId) ?? null;
45
+ const target = route.target === null ? null : route.target.raw;
46
+ const tool = registry?.tools.find((candidate) => candidate.target === target)?.target ?? null;
47
+ // A finite tool registry owns exact target resolution. Missing
48
+ // and unknown targets must reach that owner as ordinary
49
+ // tool-required/tool-not-enabled failures; policy cannot
50
+ // misrepresent absence as denied authority.
51
+ if (registry !== null && tool === null)
52
+ return [];
53
+ const demands = [this.#runtimeDescriptor(runtime, tool, workspaceId)];
54
+ const targetKind = entry.invocation.target?.kind;
55
+ const execTarget = route.target;
56
+ if ((targetKind === "resource" || targetKind === "script") && execTarget === null) {
57
+ if (entry.invocation.target?.required === true)
58
+ return [];
59
+ }
60
+ else if ((targetKind === "resource" || targetKind === "script") && execTarget !== null) {
61
+ const targetDemand = describe(statement.runtime, "observe", execTarget);
62
+ if (targetDemand === null)
63
+ return [];
64
+ demands.push(...targetDemand);
65
+ }
66
+ return demands;
67
+ }
35
68
  switch (statement.op) {
36
69
  case "FIND":
37
70
  case "READ":
@@ -54,7 +87,8 @@ export default class CapabilityResolver {
54
87
  const control = scheme === "worker" || (scheme !== null && this.#executors()?.entry(scheme, workspaceId) !== undefined);
55
88
  return demands(describe("KILL", control ? "control" : "mutate", statement.target));
56
89
  }
57
- case "TASK":
90
+ case "NOTE":
91
+ case "WAIT":
58
92
  return [];
59
93
  case "SEND": {
60
94
  if (statement.target === null)
@@ -63,40 +97,11 @@ export default class CapabilityResolver {
63
97
  const control = scheme === "worker" || (scheme !== null && this.#executors()?.entry(scheme, workspaceId) !== undefined);
64
98
  return demands(describe("SEND", control ? "control" : "mutate", statement.target));
65
99
  }
66
- case "EXEC": {
67
- const executors = this.#executors();
68
- const route = execRouteOf(statement);
69
- const runtime = route.runtime;
70
- const entry = executors?.entry(runtime, workspaceId);
71
- if (entry === undefined)
72
- return [];
73
- const registry = executors?.toolRegistry(runtime, workspaceId) ?? null;
74
- const target = route.target === null ? null : route.target.raw;
75
- const tool = registry?.tools.find((candidate) => candidate.target === target)?.target ?? null;
76
- // A finite tool registry owns exact target resolution. Missing
77
- // and unknown targets must reach that owner as ordinary
78
- // tool-required/tool-not-enabled failures; policy cannot
79
- // misrepresent absence as denied authority.
80
- if (registry !== null && tool === null)
81
- return [];
82
- const demands = [this.#runtimeDescriptor(runtime, tool, workspaceId)];
83
- const targetKind = entry.invocation.target?.kind;
84
- const execTarget = route.target;
85
- if ((targetKind === "resource" || targetKind === "script") && execTarget === null) {
86
- if (entry.invocation.target?.required === true)
87
- return [];
88
- }
89
- else if ((targetKind === "resource" || targetKind === "script") && execTarget !== null) {
90
- const targetDemand = describe("EXEC", "observe", execTarget);
91
- if (targetDemand === null)
92
- return [];
93
- demands.push(...targetDemand);
94
- }
95
- return demands;
96
- }
97
100
  }
98
101
  }
99
- async denial(statement, workspaceId, writer = "model", resolveResource) {
102
+ // {§loop-attendance} — `loopId` admits the cascade's innermost ring: what this RUN may do, not
103
+ // merely what its workspace may. A denial names the scope, so a tool that vanished says why.
104
+ async denial(statement, workspaceId, writer = "model", resolveResource, loopId) {
100
105
  const manifests = new Map();
101
106
  if (resolveResource !== undefined) {
102
107
  // Derive read operands through the same operation-demand mapping;
@@ -108,7 +113,7 @@ export default class CapabilityResolver {
108
113
  for (const target of manifests.keys())
109
114
  manifests.set(target, await resolveResource(target));
110
115
  }
111
- const layers = await CapabilityPolicies.layers(this.#db, workspaceId);
116
+ const layers = await CapabilityPolicies.layers(this.#db, workspaceId, loopId);
112
117
  for (const descriptor of this.descriptors(statement, workspaceId, writer, resolveResource === undefined ? undefined : (target) => manifests.get(target))) {
113
118
  const denied = layers.find((layer) => !CapabilityAdmission.allows(layer.policy, descriptor));
114
119
  if (denied !== undefined)
@@ -144,7 +149,12 @@ export default class CapabilityResolver {
144
149
  const allows = (operation, access) => CapabilityAdmission.allowsAcross(policies, this.#schemeDescriptor(operation, access, scheme, workspaceId));
145
150
  const entryBearing = manifest.category === "data";
146
151
  const readable = entryBearing || coreRepresentationProvider(handler) !== null;
147
- if (readable && ["READ", "COPY", "EXEC", "BARE"].some((operation) => allows(operation, "observe")))
152
+ // An execution observing this scheme is keyed by its runtime: the registered runtimes when a
153
+ // registry is present, else the runtimes the policies themselves name.
154
+ const runtimes = this.#executors()?.availableRuntimes(workspaceId)
155
+ ?? policies.flatMap((policy) => [...(policy.only ?? []), ...(policy.deny ?? [])]).map((selector) => selector.operation).filter(isExecutionOp);
156
+ const observers = ["READ", "COPY", "BARE", ...runtimes];
157
+ if (readable && observers.some((operation) => allows(operation, "observe")))
148
158
  return true;
149
159
  if ((entryBearing || typeof handler.find === "function") && allows("FIND", "observe"))
150
160
  return true;
@@ -181,7 +191,7 @@ export default class CapabilityResolver {
181
191
  ...this.#traits(runtime, workspaceId),
182
192
  ])].toSorted();
183
193
  return {
184
- operation: "EXEC",
194
+ operation: runtime,
185
195
  scheme: "exec",
186
196
  runtime,
187
197
  access: traits.includes("interaction") ? "interact" : "execute",