@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
@@ -0,0 +1,226 @@
1
+ import Results, { OperationFailureError } from "../core/results.js";
2
+ import ClientInput from "./client-input.js";
3
+ import LoopDocs from "./loopDocs.js";
4
+ import WorkspaceCapabilities, { workspaceCapabilityPolicy, } from "./WorkspaceCapabilities.js";
5
+ const residencyFailure = (code, status, detail, extensions = {}) => new OperationFailureError(Results.failure("daemon:workspace-functionality", code, status, detail, {}, extensions));
6
+ // {§module-workspace-residency} {§module-workspace-quiescence}
7
+ export default class WorkspaceResidency {
8
+ #db;
9
+ #engine;
10
+ #workspaceGate;
11
+ #normalizeRuntime;
12
+ #providers = new Map();
13
+ #capabilities;
14
+ #published = false;
15
+ constructor({ db, engine, workspaceGate, normalizeRuntime }) {
16
+ this.#db = db;
17
+ this.#engine = engine;
18
+ this.#workspaceGate = workspaceGate;
19
+ this.#normalizeRuntime = normalizeRuntime;
20
+ this.#capabilities = new WorkspaceCapabilities(workspaceCapabilityPolicy(), {
21
+ activate: (workspaceId) => this.#activate(workspaceId),
22
+ deactivate: (workspaceId) => this.#deactivate(workspaceId),
23
+ report: (workspaceId, error) => {
24
+ console.error(`Workspace ${workspaceId} Functionality cooling failed:`, error);
25
+ },
26
+ });
27
+ }
28
+ get published() { return this.#published; }
29
+ publish() { this.#published = true; }
30
+ beginStop() { this.#capabilities.beginStop(); }
31
+ activeWorkspaceIds() { return this.#capabilities.activeWorkspaceIds(); }
32
+ isActive(workspaceId) { return this.#capabilities.isActive(workspaceId); }
33
+ retain(workspaceId) { return this.#capabilities.retain(workspaceId); }
34
+ registerProvider(namespaceOwner, provider) {
35
+ if (namespaceOwner.trim().length === 0)
36
+ throw new Error("workspace Functionality provider requires a non-empty namespace owner");
37
+ if (typeof provider?.activate !== "function" || typeof provider?.deactivate !== "function") {
38
+ throw new Error("workspace Functionality provider requires activate and deactivate functions");
39
+ }
40
+ if (this.#providers.has(namespaceOwner))
41
+ throw new Error(`workspace Functionality provider '${namespaceOwner}' is already registered`);
42
+ this.#providers.set(namespaceOwner, provider);
43
+ }
44
+ async identity(workspaceId) {
45
+ const id = ClientInput.assertId("workspace Functionality", "workspaceId", workspaceId);
46
+ const workspace = await this.#db.envelope_get_workspace.get({ id });
47
+ if (workspace === undefined)
48
+ throw residencyFailure("workspace-not-found", 404, `Workspace ${id} does not exist.`, { workspaceId: id, retryable: false });
49
+ return { workspaceId: id };
50
+ }
51
+ async acquire(workspaceId) {
52
+ const identity = await this.identity(workspaceId);
53
+ return this.#capabilities.acquire(identity.workspaceId);
54
+ }
55
+ async #activate(workspaceId) {
56
+ const identity = await this.identity(workspaceId);
57
+ try {
58
+ const context = { ...identity, retain: () => this.#capabilities.retain(workspaceId) };
59
+ for (const provider of this.#providers.values())
60
+ await provider.activate(context);
61
+ await this.#rematerialize(workspaceId);
62
+ }
63
+ catch (cause) {
64
+ try {
65
+ // Activation is not yet observable, and its demand may already hold the turn gate.
66
+ await this.#dispose(identity);
67
+ }
68
+ catch (cleanupCause) {
69
+ throw new AggregateError([cause, cleanupCause], `Workspace ${workspaceId} Functionality activation and cleanup failed`);
70
+ }
71
+ throw cause;
72
+ }
73
+ }
74
+ async #deactivate(workspaceId) {
75
+ const gate = this.#workspaceGate.tryExclusive(workspaceId);
76
+ if (gate === null)
77
+ return false;
78
+ try {
79
+ await gate.acquired;
80
+ await this.#dispose({ workspaceId });
81
+ return true;
82
+ }
83
+ finally {
84
+ gate.release();
85
+ }
86
+ }
87
+ async #dispose(identity) {
88
+ const prepared = [];
89
+ for (const namespaceOwner of this.#providers.keys()) {
90
+ prepared.push(await this.#engine().prepareWorkspaceRuntimes(identity.workspaceId, namespaceOwner, []));
91
+ }
92
+ const deactivations = await Promise.allSettled([...this.#providers.values()].toReversed()
93
+ .map((provider) => Promise.resolve().then(() => provider.deactivate(identity))));
94
+ const errors = deactivations.flatMap((result) => result.status === "rejected" ? [result.reason] : []);
95
+ if (errors.length > 0)
96
+ throw new AggregateError(errors, `Workspace ${identity.workspaceId} Functionality provider deactivation failed`);
97
+ for (const commit of prepared)
98
+ commit();
99
+ LoopDocs.evict(this.#db, identity.workspaceId);
100
+ }
101
+ async readModuleState(workspaceId, namespaceOwner) {
102
+ const identity = await this.identity(workspaceId);
103
+ if (namespaceOwner.trim().length === 0)
104
+ throw new Error("workspace module state requires a non-empty namespace owner");
105
+ const row = await this.#db.workspace_module_state_get.get({
106
+ workspace_id: identity.workspaceId, namespace_owner: namespaceOwner,
107
+ });
108
+ return row === undefined ? null : JSON.parse(row.state);
109
+ }
110
+ // {§module-workspace-state} — the same snapshot, owned by a worker. A family declares the
111
+ // scope its definitions belong to; the coordinator keys state by it, so origin, enabledness
112
+ // and the service-baseline rules remain one implementation rather than one per family.
113
+ async readWorkerModuleState(workerId, namespaceOwner) {
114
+ if (namespaceOwner.trim().length === 0)
115
+ throw new Error("worker module state requires a non-empty namespace owner");
116
+ const row = await this.#db.worker_module_state_get.get({
117
+ worker_id: workerId, namespace_owner: namespaceOwner,
118
+ });
119
+ return row === undefined ? null : JSON.parse(row.state);
120
+ }
121
+ // The worker-scoped counterpart of `replace`: state alone, no runtimes, no workspace exclusivity.
122
+ // A Worker's context changes nothing resident; the next spawn reads it ({§functionality-scope}).
123
+ // The real foreign key refuses a Worker that does not exist.
124
+ async replaceWorkerModuleState(workerId, namespaceOwner, state) {
125
+ if (namespaceOwner.trim().length === 0)
126
+ throw new Error("worker module state requires a non-empty namespace owner");
127
+ const key = { worker_id: workerId, namespace_owner: namespaceOwner };
128
+ if (state === null) {
129
+ await this.#db.worker_module_state_delete.run(key);
130
+ return;
131
+ }
132
+ const encoded = JSON.stringify(state);
133
+ if (encoded === undefined)
134
+ throw residencyFailure("state-not-json", 400, "Worker module state is not JSON-serializable.", { namespaceOwner, retryable: false });
135
+ await this.#db.worker_module_state_put.run({ ...key, state: encoded });
136
+ }
137
+ async reconcile(workspaceId) {
138
+ await LoopDocs.materialize(this.#engine(), this.#db, workspaceId);
139
+ }
140
+ async #rematerialize(workspaceId) {
141
+ if (!this.#published)
142
+ return;
143
+ await LoopDocs.materialize(this.#engine(), this.#db, workspaceId);
144
+ }
145
+ async rematerializeActive() {
146
+ for (const workspaceId of this.#capabilities.activeWorkspaceIds())
147
+ await this.#rematerialize(workspaceId);
148
+ }
149
+ async replace({ workspaceId, namespaceOwner, state, runtimes, }, options = {}) {
150
+ await this.identity(workspaceId);
151
+ if (namespaceOwner.trim().length === 0)
152
+ throw new Error("workspace Functionality replacement requires a non-empty namespace owner");
153
+ const encoded = state === null ? null : JSON.stringify(state);
154
+ if (encoded === undefined)
155
+ throw residencyFailure("state-not-json", 400, "Workspace module state is not JSON-serializable.", { namespaceOwner, retryable: false });
156
+ if (encoded !== null)
157
+ JSON.parse(encoded);
158
+ const normalized = runtimes.map((registration) => {
159
+ if (registration.namespaceOwner !== namespaceOwner) {
160
+ throw new Error(`workspace runtime owner '${registration.namespaceOwner}' does not match '${namespaceOwner}'`);
161
+ }
162
+ return this.#normalizeRuntime(registration);
163
+ });
164
+ await this.exclusively(workspaceId, namespaceOwner, options.gate ?? "try", async () => {
165
+ let rollbackRuntimes;
166
+ let rollbackPublication;
167
+ let stateChanged = false;
168
+ const key = { workspace_id: workspaceId, namespace_owner: namespaceOwner };
169
+ let prior;
170
+ try {
171
+ prior = await this.#db.workspace_module_state_get.get(key);
172
+ const commitRuntimes = await this.#engine().prepareWorkspaceRuntimes(workspaceId, namespaceOwner, normalized);
173
+ if (encoded === null)
174
+ await this.#db.workspace_module_state_delete.run(key);
175
+ else
176
+ await this.#db.workspace_module_state_put.run({ ...key, state: encoded });
177
+ stateChanged = true;
178
+ rollbackRuntimes = commitRuntimes();
179
+ rollbackPublication = options.publish?.();
180
+ await this.#rematerialize(workspaceId);
181
+ }
182
+ catch (cause) {
183
+ rollbackPublication?.();
184
+ rollbackRuntimes?.();
185
+ const rollbackErrors = [];
186
+ if (stateChanged) {
187
+ try {
188
+ if (prior === undefined)
189
+ await this.#db.workspace_module_state_delete.run(key);
190
+ else
191
+ await this.#db.workspace_module_state_put.run({ ...key, state: prior.state });
192
+ }
193
+ catch (rollbackCause) {
194
+ rollbackErrors.push(rollbackCause);
195
+ }
196
+ try {
197
+ await this.#rematerialize(workspaceId);
198
+ }
199
+ catch (rollbackCause) {
200
+ rollbackErrors.push(rollbackCause);
201
+ }
202
+ }
203
+ if (rollbackErrors.length > 0) {
204
+ throw new AggregateError([cause, ...rollbackErrors], "Workspace Functionality replacement and rollback failed");
205
+ }
206
+ throw cause;
207
+ }
208
+ });
209
+ }
210
+ async exclusively(workspaceId, namespaceOwner, mode, run) {
211
+ await this.identity(workspaceId);
212
+ const gate = mode === "none" ? undefined : mode === "wait"
213
+ ? this.#workspaceGate.requestExclusive(workspaceId)
214
+ : this.#workspaceGate.tryExclusive(workspaceId);
215
+ if (gate === null)
216
+ throw residencyFailure("workspace-busy", 409, `Workspace ${workspaceId} is running an operation or another capability change.`, { workspaceId, namespaceOwner, recovery: "Settle the current operation and retry the capability change.", retryable: true });
217
+ try {
218
+ await gate?.acquired;
219
+ return await run();
220
+ }
221
+ finally {
222
+ gate?.release();
223
+ }
224
+ }
225
+ }
226
+ //# sourceMappingURL=WorkspaceResidency.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkspaceResidency.js","sourceRoot":"","sources":["../../src/server/WorkspaceResidency.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { ProposalResolution } from "../core/ProposalLifecycle.ts";
2
- import { type CapabilityPolicy, type LoopPolicy, type ClientInteractionResolution } from "@plurnk/plurnk-contracts";
2
+ import { type LoopPolicy, type ClientInteractionResolution } from "@plurnk/plurnk-contracts";
3
3
  export default class ClientInput {
4
4
  #private;
5
5
  static assertProjectRoot(context: string, projectRoot: unknown): string | null;
@@ -20,8 +20,5 @@ export default class ClientInput {
20
20
  static assertClientInteractionResolution(context: string, resolution: unknown): ClientInteractionResolution;
21
21
  static normalizeLoopPolicy(context: string, policy: unknown): LoopPolicy;
22
22
  static parseSettings(raw: unknown): string;
23
- static normalizeWorkerSettings(raw: unknown): {
24
- capabilities?: CapabilityPolicy;
25
- };
26
23
  }
27
24
  //# sourceMappingURL=client-input.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client-input.d.ts","sourceRoot":"","sources":["../../src/server/client-input.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,OAAO,EAGH,KAAK,gBAAgB,EACrB,KAAK,UAAU,EACf,KAAK,2BAA2B,EACnC,MAAM,0BAA0B,CAAC;AAGlC,MAAM,CAAC,OAAO,OAAO,WAAW;;IAwB5B,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAoB7E;IAED,MAAM,CAAC,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAW5F;IAED,MAAM,CAAC,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAsBlG;IAED,MAAM,CAAC,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,eAAe,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAYtH;IAED,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,eAAe,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAYlG;IAED,MAAM,CAAC,2BAA2B,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAG7F;IAED,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAGzE;IAED,MAAM,CAAC,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAWlF;IAED,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAUtE;IAED,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,MAAM,CAU5D;IAED,MAAM,CAAC,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAWhF;IAED,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAe5E;IAED,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,MAAM,EAAE,GAAG,SAAS,CAqBhF;IAED,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAWtE;IAED,MAAM,CAAC,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,kBAAkB,CA0DxF;IAED,MAAM,CAAC,iCAAiC,CACpC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,OAAO,GACpB,2BAA2B,CAgB7B;IAED,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,UAAU,CAoCvE;IAKD,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CA4IzC;IAKD,MAAM,CAAC,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG;QAAE,YAAY,CAAC,EAAE,gBAAgB,CAAA;KAAE,CAqDhF;CACJ"}
1
+ {"version":3,"file":"client-input.d.ts","sourceRoot":"","sources":["../../src/server/client-input.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,OAAO,EAIH,KAAK,UAAU,EACf,KAAK,2BAA2B,EACnC,MAAM,0BAA0B,CAAC;AAGlC,MAAM,CAAC,OAAO,OAAO,WAAW;;IAwB5B,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAoB7E;IAED,MAAM,CAAC,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAW5F;IAED,MAAM,CAAC,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAsBlG;IAED,MAAM,CAAC,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,eAAe,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAYtH;IAED,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,eAAe,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAYlG;IAED,MAAM,CAAC,2BAA2B,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAG7F;IAED,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAGzE;IAED,MAAM,CAAC,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAWlF;IAED,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAUtE;IAED,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,MAAM,CAU5D;IAED,MAAM,CAAC,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAWhF;IAED,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAe5E;IAED,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,MAAM,EAAE,GAAG,SAAS,CAqBhF;IAED,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAWtE;IAED,MAAM,CAAC,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,kBAAkB,CA0DxF;IAED,MAAM,CAAC,iCAAiC,CACpC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,OAAO,GACpB,2BAA2B,CAgB7B;IAED,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,UAAU,CAmCvE;IAKD,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CA4IzC;CAEJ"}
@@ -47,7 +47,7 @@ export default class ClientInput {
47
47
  catch (error) {
48
48
  if (!(error instanceof WorkerNameError))
49
49
  throw error;
50
- throw new OperationFailureError(Results.failure("daemon:worker", error.code, error.rejection === "reserved" ? 409 : 400, error.message, {}, {
50
+ throw new OperationFailureError(Results.failure("daemon:worker", error.code, 400, error.message, {}, {
51
51
  context,
52
52
  field,
53
53
  name: error.workerName,
@@ -193,14 +193,13 @@ export default class ClientInput {
193
193
  if (policy === undefined)
194
194
  return DEFAULT_LOOP_POLICY;
195
195
  if (typeof policy !== "object" || policy === null || Array.isArray(policy)) {
196
- ClientInput.#invalid(context, "loop-policy-invalid", "policy is not an object.", { field: "policy", recovery: "Provide capability policy and proposal disposition." });
196
+ ClientInput.#invalid(context, "loop-policy-invalid", "policy is not an object.", { field: "policy", recovery: "Provide a proposal disposition." });
197
197
  }
198
198
  const partial = policy;
199
- if (Object.keys(partial).some((key) => key !== "capabilities" && key !== "proposals")) {
200
- ClientInput.#invalid(context, "loop-policy-invalid", "policy contains an unsupported field.", { field: "policy", recovery: "Use only capabilities and proposals." });
199
+ if (Object.keys(partial).some((key) => key !== "proposals")) {
200
+ ClientInput.#invalid(context, "loop-policy-invalid", "policy contains an unsupported field.", { field: "policy", recovery: "Use only proposals." });
201
201
  }
202
202
  const candidate = {
203
- capabilities: partial.capabilities ?? DEFAULT_LOOP_POLICY.capabilities,
204
203
  proposals: partial.proposals ?? DEFAULT_LOOP_POLICY.proposals,
205
204
  };
206
205
  try {
@@ -209,7 +208,7 @@ export default class ClientInput {
209
208
  catch {
210
209
  ClientInput.#invalid(context, "loop-policy-invalid", "policy is not a valid loop policy.", {
211
210
  field: "policy",
212
- recovery: "Use canonical capability only/deny selectors and proposals review, accept, or reject.",
211
+ recovery: "Use proposals review, accept, or reject.",
213
212
  });
214
213
  }
215
214
  }
@@ -312,45 +311,5 @@ export default class ClientInput {
312
311
  }
313
312
  return JSON.stringify(out);
314
313
  }
315
- // {§worker-settings} — validate and serialize a worker's behavioral-rules bag.
316
- // Closed known-key set, validated here; unknown keys never persist. The worker
317
- // is an actor inside the workspace's world; these are its own rules.
318
- static normalizeWorkerSettings(raw) {
319
- if (raw === undefined || raw === null)
320
- return {};
321
- let parsed = raw;
322
- if (typeof raw === "string") {
323
- try {
324
- parsed = JSON.parse(raw);
325
- }
326
- catch {
327
- ClientInput.#invalid("worker.settings", "settings-invalid", "worker settings is not valid JSON.", { field: "settings", recovery: "Provide a JSON object." });
328
- }
329
- }
330
- if (typeof parsed !== "object" || parsed === null || Array.isArray(parsed)) {
331
- ClientInput.#invalid("worker.settings", "settings-invalid", "worker settings is not an object.", { field: "settings", recovery: "Provide a settings object." });
332
- }
333
- const r = parsed;
334
- const supported = new Set(["capabilities"]);
335
- for (const key of Object.keys(r)) {
336
- if (!supported.has(key)) {
337
- ClientInput.#invalid("worker.settings", "setting-not-supported", `settings.${key} is not supported.`, {
338
- field: `settings.${key}`,
339
- supportedSettings: [...supported],
340
- recovery: "Remove the unsupported setting.",
341
- });
342
- }
343
- }
344
- const out = {};
345
- if (r.capabilities !== undefined) {
346
- try {
347
- out.capabilities = Validator.assertCapabilityPolicy(r.capabilities);
348
- }
349
- catch {
350
- ClientInput.#invalid("worker.settings", "capability-policy-invalid", "settings.capabilities is not a valid capability policy.", { field: "settings.capabilities", recovery: "Provide canonical only/deny capability selectors." });
351
- }
352
- }
353
- return out;
354
- }
355
314
  }
356
315
  //# sourceMappingURL=client-input.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client-input.js","sourceRoot":"","sources":["../../src/server/client-input.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client-input.js","sourceRoot":"","sources":["../../src/server/client-input.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"dispatch-as-plurnk.d.ts","sourceRoot":"","sources":["../../src/server/dispatch-as-plurnk.ts"],"names":[],"mappings":"AAOA,OAAO,EAGH,KAAK,eAAe,EAEvB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAM5C,MAAM,CAAC,OAAO,OAAO,gBAAgB;IACjC,OAAa,QAAQ,CACjB,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,EAAE,EACN,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,eAAe,EAAE,EAC7B,OAAO,SAAoD,GAC5D,OAAO,CAAC,IAAI,CAAC,CAmGf;CACJ"}
1
+ {"version":3,"file":"dispatch-as-plurnk.d.ts","sourceRoot":"","sources":["../../src/server/dispatch-as-plurnk.ts"],"names":[],"mappings":"AAOA,OAAO,EAEH,KAAK,eAAe,EAEvB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAM5C,MAAM,CAAC,OAAO,OAAO,gBAAgB;IACjC,OAAa,QAAQ,CACjB,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,EAAE,EACN,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,eAAe,EAAE,EAC7B,OAAO,SAAoD,GAC5D,OAAO,CAAC,IAAI,CAAC,CAkFf;CACJ"}
@@ -1,6 +1,6 @@
1
1
  // Producer-neutral runtime entry point ({§actor-boundary-doc-injection}). The
2
2
  // harness opens an administrative loop and durable `_plurnk` turn in the
3
- // addressed worker, then admits a real PLAN…SEND program through the same turn
3
+ // addressed worker, then admits a real operation program through the same turn
4
4
  // executor used by model and recovery programs. Generated state and its causal
5
5
  // evidence therefore share one owner; neither is a hidden write or a kernel
6
6
  // mirror.
@@ -27,32 +27,16 @@ export default class DispatchAsPlurnk {
27
27
  producer: "_plurnk",
28
28
  kind: "maintenance",
29
29
  });
30
- const serializedStatements = JSON.stringify(statements);
31
- let delimiter = `_plurnk${turnId}`;
32
- while (serializedStatements.includes(delimiter))
33
- delimiter += "_";
34
30
  let turnOpen = true;
35
31
  const program = [
36
- {
37
- op: "PLAN",
38
- delimiter,
39
- annotation: null,
40
- target: null,
41
- metadata: null,
42
- lineMarker: null,
43
- body: [{ content: summary, status: "in_progress" }],
44
- position: UNKNOWN_POSITION,
45
- },
46
32
  ...statements,
47
33
  {
48
- op: "SEND",
49
- delimiter: "0",
50
- annotation: null,
51
- status: 200,
34
+ op: "TASK",
35
+ aside: null,
52
36
  target: null,
53
37
  metadata: null,
54
38
  lineMarker: null,
55
- body: { raw: "Generated Worker reference documents reconciled.", json: null },
39
+ body: [{ content: summary, status: "completed" }],
56
40
  position: UNKNOWN_POSITION,
57
41
  },
58
42
  ];
@@ -62,8 +46,6 @@ export default class DispatchAsPlurnk {
62
46
  await engine.executeAdmittedTurn({
63
47
  statements: admitted,
64
48
  source,
65
- sourceFolded: true,
66
- sourceReasoningItems: [],
67
49
  origin: "_plurnk",
68
50
  workspaceId,
69
51
  workerId,
@@ -1 +1 @@
1
- {"version":3,"file":"dispatch-as-plurnk.js","sourceRoot":"","sources":["../../src/server/dispatch-as-plurnk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dispatch-as-plurnk.js","sourceRoot":"","sources":["../../src/server/dispatch-as-plurnk.ts"],"names":[],"mappings":"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"}