@plurnk/plurnk-service 1.7.0 → 1.9.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 (381) hide show
  1. package/.env.defaults +49 -42
  2. package/INSTALL.md +48 -11
  3. package/README.md +12 -2
  4. package/SPEC.md +1166 -475
  5. package/digest-sql/channel-dispositions/dispositions.sql +15 -0
  6. package/digest-sql/channel-state/state.sql +6 -0
  7. package/digest-sql/curation/curation.sql +5 -0
  8. package/digest-sql/derivations/derivations.sql +4 -0
  9. package/digest-sql/embeddings/embeddings.sql +4 -0
  10. package/digest-sql/entry-dispositions/dispositions.sql +15 -0
  11. package/digest-sql/entry-state/state.sql +6 -0
  12. package/digest-sql/token-counts/token-counts.sql +2 -0
  13. package/dist/Paths.d.ts +0 -4
  14. package/dist/Paths.d.ts.map +1 -1
  15. package/dist/Paths.js +1 -21
  16. package/dist/Paths.js.map +1 -1
  17. package/dist/build-info.json +1 -1
  18. package/dist/content/read-projector.d.ts.map +1 -1
  19. package/dist/content/read-projector.js +4 -3
  20. package/dist/content/read-projector.js.map +1 -1
  21. package/dist/core/BudgetReadout.d.ts.map +1 -1
  22. package/dist/core/BudgetReadout.js +12 -22
  23. package/dist/core/BudgetReadout.js.map +1 -1
  24. package/dist/core/ChannelWrite.d.ts +8 -3
  25. package/dist/core/ChannelWrite.d.ts.map +1 -1
  26. package/dist/core/ChannelWrite.js +40 -8
  27. package/dist/core/ChannelWrite.js.map +1 -1
  28. package/dist/core/ChannelWrite.sql +19 -5
  29. package/dist/core/CoreSchemeServices.d.ts +7 -3
  30. package/dist/core/CoreSchemeServices.d.ts.map +1 -1
  31. package/dist/core/CoreSchemeServices.js +8 -1
  32. package/dist/core/CoreSchemeServices.js.map +1 -1
  33. package/dist/core/Dispatcher.d.ts +15 -6
  34. package/dist/core/Dispatcher.d.ts.map +1 -1
  35. package/dist/core/Dispatcher.js +352 -306
  36. package/dist/core/Dispatcher.js.map +1 -1
  37. package/dist/core/Engine.d.ts +22 -10
  38. package/dist/core/Engine.d.ts.map +1 -1
  39. package/dist/core/Engine.js +86 -46
  40. package/dist/core/Engine.js.map +1 -1
  41. package/dist/core/Engine.sql +202 -177
  42. package/dist/core/EntryAddressBinding.d.ts +32 -0
  43. package/dist/core/EntryAddressBinding.d.ts.map +1 -0
  44. package/dist/core/EntryAddressBinding.js +93 -0
  45. package/dist/core/EntryAddressBinding.js.map +1 -0
  46. package/dist/core/ExecutorRegistry.d.ts +12 -6
  47. package/dist/core/ExecutorRegistry.d.ts.map +1 -1
  48. package/dist/core/ExecutorRegistry.js +34 -31
  49. package/dist/core/ExecutorRegistry.js.map +1 -1
  50. package/dist/core/HostPaths.d.ts +29 -0
  51. package/dist/core/HostPaths.d.ts.map +1 -0
  52. package/dist/core/HostPaths.js +74 -0
  53. package/dist/core/HostPaths.js.map +1 -0
  54. package/dist/core/LegacyHome.d.ts +10 -0
  55. package/dist/core/LegacyHome.d.ts.map +1 -0
  56. package/dist/core/LegacyHome.js +170 -0
  57. package/dist/core/LegacyHome.js.map +1 -0
  58. package/dist/core/LogBody.d.ts +1 -1
  59. package/dist/core/LogBody.d.ts.map +1 -1
  60. package/dist/core/LogBody.js +21 -3
  61. package/dist/core/LogBody.js.map +1 -1
  62. package/dist/core/LogEntryProjection.js +1 -1
  63. package/dist/core/LogEntryProjection.js.map +1 -1
  64. package/dist/core/LogVisibility.d.ts +28 -0
  65. package/dist/core/LogVisibility.d.ts.map +1 -0
  66. package/dist/core/LogVisibility.js +215 -0
  67. package/dist/core/LogVisibility.js.map +1 -0
  68. package/dist/core/LoopLifecycle.d.ts +1 -0
  69. package/dist/core/LoopLifecycle.d.ts.map +1 -1
  70. package/dist/core/LoopLifecycle.js +8 -0
  71. package/dist/core/LoopLifecycle.js.map +1 -1
  72. package/dist/core/LoopLifecycle.sql +10 -0
  73. package/dist/core/OperatorConfig.d.ts +6 -0
  74. package/dist/core/OperatorConfig.d.ts.map +1 -0
  75. package/dist/core/OperatorConfig.js +95 -0
  76. package/dist/core/OperatorConfig.js.map +1 -0
  77. package/dist/core/OverflowTurn.d.ts +11 -0
  78. package/dist/core/OverflowTurn.d.ts.map +1 -0
  79. package/dist/core/OverflowTurn.js +81 -0
  80. package/dist/core/OverflowTurn.js.map +1 -0
  81. package/dist/core/Owner.js +3 -3
  82. package/dist/core/Owner.js.map +1 -1
  83. package/dist/core/PacketBuilder.d.ts +7 -15
  84. package/dist/core/PacketBuilder.d.ts.map +1 -1
  85. package/dist/core/PacketBuilder.js +64 -127
  86. package/dist/core/PacketBuilder.js.map +1 -1
  87. package/dist/core/ProblemLog.js +1 -1
  88. package/dist/core/ProblemLog.js.map +1 -1
  89. package/dist/core/ProposalLifecycle.d.ts +4 -1
  90. package/dist/core/ProposalLifecycle.d.ts.map +1 -1
  91. package/dist/core/ProposalLifecycle.js +86 -47
  92. package/dist/core/ProposalLifecycle.js.map +1 -1
  93. package/dist/core/ProviderInstantiate.d.ts +9 -5
  94. package/dist/core/ProviderInstantiate.d.ts.map +1 -1
  95. package/dist/core/ProviderInstantiate.js +99 -104
  96. package/dist/core/ProviderInstantiate.js.map +1 -1
  97. package/dist/core/ReasoningEvent.d.ts +13 -0
  98. package/dist/core/ReasoningEvent.d.ts.map +1 -0
  99. package/dist/core/ReasoningEvent.js +6 -0
  100. package/dist/core/ReasoningEvent.js.map +1 -0
  101. package/dist/core/ResourceMutations.d.ts +15 -19
  102. package/dist/core/ResourceMutations.d.ts.map +1 -1
  103. package/dist/core/ResourceMutations.js +118 -41
  104. package/dist/core/ResourceMutations.js.map +1 -1
  105. package/dist/core/SchemeRegistry.d.ts +12 -12
  106. package/dist/core/SchemeRegistry.d.ts.map +1 -1
  107. package/dist/core/SchemeRegistry.js +58 -57
  108. package/dist/core/SchemeRegistry.js.map +1 -1
  109. package/dist/core/ToolResources.d.ts +19 -0
  110. package/dist/core/ToolResources.d.ts.map +1 -0
  111. package/dist/core/ToolResources.js +123 -0
  112. package/dist/core/ToolResources.js.map +1 -0
  113. package/dist/core/Turn.d.ts +27 -0
  114. package/dist/core/Turn.d.ts.map +1 -0
  115. package/dist/core/Turn.js +43 -0
  116. package/dist/core/Turn.js.map +1 -0
  117. package/dist/core/Turn.sql +72 -0
  118. package/dist/core/TurnOps.d.ts +7 -0
  119. package/dist/core/TurnOps.d.ts.map +1 -0
  120. package/dist/core/TurnOps.js +73 -0
  121. package/dist/core/TurnOps.js.map +1 -0
  122. package/dist/core/TurnRunner.d.ts +56 -5
  123. package/dist/core/TurnRunner.d.ts.map +1 -1
  124. package/dist/core/TurnRunner.js +1163 -929
  125. package/dist/core/TurnRunner.js.map +1 -1
  126. package/dist/core/WorkerName.d.ts +2 -1
  127. package/dist/core/WorkerName.d.ts.map +1 -1
  128. package/dist/core/WorkerName.js +2 -1
  129. package/dist/core/WorkerName.js.map +1 -1
  130. package/dist/core/WorkerName.sql +17 -2
  131. package/dist/core/WorkspaceGate.js +1 -1
  132. package/dist/core/WorkspaceGate.js.map +1 -1
  133. package/dist/core/caps/CapsResolve.d.ts +2 -2
  134. package/dist/core/caps/CapsResolve.d.ts.map +1 -1
  135. package/dist/core/caps/CapsResolve.js +5 -7
  136. package/dist/core/caps/CapsResolve.js.map +1 -1
  137. package/dist/core/caps/DbChannelCaps.d.ts +1 -1
  138. package/dist/core/caps/DbChannelCaps.d.ts.map +1 -1
  139. package/dist/core/caps/DbChannelCaps.js +13 -11
  140. package/dist/core/caps/DbChannelCaps.js.map +1 -1
  141. package/dist/core/caps/DbEntryCaps.d.ts +5 -5
  142. package/dist/core/caps/DbEntryCaps.d.ts.map +1 -1
  143. package/dist/core/caps/DbEntryCaps.js +27 -30
  144. package/dist/core/caps/DbEntryCaps.js.map +1 -1
  145. package/dist/core/caps/DbNotifyCaps.d.ts +1 -1
  146. package/dist/core/caps/DbNotifyCaps.d.ts.map +1 -1
  147. package/dist/core/caps/DbNotifyCaps.js +5 -3
  148. package/dist/core/caps/DbNotifyCaps.js.map +1 -1
  149. package/dist/core/caps/DbSubscriptionCaps.d.ts +3 -3
  150. package/dist/core/caps/DbSubscriptionCaps.d.ts.map +1 -1
  151. package/dist/core/caps/DbSubscriptionCaps.js +16 -26
  152. package/dist/core/caps/DbSubscriptionCaps.js.map +1 -1
  153. package/dist/core/caps/SchemeCtxImpl.d.ts +6 -4
  154. package/dist/core/caps/SchemeCtxImpl.d.ts.map +1 -1
  155. package/dist/core/caps/SchemeCtxImpl.js +37 -5
  156. package/dist/core/caps/SchemeCtxImpl.js.map +1 -1
  157. package/dist/core/env-defaults.d.ts.map +1 -1
  158. package/dist/core/env-defaults.js +7 -5
  159. package/dist/core/env-defaults.js.map +1 -1
  160. package/dist/core/file-creation-policy.d.ts +9 -0
  161. package/dist/core/file-creation-policy.d.ts.map +1 -0
  162. package/dist/core/file-creation-policy.js +25 -0
  163. package/dist/core/file-creation-policy.js.map +1 -0
  164. package/dist/core/fork.d.ts +4 -1
  165. package/dist/core/fork.d.ts.map +1 -1
  166. package/dist/core/fork.js +39 -16
  167. package/dist/core/fork.js.map +1 -1
  168. package/dist/core/fork.sql +83 -40
  169. package/dist/core/git-env.d.ts +0 -1
  170. package/dist/core/git-env.d.ts.map +1 -1
  171. package/dist/core/git-env.js +0 -3
  172. package/dist/core/git-env.js.map +1 -1
  173. package/dist/core/git-membership.d.ts +19 -1
  174. package/dist/core/git-membership.d.ts.map +1 -1
  175. package/dist/core/git-membership.js +233 -74
  176. package/dist/core/git-membership.js.map +1 -1
  177. package/dist/core/git-state.d.ts.map +1 -1
  178. package/dist/core/git-state.js +13 -14
  179. package/dist/core/git-state.js.map +1 -1
  180. package/dist/core/operation-target-groups.d.ts +3 -0
  181. package/dist/core/operation-target-groups.d.ts.map +1 -0
  182. package/dist/core/operation-target-groups.js +53 -0
  183. package/dist/core/operation-target-groups.js.map +1 -0
  184. package/dist/core/packet-inject.d.ts +0 -1
  185. package/dist/core/packet-inject.d.ts.map +1 -1
  186. package/dist/core/packet-inject.js +6 -13
  187. package/dist/core/packet-inject.js.map +1 -1
  188. package/dist/core/packet-wire.d.ts +4 -0
  189. package/dist/core/packet-wire.d.ts.map +1 -1
  190. package/dist/core/packet-wire.js +226 -53
  191. package/dist/core/packet-wire.js.map +1 -1
  192. package/dist/core/plurnk-uri.d.ts +14 -3
  193. package/dist/core/plurnk-uri.d.ts.map +1 -1
  194. package/dist/core/plurnk-uri.js +62 -24
  195. package/dist/core/plurnk-uri.js.map +1 -1
  196. package/dist/core/scheme-types.d.ts +1 -0
  197. package/dist/core/scheme-types.d.ts.map +1 -1
  198. package/dist/core/teaching.d.ts.map +1 -1
  199. package/dist/core/teaching.js +4 -5
  200. package/dist/core/teaching.js.map +1 -1
  201. package/dist/core/worker-ops.sql +10 -6
  202. package/dist/core/worker-settings.d.ts +10 -0
  203. package/dist/core/worker-settings.d.ts.map +1 -0
  204. package/dist/core/worker-settings.js +32 -0
  205. package/dist/core/worker-settings.js.map +1 -0
  206. package/dist/core/workspace-settings.d.ts +2 -11
  207. package/dist/core/workspace-settings.d.ts.map +1 -1
  208. package/dist/core/workspace-settings.js +7 -47
  209. package/dist/core/workspace-settings.js.map +1 -1
  210. package/dist/digest/Digest.d.ts.map +1 -1
  211. package/dist/digest/Digest.js +164 -92
  212. package/dist/digest/Digest.js.map +1 -1
  213. package/dist/digest/digest.sql +9 -3
  214. package/dist/observe/genai.d.ts +9 -0
  215. package/dist/observe/genai.d.ts.map +1 -0
  216. package/dist/observe/genai.js +31 -0
  217. package/dist/observe/genai.js.map +1 -0
  218. package/dist/observe/spans.d.ts +3 -3
  219. package/dist/observe/spans.d.ts.map +1 -1
  220. package/dist/observe/spans.js +20 -5
  221. package/dist/observe/spans.js.map +1 -1
  222. package/dist/schemes/EffectPolicy.d.ts +3 -0
  223. package/dist/schemes/EffectPolicy.d.ts.map +1 -1
  224. package/dist/schemes/EffectPolicy.js +38 -6
  225. package/dist/schemes/EffectPolicy.js.map +1 -1
  226. package/dist/schemes/Exec.d.ts +3 -2
  227. package/dist/schemes/Exec.d.ts.map +1 -1
  228. package/dist/schemes/Exec.js +109 -34
  229. package/dist/schemes/Exec.js.map +1 -1
  230. package/dist/schemes/ExecOutputScheme.d.ts.map +1 -1
  231. package/dist/schemes/ExecOutputScheme.js +5 -4
  232. package/dist/schemes/ExecOutputScheme.js.map +1 -1
  233. package/dist/schemes/File.d.ts.map +1 -1
  234. package/dist/schemes/File.js +170 -80
  235. package/dist/schemes/File.js.map +1 -1
  236. package/dist/schemes/Log.d.ts +6 -2
  237. package/dist/schemes/Log.d.ts.map +1 -1
  238. package/dist/schemes/Log.js +73 -22
  239. package/dist/schemes/Log.js.map +1 -1
  240. package/dist/schemes/Log.sql +25 -7
  241. package/dist/schemes/Prompt.d.ts +2 -3
  242. package/dist/schemes/Prompt.d.ts.map +1 -1
  243. package/dist/schemes/Prompt.js +5 -9
  244. package/dist/schemes/Prompt.js.map +1 -1
  245. package/dist/schemes/QuestionTool.d.ts +10 -0
  246. package/dist/schemes/QuestionTool.d.ts.map +1 -0
  247. package/dist/schemes/QuestionTool.js +81 -0
  248. package/dist/schemes/QuestionTool.js.map +1 -0
  249. package/dist/schemes/Skill.d.ts.map +1 -1
  250. package/dist/schemes/Skill.js +6 -1
  251. package/dist/schemes/Skill.js.map +1 -1
  252. package/dist/schemes/Worker.d.ts.map +1 -1
  253. package/dist/schemes/Worker.js +97 -34
  254. package/dist/schemes/Worker.js.map +1 -1
  255. package/dist/schemes/_entry-crud.d.ts +5 -5
  256. package/dist/schemes/_entry-crud.d.ts.map +1 -1
  257. package/dist/schemes/_entry-crud.js +22 -17
  258. package/dist/schemes/_entry-crud.js.map +1 -1
  259. package/dist/schemes/_entry-crud.sql +77 -24
  260. package/dist/schemes/_entry-find.d.ts +8 -5
  261. package/dist/schemes/_entry-find.d.ts.map +1 -1
  262. package/dist/schemes/_entry-find.js +121 -40
  263. package/dist/schemes/_entry-find.js.map +1 -1
  264. package/dist/schemes/_entry-find.sql +16 -11
  265. package/dist/schemes/_entry-graph.sql +2 -6
  266. package/dist/schemes/_entry-manifest.d.ts +2 -2
  267. package/dist/schemes/_entry-manifest.d.ts.map +1 -1
  268. package/dist/schemes/_entry-manifest.js +18 -6
  269. package/dist/schemes/_entry-manifest.js.map +1 -1
  270. package/dist/schemes/_entry-ops.d.ts +6 -5
  271. package/dist/schemes/_entry-ops.d.ts.map +1 -1
  272. package/dist/schemes/_entry-ops.js +39 -46
  273. package/dist/schemes/_entry-ops.js.map +1 -1
  274. package/dist/schemes/_entry-ops.sql +9 -6
  275. package/dist/schemes/_entry-send.d.ts +2 -2
  276. package/dist/schemes/_entry-send.d.ts.map +1 -1
  277. package/dist/schemes/_entry-send.js +16 -14
  278. package/dist/schemes/_entry-send.js.map +1 -1
  279. package/dist/schemes/_search-index.d.ts.map +1 -1
  280. package/dist/schemes/_search-index.js +39 -25
  281. package/dist/schemes/_search-index.js.map +1 -1
  282. package/dist/server/Daemon.d.ts +98 -15
  283. package/dist/server/Daemon.d.ts.map +1 -1
  284. package/dist/server/Daemon.js +864 -348
  285. package/dist/server/Daemon.js.map +1 -1
  286. package/dist/server/DaemonModule.d.ts +84 -19
  287. package/dist/server/DaemonModule.d.ts.map +1 -1
  288. package/dist/server/DrainSupervisor.d.ts +15 -10
  289. package/dist/server/DrainSupervisor.d.ts.map +1 -1
  290. package/dist/server/DrainSupervisor.js +70 -19
  291. package/dist/server/DrainSupervisor.js.map +1 -1
  292. package/dist/server/Functionality.d.ts +44 -0
  293. package/dist/server/Functionality.d.ts.map +1 -0
  294. package/dist/server/Functionality.js +422 -0
  295. package/dist/server/Functionality.js.map +1 -0
  296. package/dist/server/FunctionalityManager.d.ts +22 -0
  297. package/dist/server/FunctionalityManager.d.ts.map +1 -0
  298. package/dist/server/FunctionalityManager.js +121 -0
  299. package/dist/server/FunctionalityManager.js.map +1 -0
  300. package/dist/server/SkillsFunctionality.d.ts +61 -0
  301. package/dist/server/SkillsFunctionality.d.ts.map +1 -0
  302. package/dist/server/SkillsFunctionality.js +449 -0
  303. package/dist/server/SkillsFunctionality.js.map +1 -0
  304. package/dist/server/WorkerCapabilities.d.ts +21 -0
  305. package/dist/server/WorkerCapabilities.d.ts.map +1 -0
  306. package/dist/server/WorkerCapabilities.js +214 -0
  307. package/dist/server/WorkerCapabilities.js.map +1 -0
  308. package/dist/server/WorkerResidency.d.ts +40 -0
  309. package/dist/server/WorkerResidency.d.ts.map +1 -0
  310. package/dist/server/WorkerResidency.js +283 -0
  311. package/dist/server/WorkerResidency.js.map +1 -0
  312. package/dist/server/client-input.d.ts +6 -2
  313. package/dist/server/client-input.d.ts.map +1 -1
  314. package/dist/server/client-input.js +72 -32
  315. package/dist/server/client-input.js.map +1 -1
  316. package/dist/server/dispatch-as-plurnk.d.ts +2 -2
  317. package/dist/server/dispatch-as-plurnk.d.ts.map +1 -1
  318. package/dist/server/dispatch-as-plurnk.js +109 -23
  319. package/dist/server/dispatch-as-plurnk.js.map +1 -1
  320. package/dist/server/drain.sql +33 -13
  321. package/dist/server/envelope.d.ts +7 -2
  322. package/dist/server/envelope.d.ts.map +1 -1
  323. package/dist/server/envelope.js +12 -6
  324. package/dist/server/envelope.js.map +1 -1
  325. package/dist/server/envelope.sql +36 -4
  326. package/dist/server/lifecycle-recovery.sql +24 -17
  327. package/dist/server/logEntry.d.ts +2 -1
  328. package/dist/server/logEntry.d.ts.map +1 -1
  329. package/dist/server/logEntry.js +3 -2
  330. package/dist/server/logEntry.js.map +1 -1
  331. package/dist/server/logEntry.sql +7 -0
  332. package/dist/server/loop-model.d.ts +2 -2
  333. package/dist/server/loop-model.d.ts.map +1 -1
  334. package/dist/server/loop-model.js +23 -33
  335. package/dist/server/loop-model.js.map +1 -1
  336. package/dist/server/loopDocs.d.ts +2 -1
  337. package/dist/server/loopDocs.d.ts.map +1 -1
  338. package/dist/server/loopDocs.js +88 -21
  339. package/dist/server/loopDocs.js.map +1 -1
  340. package/dist/server/loopDocs.sql +14 -8
  341. package/dist/server/model-catalog.d.ts +3 -0
  342. package/dist/server/model-catalog.d.ts.map +1 -0
  343. package/dist/server/model-catalog.js +83 -0
  344. package/dist/server/model-catalog.js.map +1 -0
  345. package/dist/server/model-route.d.ts +7 -0
  346. package/dist/server/model-route.d.ts.map +1 -0
  347. package/dist/server/model-route.js +47 -0
  348. package/dist/server/model-route.js.map +1 -0
  349. package/dist/server/module-discovery.d.ts +13 -0
  350. package/dist/server/module-discovery.d.ts.map +1 -0
  351. package/dist/server/module-discovery.js +103 -0
  352. package/dist/server/module-discovery.js.map +1 -0
  353. package/dist/server/seam-entry-read.sql +9 -7
  354. package/dist/server/seam-log-read.sql +1 -1
  355. package/dist/server/seam-loop.sql +10 -1
  356. package/dist/server/seam-proposal-list.sql +4 -2
  357. package/dist/server/worker-capabilities.sql +19 -0
  358. package/dist/service.d.ts.map +1 -1
  359. package/dist/service.js +193 -124
  360. package/dist/service.js.map +1 -1
  361. package/migrations/001_schema.sql +905 -196
  362. package/package.json +40 -38
  363. package/dist/core/ExecutableTools.d.ts +0 -11
  364. package/dist/core/ExecutableTools.d.ts.map +0 -1
  365. package/dist/core/ExecutableTools.js +0 -49
  366. package/dist/core/ExecutableTools.js.map +0 -1
  367. package/dist/core/JournalTurn.d.ts +0 -9
  368. package/dist/core/JournalTurn.d.ts.map +0 -1
  369. package/dist/core/JournalTurn.js +0 -14
  370. package/dist/core/JournalTurn.js.map +0 -1
  371. package/dist/core/JournalTurn.sql +0 -10
  372. package/dist/core/git-iso.d.ts +0 -13
  373. package/dist/core/git-iso.d.ts.map +0 -1
  374. package/dist/core/git-iso.js +0 -267
  375. package/dist/core/git-iso.js.map +0 -1
  376. package/dist/core/search-gate.d.ts +0 -17
  377. package/dist/core/search-gate.d.ts.map +0 -1
  378. package/dist/core/search-gate.js +0 -77
  379. package/dist/core/search-gate.js.map +0 -1
  380. package/dist/digest/Digest.sql +0 -1
  381. package/dist/server/workspace-capabilities.sql +0 -19
