@plurnk/plurnk-service 1.16.5 → 1.18.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 (661) hide show
  1. package/.env.defaults +140 -246
  2. package/INSTALL.md +84 -138
  3. package/README.md +10 -6
  4. package/SPEC.md +2468 -1694
  5. package/dist/Paths.d.ts +2 -0
  6. package/dist/Paths.d.ts.map +1 -1
  7. package/dist/Paths.js +2 -0
  8. package/dist/Paths.js.map +1 -1
  9. package/dist/build-info.d.ts.map +1 -1
  10. package/dist/build-info.js +7 -1
  11. package/dist/build-info.js.map +1 -1
  12. package/dist/build-info.json +1 -1
  13. package/dist/content/body-preview.d.ts +8 -0
  14. package/dist/content/body-preview.d.ts.map +1 -0
  15. package/dist/content/body-preview.js +39 -0
  16. package/dist/content/body-preview.js.map +1 -0
  17. package/dist/content/byte-view.d.ts +1 -4
  18. package/dist/content/byte-view.d.ts.map +1 -1
  19. package/dist/content/byte-view.js.map +1 -1
  20. package/dist/content/edit-collision.d.ts.map +1 -1
  21. package/dist/content/edit-collision.js +3 -4
  22. package/dist/content/edit-collision.js.map +1 -1
  23. package/dist/content/line-anchors.d.ts +2 -2
  24. package/dist/content/line-anchors.d.ts.map +1 -1
  25. package/dist/content/line-anchors.js +4 -3
  26. package/dist/content/line-anchors.js.map +1 -1
  27. package/dist/content/line-selection.d.ts +9 -0
  28. package/dist/content/line-selection.d.ts.map +1 -0
  29. package/dist/content/line-selection.js +29 -0
  30. package/dist/content/line-selection.js.map +1 -0
  31. package/dist/content/matcher.d.ts +0 -1
  32. package/dist/content/matcher.d.ts.map +1 -1
  33. package/dist/content/matcher.js +2 -3
  34. package/dist/content/matcher.js.map +1 -1
  35. package/dist/content/pattern-edits.d.ts +39 -0
  36. package/dist/content/pattern-edits.d.ts.map +1 -0
  37. package/dist/content/pattern-edits.js +121 -0
  38. package/dist/content/pattern-edits.js.map +1 -0
  39. package/dist/content/read-projector.d.ts +18 -9
  40. package/dist/content/read-projector.d.ts.map +1 -1
  41. package/dist/content/read-projector.js +132 -35
  42. package/dist/content/read-projector.js.map +1 -1
  43. package/dist/content/read-resolve.d.ts +4 -1
  44. package/dist/content/read-resolve.d.ts.map +1 -1
  45. package/dist/content/read-resolve.js +42 -7
  46. package/dist/content/read-resolve.js.map +1 -1
  47. package/dist/core/AdmittedTurnExecutor.d.ts +2 -5
  48. package/dist/core/AdmittedTurnExecutor.d.ts.map +1 -1
  49. package/dist/core/AdmittedTurnExecutor.js +96 -88
  50. package/dist/core/AdmittedTurnExecutor.js.map +1 -1
  51. package/dist/core/BareBatchRunner.d.ts +6 -1
  52. package/dist/core/BareBatchRunner.d.ts.map +1 -1
  53. package/dist/core/BareBatchRunner.js +20 -5
  54. package/dist/core/BareBatchRunner.js.map +1 -1
  55. package/dist/core/BudgetReadout.d.ts +2 -3
  56. package/dist/core/BudgetReadout.d.ts.map +1 -1
  57. package/dist/core/BudgetReadout.js +23 -32
  58. package/dist/core/BudgetReadout.js.map +1 -1
  59. package/dist/core/CapabilityPolicies.d.ts +3 -8
  60. package/dist/core/CapabilityPolicies.d.ts.map +1 -1
  61. package/dist/core/CapabilityPolicies.js +2 -28
  62. package/dist/core/CapabilityPolicies.js.map +1 -1
  63. package/dist/core/CapabilityResolver.d.ts +10 -10
  64. package/dist/core/CapabilityResolver.d.ts.map +1 -1
  65. package/dist/core/CapabilityResolver.js +122 -93
  66. package/dist/core/CapabilityResolver.js.map +1 -1
  67. package/dist/core/ChannelWrite.d.ts +15 -11
  68. package/dist/core/ChannelWrite.d.ts.map +1 -1
  69. package/dist/core/ChannelWrite.js +12 -13
  70. package/dist/core/ChannelWrite.js.map +1 -1
  71. package/dist/core/ChannelWrite.sql +99 -9
  72. package/dist/core/ClientInteractions.d.ts.map +1 -1
  73. package/dist/core/ClientInteractions.js +7 -0
  74. package/dist/core/ClientInteractions.js.map +1 -1
  75. package/dist/core/CoreSchemeServices.d.ts +13 -10
  76. package/dist/core/CoreSchemeServices.d.ts.map +1 -1
  77. package/dist/core/CoreSchemeServices.js +13 -5
  78. package/dist/core/CoreSchemeServices.js.map +1 -1
  79. package/dist/core/DataStatementRunner.d.ts +2 -2
  80. package/dist/core/DataStatementRunner.d.ts.map +1 -1
  81. package/dist/core/DataStatementRunner.js +208 -161
  82. package/dist/core/DataStatementRunner.js.map +1 -1
  83. package/dist/core/Dispatcher.d.ts +24 -26
  84. package/dist/core/Dispatcher.d.ts.map +1 -1
  85. package/dist/core/Dispatcher.js +381 -232
  86. package/dist/core/Dispatcher.js.map +1 -1
  87. package/dist/core/Dispatcher.sql +66 -0
  88. package/dist/core/DurableStatement.d.ts.map +1 -1
  89. package/dist/core/DurableStatement.js +2 -1
  90. package/dist/core/DurableStatement.js.map +1 -1
  91. package/dist/core/EditMutations.d.ts +14 -18
  92. package/dist/core/EditMutations.d.ts.map +1 -1
  93. package/dist/core/EditMutations.js +211 -280
  94. package/dist/core/EditMutations.js.map +1 -1
  95. package/dist/core/EditMutations.sql +15 -0
  96. package/dist/core/EditSequence.d.ts +13 -0
  97. package/dist/core/EditSequence.d.ts.map +1 -0
  98. package/dist/core/EditSequence.js +73 -0
  99. package/dist/core/EditSequence.js.map +1 -0
  100. package/dist/core/Engine.d.ts +17 -23
  101. package/dist/core/Engine.d.ts.map +1 -1
  102. package/dist/core/Engine.js +74 -164
  103. package/dist/core/Engine.js.map +1 -1
  104. package/dist/core/Engine.sql +0 -724
  105. package/dist/core/EntryAddressBinding.d.ts +7 -17
  106. package/dist/core/EntryAddressBinding.d.ts.map +1 -1
  107. package/dist/core/EntryAddressBinding.js +12 -72
  108. package/dist/core/EntryAddressBinding.js.map +1 -1
  109. package/dist/core/ExecutionOutputs.d.ts +9 -0
  110. package/dist/core/ExecutionOutputs.d.ts.map +1 -0
  111. package/dist/core/ExecutionOutputs.js +36 -0
  112. package/dist/core/ExecutionOutputs.js.map +1 -0
  113. package/dist/core/ExecutionOutputs.sql +21 -0
  114. package/dist/core/ExecutorRegistry.d.ts +11 -5
  115. package/dist/core/ExecutorRegistry.d.ts.map +1 -1
  116. package/dist/core/ExecutorRegistry.js +37 -32
  117. package/dist/core/ExecutorRegistry.js.map +1 -1
  118. package/dist/core/HostPaths.d.ts +1 -0
  119. package/dist/core/HostPaths.d.ts.map +1 -1
  120. package/dist/core/HostPaths.js +4 -0
  121. package/dist/core/HostPaths.js.map +1 -1
  122. package/dist/core/InferenceCall.d.ts.map +1 -1
  123. package/dist/core/InferenceCall.js +1 -2
  124. package/dist/core/InferenceCall.js.map +1 -1
  125. package/dist/core/InferenceCall.sql +29 -0
  126. package/dist/core/KillHandler.d.ts +1 -0
  127. package/dist/core/KillHandler.d.ts.map +1 -1
  128. package/dist/core/KillHandler.js +24 -21
  129. package/dist/core/KillHandler.js.map +1 -1
  130. package/dist/core/LogBody.d.ts +8 -1
  131. package/dist/core/LogBody.d.ts.map +1 -1
  132. package/dist/core/LogBody.js +44 -12
  133. package/dist/core/LogBody.js.map +1 -1
  134. package/dist/core/LogEntryProjection.d.ts +1 -0
  135. package/dist/core/LogEntryProjection.d.ts.map +1 -1
  136. package/dist/core/LogEntryProjection.js +12 -10
  137. package/dist/core/LogEntryProjection.js.map +1 -1
  138. package/dist/core/LogVisibility.d.ts +1 -0
  139. package/dist/core/LogVisibility.d.ts.map +1 -1
  140. package/dist/core/LogVisibility.js +3 -0
  141. package/dist/core/LogVisibility.js.map +1 -1
  142. package/dist/core/LogWriter.d.ts +2 -3
  143. package/dist/core/LogWriter.d.ts.map +1 -1
  144. package/dist/core/LogWriter.js +31 -36
  145. package/dist/core/LogWriter.js.map +1 -1
  146. package/dist/core/LogWriter.sql +23 -0
  147. package/dist/core/LoopDriver.d.ts +11 -8
  148. package/dist/core/LoopDriver.d.ts.map +1 -1
  149. package/dist/core/LoopDriver.js +161 -189
  150. package/dist/core/LoopDriver.js.map +1 -1
  151. package/dist/core/LoopDriver.sql +11 -0
  152. package/dist/core/LoopLifecycle.d.ts +32 -2
  153. package/dist/core/LoopLifecycle.d.ts.map +1 -1
  154. package/dist/core/LoopLifecycle.js +88 -4
  155. package/dist/core/LoopLifecycle.js.map +1 -1
  156. package/dist/core/LoopLifecycle.sql +145 -28
  157. package/dist/core/LoopPolicyReader.sql +6 -0
  158. package/dist/core/MembershipMaterialization.d.ts.map +1 -1
  159. package/dist/core/MembershipMaterialization.js +6 -28
  160. package/dist/core/MembershipMaterialization.js.map +1 -1
  161. package/dist/core/ModelCall.d.ts.map +1 -1
  162. package/dist/core/ModelCall.js +2 -6
  163. package/dist/core/ModelCall.js.map +1 -1
  164. package/dist/core/ModelCall.sql +41 -0
  165. package/dist/core/MutationEffects.d.ts +5 -3
  166. package/dist/core/MutationEffects.d.ts.map +1 -1
  167. package/dist/core/MutationEffects.js +10 -28
  168. package/dist/core/MutationEffects.js.map +1 -1
  169. package/dist/core/NativeContent.d.ts +6 -0
  170. package/dist/core/NativeContent.d.ts.map +1 -0
  171. package/dist/core/NativeContent.js +16 -0
  172. package/dist/core/NativeContent.js.map +1 -0
  173. package/dist/core/NativeContent.sql +6 -0
  174. package/dist/core/NoticeChannel.js +1 -1
  175. package/dist/core/NoticeChannel.js.map +1 -1
  176. package/dist/core/OperatorConfig.js +5 -5
  177. package/dist/core/OperatorConfig.js.map +1 -1
  178. package/dist/core/PacketBuilder.d.ts +8 -5
  179. package/dist/core/PacketBuilder.d.ts.map +1 -1
  180. package/dist/core/PacketBuilder.js +117 -81
  181. package/dist/core/PacketBuilder.js.map +1 -1
  182. package/dist/core/PacketBuilder.sql +146 -0
  183. package/dist/core/PatternSelection.d.ts +28 -0
  184. package/dist/core/PatternSelection.d.ts.map +1 -0
  185. package/dist/core/PatternSelection.js +42 -0
  186. package/dist/core/PatternSelection.js.map +1 -0
  187. package/dist/core/ProblemLog.d.ts.map +1 -1
  188. package/dist/core/ProblemLog.js +0 -1
  189. package/dist/core/ProblemLog.js.map +1 -1
  190. package/dist/core/PromptFrames.d.ts +12 -0
  191. package/dist/core/PromptFrames.d.ts.map +1 -0
  192. package/dist/core/PromptFrames.js +28 -0
  193. package/dist/core/PromptFrames.js.map +1 -0
  194. package/dist/core/ProposalLifecycle.d.ts +0 -1
  195. package/dist/core/ProposalLifecycle.d.ts.map +1 -1
  196. package/dist/core/ProposalLifecycle.js +26 -23
  197. package/dist/core/ProposalLifecycle.js.map +1 -1
  198. package/dist/core/ProposalLifecycle.sql +33 -0
  199. package/dist/core/ProviderInstantiate.d.ts +1 -1
  200. package/dist/core/ProviderInstantiate.d.ts.map +1 -1
  201. package/dist/core/ProviderInstantiate.js +7 -14
  202. package/dist/core/ProviderInstantiate.js.map +1 -1
  203. package/dist/core/ReasoningView.d.ts +9 -0
  204. package/dist/core/ReasoningView.d.ts.map +1 -0
  205. package/dist/core/ReasoningView.js +47 -0
  206. package/dist/core/ReasoningView.js.map +1 -0
  207. package/dist/core/ResourceBindings.d.ts +16 -0
  208. package/dist/core/ResourceBindings.d.ts.map +1 -0
  209. package/dist/core/ResourceBindings.js +45 -0
  210. package/dist/core/ResourceBindings.js.map +1 -0
  211. package/dist/core/ResourceMutations.d.ts +5 -8
  212. package/dist/core/ResourceMutations.d.ts.map +1 -1
  213. package/dist/core/ResourceMutations.js +6 -7
  214. package/dist/core/ResourceMutations.js.map +1 -1
  215. package/dist/core/ResourceSelector.d.ts +2 -2
  216. package/dist/core/ResourceSelector.d.ts.map +1 -1
  217. package/dist/core/ResourceSelector.js +122 -62
  218. package/dist/core/ResourceSelector.js.map +1 -1
  219. package/dist/core/ResourceTransfers.d.ts +4 -2
  220. package/dist/core/ResourceTransfers.d.ts.map +1 -1
  221. package/dist/core/ResourceTransfers.js +95 -26
  222. package/dist/core/ResourceTransfers.js.map +1 -1
  223. package/dist/core/RuntimeWorker.d.ts +5 -0
  224. package/dist/core/RuntimeWorker.d.ts.map +1 -0
  225. package/dist/core/RuntimeWorker.js +15 -0
  226. package/dist/core/RuntimeWorker.js.map +1 -0
  227. package/dist/core/RuntimeWorker.sql +11 -0
  228. package/dist/core/SchemeRegistry.d.ts +12 -16
  229. package/dist/core/SchemeRegistry.d.ts.map +1 -1
  230. package/dist/core/SchemeRegistry.js +59 -85
  231. package/dist/core/SchemeRegistry.js.map +1 -1
  232. package/dist/core/StoredPacket.d.ts +6 -1
  233. package/dist/core/StoredPacket.d.ts.map +1 -1
  234. package/dist/core/StoredPacket.js +30 -10
  235. package/dist/core/StoredPacket.js.map +1 -1
  236. package/dist/core/StrikeRail.d.ts +11 -8
  237. package/dist/core/StrikeRail.d.ts.map +1 -1
  238. package/dist/core/StrikeRail.js +63 -114
  239. package/dist/core/StrikeRail.js.map +1 -1
  240. package/dist/core/StrikeRail.sql +12 -0
  241. package/dist/core/TerminalResult.d.ts +1 -1
  242. package/dist/core/TerminalResult.d.ts.map +1 -1
  243. package/dist/core/TerminalResult.js +2 -2
  244. package/dist/core/TerminalResult.js.map +1 -1
  245. package/dist/core/TokenCalibration.d.ts +1 -6
  246. package/dist/core/TokenCalibration.d.ts.map +1 -1
  247. package/dist/core/TokenCalibration.js +13 -9
  248. package/dist/core/TokenCalibration.js.map +1 -1
  249. package/dist/core/TokenCalibration.sql +15 -0
  250. package/dist/core/ToolInputSchema.d.ts +6 -0
  251. package/dist/core/ToolInputSchema.d.ts.map +1 -0
  252. package/dist/core/ToolInputSchema.js +43 -0
  253. package/dist/core/ToolInputSchema.js.map +1 -0
  254. package/dist/core/ToolResources.d.ts.map +1 -1
  255. package/dist/core/ToolResources.js +77 -51
  256. package/dist/core/ToolResources.js.map +1 -1
  257. package/dist/core/Turn.d.ts +5 -2
  258. package/dist/core/Turn.d.ts.map +1 -1
  259. package/dist/core/Turn.js +13 -11
  260. package/dist/core/Turn.js.map +1 -1
  261. package/dist/core/Turn.sql +25 -39
  262. package/dist/core/{SendBroadcastHandler.d.ts → TurnDispositionHandler.d.ts} +24 -18
  263. package/dist/core/TurnDispositionHandler.d.ts.map +1 -0
  264. package/dist/core/TurnDispositionHandler.js +206 -0
  265. package/dist/core/TurnDispositionHandler.js.map +1 -0
  266. package/dist/core/TurnMaterialization.d.ts +2 -3
  267. package/dist/core/TurnMaterialization.d.ts.map +1 -1
  268. package/dist/core/TurnMaterialization.js +47 -24
  269. package/dist/core/TurnMaterialization.js.map +1 -1
  270. package/dist/core/TurnMaterialization.sql +44 -0
  271. package/dist/core/TurnOps.d.ts.map +1 -1
  272. package/dist/core/TurnOps.js +8 -64
  273. package/dist/core/TurnOps.js.map +1 -1
  274. package/dist/core/TurnRunner.d.ts +8 -15
  275. package/dist/core/TurnRunner.d.ts.map +1 -1
  276. package/dist/core/TurnRunner.js +1175 -1317
  277. package/dist/core/TurnRunner.js.map +1 -1
  278. package/dist/core/TurnRunner.sql +74 -0
  279. package/dist/core/TurnSources.sql +39 -0
  280. package/dist/core/WorkerControlAddress.d.ts +1 -0
  281. package/dist/core/WorkerControlAddress.d.ts.map +1 -1
  282. package/dist/core/WorkerControlAddress.js +5 -0
  283. package/dist/core/WorkerControlAddress.js.map +1 -1
  284. package/dist/core/WorkerControlHandler.d.ts +1 -3
  285. package/dist/core/WorkerControlHandler.d.ts.map +1 -1
  286. package/dist/core/WorkerControlHandler.js +64 -48
  287. package/dist/core/WorkerControlHandler.js.map +1 -1
  288. package/dist/core/WorkerName.d.ts +11 -12
  289. package/dist/core/WorkerName.d.ts.map +1 -1
  290. package/dist/core/WorkerName.js +40 -47
  291. package/dist/core/WorkerName.js.map +1 -1
  292. package/dist/core/WorkerName.sql +7 -10
  293. package/dist/core/WorkspaceGate.d.ts +1 -1
  294. package/dist/core/WorkspaceGate.d.ts.map +1 -1
  295. package/dist/core/WorkspaceGate.js +33 -10
  296. package/dist/core/WorkspaceGate.js.map +1 -1
  297. package/dist/core/ambient.sql +236 -0
  298. package/dist/core/attachments.d.ts +2 -1
  299. package/dist/core/attachments.d.ts.map +1 -1
  300. package/dist/core/attachments.js +5 -4
  301. package/dist/core/attachments.js.map +1 -1
  302. package/dist/core/caps/CapsResolve.d.ts +2 -3
  303. package/dist/core/caps/CapsResolve.d.ts.map +1 -1
  304. package/dist/core/caps/CapsResolve.js +5 -5
  305. package/dist/core/caps/CapsResolve.js.map +1 -1
  306. package/dist/core/caps/DbChannelCaps.d.ts +1 -1
  307. package/dist/core/caps/DbChannelCaps.d.ts.map +1 -1
  308. package/dist/core/caps/DbChannelCaps.js +4 -6
  309. package/dist/core/caps/DbChannelCaps.js.map +1 -1
  310. package/dist/core/caps/DbEntryCaps.d.ts +2 -1
  311. package/dist/core/caps/DbEntryCaps.d.ts.map +1 -1
  312. package/dist/core/caps/DbEntryCaps.js +11 -17
  313. package/dist/core/caps/DbEntryCaps.js.map +1 -1
  314. package/dist/core/caps/DbNotifyCaps.d.ts +1 -1
  315. package/dist/core/caps/DbNotifyCaps.d.ts.map +1 -1
  316. package/dist/core/caps/DbNotifyCaps.js +3 -5
  317. package/dist/core/caps/DbNotifyCaps.js.map +1 -1
  318. package/dist/core/caps/DbProjectionCaps.js +1 -1
  319. package/dist/core/caps/DbProjectionCaps.js.map +1 -1
  320. package/dist/core/caps/DbSubscriptionCaps.d.ts +1 -1
  321. package/dist/core/caps/DbSubscriptionCaps.d.ts.map +1 -1
  322. package/dist/core/caps/DbSubscriptionCaps.js +5 -7
  323. package/dist/core/caps/DbSubscriptionCaps.js.map +1 -1
  324. package/dist/core/caps/SchemeCtxImpl.d.ts +0 -2
  325. package/dist/core/caps/SchemeCtxImpl.d.ts.map +1 -1
  326. package/dist/core/caps/SchemeCtxImpl.js +4 -20
  327. package/dist/core/caps/SchemeCtxImpl.js.map +1 -1
  328. package/dist/core/env-catalog.d.ts +28 -0
  329. package/dist/core/env-catalog.d.ts.map +1 -0
  330. package/dist/core/env-catalog.js +99 -0
  331. package/dist/core/env-catalog.js.map +1 -0
  332. package/dist/core/env-defaults.d.ts.map +1 -1
  333. package/dist/core/env-defaults.js +4 -2
  334. package/dist/core/env-defaults.js.map +1 -1
  335. package/dist/core/file-materialization.d.ts +4 -1
  336. package/dist/core/file-materialization.d.ts.map +1 -1
  337. package/dist/core/file-materialization.js +15 -1
  338. package/dist/core/file-materialization.js.map +1 -1
  339. package/dist/core/fork.d.ts +1 -6
  340. package/dist/core/fork.d.ts.map +1 -1
  341. package/dist/core/fork.js +9 -153
  342. package/dist/core/fork.js.map +1 -1
  343. package/dist/core/fork.sql +162 -185
  344. package/dist/core/git-env.d.ts +1 -0
  345. package/dist/core/git-env.d.ts.map +1 -1
  346. package/dist/core/git-env.js +39 -2
  347. package/dist/core/git-env.js.map +1 -1
  348. package/dist/core/git-membership.d.ts.map +1 -1
  349. package/dist/core/git-membership.js +64 -48
  350. package/dist/core/git-membership.js.map +1 -1
  351. package/dist/core/git-state.d.ts.map +1 -1
  352. package/dist/core/git-state.js +26 -20
  353. package/dist/core/git-state.js.map +1 -1
  354. package/dist/core/glob_match.d.ts +4 -0
  355. package/dist/core/glob_match.d.ts.map +1 -0
  356. package/dist/core/glob_match.js +7 -0
  357. package/dist/core/glob_match.js.map +1 -0
  358. package/dist/core/maintenance.sql +6 -0
  359. package/dist/core/mutation-types.d.ts +7 -28
  360. package/dist/core/mutation-types.d.ts.map +1 -1
  361. package/dist/core/operation-target-groups.d.ts.map +1 -1
  362. package/dist/core/operation-target-groups.js +2 -1
  363. package/dist/core/operation-target-groups.js.map +1 -1
  364. package/dist/core/packet-inject.d.ts.map +1 -1
  365. package/dist/core/packet-inject.js +2 -3
  366. package/dist/core/packet-inject.js.map +1 -1
  367. package/dist/core/packet-wire.d.ts +8 -6
  368. package/dist/core/packet-wire.d.ts.map +1 -1
  369. package/dist/core/packet-wire.js +381 -388
  370. package/dist/core/packet-wire.js.map +1 -1
  371. package/dist/core/plurnk-uri.d.ts +1 -1
  372. package/dist/core/plurnk-uri.d.ts.map +1 -1
  373. package/dist/core/plurnk-uri.js +5 -12
  374. package/dist/core/plurnk-uri.js.map +1 -1
  375. package/dist/core/scheme-types.d.ts +3 -3
  376. package/dist/core/scheme-types.d.ts.map +1 -1
  377. package/dist/core/scheme-types.js.map +1 -1
  378. package/dist/core/sha256.d.ts +4 -0
  379. package/dist/core/sha256.d.ts.map +1 -0
  380. package/dist/core/sha256.js +6 -0
  381. package/dist/core/sha256.js.map +1 -0
  382. package/dist/core/teaching.js +1 -1
  383. package/dist/core/teaching.js.map +1 -1
  384. package/dist/core/turn-scheduler.d.ts.map +1 -1
  385. package/dist/core/turn-scheduler.js +5 -18
  386. package/dist/core/turn-scheduler.js.map +1 -1
  387. package/dist/core/turn-signals.d.ts +0 -6
  388. package/dist/core/turn-signals.d.ts.map +1 -1
  389. package/dist/core/turn-signals.js +1 -7
  390. package/dist/core/turn-signals.js.map +1 -1
  391. package/dist/core/worker-ops.sql +15 -22
  392. package/dist/core/workspace-settings.d.ts.map +1 -1
  393. package/dist/core/workspace-settings.js +18 -2
  394. package/dist/core/workspace-settings.js.map +1 -1
  395. package/dist/core/workspace-settings.sql +6 -0
  396. package/dist/digest/Digest.d.ts.map +1 -1
  397. package/dist/digest/Digest.js +30 -91
  398. package/dist/digest/Digest.js.map +1 -1
  399. package/dist/digest/DigestRender.d.ts +1 -0
  400. package/dist/digest/DigestRender.d.ts.map +1 -1
  401. package/dist/digest/DigestRender.js +58 -62
  402. package/dist/digest/DigestRender.js.map +1 -1
  403. package/dist/digest/digest-rows.d.ts +16 -32
  404. package/dist/digest/digest-rows.d.ts.map +1 -1
  405. package/dist/digest/digest.sql +54 -20
  406. package/dist/schemes/Exec.d.ts +6 -12
  407. package/dist/schemes/Exec.d.ts.map +1 -1
  408. package/dist/schemes/Exec.js +318 -215
  409. package/dist/schemes/Exec.js.map +1 -1
  410. package/dist/schemes/ExecOutputScheme.d.ts +8 -6
  411. package/dist/schemes/ExecOutputScheme.d.ts.map +1 -1
  412. package/dist/schemes/ExecOutputScheme.js +33 -61
  413. package/dist/schemes/ExecOutputScheme.js.map +1 -1
  414. package/dist/schemes/ExecScheduler.js +2 -2
  415. package/dist/schemes/ExecScheduler.js.map +1 -1
  416. package/dist/schemes/ExecutionInput.d.ts +12 -0
  417. package/dist/schemes/ExecutionInput.d.ts.map +1 -0
  418. package/dist/schemes/ExecutionInput.js +94 -0
  419. package/dist/schemes/ExecutionInput.js.map +1 -0
  420. package/dist/schemes/File.d.ts +5 -2
  421. package/dist/schemes/File.d.ts.map +1 -1
  422. package/dist/schemes/File.js +62 -91
  423. package/dist/schemes/File.js.map +1 -1
  424. package/dist/schemes/Log.d.ts.map +1 -1
  425. package/dist/schemes/Log.js +84 -79
  426. package/dist/schemes/Log.js.map +1 -1
  427. package/dist/schemes/Log.sql +183 -15
  428. package/dist/schemes/Prompt.d.ts.map +1 -1
  429. package/dist/schemes/Prompt.js +3 -12
  430. package/dist/schemes/Prompt.js.map +1 -1
  431. package/dist/schemes/QuestionTool.d.ts +5 -0
  432. package/dist/schemes/QuestionTool.d.ts.map +1 -1
  433. package/dist/schemes/QuestionTool.js +7 -15
  434. package/dist/schemes/QuestionTool.js.map +1 -1
  435. package/dist/schemes/Skill.d.ts +12 -7
  436. package/dist/schemes/Skill.d.ts.map +1 -1
  437. package/dist/schemes/Skill.js +149 -21
  438. package/dist/schemes/Skill.js.map +1 -1
  439. package/dist/schemes/TurnSource.d.ts +12 -0
  440. package/dist/schemes/TurnSource.d.ts.map +1 -0
  441. package/dist/schemes/TurnSource.js +117 -0
  442. package/dist/schemes/TurnSource.js.map +1 -0
  443. package/dist/schemes/Worker.d.ts +3 -3
  444. package/dist/schemes/Worker.d.ts.map +1 -1
  445. package/dist/schemes/Worker.js +61 -208
  446. package/dist/schemes/Worker.js.map +1 -1
  447. package/dist/schemes/_entry-crud.d.ts +12 -15
  448. package/dist/schemes/_entry-crud.d.ts.map +1 -1
  449. package/dist/schemes/_entry-crud.js +63 -63
  450. package/dist/schemes/_entry-crud.js.map +1 -1
  451. package/dist/schemes/_entry-crud.sql +159 -45
  452. package/dist/schemes/_entry-find.d.ts +1 -3
  453. package/dist/schemes/_entry-find.d.ts.map +1 -1
  454. package/dist/schemes/_entry-find.js +111 -112
  455. package/dist/schemes/_entry-find.js.map +1 -1
  456. package/dist/schemes/_entry-find.sql +22 -14
  457. package/dist/schemes/_entry-fts.d.ts +14 -0
  458. package/dist/schemes/_entry-fts.d.ts.map +1 -0
  459. package/dist/schemes/_entry-fts.js +82 -0
  460. package/dist/schemes/_entry-fts.js.map +1 -0
  461. package/dist/schemes/_entry-fts.sql +31 -0
  462. package/dist/schemes/_entry-graph.d.ts.map +1 -1
  463. package/dist/schemes/_entry-graph.js +6 -14
  464. package/dist/schemes/_entry-graph.js.map +1 -1
  465. package/dist/schemes/_entry-graph.sql +29 -44
  466. package/dist/schemes/_entry-manifest.d.ts +2 -1
  467. package/dist/schemes/_entry-manifest.d.ts.map +1 -1
  468. package/dist/schemes/_entry-manifest.js +20 -26
  469. package/dist/schemes/_entry-manifest.js.map +1 -1
  470. package/dist/schemes/_entry-manifest.sql +26 -0
  471. package/dist/schemes/_entry-ops.d.ts +3 -5
  472. package/dist/schemes/_entry-ops.d.ts.map +1 -1
  473. package/dist/schemes/_entry-ops.js +30 -43
  474. package/dist/schemes/_entry-ops.js.map +1 -1
  475. package/dist/schemes/_entry-ops.sql +5 -6
  476. package/dist/schemes/_entry-readable.d.ts +8 -0
  477. package/dist/schemes/_entry-readable.d.ts.map +1 -0
  478. package/dist/schemes/_entry-readable.js +38 -0
  479. package/dist/schemes/_entry-readable.js.map +1 -0
  480. package/dist/schemes/_entry-send.d.ts +1 -1
  481. package/dist/schemes/_entry-send.d.ts.map +1 -1
  482. package/dist/schemes/_entry-send.js +3 -3
  483. package/dist/schemes/_entry-send.js.map +1 -1
  484. package/dist/schemes/_search-index.d.ts +5 -3
  485. package/dist/schemes/_search-index.d.ts.map +1 -1
  486. package/dist/schemes/_search-index.js +169 -160
  487. package/dist/schemes/_search-index.js.map +1 -1
  488. package/dist/schemes/_search-index.sql +47 -0
  489. package/dist/schemes/exec-abort.js +1 -1
  490. package/dist/schemes/exec-abort.js.map +1 -1
  491. package/dist/schemes/exec-env.d.ts +3 -0
  492. package/dist/schemes/exec-env.d.ts.map +1 -1
  493. package/dist/schemes/exec-env.js +66 -15
  494. package/dist/schemes/exec-env.js.map +1 -1
  495. package/dist/schemes/exec-runtime.d.ts +1 -1
  496. package/dist/schemes/exec-runtime.d.ts.map +1 -1
  497. package/dist/schemes/exec-runtime.js +1 -1
  498. package/dist/schemes/exec-runtime.js.map +1 -1
  499. package/dist/server/ClientReads.d.ts +2 -2
  500. package/dist/server/ClientReads.d.ts.map +1 -1
  501. package/dist/server/ClientReads.js +7 -9
  502. package/dist/server/ClientReads.js.map +1 -1
  503. package/dist/server/Daemon.d.ts +15 -21
  504. package/dist/server/Daemon.d.ts.map +1 -1
  505. package/dist/server/Daemon.js +165 -168
  506. package/dist/server/Daemon.js.map +1 -1
  507. package/dist/server/DaemonModule.d.ts +29 -22
  508. package/dist/server/DaemonModule.d.ts.map +1 -1
  509. package/dist/server/DrainSupervisor.d.ts +8 -21
  510. package/dist/server/DrainSupervisor.d.ts.map +1 -1
  511. package/dist/server/DrainSupervisor.js +278 -306
  512. package/dist/server/DrainSupervisor.js.map +1 -1
  513. package/dist/server/EnvFunctionality.d.ts +43 -0
  514. package/dist/server/EnvFunctionality.d.ts.map +1 -0
  515. package/dist/server/EnvFunctionality.js +194 -0
  516. package/dist/server/EnvFunctionality.js.map +1 -0
  517. package/dist/server/Functionality.d.ts +12 -11
  518. package/dist/server/Functionality.d.ts.map +1 -1
  519. package/dist/server/Functionality.js +279 -142
  520. package/dist/server/Functionality.js.map +1 -1
  521. package/dist/server/FunctionalityManager.d.ts +5 -5
  522. package/dist/server/FunctionalityManager.d.ts.map +1 -1
  523. package/dist/server/FunctionalityManager.js +29 -57
  524. package/dist/server/FunctionalityManager.js.map +1 -1
  525. package/dist/server/MembersFunctionality.d.ts +5 -4
  526. package/dist/server/MembersFunctionality.d.ts.map +1 -1
  527. package/dist/server/MembersFunctionality.js +24 -38
  528. package/dist/server/MembersFunctionality.js.map +1 -1
  529. package/dist/server/PlurnkSkill.d.ts +11 -0
  530. package/dist/server/PlurnkSkill.d.ts.map +1 -0
  531. package/dist/server/PlurnkSkill.js +41 -0
  532. package/dist/server/PlurnkSkill.js.map +1 -0
  533. package/dist/server/Retention.d.ts +25 -0
  534. package/dist/server/Retention.d.ts.map +1 -0
  535. package/dist/server/Retention.js +57 -0
  536. package/dist/server/Retention.js.map +1 -0
  537. package/dist/server/Retention.sql +59 -0
  538. package/dist/server/ServiceModules.d.ts +5 -0
  539. package/dist/server/ServiceModules.d.ts.map +1 -0
  540. package/dist/server/ServiceModules.js +10 -0
  541. package/dist/server/ServiceModules.js.map +1 -0
  542. package/dist/server/SkillsFunctionality.d.ts +14 -19
  543. package/dist/server/SkillsFunctionality.d.ts.map +1 -1
  544. package/dist/server/SkillsFunctionality.js +102 -106
  545. package/dist/server/SkillsFunctionality.js.map +1 -1
  546. package/dist/server/WorkerModelResolver.d.ts +4 -0
  547. package/dist/server/WorkerModelResolver.d.ts.map +1 -1
  548. package/dist/server/WorkerModelResolver.js +72 -39
  549. package/dist/server/WorkerModelResolver.js.map +1 -1
  550. package/dist/server/WorkspaceCapabilities.d.ts +21 -0
  551. package/dist/server/WorkspaceCapabilities.d.ts.map +1 -0
  552. package/dist/server/{WorkerCapabilities.js → WorkspaceCapabilities.js} +40 -40
  553. package/dist/server/WorkspaceCapabilities.js.map +1 -0
  554. package/dist/server/WorkspaceResidency.d.ts +38 -0
  555. package/dist/server/WorkspaceResidency.d.ts.map +1 -0
  556. package/dist/server/WorkspaceResidency.js +226 -0
  557. package/dist/server/WorkspaceResidency.js.map +1 -0
  558. package/dist/server/client-input.d.ts +1 -4
  559. package/dist/server/client-input.d.ts.map +1 -1
  560. package/dist/server/client-input.js +5 -46
  561. package/dist/server/client-input.js.map +1 -1
  562. package/dist/server/dispatch-as-plurnk.d.ts.map +1 -1
  563. package/dist/server/dispatch-as-plurnk.js +4 -22
  564. package/dist/server/dispatch-as-plurnk.js.map +1 -1
  565. package/dist/server/drain.sql +66 -43
  566. package/dist/server/envelope.d.ts +8 -1
  567. package/dist/server/envelope.d.ts.map +1 -1
  568. package/dist/server/envelope.js +9 -19
  569. package/dist/server/envelope.js.map +1 -1
  570. package/dist/server/envelope.sql +49 -13
  571. package/dist/server/lifecycle-recovery.sql +18 -20
  572. package/dist/server/logEntry.d.ts +1 -1
  573. package/dist/server/logEntry.d.ts.map +1 -1
  574. package/dist/server/logEntry.js +4 -1
  575. package/dist/server/logEntry.js.map +1 -1
  576. package/dist/server/logEntry.sql +25 -1
  577. package/dist/server/loopDocs.d.ts +2 -2
  578. package/dist/server/loopDocs.d.ts.map +1 -1
  579. package/dist/server/loopDocs.js +38 -31
  580. package/dist/server/loopDocs.js.map +1 -1
  581. package/dist/server/loopDocs.sql +1 -3
  582. package/dist/server/model-catalog.d.ts.map +1 -1
  583. package/dist/server/model-catalog.js +2 -1
  584. package/dist/server/model-catalog.js.map +1 -1
  585. package/dist/server/model-route.d.ts +1 -1
  586. package/dist/server/model-route.d.ts.map +1 -1
  587. package/dist/server/model-route.js +4 -2
  588. package/dist/server/model-route.js.map +1 -1
  589. package/dist/server/seam-entry-read.sql +3 -4
  590. package/dist/server/seam-loop.sql +2 -9
  591. package/dist/server/workspace-capabilities.sql +64 -0
  592. package/dist/service.d.ts.map +1 -1
  593. package/dist/service.js +21 -18
  594. package/dist/service.js.map +1 -1
  595. package/docs/env.md +55 -0
  596. package/docs/members.md +83 -0
  597. package/docs/skills.md +50 -0
  598. package/migrations/001_workspaces.sql +53 -0
  599. package/migrations/002_workers.sql +198 -0
  600. package/migrations/003_loops.sql +326 -0
  601. package/migrations/004_inference.sql +401 -0
  602. package/migrations/005_entries.sql +215 -0
  603. package/migrations/006_log.sql +581 -0
  604. package/migrations/007_subscriptions.sql +175 -0
  605. package/migrations/008_interactions.sql +29 -0
  606. package/package.json +44 -41
  607. package/digest-sql/channel-dispositions/dispositions.sql +0 -15
  608. package/digest-sql/channel-state/state.sql +0 -6
  609. package/digest-sql/curation/curation.sql +0 -6
  610. package/digest-sql/derivations/derivations.sql +0 -4
  611. package/digest-sql/embeddings/embeddings.sql +0 -4
  612. package/digest-sql/entry-dispositions/dispositions.sql +0 -15
  613. package/digest-sql/entry-state/state.sql +0 -6
  614. package/digest-sql/token-counts/token-counts.sql +0 -2
  615. package/dist/core/EmbeddingCall.d.ts +0 -23
  616. package/dist/core/EmbeddingCall.d.ts.map +0 -1
  617. package/dist/core/EmbeddingCall.js +0 -149
  618. package/dist/core/EmbeddingCall.js.map +0 -1
  619. package/dist/core/OverflowTurn.d.ts +0 -11
  620. package/dist/core/OverflowTurn.d.ts.map +0 -1
  621. package/dist/core/OverflowTurn.js +0 -80
  622. package/dist/core/OverflowTurn.js.map +0 -1
  623. package/dist/core/Owner.d.ts +0 -8
  624. package/dist/core/Owner.d.ts.map +0 -1
  625. package/dist/core/Owner.js +0 -46
  626. package/dist/core/Owner.js.map +0 -1
  627. package/dist/core/SendBroadcastHandler.d.ts.map +0 -1
  628. package/dist/core/SendBroadcastHandler.js +0 -159
  629. package/dist/core/SendBroadcastHandler.js.map +0 -1
  630. package/dist/core/VectorPump.d.ts +0 -28
  631. package/dist/core/VectorPump.d.ts.map +0 -1
  632. package/dist/core/VectorPump.js +0 -130
  633. package/dist/core/VectorPump.js.map +0 -1
  634. package/dist/core/owner.sql +0 -11
  635. package/dist/core/worker-settings.d.ts +0 -10
  636. package/dist/core/worker-settings.d.ts.map +0 -1
  637. package/dist/core/worker-settings.js +0 -53
  638. package/dist/core/worker-settings.js.map +0 -1
  639. package/dist/schemes/_entry-chunk.d.ts +0 -14
  640. package/dist/schemes/_entry-chunk.d.ts.map +0 -1
  641. package/dist/schemes/_entry-chunk.js +0 -165
  642. package/dist/schemes/_entry-chunk.js.map +0 -1
  643. package/dist/schemes/_entry-semantic.d.ts +0 -63
  644. package/dist/schemes/_entry-semantic.d.ts.map +0 -1
  645. package/dist/schemes/_entry-semantic.js +0 -299
  646. package/dist/schemes/_entry-semantic.js.map +0 -1
  647. package/dist/schemes/_entry-semantic.sql +0 -99
  648. package/dist/schemes/cosine.d.ts +0 -4
  649. package/dist/schemes/cosine.d.ts.map +0 -1
  650. package/dist/schemes/cosine.js +0 -9
  651. package/dist/schemes/cosine.js.map +0 -1
  652. package/dist/server/WorkerCapabilities.d.ts +0 -21
  653. package/dist/server/WorkerCapabilities.d.ts.map +0 -1
  654. package/dist/server/WorkerCapabilities.js.map +0 -1
  655. package/dist/server/WorkerResidency.d.ts +0 -40
  656. package/dist/server/WorkerResidency.d.ts.map +0 -1
  657. package/dist/server/WorkerResidency.js +0 -283
  658. package/dist/server/WorkerResidency.js.map +0 -1
  659. package/dist/server/seam-log-read.sql +0 -21
  660. package/dist/server/worker-capabilities.sql +0 -28
  661. package/migrations/001_schema.sql +0 -2207