@@ -0,0 +1,15 @@
1
+ -- PREP: digest_channel_disposition_counts
2
+ SELECT d.disposition, COUNT(*) AS n
3
+ FROM entries e
4
+ JOIN entry_channels ec ON ec.entry_id = e.id
5
+ JOIN derivations d ON d.deep_hash = ec.deep_hash
6
+ GROUP BY d.disposition
7
+ ORDER BY d.disposition;
8
+
9
+ -- PREP: digest_channel_dispositions
10
+ SELECT e.scheme, e.authority, e.pathname, ec.name AS channel, d.disposition, d.reason
11
+ FROM entries e
12
+ JOIN entry_channels ec ON ec.entry_id = e.id
13
+ JOIN derivations d ON d.deep_hash = ec.deep_hash
14
+ WHERE d.disposition <> 'vector'
15
+ ORDER BY d.disposition, e.scheme, e.authority, e.pathname, channel;
@@ -0,0 +1,6 @@
1
+ -- PREP: digest_channel_semantic_state
2
+ SELECT COUNT(*) AS channel_entries,
3
+ COUNT(ec.deep_hash) AS derivation_complete,
4
+ COUNT(*) - COUNT(ec.deep_hash) AS unfinished
5
+ FROM entries e
6
+ JOIN entry_channels ec ON ec.entry_id = e.id;
@@ -0,0 +1,5 @@
1
+ -- PREP: digest_curation_effects
2
+ SELECT operation_log_entry_id, target_log_entry_id,
3
+ folded_before, folded_after, tags_added, tags_removed
4
+ FROM log_curation_effects
5
+ ORDER BY operation_log_entry_id, target_log_entry_id;
@@ -0,0 +1,4 @@
1
+ -- PREP: digest_derivation_state
2
+ SELECT COALESCE(SUM(CASE WHEN state = 'complete' THEN 1 ELSE 0 END), 0) AS complete,
3
+ COALESCE(SUM(CASE WHEN state = 'building' THEN 1 ELSE 0 END), 0) AS building
4
+ FROM derivations;
@@ -0,0 +1,4 @@
1
+ -- PREP: digest_embedding_state
2
+ SELECT COUNT(*) AS chunks,
3
+ COUNT(DISTINCT embedding_model) AS models
4
+ FROM derivation_embeddings;
@@ -0,0 +1,15 @@
1
+ -- PREP: digest_entry_disposition_counts
2
+ SELECT d.disposition, COUNT(*) AS n
3
+ FROM entries e
4
+ JOIN entry_channels ec ON ec.entry_id = e.id AND ec.name = 'body'
5
+ JOIN derivations d ON d.deep_hash = e.deep_hash
6
+ GROUP BY d.disposition
7
+ ORDER BY d.disposition;
8
+
9
+ -- PREP: digest_entry_dispositions
10
+ SELECT e.scheme, e.authority, e.pathname, 'body' AS channel, d.disposition, d.reason
11
+ FROM entries e
12
+ JOIN entry_channels ec ON ec.entry_id = e.id AND ec.name = 'body'
13
+ JOIN derivations d ON d.deep_hash = e.deep_hash
14
+ WHERE d.disposition <> 'vector'
15
+ ORDER BY d.disposition, e.scheme, e.authority, e.pathname, channel;
@@ -0,0 +1,6 @@
1
+ -- PREP: digest_entry_semantic_state
2
+ SELECT COUNT(*) AS channel_entries,
3
+ COUNT(e.deep_hash) AS derivation_complete,
4
+ COUNT(*) - COUNT(e.deep_hash) AS unfinished
5
+ FROM entries e
6
+ JOIN entry_channels ec ON ec.entry_id = e.id AND ec.name = 'body';
@@ -0,0 +1,2 @@
1
+ -- PREP: digest_token_count
2
+ SELECT COUNT(*) AS n FROM token_counts;
package/dist/Paths.d.ts CHANGED
@@ -8,9 +8,5 @@ export default class Paths {
8
8
  static defaultRequirements: string;
9
9
  static defaultRequirementsTeachingSource: TeachingCorpusSource | null;
10
10
  static teachingSource(source: TeachingCorpusSource): string;
11
- static docs(): Array<{
12
- entryName: string;
13
- path: string;
14
- }>;
15
11
  }