@@ -11,6 +11,50 @@ export default class WorkerModelResolver {
11
11
  this.#db = db;
12
12
  this.#provider = provider;
13
13
  }
14
+ async persistGenerationPolicy(workerId, policy) {
15
+ const params = { id: workerId, ...policy };
16
+ // {§worker-reasoning-source} — the source is provenance, not generation policy: it takes no
17
+ // part in the mid-loop change check, so the selectable probe sees only the policy columns.
18
+ const { reasoning_source: _source, ...generation } = params;
19
+ if (await this.#db.worker_generation_policy_selectable.get(generation) === undefined) {
20
+ return this.#refuseGenerationChange(workerId, policy);
21
+ }
22
+ const supportedPolicies = await this.supportedPolicies(policy);
23
+ if (await this.#db.worker_generation_policy_update.get(params) === undefined) {
24
+ return this.#refuseGenerationChange(workerId, policy);
25
+ }
26
+ return supportedPolicies;
27
+ }
28
+ async supportedPolicies(policy) {
29
+ let supportedPolicies;
30
+ for (const routeId of [policy.model_route_id, policy.spawn_model_route_id]) {
31
+ if (routeId === null)
32
+ continue;
33
+ const spec = await specForRoute(this.#db, routeId);
34
+ if (spec === null)
35
+ throw new Error(`model route ${routeId} is missing`);
36
+ const provider = await this.providerForPolicy(spec, policy.reasoning_policy ?? undefined);
37
+ supportedPolicies = supportedPolicies === undefined
38
+ ? provider.supportedReasoningPolicies
39
+ : supportedPolicies.filter((candidate) => provider.supportedReasoningPolicies.includes(candidate));
40
+ }
41
+ return supportedPolicies ?? [];
42
+ }
43
+ async #refuseGenerationChange(workerId, requested) {
44
+ const selected = await this.#db.worker_generation_policy_read.get({ id: workerId });
45
+ if (selected === undefined)
46
+ throw new Error(`worker ${workerId}: generation policy row missing`);
47
+ const selectedModel = await specForRoute(this.#db, selected.model_route_id);
48
+ const requestedModel = await specForRoute(this.#db, requested.model_route_id);
49
+ throw daemonFailure("daemon:worker", "worker-loop-active", 409, `Worker ${workerId} has unfinished tasks; its model and reasoning settings cannot change yet.`, {
50
+ workerId,
51
+ ...(selectedModel?.alias === undefined ? {} : { selectedAlias: selectedModel.alias }),
52
+ ...(requestedModel?.alias === undefined ? {} : { requestedAlias: requestedModel.alias }),
53
+ stage: "model-selection",
54
+ recovery: "Conclude or cancel its unfinished tasks before changing these settings.",
55
+ retryable: false,
56
+ });
57
+ }
14
58
  // {§worker-model-selection} — a model worker owns one durable model. An explicit
15
59
  // selector persists onto the worker; an omitted selector resolves the worker's
16
60
  // durable model, seeded once from the daemon default. A deliberately modelless
@@ -20,24 +64,23 @@ export default class WorkerModelResolver {
20
64
  if (worker === undefined)
21
65
  throw new Error(`worker ${workerId}: model route row missing`);
22
66
  if (selector !== undefined) {
23
- const spec = await this.#resolveLoopProvider(selector, worker.reasoning_policy ?? undefined);
67
+ const spec = this.#resolveLoopProvider(selector);
24
68
  if (spec === null)
25
69
  return null;
26
- const reasoningPolicy = worker.reasoning_policy
27
- ?? ProviderInstantiate.configuredReasoningPolicy(spec);
28
- if (worker.spawn_model_route_id !== null) {
29
- const spawnSpec = await specForRoute(this.#db, worker.spawn_model_route_id);
30
- if (spawnSpec === null)
31
- throw new Error(`worker ${workerId}: spawn model route is missing`);
32
- await this.providerForPolicy(spawnSpec, reasoningPolicy);
33
- }
34
- await this.#db.worker_generation_policy_update.run({
35
- id: workerId,
70
+ // {§worker-reasoning-source} — a chosen policy follows the worker across models; a
71
+ // seeded one re-derives from the new alias, so a default never outlives its alias.
72
+ const explicit = worker.reasoning_source === "explicit" && worker.reasoning_policy !== null;
73
+ const reasoningPolicy = explicit
74
+ ? worker.reasoning_policy
75
+ : ProviderInstantiate.configuredReasoningPolicy(spec);
76
+ const reasoningSource = explicit ? "explicit" : "default";
77
+ await this.persistGenerationPolicy(workerId, {
36
78
  model_route_id: await routeForSpec(this.#db, spec),
37
79
  spawn_model_route_id: worker.spawn_model_route_id,
38
- reasoning_policy: reasoningPolicy
80
+ reasoning_policy: reasoningPolicy,
81
+ reasoning_source: reasoningSource
39
82
  });
40
- return { providerSpec: spec, reasoningPolicy };
83
+ return { providerSpec: spec, reasoningPolicy, reasoningSource };
41
84
  }
42
85
  if (worker.model_route_id !== null) {
43
86
  if (worker.reasoning_policy === null) {
@@ -47,27 +90,20 @@ export default class WorkerModelResolver {
47
90
  if (spec === null)
48
91
  throw new Error(`worker ${workerId}: model route is missing`);
49
92
  await this.providerForPolicy(spec, worker.reasoning_policy);
50
- return { providerSpec: spec, reasoningPolicy: worker.reasoning_policy };
93
+ return { providerSpec: spec, reasoningPolicy: worker.reasoning_policy, reasoningSource: worker.reasoning_source };
51
94
  }
52
95
  if (this.#provider === null)
53
96
  return null;
54
97
  const spec = resolveActiveRoute();
55
98
  if (spec !== null) {
56
99
  const reasoningPolicy = ProviderInstantiate.configuredReasoningPolicy(spec);
57
- await this.providerForPolicy(spec, reasoningPolicy);
58
- if (worker.spawn_model_route_id !== null) {
59
- const spawnSpec = await specForRoute(this.#db, worker.spawn_model_route_id);
60
- if (spawnSpec === null)
61
- throw new Error(`worker ${workerId}: spawn model route is missing`);
62
- await this.providerForPolicy(spawnSpec, reasoningPolicy);
63
- }
64
- await this.#db.worker_generation_policy_update.run({
65
- id: workerId,
100
+ await this.persistGenerationPolicy(workerId, {
66
101
  model_route_id: await routeForSpec(this.#db, spec),
67
102
  spawn_model_route_id: worker.spawn_model_route_id,
68
- reasoning_policy: reasoningPolicy
103
+ reasoning_policy: reasoningPolicy,
104
+ reasoning_source: "default"
69
105
  });
70
- return { providerSpec: spec, reasoningPolicy };
106
+ return { providerSpec: spec, reasoningPolicy, reasoningSource: "default" };
71
107
  }
72
108
  return null;
73
109
  }
@@ -82,12 +118,12 @@ export default class WorkerModelResolver {
82
118
  if (childSelector !== undefined) {
83
119
  const spec = childSelector === null
84
120
  ? null
85
- : await this.#resolveLoopProvider(childSelector, worker.reasoning_policy ?? undefined);
86
- await this.#db.worker_generation_policy_update.run({
87
- id: workerId,
121
+ : this.#resolveLoopProvider(childSelector);
122
+ await this.persistGenerationPolicy(workerId, {
88
123
  model_route_id: worker.model_route_id,
89
124
  spawn_model_route_id: spec === null ? null : await routeForSpec(this.#db, spec),
90
- reasoning_policy: worker.reasoning_policy
125
+ reasoning_policy: worker.reasoning_policy,
126
+ reasoning_source: worker.reasoning_source
91
127
  });
92
128
  return spec;
93
129
  }
@@ -103,13 +139,13 @@ export default class WorkerModelResolver {
103
139
  const configured = process.env.PLURNK_MODEL_CHILD;
104
140
  if (configured === undefined || configured.length === 0)
105
141
  return null;
106
- const spec = await this.#resolveLoopProvider(configured, worker.reasoning_policy ?? undefined);
142
+ const spec = this.#resolveLoopProvider(configured);
107
143
  if (spec !== null) {
108
- await this.#db.worker_generation_policy_update.run({
109
- id: workerId,
144
+ await this.persistGenerationPolicy(workerId, {
110
145
  model_route_id: worker.model_route_id,
111
146
  spawn_model_route_id: await routeForSpec(this.#db, spec),
112
- reasoning_policy: worker.reasoning_policy
147
+ reasoning_policy: worker.reasoning_policy,
148
+ reasoning_source: worker.reasoning_source
113
149
  });
114
150
  }
115
151
  return spec;
@@ -120,7 +156,7 @@ export default class WorkerModelResolver {
120
156
  async providerForPolicy(spec, reasoningPolicy) {
121
157
  try {
122
158
  const provider = await ProviderInstantiate.instantiateProvider(spec, process.env, reasoningPolicy);
123
- ProviderInstantiate.validateGrammarConfiguration(provider, process.env, reasoningPolicy);
159
+ ProviderInstantiate.validateGrammarConfiguration(provider, process.env);
124
160
  return provider;
125
161
  }
126
162
  catch (cause) {
@@ -148,10 +184,8 @@ export default class WorkerModelResolver {
148
184
  });
149
185
  }
150
186
  }
151
- // {§methods-loop-run-model} — resolve one alias-or-route selector to a cached
152
- // Provider; absent uses the boot default. An unknown alias or malformed exact
153
- // route throws legibly rather than silently running the wrong model.
154
- async #resolveLoopProvider(selector, reasoningPolicy) {
187
+ // {§methods-loop-run-model}: resolve identity without provider setup.
188
+ #resolveLoopProvider(selector) {
155
189
  const requested = resolveLoopRoute(selector, parseAliasesFromEnv());
156
190
  if (requested === null && this.#provider === null)
157
191
  return null;
@@ -159,7 +193,6 @@ export default class WorkerModelResolver {
159
193
  if (spec === null) {
160
194
  throw daemonFailure("daemon:provider", "active-model-unresolved", 500, "The active provider has no resolvable model route.", { stage: "provider-selection", retryable: false });
161
195
  }
162
- await this.providerForPolicy(spec, reasoningPolicy);
163
196
  return spec;
164
197
  }
165
198
  }
@@ -1 +1 @@
1
- {"version":3,"file":"WorkerModelResolver.js","sourceRoot":"","sources":["../../src/server/WorkerModelResolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WorkerModelResolver.js","sourceRoot":"","sources":["../../src/server/WorkerModelResolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ export type WorkspaceCapabilityRelease = () => void;
2
+ export interface WorkspaceCapabilityPolicy {
3
+ readonly warmMs: number;
4
+ readonly warmMax: number;
5
+ }
6
+ export interface WorkspaceCapabilityCallbacks {
7
+ readonly activate: (workspaceId: number) => Promise<void>;
8
+ readonly deactivate: (workspaceId: number) => Promise<boolean>;
9
+ readonly report: (workspaceId: number, error: unknown) => void;
10
+ }
11
+ export declare const workspaceCapabilityPolicy: (env?: NodeJS.ProcessEnv) => WorkspaceCapabilityPolicy;
12
+ export default class WorkspaceCapabilities {
13
+ #private;
14
+ constructor(policy: WorkspaceCapabilityPolicy, callbacks: WorkspaceCapabilityCallbacks);
15
+ acquire(workspaceId: number): Promise<WorkspaceCapabilityRelease>;
16
+ retain(workspaceId: number): WorkspaceCapabilityRelease;
17
+ activeWorkspaceIds(): number[];
18
+ isActive(workspaceId: number): boolean;
19
+ beginStop(): void;
20
+ }
21
+ //# sourceMappingURL=WorkspaceCapabilities.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkspaceCapabilities.d.ts","sourceRoot":"","sources":["../../src/server/WorkspaceCapabilities.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,0BAA0B,GAAG,MAAM,IAAI,CAAC;AAEpD,MAAM,WAAW,yBAAyB;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,4BAA4B;IACzC,QAAQ,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,QAAQ,CAAC,UAAU,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/D,QAAQ,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CAClE;AAwBD,eAAO,MAAM,yBAAyB,SAC7B,MAAM,CAAC,UAAU,KACvB,yBAGD,CAAC;AAKH,MAAM,CAAC,OAAO,OAAO,qBAAqB;;IAStC,YACI,MAAM,EAAE,yBAAyB,EACjC,SAAS,EAAE,4BAA4B,EAM1C;IAEK,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,0BAA0B,CAAC,CA2BtE;IAED,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,0BAA0B,CAUtD;IAED,kBAAkB,IAAI,MAAM,EAAE,CAK7B;IAED,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAErC;IAED,SAAS,IAAI,IAAI,CAIhB;CAgIJ"}
@@ -7,14 +7,14 @@ const readBound = (env, name) => {
7
7
  }
8
8
  return value;
9
9
  };
10
- export const workerCapabilityPolicy = (env = process.env) => ({
11
- warmMs: readBound(env, "PLURNK_SERVICE_WORKER_WARM_MS"),
12
- warmMax: readBound(env, "PLURNK_SERVICE_WORKER_WARM_MAX"),
10
+ export const workspaceCapabilityPolicy = (env = process.env) => ({
11
+ warmMs: readBound(env, "PLURNK_SERVICE_WORKSPACE_WARM_MS"),
12
+ warmMax: readBound(env, "PLURNK_SERVICE_WORKSPACE_WARM_MAX"),
13
13
  });
14
- // {§module-worker-residency} — one process-local owner separates durable
15
- // worker identity from optional Functionality residency. Leases represent
14
+ // {§module-workspace-residency} — one process-local owner separates durable
15
+ // workspace identity from optional Functionality residency. Leases represent
16
16
  // actual work; timers and the idle LRU are availability policy, not identity.
17
- export default class WorkerCapabilities {
17
+ export default class WorkspaceCapabilities {
18
18
  #policy;
19
19
  #activate;
20
20
  #deactivate;
@@ -28,19 +28,19 @@ export default class WorkerCapabilities {
28
28
  this.#deactivate = callbacks.deactivate;
29
29
  this.#report = callbacks.report;
30
30
  }
31
- async acquire(workerId) {
32
- WorkerCapabilities.#assertWorkerId(workerId);
31
+ async acquire(workspaceId) {
32
+ WorkspaceCapabilities.#assertWorkspaceId(workspaceId);
33
33
  if (this.#stopping)
34
- throw new Error("Worker Functionality is stopping.");
34
+ throw new Error("Workspace Functionality is stopping.");
35
35
  for (;;) {
36
- const current = this.#states.get(workerId);
36
+ const current = this.#states.get(workspaceId);
37
37
  if (current?.phase === "cooling") {
38
38
  await current.transition;
39
39
  if (this.#stopping)
40
- throw new Error("Worker Functionality is stopping.");
40
+ throw new Error("Workspace Functionality is stopping.");
41
41
  continue;
42
42
  }
43
- const state = current ?? this.#beginActivation(workerId);
43
+ const state = current ?? this.#beginActivation(workspaceId);
44
44
  this.#cancelIdle(state);
45
45
  state.leases++;
46
46
  try {
@@ -52,31 +52,31 @@ export default class WorkerCapabilities {
52
52
  }
53
53
  if (this.#stopping) {
54
54
  this.#release(state);
55
- throw new Error("Worker Functionality is stopping.");
55
+ throw new Error("Workspace Functionality is stopping.");
56
56
  }
57
57
  return this.#releaseOnce(state);
58
58
  }
59
59
  }
60
- retain(workerId) {
61
- WorkerCapabilities.#assertWorkerId(workerId);
60
+ retain(workspaceId) {
61
+ WorkspaceCapabilities.#assertWorkspaceId(workspaceId);
62
62
  if (this.#stopping)
63
- throw new Error("Worker Functionality is stopping.");
64
- const state = this.#states.get(workerId);
63
+ throw new Error("Workspace Functionality is stopping.");
64
+ const state = this.#states.get(workspaceId);
65
65
  if (state === undefined || state.phase === "cooling") {
66
- throw new Error(`Worker ${workerId} Functionality is not resident.`);
66
+ throw new Error(`Workspace ${workspaceId} Functionality is not resident.`);
67
67
  }
68
68
  this.#cancelIdle(state);
69
69
  state.leases++;
70
70
  return this.#releaseOnce(state);
71
71
  }
72
- activeWorkerIds() {
72
+ activeWorkspaceIds() {
73
73
  return [...this.#states.values()]
74
74
  .filter(({ phase }) => phase === "active")
75
- .map(({ workerId }) => workerId)
75
+ .map(({ workspaceId }) => workspaceId)
76
76
  .toSorted((left, right) => left - right);
77
77
  }
78
- isActive(workerId) {
79
- return this.#states.get(workerId)?.phase === "active";
78
+ isActive(workspaceId) {
79
+ return this.#states.get(workspaceId)?.phase === "active";
80
80
  }
81
81
  beginStop() {
82
82
  if (this.#stopping)
@@ -85,25 +85,25 @@ export default class WorkerCapabilities {
85
85
  for (const state of this.#states.values())
86
86
  this.#cancelIdle(state);
87
87
  }
88
- static #assertWorkerId(workerId) {
89
- if (!Number.isSafeInteger(workerId) || workerId < 1) {
90
- throw new Error("Worker Functionality residency requires a positive worker id.");
88
+ static #assertWorkspaceId(workspaceId) {
89
+ if (!Number.isSafeInteger(workspaceId) || workspaceId < 1) {
90
+ throw new Error("Workspace Functionality residency requires a positive workspace id.");
91
91
  }
92
92
  }
93
- #beginActivation(workerId) {
93
+ #beginActivation(workspaceId) {
94
94
  const state = {
95
- workerId,
95
+ workspaceId,
96
96
  phase: "activating",
97
97
  leases: 0,
98
98
  transition: null,
99
99
  idleOrder: null,
100
100
  timer: null,
101
101
  };
102
- this.#states.set(workerId, state);
102
+ this.#states.set(workspaceId, state);
103
103
  state.transition = Promise.resolve()
104
- .then(() => this.#activate(workerId))
104
+ .then(() => this.#activate(workspaceId))
105
105
  .then(() => {
106
- if (this.#states.get(workerId) !== state)
106
+ if (this.#states.get(workspaceId) !== state)
107
107
  return;
108
108
  state.phase = "active";
109
109
  state.transition = null;
@@ -111,9 +111,9 @@ export default class WorkerCapabilities {
111
111
  this.#markIdle(state);
112
112
  })
113
113
  .catch((cause) => {
114
- if (this.#states.get(workerId) === state) {
114
+ if (this.#states.get(workspaceId) === state) {
115
115
  this.#cancelIdle(state);
116
- this.#states.delete(workerId);
116
+ this.#states.delete(workspaceId);
117
117
  }
118
118
  throw cause;
119
119
  });
@@ -134,7 +134,7 @@ export default class WorkerCapabilities {
134
134
  state.leases--;
135
135
  if (state.leases === 0
136
136
  && state.phase === "active"
137
- && this.#states.get(state.workerId) === state
137
+ && this.#states.get(state.workspaceId) === state
138
138
  && !this.#stopping) {
139
139
  this.#markIdle(state);
140
140
  }
@@ -174,17 +174,17 @@ export default class WorkerCapabilities {
174
174
  if (this.#stopping
175
175
  || state.phase !== "active"
176
176
  || state.leases !== 0
177
- || this.#states.get(state.workerId) !== state)
177
+ || this.#states.get(state.workspaceId) !== state)
178
178
  return;
179
179
  this.#cancelIdle(state);
180
180
  state.phase = "cooling";
181
181
  const transition = Promise.resolve()
182
- .then(() => this.#deactivate(state.workerId))
182
+ .then(() => this.#deactivate(state.workspaceId))
183
183
  .then((cooled) => {
184
- if (this.#states.get(state.workerId) !== state)
184
+ if (this.#states.get(state.workspaceId) !== state)
185
185
  return;
186
186
  if (cooled) {
187
- this.#states.delete(state.workerId);
187
+ this.#states.delete(state.workspaceId);
188
188
  return;
189
189
  }
190
190
  state.phase = "active";
@@ -193,12 +193,12 @@ export default class WorkerCapabilities {
193
193
  this.#scheduleCooling(state, COOLING_RETRY_MS);
194
194
  })
195
195
  .catch((cause) => {
196
- if (this.#states.get(state.workerId) !== state)
196
+ if (this.#states.get(state.workspaceId) !== state)
197
197
  return;
198
198
  state.phase = "active";
199
199
  state.transition = null;
200
200
  state.idleOrder = ++this.#idleSequence;
201
- this.#report(state.workerId, cause);
201
+ this.#report(state.workspaceId, cause);
202
202
  this.#scheduleCooling(state, COOLING_RETRY_MS);
203
203
  });
204
204
  state.transition = transition;
@@ -211,4 +211,4 @@ export default class WorkerCapabilities {
211
211
  state.idleOrder = null;
212
212
  }
213
213
  }
214
- //# sourceMappingURL=WorkerCapabilities.js.map
214
+ //# sourceMappingURL=WorkspaceCapabilities.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkspaceCapabilities.js","sourceRoot":"","sources":["../../src/server/WorkspaceCapabilities.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import type Engine from "../core/Engine.ts";
2
+ import type WorkspaceGate from "../core/WorkspaceGate.ts";
3
+ import type { Db } from "../core/Db.ts";
4
+ import type { RegistryEntry } from "../core/ExecutorRegistry.ts";
5
+ import { type WorkspaceCapabilityRelease } from "./WorkspaceCapabilities.ts";
6
+ import type { RuntimeRegistration, WorkspaceCapabilityPublication, WorkspaceCapabilityIdentity, WorkspaceCapabilityGate, WorkspaceCapabilityProvider, WorkspaceCapabilityReplacement } from "./DaemonModule.ts";
7
+ type NormalizedRuntime = {
8
+ tag: string;
9
+ entry: RegistryEntry;
10
+ scheme: RuntimeRegistration["scheme"];
11
+ };
12
+ export default class WorkspaceResidency {
13
+ #private;
14
+ constructor({ db, engine, workspaceGate, normalizeRuntime }: {
15
+ db: Db;
16
+ engine: () => Engine;
17
+ workspaceGate: WorkspaceGate;
18
+ normalizeRuntime: (registration: RuntimeRegistration) => NormalizedRuntime;
19
+ });
20
+ get published(): boolean;
21
+ publish(): void;
22
+ beginStop(): void;
23
+ activeWorkspaceIds(): number[];
24
+ isActive(workspaceId: number): boolean;
25
+ retain(workspaceId: number): WorkspaceCapabilityRelease;
26
+ registerProvider(namespaceOwner: string, provider: WorkspaceCapabilityProvider): void;
27
+ identity(workspaceId: number): Promise<WorkspaceCapabilityIdentity>;
28
+ acquire(workspaceId: number): Promise<WorkspaceCapabilityRelease>;
29
+ readModuleState(workspaceId: number, namespaceOwner: string): Promise<unknown | null>;
30
+ readWorkerModuleState(workerId: number, namespaceOwner: string): Promise<unknown | null>;
31
+ replaceWorkerModuleState(workerId: number, namespaceOwner: string, state: unknown | null): Promise<void>;
32
+ reconcile(workspaceId: number): Promise<void>;
33
+ rematerializeActive(): Promise<void>;
34
+ replace({ workspaceId, namespaceOwner, state, runtimes, }: WorkspaceCapabilityReplacement, options?: WorkspaceCapabilityPublication): Promise<void>;
35
+ exclusively<T>(workspaceId: number, namespaceOwner: string, mode: WorkspaceCapabilityGate, run: () => Promise<T>): Promise<T>;
36
+ }
37
+ export {};
38
+ //# sourceMappingURL=WorkspaceResidency.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkspaceResidency.d.ts","sourceRoot":"","sources":["../../src/server/WorkspaceResidency.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,aAAa,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAGjE,OAA8B,EAE1B,KAAK,0BAA0B,EAClC,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EACR,mBAAmB,EACnB,8BAA8B,EAC9B,2BAA2B,EAC3B,uBAAuB,EACvB,2BAA2B,EAC3B,8BAA8B,EACjC,MAAM,mBAAmB,CAAC;AAS3B,KAAK,iBAAiB,GAAG;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;CACzC,CAAC;AAGF,MAAM,CAAC,OAAO,OAAO,kBAAkB;;IASnC,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,gBAAgB,EAAE,EAAE;QACzD,EAAE,EAAE,EAAE,CAAC;QACP,MAAM,EAAE,MAAM,MAAM,CAAC;QACrB,aAAa,EAAE,aAAa,CAAC;QAC7B,gBAAgB,EAAE,CAAC,YAAY,EAAE,mBAAmB,KAAK,iBAAiB,CAAC;KAC9E,EAYA;IAED,IAAI,SAAS,IAAI,OAAO,CAA4B;IACpD,OAAO,IAAI,IAAI,CAA4B;IAC3C,SAAS,IAAI,IAAI,CAAoC;IACrD,kBAAkB,IAAI,MAAM,EAAE,CAAoD;IAClF,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAqD;IAC3F,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,0BAA0B,CAAmD;IAE1G,gBAAgB,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,2BAA2B,GAAG,IAAI,CAOpF;IAEK,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAQxE;IAEK,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAGtE;IA8CK,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAO1F;IAKK,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAM7F;IAKK,wBAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAa7G;IAEK,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAElD;IAOK,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAEzC;IAEK,OAAO,CAAC,EACV,WAAW,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ,GAC/C,EAAE,8BAA8B,EAAE,OAAO,GAAE,8BAAmC,GAAG,OAAO,CAAC,IAAI,CAAC,CAgD9F;IAEK,WAAW,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,uBAAuB,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAgBlI;CACJ"}