16
12
  //# sourceMappingURL=Paths.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Paths.d.ts","sourceRoot":"","sources":["../src/Paths.ts"],"names":[],"mappings":"AAYA,OAAO,EAAmB,KAAK,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEjF,MAAM,CAAC,OAAO,OAAO,KAAK;;IAKtB,MAAM,CAAC,QAAQ,CAAC,YAAY,SAAmF;IAE/G,MAAM,CAAC,UAAU,SAA8C;IAC/D,MAAM,CAAC,kBAAkB,SAA+C;IAExE,MAAM,CAAC,WAAW,SAAqD;IAGvE,MAAM,CAAC,mBAAmB,SAAoC;IAC9D,MAAM,CAAC,iCAAiC,8BAAsC;IAE9E,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,oBAAoB,GAAG,MAAM,CAE1D;IAoBD,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAUxD;CACJ"}
1
+ {"version":3,"file":"Paths.d.ts","sourceRoot":"","sources":["../src/Paths.ts"],"names":[],"mappings":"AAWA,OAAO,EAEH,KAAK,oBAAoB,EAC5B,MAAM,qBAAqB,CAAC;AAE7B,MAAM,CAAC,OAAO,OAAO,KAAK;;IAKtB,MAAM,CAAC,QAAQ,CAAC,YAAY,SAAmF;IAE/G,MAAM,CAAC,UAAU,SAA8C;IAC/D,MAAM,CAAC,kBAAkB,SAA+C;IAExE,MAAM,CAAC,WAAW,SAAqD;IAGvE,MAAM,CAAC,mBAAmB,SAAoC;IAC9D,MAAM,CAAC,iCAAiC,8BAAsC;IAE9E,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,oBAAoB,GAAG,MAAM,CAE1D;CAaJ"}
package/dist/Paths.js CHANGED
@@ -8,8 +8,7 @@
8
8
  // re-exports it) so `..` resolves to PACKAGE_ROOT.
9
9
  import { fileURLToPath } from "node:url";
10
10
  import { dirname, resolve } from "node:path";
11
- import { homedir } from "node:os";
12
- import { TEACHING_CORPUS } from "@plurnk/plurnk-meta";
11
+ import { TEACHING_CORPUS, } from "@plurnk/plurnk-meta";
13
12
  export default class Paths {
14
13
  static #PACKAGE_ROOT = resolve(dirname(fileURLToPath(import.meta.url)), "..");
15
14
  static #CONTRACTS_ROOT = dirname(fileURLToPath(import.meta.resolve("@plurnk/plurnk-contracts/package.json")));
@@ -38,24 +37,5 @@ export default class Paths {
38
37
  source: TEACHING_CORPUS.requirements,
39
38
  };
40
39
  }
41
- // Operator reference docs auto-READ into every model worker at turn 0.
42
- // `PLURNK_SERVICE_MD_<ALIAS>=<path>` materializes <path>'s markdown as a
43
- // `worker://plurnk/<ALIAS>.md` entry the model READs — an idiomatic way
44
- // to inject standing context (an ordinary entry + READ op, not a bespoke
45
- // packet section). `~` expands to home; relative paths resolve
46
- // against the package root. Resolved fresh each call so it tracks the env.
47
- static docs() {
48
- const out = [];
49
- for (const [key, value] of Object.entries(process.env)) {
50
- if (!key.startsWith("PLURNK_SERVICE_MD_") || typeof value !== "string" || value.length === 0)
51
- continue;
52
- const alias = key.slice("PLURNK_SERVICE_MD_".length);
53
- if (alias.length === 0)
54
- continue;
55
- const expanded = value.startsWith("~/") ? resolve(homedir(), value.slice(2)) : value === "~" ? homedir() : value;
56
- out.push({ entryName: `${alias}.md`, path: resolve(Paths.#PACKAGE_ROOT, expanded) });
57
- }
58
- return out;
59
- }
60
40
  }
61
41
  //# sourceMappingURL=Paths.js.map
package/dist/Paths.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Paths.js","sourceRoot":"","sources":["../src/Paths.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Paths.js","sourceRoot":"","sources":["../src/Paths.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,EAAE;AACF,gDAAgD;AAChD,wEAAwE;AACxE,kEAAkE;AAClE,EAAE;AACF,8EAA8E;AAC9E,mDAAmD;AAEnD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EACH,eAAe,GAElB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,CAAC,OAAO,OAAO,KAAK;IACtB,MAAM,CAAC,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAC9E,MAAM,CAAC,eAAe,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC,CAAC,CAAC;IAC9G,mEAAmE;IACnE,mEAAmE;IACnE,MAAM,CAAU,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC,CAAC,CAAC;IAE/G,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;IAC/D,MAAM,CAAC,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;IACxE,uEAAuE;IACvE,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;IACvE,wEAAwE;IACxE,MAAM,CAAC,qBAAqB,GAAG,KAAK,CAAC,2BAA2B,EAAE,CAAC;IACnE,MAAM,CAAC,mBAAmB,GAAG,KAAK,CAAC,qBAAqB,CAAC,IAAI,CAAC;IAC9D,MAAM,CAAC,iCAAiC,GAAG,KAAK,CAAC,qBAAqB,CAAC,MAAM,CAAC;IAE9E,MAAM,CAAC,cAAc,CAAC,MAA4B;QAC9C,OAAO,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAC/C,CAAC;IAED,kFAAkF;IAClF,MAAM,CAAC,2BAA2B;QAC9B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC;QACpD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5C,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QACrE,CAAC;QACD,OAAO;YACH,IAAI,EAAE,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC,YAAY,CAAC;YACxD,MAAM,EAAE,eAAe,CAAC,YAAY;SACvC,CAAC;IACN,CAAC;CACJ"}
@@ -1 +1 @@
1
- {"package":"@plurnk/plurnk-service","version":"1.7.0","revision":"b77596d160fcca8ef1ca6cce3b68d2b3e4c2494e","dirty":false}
1
+ {"package":"@plurnk/plurnk-service","version":"1.9.0","revision":"ffd1bb96b4f90bac93d6b685d5337517ba0a3619","dirty":false}
@@ -1 +1 @@
1
- {"version":3,"file":"read-projector.d.ts","sourceRoot":"","sources":["../../src/content/read-projector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EACR,eAAe,EACf,eAAe,EAClB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAM9D,MAAM,WAAW,kBAAmB,SAAQ,eAAe;IACvD,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;CACrC;AAMD,MAAM,CAAC,OAAO,OAAO,aAAa;IAC9B,OAAa,OAAO,CAAC,IAAI,EAAE;QACvB,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC;QAClC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;QAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,cAAc,EAAE,eAAe,CAAC;QACzC,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,CAAC;KAC7C,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAkL9B;CACJ"}
1
+ {"version":3,"file":"read-projector.d.ts","sourceRoot":"","sources":["../../src/content/read-projector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EACR,eAAe,EACf,eAAe,EAClB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAM9D,MAAM,WAAW,kBAAmB,SAAQ,eAAe;IACvD,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;CACrC;AAMD,MAAM,CAAC,OAAO,OAAO,aAAa;IAC9B,OAAa,OAAO,CAAC,IAAI,EAAE;QACvB,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC;QAClC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;QAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,cAAc,EAAE,eAAe,CAAC;QACzC,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,CAAC;KAC7C,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAmL9B;CACJ"}
@@ -42,9 +42,11 @@ export default class ReadProjector {
42
42
  ? `The representation at ${target} is binary and cannot be rendered.`
43
43
  : `The #${channel} channel is binary and cannot be rendered.`, { mimetype: selectedRepresentation.mimetype });
44
44
  }
45
+ const publishesLineAnchors = manifest.lineAnchors === true
46
+ || (manifest.textEditScopes === true && manifest.writableBy.includes("model"));
45
47
  let lineMarker;
46
48
  if (LineAnchors.hasAnchor(statement.lineMarker)) {
47
- if (manifest.textEditScopes !== true || !manifest.writableBy.includes("model")) {
49
+ if (!publishesLineAnchors) {
48
50
  return failure("line-anchor-unsupported", 400, `The representation at ${target} does not publish line anchors.`, {}, {
49
51
  target,
50
52
  recovery: "Use numeric text coordinates.",
@@ -105,8 +107,7 @@ export default class ReadProjector {
105
107
  status: producerResult.status,
106
108
  });
107
109
  if (result.status !== 200
108
- || manifest.textEditScopes !== true
109
- || !manifest.writableBy.includes("model")
110
+ || !publishesLineAnchors
110
111
  || typeof result.content !== "string") {
111
112
  return result;
112
113
  }
@@ -1 +1 @@
1
- {"version":3,"file":"read-projector.js","sourceRoot":"","sources":["../../src/content/read-projector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"read-projector.js","sourceRoot":"","sources":["../../src/content/read-projector.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"BudgetReadout.d.ts","sourceRoot":"","sources":["../../src/core/BudgetReadout.ts"],"names":[],"mappings":"AAYA,KAAK,aAAa,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;AAEjD,MAAM,CAAC,OAAO,OAAO,aAAa;;IAC9B,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAI3C;IAID,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,GAAG,MAAM,CAMtF;CAkFJ"}
1
+ {"version":3,"file":"BudgetReadout.d.ts","sourceRoot":"","sources":["../../src/core/BudgetReadout.ts"],"names":[],"mappings":"AASA,KAAK,aAAa,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;AAEjD,MAAM,CAAC,OAAO,OAAO,aAAa;;IAC9B,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAI3C;IAID,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,GAAG,MAAM,CAItF;CA6EJ"}
@@ -1,47 +1,38 @@
1
- const TOKENS_FREE_PLACEHOLDER = "{{tokensFree}}";
2
- const TOKEN_USAGE_PLACEHOLDER = "{{tokenUsage}}";
1
+ const TOKENS_ACTIVE_TOTAL_PLACEHOLDER = "{{tokensActiveTotal}}";
3
2
  const TOKEN_PERCENT_PLACEHOLDER = "{{tokenPercent}}";
4
3
  const MAX_WIDTH_PASSES = 64;
5
- const PANIC = "Context Token Budget Panic: YOU MUST FOLD or KILL enough less-relevant log items to restore free tokens.";
6
4
  export default class BudgetReadout {
7
5
  static draft(ceiling) {
8
6
  if (ceiling === null)
9
7
  return "";
10
8
  BudgetReadout.#assertCeiling(ceiling);
11
- return `Token Ceiling ${ceiling} · Token Usage ${TOKEN_USAGE_PLACEHOLDER} (${TOKEN_PERCENT_PLACEHOLDER}%) · Tokens Free ${TOKENS_FREE_PLACEHOLDER}`;
9
+ return `tokensActiveTotal: ${TOKENS_ACTIVE_TOTAL_PLACEHOLDER} (${TOKEN_PERCENT_PLACEHOLDER}%)\ntokensActiveMax: ${ceiling}`;
12
10
  }
13
11
  // {§tokenomics-render-weight-budget} — widths only expand, so final numeric
14
12
  // substitution cannot change the measured packet length or oscillate.
15
13
  static resolve(template, ceiling, measurePacket) {
16
14
  BudgetReadout.#assertCeiling(ceiling);
17
15
  BudgetReadout.#assertTemplate(template);
18
- const ordinary = BudgetReadout.#resolveTemplate(template, ceiling, measurePacket);
19
- if (ordinary.usage <= ceiling)
20
- return ordinary.content;
21
- return BudgetReadout.#resolveTemplate(`${template}\n${PANIC}`, ceiling, measurePacket).content;
16
+ return BudgetReadout.#resolveTemplate(template, ceiling, measurePacket).content;
22
17
  }
23
18
  static #resolveTemplate(template, ceiling, measurePacket) {
24
- let widths = { usage: 1, percent: 1, free: 1 };
19
+ let widths = { activeTotal: 1, percent: 1 };
25
20
  for (let pass = 0; pass < MAX_WIDTH_PASSES; pass += 1) {
26
21
  const probe = BudgetReadout.#render(template, widths, {
27
- usage: "0".repeat(widths.usage),
22
+ activeTotal: "0".repeat(widths.activeTotal),
28
23
  percent: "0".repeat(widths.percent),
29
- free: "0".repeat(widths.free),
30
24
  });
31
25
  const usage = BudgetReadout.#assertWeight(measurePacket(probe));
32
26
  const values = {
33
- usage: String(usage),
27
+ activeTotal: String(usage),
34
28
  percent: BudgetReadout.#percent(usage, ceiling),
35
- free: String(ceiling - usage),
36
29
  };
37
30
  const expanded = {
38
- usage: Math.max(widths.usage, values.usage.length),
31
+ activeTotal: Math.max(widths.activeTotal, values.activeTotal.length),
39
32
  percent: Math.max(widths.percent, values.percent.length),
40
- free: Math.max(widths.free, values.free.length),
41
33
  };
42
- if (expanded.usage !== widths.usage
43
- || expanded.percent !== widths.percent
44
- || expanded.free !== widths.free) {
34
+ if (expanded.activeTotal !== widths.activeTotal
35
+ || expanded.percent !== widths.percent) {
45
36
  widths = expanded;
46
37
  continue;
47
38
  }
@@ -56,9 +47,8 @@ export default class BudgetReadout {
56
47
  }
57
48
  static #render(template, widths, values) {
58
49
  return template
59
- .replace(TOKEN_USAGE_PLACEHOLDER, values.usage.padStart(widths.usage))
60
- .replace(TOKEN_PERCENT_PLACEHOLDER, values.percent.padStart(widths.percent))
61
- .replace(TOKENS_FREE_PLACEHOLDER, values.free.padStart(widths.free));
50
+ .replace(TOKENS_ACTIVE_TOTAL_PLACEHOLDER, values.activeTotal.padStart(widths.activeTotal))
51
+ .replace(TOKEN_PERCENT_PLACEHOLDER, values.percent.padStart(widths.percent));
62
52
  }
63
53
  static #percent(usage, ceiling) {
64
54
  const percent = (usage / ceiling) * 100;
@@ -76,7 +66,7 @@ export default class BudgetReadout {
76
66
  return weight;
77
67
  }
78
68
  static #assertTemplate(template) {
79
- for (const placeholder of [TOKEN_USAGE_PLACEHOLDER, TOKEN_PERCENT_PLACEHOLDER, TOKENS_FREE_PLACEHOLDER]) {
69
+ for (const placeholder of [TOKENS_ACTIVE_TOTAL_PLACEHOLDER, TOKEN_PERCENT_PLACEHOLDER]) {
80
70
  if (template.split(placeholder).length !== 2) {
81
71
  throw new TypeError(`Budget readout template must contain ${placeholder} exactly once`);
82
72
  }
@@ -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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"}
@@ -1,6 +1,6 @@
1
1
  import type { Db } from "./Db.ts";
2
2
  import type { LoopFlags, WriterTier } from "./types.ts";
3
- import { type ChannelState, type SchemeResult } from "@plurnk/plurnk-schemes";
3
+ import { type ChannelProducerResult, type ChannelState, type SchemeResult } from "@plurnk/plurnk-schemes";
4
4
  import type { Notice } from "@plurnk/plurnk-contracts";
5
5
  export type { ChannelState } from "@plurnk/plurnk-schemes";
6
6
  export interface StreamCoordinate {
@@ -39,6 +39,7 @@ export type WakeWorkerNotify = (payload: WakeWorkerPayload) => void;
39
39
  export type InjectWorkerNotify = (args: {
40
40
  workspaceId: number;
41
41
  workerId: number;
42
+ sourceWorkerId: number;
42
43
  prompt: string;
43
44
  parentLoopId?: number;
44
45
  flags?: LoopFlags;
@@ -95,14 +96,18 @@ export default class ChannelWrite {
95
96
  turnScoped?: boolean;
96
97
  publishedChannel?: string | null;
97
98
  }): Promise<number>;
98
- static closeSubscription(db: Db, { subscriptionId, result }: {
99
+ static closeSubscription(db: Db, { subscriptionId, result, channelResults, notify, coordinate }: {
99
100
  subscriptionId: number;
100
101
  result: SchemeResult;
102
+ channelResults?: Readonly<Record<string, ChannelProducerResult>>;
103
+ notify?: StreamEventNotify;
104
+ coordinate?: StreamCoordinate;
101
105
  }): Promise<void>;
102
- static execTerminalStatus(db: Db, { workspaceId, workerId, scheme, pathname }: {
106
+ static execTerminalStatus(db: Db, { workspaceId, workerId, scheme, authority, pathname }: {
103
107
  workspaceId: number;
104
108
  workerId: number;
105
109
  scheme: string;
110
+ authority: string;
106
111
  pathname: string;
107
112
  }): Promise<number | null>;
108
113
  static findActiveSubscription(db: Db, { workerId, entryId }: {
@@ -1 +1 @@
1
- {"version":3,"file":"ChannelWrite.d.ts","sourceRoot":"","sources":["../../src/core/ChannelWrite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChannelWrite.d.ts","sourceRoot":"","sources":["../../src/core/ChannelWrite.ts"],"names":[],"mappings":"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"}
@@ -15,11 +15,12 @@ export default class ChannelWrite {
15
15
  static #mimetypeStmt(db) { return db.set_channel_mimetype; }
16
16
  static #openSubStmt(db) { return db.open_subscription; }
17
17
  static #closeSubStmt(db) { return db.close_subscription; }
18
+ static #publishedChannelMetaStmt(db) { return db.subscription_published_channel_meta; }
18
19
  static #findActiveStmt(db) { return db.find_active_subscription; }
19
20
  static #openSubsForWorkerStmt(db) { return db.find_open_subscriptions_for_worker; }
20
21
  static #execTerminalStmt(db) { return db.find_exec_close_status; }
21
- static #targetUri(scheme, pathname) {
22
- return renderAddress(scheme, pathname);
22
+ static #targetUri(scheme, authority, pathname) {
23
+ return renderAddress({ scheme, authority, pathname });
23
24
  }
24
25
  // A stream chunk accumulates into the channel's content ({§chunk-accumulation-chunks-accumulate})
25
26
  // and fires a stream/event ({§live-updates-stream-event-fires-on-chunk}); the log carries the
@@ -37,7 +38,7 @@ export default class ChannelWrite {
37
38
  const meta = await ChannelWrite.#channelMeta(db).get({ entry_id: entryId, channel });
38
39
  if (meta === undefined)
39
40
  return;
40
- notify(meta.workspace_id, { entryId, workerId: meta.workerId, target: ChannelWrite.#targetUri(meta.scheme, meta.pathname), channel, state: meta.state, contentLength: meta.contentLength, mimetype: meta.mimetype, ...coordinate });
41
+ notify(meta.workspace_id, { entryId, workerId: meta.workerId, target: ChannelWrite.#targetUri(meta.scheme, meta.authority, meta.pathname), channel, state: meta.state, contentLength: meta.contentLength, mimetype: meta.mimetype, ...coordinate });
41
42
  }
42
43
  // Schemes drive channel state transitions as their connection lifecycle progresses.
43
44
  // {§channel-state-schemes-own-state-transitions}
@@ -50,7 +51,7 @@ export default class ChannelWrite {
50
51
  const meta = await ChannelWrite.#channelMeta(db).get({ entry_id: entryId, channel });
51
52
  if (meta === undefined)
52
53
  return;
53
- notify(meta.workspace_id, { entryId, workerId: meta.workerId, target: ChannelWrite.#targetUri(meta.scheme, meta.pathname), channel, state: meta.state, contentLength: meta.contentLength, mimetype: meta.mimetype, ...coordinate });
54
+ notify(meta.workspace_id, { entryId, workerId: meta.workerId, target: ChannelWrite.#targetUri(meta.scheme, meta.authority, meta.pathname), channel, state: meta.state, contentLength: meta.contentLength, mimetype: meta.mimetype, ...coordinate });
54
55
  }
55
56
  // The durable half of subscription ownership. Its row identifies what is
56
57
  // open; the process-local LiveSubscriptions registry owns the exact callable
@@ -66,22 +67,53 @@ export default class ChannelWrite {
66
67
  throw new Error("openSubscription: INSERT ... RETURNING produced no row");
67
68
  return row.id;
68
69
  }
69
- static async closeSubscription(db, { subscriptionId, result }) {
70
- Results.assert(result);
71
- await ChannelWrite.#closeSubStmt(db).run({
70
+ static async closeSubscription(db, { subscriptionId, result, channelResults = {}, notify, coordinate }) {
71
+ Results.assertChannelProducerResult(result);
72
+ const exactChannelResults = Object.fromEntries(Object.entries(channelResults).map(([channel, channelResult]) => [
73
+ channel,
74
+ Results.assertChannelProducerResult(channelResult),
75
+ ]));
76
+ const published = notify === undefined
77
+ ? []
78
+ : await ChannelWrite.#publishedChannelMetaStmt(db).all({
79
+ subscription_id: subscriptionId,
80
+ });
81
+ const settled = await ChannelWrite.#closeSubStmt(db).run({
72
82
  result: JSON.stringify(result),
73
83
  status: result.status,
84
+ channel_results: JSON.stringify(exactChannelResults),
74
85
  subscription_id: subscriptionId,
75
86
  });
87
+ if (settled.changes === 0 || notify === undefined)
88
+ return;
89
+ for (const meta of published) {
90
+ const channelResult = Object.hasOwn(exactChannelResults, meta.channel)
91
+ ? exactChannelResults[meta.channel]
92
+ : result;
93
+ const state = channelResult.status >= 400 ? "errored" : "closed";
94
+ if (meta.state === state)
95
+ continue;
96
+ notify(meta.workspace_id, {
97
+ entryId: meta.entryId,
98
+ workerId: meta.workerId,
99
+ target: ChannelWrite.#targetUri(meta.scheme, meta.authority, meta.pathname),
100
+ channel: meta.channel,
101
+ state,
102
+ contentLength: meta.contentLength,
103
+ mimetype: meta.mimetype,
104
+ ...coordinate,
105
+ });
106
+ }
76
107
  }
77
108
  // Terminal close_status of a finished exec stream, by coordinate pathname —
78
109
  // the KILL-on-a-non-running-exec lookup (Exec.kill). null = no closed
79
110
  // subscription for that coordinate (unknown exec).
80
- static async execTerminalStatus(db, { workspaceId, workerId, scheme, pathname }) {
111
+ static async execTerminalStatus(db, { workspaceId, workerId, scheme, authority, pathname }) {
81
112
  const row = await ChannelWrite.#execTerminalStmt(db).get({
82
113
  workspace_id: workspaceId,
83
114
  worker_id: workerId,
84
115
  scheme,
116
+ authority,
85
117
  pathname,
86
118
  });
87
119
  return row?.close_status ?? null;
@@ -1 +1 @@
1
- {"version":3,"file":"ChannelWrite.js","sourceRoot":"","sources":["../../src/core/ChannelWrite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChannelWrite.js","sourceRoot":"","sources":["../../src/core/ChannelWrite.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,17 @@
1
1
  -- Channel-write SQL for streaming schemes. SPEC {§channel-state} + {§subscriptions} + {§notifications}.
2
2
 
3
3
  -- PREP: channel_meta
4
- SELECT e.workspace_id, e.owner_id AS workerId, e.scheme, e.pathname, ec.state, ec.mimetype, length(ec.content) AS contentLength
4
+ SELECT owner.workspace_id, e.owner_id AS workerId, e.scheme, e.authority, e.pathname, ec.state, ec.mimetype, length(ec.content) AS contentLength
5
5
  FROM entry_channels ec
6
6
  JOIN entries e ON e.id = ec.entry_id
7
+ JOIN workers owner ON owner.id = e.owner_id
7
8
  WHERE ec.entry_id = $entry_id AND ec.name = $channel;
8
9
 
9
10
  -- PREP: append_to_channel
10
11
  UPDATE entry_channels
11
12
  SET content = content || $chunk,
12
13
  weight = content_weight(content || $chunk),
14
+ content_hash = NULL,
13
15
  producer_result = NULL
14
16
  WHERE entry_id = $entry_id AND name = $channel;
15
17
 
@@ -29,7 +31,7 @@ WHERE entry_id = $entry_id AND name = $channel AND mimetype != $mimetype;
29
31
  -- Full content swap for one channel (ChannelCaps.replace). The caller binds
30
32
  -- the same curation weight append_to_channel computes inside its atomic update.
31
33
  UPDATE entry_channels
32
- SET content = $content, weight = $weight, producer_result = NULL
34
+ SET content = $content, weight = $weight, content_hash = NULL, producer_result = NULL
33
35
  WHERE entry_id = $entry_id AND name = $channel;
34
36
 
35
37
  -- PREP: open_subscription
@@ -44,8 +46,20 @@ UPDATE subscriptions
44
46
  SET closed_at = strftime('%Y-%m-%dT%H:%M:%fZ', 'now')
45
47
  , close_status = $status
46
48
  , close_result = $result
49
+ , channel_results = $channel_results
47
50
  WHERE id = $subscription_id AND closed_at IS NULL;
48
51
 
52
+ -- PREP: subscription_published_channel_meta
53
+ SELECT e.id AS entryId, owner.workspace_id, e.owner_id AS workerId, e.scheme, e.authority, e.pathname,
54
+ ec.name AS channel, ec.state, ec.mimetype,
55
+ length(ec.content) AS contentLength
56
+ FROM subscriptions s
57
+ JOIN subscription_publications sp ON sp.subscription_id = s.id
58
+ JOIN entries e ON e.id = s.entry_id
59
+ JOIN workers owner ON owner.id = e.owner_id
60
+ JOIN entry_channels ec ON ec.entry_id = e.id AND ec.name = sp.channel
61
+ WHERE s.id = $subscription_id;
62
+
49
63
  -- PREP: find_active_subscription
50
64
  SELECT id, scheme, handle
51
65
  FROM subscriptions
@@ -74,9 +88,9 @@ WHERE worker_id = $worker_id AND closed_at IS NULL AND turn_scoped = 1;
74
88
  SELECT s.close_status
75
89
  FROM entries e
76
90
  JOIN subscriptions s ON s.entry_id = e.id
77
- WHERE e.workspace_id = $workspace_id
78
- AND s.worker_id = $worker_id
79
- AND e.scheme = $scheme AND e.pathname = $pathname
91
+ JOIN workers owner ON owner.id = e.owner_id
92
+ WHERE owner.workspace_id = $workspace_id AND s.worker_id = $worker_id
93
+ AND e.scheme = $scheme AND e.authority = $authority AND e.pathname = $pathname
80
94
  AND s.closed_at IS NOT NULL
81
95
  ORDER BY s.closed_at DESC
82
96
  LIMIT 1;
@@ -4,8 +4,9 @@ import type ExecutorRegistry from "./ExecutorRegistry.ts";
4
4
  import type { InjectWorkerNotify, StreamEventNotify, WakeWorkerNotify } from "./ChannelWrite.ts";
5
5
  import type { ClientInteractionRequest, ClientInteractionResolution, Notice, ParsedPath, ReadStatement } from "@plurnk/plurnk-contracts";
6
6
  import type { PlurnkSchemeContext } from "./scheme-types.ts";
7
- import type { SchemeCtx, SchemeResult, StoredEntryData } from "@plurnk/plurnk-schemes";
7
+ import type { SchemeAddressCtx, SchemeCtx, SchemeResult, StoredEntryData } from "@plurnk/plurnk-schemes";
8
8
  import type LiveSubscriptions from "./LiveSubscriptions.ts";
9
+ import type { EntryAddressResolution } from "./EntryAddressBinding.ts";
9
10
  export interface CoreSchemeServices {
10
11
  readonly db: Db;
11
12
  readonly mimetypes: Mimetypes;
@@ -15,7 +16,8 @@ export interface CoreSchemeServices {
15
16
  readonly wakeWorkerNotify: WakeWorkerNotify | undefined;
16
17
  readonly injectWorker: InjectWorkerNotify | undefined;
17
18
  readonly pushNotice: (workspaceId: number, loopId: number, notice: Notice) => void;
18
- readonly defaultChannelFor: (scheme: string, workspaceId: number) => string;
19
+ readonly defaultChannelFor: (scheme: string, workerId: number) => string;
20
+ readonly resolveEntryAddress: (target: ParsedPath, ctx: PlurnkSchemeContext) => Promise<EntryAddressResolution | null>;
19
21
  readonly readExecSource: (statement: ReadStatement, ctx: PlurnkSchemeContext) => Promise<SchemeResult>;
20
22
  readonly requestInteraction: (request: ClientInteractionRequest, ids: {
21
23
  workspaceId: number;
@@ -29,6 +31,7 @@ export interface CoreSchemeAdapter {
29
31
  bindCore(services: CoreSchemeServices): void;
30
32
  }
31
33
  export interface CoreEntryAddress {
34
+ readonly authority: string;
32
35
  readonly pathname: string;
33
36
  readonly ownerId: number;
34
37
  }
@@ -40,12 +43,13 @@ export type CoreRepresentationResolution = {
40
43
  export interface CoreRepresentationProvider {
41
44
  resolveCoreRepresentation(target: ParsedPath | null, ctx: CoreSchemeCallContext): Promise<CoreRepresentationResolution>;
42
45
  }
43
- export type CoreSchemeCallContext = SchemeCtx | PlurnkSchemeContext;
46
+ export type CoreSchemeCallContext = SchemeAddressCtx | SchemeCtx | PlurnkSchemeContext;
44
47
  export declare abstract class CoreSchemeAdapterBase implements CoreSchemeAdapter {
45
48
  #private;
46
49
  bindCore(services: CoreSchemeServices): void;
47
50
  protected coreContext(ctx: CoreSchemeCallContext): PlurnkSchemeContext;
48
51
  protected liveSubscriptions(): LiveSubscriptions;
49
52
  protected readExecSource(statement: ReadStatement, ctx: CoreSchemeCallContext): Promise<SchemeResult>;
53
+ protected bindEntryAddress(target: ParsedPath, ctx: CoreSchemeCallContext): Promise<EntryAddressResolution | null>;
50
54
  }
51
55
  //# sourceMappingURL=CoreSchemeServices.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CoreSchemeServices.d.ts","sourceRoot":"","sources":["../../src/core/CoreSchemeServices.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CoreSchemeServices.d.ts","sourceRoot":"","sources":["../../src/core/CoreSchemeServices.ts"],"names":[],"mappings":"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"}