@plurnk/plurnk-service 1.7.0 → 1.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (381) hide show
  1. package/.env.defaults +49 -42
  2. package/INSTALL.md +48 -11
  3. package/README.md +12 -2
  4. package/SPEC.md +1166 -475
  5. package/digest-sql/channel-dispositions/dispositions.sql +15 -0
  6. package/digest-sql/channel-state/state.sql +6 -0
  7. package/digest-sql/curation/curation.sql +5 -0
  8. package/digest-sql/derivations/derivations.sql +4 -0
  9. package/digest-sql/embeddings/embeddings.sql +4 -0
  10. package/digest-sql/entry-dispositions/dispositions.sql +15 -0
  11. package/digest-sql/entry-state/state.sql +6 -0
  12. package/digest-sql/token-counts/token-counts.sql +2 -0
  13. package/dist/Paths.d.ts +0 -4
  14. package/dist/Paths.d.ts.map +1 -1
  15. package/dist/Paths.js +1 -21
  16. package/dist/Paths.js.map +1 -1
  17. package/dist/build-info.json +1 -1
  18. package/dist/content/read-projector.d.ts.map +1 -1
  19. package/dist/content/read-projector.js +4 -3
  20. package/dist/content/read-projector.js.map +1 -1
  21. package/dist/core/BudgetReadout.d.ts.map +1 -1
  22. package/dist/core/BudgetReadout.js +12 -22
  23. package/dist/core/BudgetReadout.js.map +1 -1
  24. package/dist/core/ChannelWrite.d.ts +8 -3
  25. package/dist/core/ChannelWrite.d.ts.map +1 -1
  26. package/dist/core/ChannelWrite.js +40 -8
  27. package/dist/core/ChannelWrite.js.map +1 -1
  28. package/dist/core/ChannelWrite.sql +19 -5
  29. package/dist/core/CoreSchemeServices.d.ts +7 -3
  30. package/dist/core/CoreSchemeServices.d.ts.map +1 -1
  31. package/dist/core/CoreSchemeServices.js +8 -1
  32. package/dist/core/CoreSchemeServices.js.map +1 -1
  33. package/dist/core/Dispatcher.d.ts +15 -6
  34. package/dist/core/Dispatcher.d.ts.map +1 -1
  35. package/dist/core/Dispatcher.js +352 -306
  36. package/dist/core/Dispatcher.js.map +1 -1
  37. package/dist/core/Engine.d.ts +22 -10
  38. package/dist/core/Engine.d.ts.map +1 -1
  39. package/dist/core/Engine.js +86 -46
  40. package/dist/core/Engine.js.map +1 -1
  41. package/dist/core/Engine.sql +202 -177
  42. package/dist/core/EntryAddressBinding.d.ts +32 -0
  43. package/dist/core/EntryAddressBinding.d.ts.map +1 -0
  44. package/dist/core/EntryAddressBinding.js +93 -0
  45. package/dist/core/EntryAddressBinding.js.map +1 -0
  46. package/dist/core/ExecutorRegistry.d.ts +12 -6
  47. package/dist/core/ExecutorRegistry.d.ts.map +1 -1
  48. package/dist/core/ExecutorRegistry.js +34 -31
  49. package/dist/core/ExecutorRegistry.js.map +1 -1
  50. package/dist/core/HostPaths.d.ts +29 -0
  51. package/dist/core/HostPaths.d.ts.map +1 -0
  52. package/dist/core/HostPaths.js +74 -0
  53. package/dist/core/HostPaths.js.map +1 -0
  54. package/dist/core/LegacyHome.d.ts +10 -0
  55. package/dist/core/LegacyHome.d.ts.map +1 -0
  56. package/dist/core/LegacyHome.js +170 -0
  57. package/dist/core/LegacyHome.js.map +1 -0
  58. package/dist/core/LogBody.d.ts +1 -1
  59. package/dist/core/LogBody.d.ts.map +1 -1
  60. package/dist/core/LogBody.js +21 -3
  61. package/dist/core/LogBody.js.map +1 -1
  62. package/dist/core/LogEntryProjection.js +1 -1
  63. package/dist/core/LogEntryProjection.js.map +1 -1
  64. package/dist/core/LogVisibility.d.ts +28 -0
  65. package/dist/core/LogVisibility.d.ts.map +1 -0
  66. package/dist/core/LogVisibility.js +215 -0
  67. package/dist/core/LogVisibility.js.map +1 -0
  68. package/dist/core/LoopLifecycle.d.ts +1 -0
  69. package/dist/core/LoopLifecycle.d.ts.map +1 -1
  70. package/dist/core/LoopLifecycle.js +8 -0
  71. package/dist/core/LoopLifecycle.js.map +1 -1
  72. package/dist/core/LoopLifecycle.sql +10 -0
  73. package/dist/core/OperatorConfig.d.ts +6 -0
  74. package/dist/core/OperatorConfig.d.ts.map +1 -0
  75. package/dist/core/OperatorConfig.js +95 -0
  76. package/dist/core/OperatorConfig.js.map +1 -0
  77. package/dist/core/OverflowTurn.d.ts +11 -0
  78. package/dist/core/OverflowTurn.d.ts.map +1 -0
  79. package/dist/core/OverflowTurn.js +81 -0
  80. package/dist/core/OverflowTurn.js.map +1 -0
  81. package/dist/core/Owner.js +3 -3
  82. package/dist/core/Owner.js.map +1 -1
  83. package/dist/core/PacketBuilder.d.ts +7 -15
  84. package/dist/core/PacketBuilder.d.ts.map +1 -1
  85. package/dist/core/PacketBuilder.js +64 -127
  86. package/dist/core/PacketBuilder.js.map +1 -1
  87. package/dist/core/ProblemLog.js +1 -1
  88. package/dist/core/ProblemLog.js.map +1 -1
  89. package/dist/core/ProposalLifecycle.d.ts +4 -1
  90. package/dist/core/ProposalLifecycle.d.ts.map +1 -1
  91. package/dist/core/ProposalLifecycle.js +86 -47
  92. package/dist/core/ProposalLifecycle.js.map +1 -1
  93. package/dist/core/ProviderInstantiate.d.ts +9 -5
  94. package/dist/core/ProviderInstantiate.d.ts.map +1 -1
  95. package/dist/core/ProviderInstantiate.js +99 -104
  96. package/dist/core/ProviderInstantiate.js.map +1 -1
  97. package/dist/core/ReasoningEvent.d.ts +13 -0
  98. package/dist/core/ReasoningEvent.d.ts.map +1 -0
  99. package/dist/core/ReasoningEvent.js +6 -0
  100. package/dist/core/ReasoningEvent.js.map +1 -0
  101. package/dist/core/ResourceMutations.d.ts +15 -19
  102. package/dist/core/ResourceMutations.d.ts.map +1 -1
  103. package/dist/core/ResourceMutations.js +118 -41
  104. package/dist/core/ResourceMutations.js.map +1 -1
  105. package/dist/core/SchemeRegistry.d.ts +12 -12
  106. package/dist/core/SchemeRegistry.d.ts.map +1 -1
  107. package/dist/core/SchemeRegistry.js +58 -57
  108. package/dist/core/SchemeRegistry.js.map +1 -1
  109. package/dist/core/ToolResources.d.ts +19 -0
  110. package/dist/core/ToolResources.d.ts.map +1 -0
  111. package/dist/core/ToolResources.js +123 -0
  112. package/dist/core/ToolResources.js.map +1 -0
  113. package/dist/core/Turn.d.ts +27 -0
  114. package/dist/core/Turn.d.ts.map +1 -0
  115. package/dist/core/Turn.js +43 -0
  116. package/dist/core/Turn.js.map +1 -0
  117. package/dist/core/Turn.sql +72 -0
  118. package/dist/core/TurnOps.d.ts +7 -0
  119. package/dist/core/TurnOps.d.ts.map +1 -0
  120. package/dist/core/TurnOps.js +73 -0
  121. package/dist/core/TurnOps.js.map +1 -0
  122. package/dist/core/TurnRunner.d.ts +56 -5
  123. package/dist/core/TurnRunner.d.ts.map +1 -1
  124. package/dist/core/TurnRunner.js +1163 -929
  125. package/dist/core/TurnRunner.js.map +1 -1
  126. package/dist/core/WorkerName.d.ts +2 -1
  127. package/dist/core/WorkerName.d.ts.map +1 -1
  128. package/dist/core/WorkerName.js +2 -1
  129. package/dist/core/WorkerName.js.map +1 -1
  130. package/dist/core/WorkerName.sql +17 -2
  131. package/dist/core/WorkspaceGate.js +1 -1
  132. package/dist/core/WorkspaceGate.js.map +1 -1
  133. package/dist/core/caps/CapsResolve.d.ts +2 -2
  134. package/dist/core/caps/CapsResolve.d.ts.map +1 -1
  135. package/dist/core/caps/CapsResolve.js +5 -7
  136. package/dist/core/caps/CapsResolve.js.map +1 -1
  137. package/dist/core/caps/DbChannelCaps.d.ts +1 -1
  138. package/dist/core/caps/DbChannelCaps.d.ts.map +1 -1
  139. package/dist/core/caps/DbChannelCaps.js +13 -11
  140. package/dist/core/caps/DbChannelCaps.js.map +1 -1
  141. package/dist/core/caps/DbEntryCaps.d.ts +5 -5
  142. package/dist/core/caps/DbEntryCaps.d.ts.map +1 -1
  143. package/dist/core/caps/DbEntryCaps.js +27 -30
  144. package/dist/core/caps/DbEntryCaps.js.map +1 -1
  145. package/dist/core/caps/DbNotifyCaps.d.ts +1 -1
  146. package/dist/core/caps/DbNotifyCaps.d.ts.map +1 -1
  147. package/dist/core/caps/DbNotifyCaps.js +5 -3
  148. package/dist/core/caps/DbNotifyCaps.js.map +1 -1
  149. package/dist/core/caps/DbSubscriptionCaps.d.ts +3 -3
  150. package/dist/core/caps/DbSubscriptionCaps.d.ts.map +1 -1
  151. package/dist/core/caps/DbSubscriptionCaps.js +16 -26
  152. package/dist/core/caps/DbSubscriptionCaps.js.map +1 -1
  153. package/dist/core/caps/SchemeCtxImpl.d.ts +6 -4
  154. package/dist/core/caps/SchemeCtxImpl.d.ts.map +1 -1
  155. package/dist/core/caps/SchemeCtxImpl.js +37 -5
  156. package/dist/core/caps/SchemeCtxImpl.js.map +1 -1
  157. package/dist/core/env-defaults.d.ts.map +1 -1
  158. package/dist/core/env-defaults.js +7 -5
  159. package/dist/core/env-defaults.js.map +1 -1
  160. package/dist/core/file-creation-policy.d.ts +9 -0
  161. package/dist/core/file-creation-policy.d.ts.map +1 -0
  162. package/dist/core/file-creation-policy.js +25 -0
  163. package/dist/core/file-creation-policy.js.map +1 -0
  164. package/dist/core/fork.d.ts +4 -1
  165. package/dist/core/fork.d.ts.map +1 -1
  166. package/dist/core/fork.js +39 -16
  167. package/dist/core/fork.js.map +1 -1
  168. package/dist/core/fork.sql +83 -40
  169. package/dist/core/git-env.d.ts +0 -1
  170. package/dist/core/git-env.d.ts.map +1 -1
  171. package/dist/core/git-env.js +0 -3
  172. package/dist/core/git-env.js.map +1 -1
  173. package/dist/core/git-membership.d.ts +19 -1
  174. package/dist/core/git-membership.d.ts.map +1 -1
  175. package/dist/core/git-membership.js +233 -74
  176. package/dist/core/git-membership.js.map +1 -1
  177. package/dist/core/git-state.d.ts.map +1 -1
  178. package/dist/core/git-state.js +13 -14
  179. package/dist/core/git-state.js.map +1 -1
  180. package/dist/core/operation-target-groups.d.ts +3 -0
  181. package/dist/core/operation-target-groups.d.ts.map +1 -0
  182. package/dist/core/operation-target-groups.js +53 -0
  183. package/dist/core/operation-target-groups.js.map +1 -0
  184. package/dist/core/packet-inject.d.ts +0 -1
  185. package/dist/core/packet-inject.d.ts.map +1 -1
  186. package/dist/core/packet-inject.js +6 -13
  187. package/dist/core/packet-inject.js.map +1 -1
  188. package/dist/core/packet-wire.d.ts +4 -0
  189. package/dist/core/packet-wire.d.ts.map +1 -1
  190. package/dist/core/packet-wire.js +226 -53
  191. package/dist/core/packet-wire.js.map +1 -1
  192. package/dist/core/plurnk-uri.d.ts +14 -3
  193. package/dist/core/plurnk-uri.d.ts.map +1 -1
  194. package/dist/core/plurnk-uri.js +62 -24
  195. package/dist/core/plurnk-uri.js.map +1 -1
  196. package/dist/core/scheme-types.d.ts +1 -0
  197. package/dist/core/scheme-types.d.ts.map +1 -1
  198. package/dist/core/teaching.d.ts.map +1 -1
  199. package/dist/core/teaching.js +4 -5
  200. package/dist/core/teaching.js.map +1 -1
  201. package/dist/core/worker-ops.sql +10 -6
  202. package/dist/core/worker-settings.d.ts +10 -0
  203. package/dist/core/worker-settings.d.ts.map +1 -0
  204. package/dist/core/worker-settings.js +32 -0
  205. package/dist/core/worker-settings.js.map +1 -0
  206. package/dist/core/workspace-settings.d.ts +2 -11
  207. package/dist/core/workspace-settings.d.ts.map +1 -1
  208. package/dist/core/workspace-settings.js +7 -47
  209. package/dist/core/workspace-settings.js.map +1 -1
  210. package/dist/digest/Digest.d.ts.map +1 -1
  211. package/dist/digest/Digest.js +164 -92
  212. package/dist/digest/Digest.js.map +1 -1
  213. package/dist/digest/digest.sql +9 -3
  214. package/dist/observe/genai.d.ts +9 -0
  215. package/dist/observe/genai.d.ts.map +1 -0
  216. package/dist/observe/genai.js +31 -0
  217. package/dist/observe/genai.js.map +1 -0
  218. package/dist/observe/spans.d.ts +3 -3
  219. package/dist/observe/spans.d.ts.map +1 -1
  220. package/dist/observe/spans.js +20 -5
  221. package/dist/observe/spans.js.map +1 -1
  222. package/dist/schemes/EffectPolicy.d.ts +3 -0
  223. package/dist/schemes/EffectPolicy.d.ts.map +1 -1
  224. package/dist/schemes/EffectPolicy.js +38 -6
  225. package/dist/schemes/EffectPolicy.js.map +1 -1
  226. package/dist/schemes/Exec.d.ts +3 -2
  227. package/dist/schemes/Exec.d.ts.map +1 -1
  228. package/dist/schemes/Exec.js +109 -34
  229. package/dist/schemes/Exec.js.map +1 -1
  230. package/dist/schemes/ExecOutputScheme.d.ts.map +1 -1
  231. package/dist/schemes/ExecOutputScheme.js +5 -4
  232. package/dist/schemes/ExecOutputScheme.js.map +1 -1
  233. package/dist/schemes/File.d.ts.map +1 -1
  234. package/dist/schemes/File.js +170 -80
  235. package/dist/schemes/File.js.map +1 -1
  236. package/dist/schemes/Log.d.ts +6 -2
  237. package/dist/schemes/Log.d.ts.map +1 -1
  238. package/dist/schemes/Log.js +73 -22
  239. package/dist/schemes/Log.js.map +1 -1
  240. package/dist/schemes/Log.sql +25 -7
  241. package/dist/schemes/Prompt.d.ts +2 -3
  242. package/dist/schemes/Prompt.d.ts.map +1 -1
  243. package/dist/schemes/Prompt.js +5 -9
  244. package/dist/schemes/Prompt.js.map +1 -1
  245. package/dist/schemes/QuestionTool.d.ts +10 -0
  246. package/dist/schemes/QuestionTool.d.ts.map +1 -0
  247. package/dist/schemes/QuestionTool.js +81 -0
  248. package/dist/schemes/QuestionTool.js.map +1 -0
  249. package/dist/schemes/Skill.d.ts.map +1 -1
  250. package/dist/schemes/Skill.js +6 -1
  251. package/dist/schemes/Skill.js.map +1 -1
  252. package/dist/schemes/Worker.d.ts.map +1 -1
  253. package/dist/schemes/Worker.js +97 -34
  254. package/dist/schemes/Worker.js.map +1 -1
  255. package/dist/schemes/_entry-crud.d.ts +5 -5
  256. package/dist/schemes/_entry-crud.d.ts.map +1 -1
  257. package/dist/schemes/_entry-crud.js +22 -17
  258. package/dist/schemes/_entry-crud.js.map +1 -1
  259. package/dist/schemes/_entry-crud.sql +77 -24
  260. package/dist/schemes/_entry-find.d.ts +8 -5
  261. package/dist/schemes/_entry-find.d.ts.map +1 -1
  262. package/dist/schemes/_entry-find.js +121 -40
  263. package/dist/schemes/_entry-find.js.map +1 -1
  264. package/dist/schemes/_entry-find.sql +16 -11
  265. package/dist/schemes/_entry-graph.sql +2 -6
  266. package/dist/schemes/_entry-manifest.d.ts +2 -2
  267. package/dist/schemes/_entry-manifest.d.ts.map +1 -1
  268. package/dist/schemes/_entry-manifest.js +18 -6
  269. package/dist/schemes/_entry-manifest.js.map +1 -1
  270. package/dist/schemes/_entry-ops.d.ts +6 -5
  271. package/dist/schemes/_entry-ops.d.ts.map +1 -1
  272. package/dist/schemes/_entry-ops.js +39 -46
  273. package/dist/schemes/_entry-ops.js.map +1 -1
  274. package/dist/schemes/_entry-ops.sql +9 -6
  275. package/dist/schemes/_entry-send.d.ts +2 -2
  276. package/dist/schemes/_entry-send.d.ts.map +1 -1
  277. package/dist/schemes/_entry-send.js +16 -14
  278. package/dist/schemes/_entry-send.js.map +1 -1
  279. package/dist/schemes/_search-index.d.ts.map +1 -1
  280. package/dist/schemes/_search-index.js +39 -25
  281. package/dist/schemes/_search-index.js.map +1 -1
  282. package/dist/server/Daemon.d.ts +98 -15
  283. package/dist/server/Daemon.d.ts.map +1 -1
  284. package/dist/server/Daemon.js +864 -348
  285. package/dist/server/Daemon.js.map +1 -1
  286. package/dist/server/DaemonModule.d.ts +84 -19
  287. package/dist/server/DaemonModule.d.ts.map +1 -1
  288. package/dist/server/DrainSupervisor.d.ts +15 -10
  289. package/dist/server/DrainSupervisor.d.ts.map +1 -1
  290. package/dist/server/DrainSupervisor.js +70 -19
  291. package/dist/server/DrainSupervisor.js.map +1 -1
  292. package/dist/server/Functionality.d.ts +44 -0
  293. package/dist/server/Functionality.d.ts.map +1 -0
  294. package/dist/server/Functionality.js +422 -0
  295. package/dist/server/Functionality.js.map +1 -0
  296. package/dist/server/FunctionalityManager.d.ts +22 -0
  297. package/dist/server/FunctionalityManager.d.ts.map +1 -0
  298. package/dist/server/FunctionalityManager.js +121 -0
  299. package/dist/server/FunctionalityManager.js.map +1 -0
  300. package/dist/server/SkillsFunctionality.d.ts +61 -0
  301. package/dist/server/SkillsFunctionality.d.ts.map +1 -0
  302. package/dist/server/SkillsFunctionality.js +449 -0
  303. package/dist/server/SkillsFunctionality.js.map +1 -0
  304. package/dist/server/WorkerCapabilities.d.ts +21 -0
  305. package/dist/server/WorkerCapabilities.d.ts.map +1 -0
  306. package/dist/server/WorkerCapabilities.js +214 -0
  307. package/dist/server/WorkerCapabilities.js.map +1 -0
  308. package/dist/server/WorkerResidency.d.ts +40 -0
  309. package/dist/server/WorkerResidency.d.ts.map +1 -0
  310. package/dist/server/WorkerResidency.js +283 -0
  311. package/dist/server/WorkerResidency.js.map +1 -0
  312. package/dist/server/client-input.d.ts +6 -2
  313. package/dist/server/client-input.d.ts.map +1 -1
  314. package/dist/server/client-input.js +72 -32
  315. package/dist/server/client-input.js.map +1 -1
  316. package/dist/server/dispatch-as-plurnk.d.ts +2 -2
  317. package/dist/server/dispatch-as-plurnk.d.ts.map +1 -1
  318. package/dist/server/dispatch-as-plurnk.js +109 -23
  319. package/dist/server/dispatch-as-plurnk.js.map +1 -1
  320. package/dist/server/drain.sql +33 -13
  321. package/dist/server/envelope.d.ts +7 -2
  322. package/dist/server/envelope.d.ts.map +1 -1
  323. package/dist/server/envelope.js +12 -6
  324. package/dist/server/envelope.js.map +1 -1
  325. package/dist/server/envelope.sql +36 -4
  326. package/dist/server/lifecycle-recovery.sql +24 -17
  327. package/dist/server/logEntry.d.ts +2 -1
  328. package/dist/server/logEntry.d.ts.map +1 -1
  329. package/dist/server/logEntry.js +3 -2
  330. package/dist/server/logEntry.js.map +1 -1
  331. package/dist/server/logEntry.sql +7 -0
  332. package/dist/server/loop-model.d.ts +2 -2
  333. package/dist/server/loop-model.d.ts.map +1 -1
  334. package/dist/server/loop-model.js +23 -33
  335. package/dist/server/loop-model.js.map +1 -1
  336. package/dist/server/loopDocs.d.ts +2 -1
  337. package/dist/server/loopDocs.d.ts.map +1 -1
  338. package/dist/server/loopDocs.js +88 -21
  339. package/dist/server/loopDocs.js.map +1 -1
  340. package/dist/server/loopDocs.sql +14 -8
  341. package/dist/server/model-catalog.d.ts +3 -0
  342. package/dist/server/model-catalog.d.ts.map +1 -0
  343. package/dist/server/model-catalog.js +83 -0
  344. package/dist/server/model-catalog.js.map +1 -0
  345. package/dist/server/model-route.d.ts +7 -0
  346. package/dist/server/model-route.d.ts.map +1 -0
  347. package/dist/server/model-route.js +47 -0
  348. package/dist/server/model-route.js.map +1 -0
  349. package/dist/server/module-discovery.d.ts +13 -0
  350. package/dist/server/module-discovery.d.ts.map +1 -0
  351. package/dist/server/module-discovery.js +103 -0
  352. package/dist/server/module-discovery.js.map +1 -0
  353. package/dist/server/seam-entry-read.sql +9 -7
  354. package/dist/server/seam-log-read.sql +1 -1
  355. package/dist/server/seam-loop.sql +10 -1
  356. package/dist/server/seam-proposal-list.sql +4 -2
  357. package/dist/server/worker-capabilities.sql +19 -0
  358. package/dist/service.d.ts.map +1 -1
  359. package/dist/service.js +193 -124
  360. package/dist/service.js.map +1 -1
  361. package/migrations/001_schema.sql +905 -196
  362. package/package.json +40 -38
  363. package/dist/core/ExecutableTools.d.ts +0 -11
  364. package/dist/core/ExecutableTools.d.ts.map +0 -1
  365. package/dist/core/ExecutableTools.js +0 -49
  366. package/dist/core/ExecutableTools.js.map +0 -1
  367. package/dist/core/JournalTurn.d.ts +0 -9
  368. package/dist/core/JournalTurn.d.ts.map +0 -1
  369. package/dist/core/JournalTurn.js +0 -14
  370. package/dist/core/JournalTurn.js.map +0 -1
  371. package/dist/core/JournalTurn.sql +0 -10
  372. package/dist/core/git-iso.d.ts +0 -13
  373. package/dist/core/git-iso.d.ts.map +0 -1
  374. package/dist/core/git-iso.js +0 -267
  375. package/dist/core/git-iso.js.map +0 -1
  376. package/dist/core/search-gate.d.ts +0 -17
  377. package/dist/core/search-gate.d.ts.map +0 -1
  378. package/dist/core/search-gate.js +0 -77
  379. package/dist/core/search-gate.js.map +0 -1
  380. package/dist/digest/Digest.sql +0 -1
  381. package/dist/server/workspace-capabilities.sql +0 -19
@@ -1 +1 @@
1
- {"version":3,"file":"DbChannelCaps.js","sourceRoot":"","sources":["../../../src/core/caps/DbChannelCaps.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DbChannelCaps.js","sourceRoot":"","sources":["../../../src/core/caps/DbChannelCaps.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
- import type { EntryCaps, EntryData, EntryOperationCaps, EntryOwner, EntryStorageReadResult, EntryStorageWriteResult, SchemeManifest, SchemeResult } from "@plurnk/plurnk-schemes";
1
+ import type { EntryCaps, EntryData, EntryOperationCaps, EntryStorageReadResult, EntryStorageWriteResult, SchemeManifest, SchemeResult } from "@plurnk/plurnk-schemes";
2
2
  import type { PlurnkSchemeContext } from "../scheme-types.ts";
3
3
  import type { LineAnchorPrecondition } from "../../content/index.ts";
4
4
  export default class DbEntryCaps implements EntryCaps {
5
5
  #private;
6
6
  readonly operations: EntryOperationCaps;
7
- constructor(ctx: PlurnkSchemeContext, scheme: string, manifest: SchemeManifest, defaultOwnerId?: number, editPrecondition?: LineAnchorPrecondition | null);
8
- read(pathname: string, owner?: EntryOwner): Promise<EntryStorageReadResult>;
9
- write(pathname: string, entry: EntryData, owner?: EntryOwner): Promise<EntryStorageWriteResult>;
10
- delete(pathname: string, owner?: EntryOwner, channel?: string): Promise<SchemeResult>;
7
+ constructor(ctx: PlurnkSchemeContext, scheme: string, manifest: SchemeManifest, authority: string, ownerId: number, editPrecondition?: LineAnchorPrecondition | null);
8
+ read(pathname: string): Promise<EntryStorageReadResult>;
9
+ write(pathname: string, entry: EntryData): Promise<EntryStorageWriteResult>;
10
+ delete(pathname: string, channel?: string): Promise<SchemeResult>;
11
11
  }
12
12
  //# sourceMappingURL=DbEntryCaps.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DbEntryCaps.d.ts","sourceRoot":"","sources":["../../../src/core/caps/DbEntryCaps.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACR,SAAS,EACT,SAAS,EAGT,kBAAkB,EAClB,UAAU,EAEV,sBAAsB,EACtB,uBAAuB,EAIvB,cAAc,EACd,YAAY,EAEf,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAK9D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAErE,MAAM,CAAC,OAAO,OAAO,WAAY,YAAW,SAAS;;IAMjD,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAC;IAExC,YACI,GAAG,EAAE,mBAAmB,EACxB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,cAAc,EACxB,cAAc,CAAC,EAAE,MAAM,EACvB,gBAAgB,GAAE,sBAAsB,GAAG,IAAW,EAiBzD;IAyCK,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAEhF;IAEK,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAKpG;IAEK,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAI1F;CACJ"}
1
+ {"version":3,"file":"DbEntryCaps.d.ts","sourceRoot":"","sources":["../../../src/core/caps/DbEntryCaps.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACR,SAAS,EACT,SAAS,EAGT,kBAAkB,EAElB,sBAAsB,EACtB,uBAAuB,EAIvB,cAAc,EACd,YAAY,EAEf,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAK9D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAErE,MAAM,CAAC,OAAO,OAAO,WAAY,YAAW,SAAS;;IAOjD,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAC;IAExC,YACI,GAAG,EAAE,mBAAmB,EACxB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,cAAc,EACxB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,gBAAgB,GAAE,sBAAsB,GAAG,IAAW,EAkBzD;IAqCK,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAE5D;IAEK,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAKhF;IAEK,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAItE;CACJ"}
@@ -8,69 +8,66 @@ import EntrySend from "../../schemes/_entry-send.js";
8
8
  export default class DbEntryCaps {
9
9
  #ctx;
10
10
  #scheme;
11
+ #authority;
11
12
  #manifest;
12
- #defaultOwnerId;
13
+ #ownerId;
13
14
  #editPrecondition;
14
15
  operations;
15
- constructor(ctx, scheme, manifest, defaultOwnerId, editPrecondition = null) {
16
+ constructor(ctx, scheme, manifest, authority, ownerId, editPrecondition = null) {
16
17
  this.#ctx = ctx;
17
18
  this.#scheme = scheme;
19
+ this.#authority = authority;
18
20
  // One handler may own multiple addressed protocols (http/https, ws/wss).
19
21
  // Every cap surface must operate in the identity the caller addressed:
20
22
  // direct CRUD already uses #scheme; standard operations derive identity
21
23
  // from manifest.name, so give them the same addressed face.
22
24
  this.#manifest = manifest.name === scheme ? manifest : { ...manifest, name: scheme };
23
- this.#defaultOwnerId = defaultOwnerId;
25
+ this.#ownerId = ownerId;
24
26
  this.#editPrecondition = editPrecondition;
25
27
  this.operations = {
26
- editBatch: (statements, owner) => this.#editBatch(statements, owner),
27
- read: (statement, owner) => this.#read(statement, owner),
28
- find: (statement, owner) => this.#find(statement, owner),
29
- send: (statement, owner) => this.#send(statement, owner),
28
+ editBatch: (statements) => this.#editBatch(statements),
29
+ read: (statement) => this.#read(statement),
30
+ find: (statement) => this.#find(statement),
31
+ send: (statement) => this.#send(statement),
30
32
  };
31
33
  }
32
- #ownerId(owner) {
33
- if (owner === "worker")
34
- return this.#ctx.workerId;
35
- if (owner === "commons")
36
- return undefined;
37
- return this.#defaultOwnerId;
38
- }
39
34
  #result(operation, result) {
40
35
  if (Results.isErrorStatus(result.status) && result.problem === undefined) {
41
36
  throw new Error(`DbEntryCaps.${operation}: failed operation omitted Problem Details`);
42
37
  }
43
38
  return Results.assert(result);
44
39
  }
45
- async #editBatch(statements, owner) {
46
- return this.#result("edit", await EntryOps.editWorkspaceEntryBatch(statements, this.#ctx, this.#manifest, this.#ownerId(owner), this.#editPrecondition));
40
+ async #editBatch(statements) {
41
+ return this.#result("edit", await EntryOps.editWorkspaceEntryBatch(statements, this.#ctx, this.#manifest, this.#ownerId, this.#editPrecondition));
47
42
  }
48
- async #read(statement, owner) {
43
+ async #read(statement) {
49
44
  return this.#result("read", await EntryOps.readWorkspaceEntry(statement, this.#ctx, this.#manifest, {
50
- ownerId: this.#ownerId(owner),
45
+ ownerId: this.#ownerId,
46
+ authority: this.#authority,
51
47
  }));
52
48
  }
53
- async #find(statement, owner) {
49
+ async #find(statement) {
54
50
  return this.#result("find", await EntryFind.findWorkspaceEntries(statement, this.#ctx, this.#manifest, {
55
- ownerId: this.#ownerId(owner),
51
+ ownerId: this.#ownerId,
52
+ authority: this.#authority,
56
53
  }));
57
54
  }
58
- async #send(statement, owner) {
59
- return this.#result("send", await EntrySend.sendToWorkspaceEntry(statement, this.#ctx, this.#scheme, this.#ownerId(owner)));
55
+ async #send(statement) {
56
+ return this.#result("send", await EntrySend.sendToWorkspaceEntry(statement, this.#ctx, this.#manifest, this.#ownerId));
60
57
  }
61
- async read(pathname, owner) {
62
- return EntryCrud.readEntry(pathname, this.#ctx, this.#scheme, this.#ownerId(owner));
58
+ async read(pathname) {
59
+ return EntryCrud.readEntry({ authority: this.#authority, pathname }, this.#ctx, this.#scheme, this.#ownerId);
63
60
  }
64
- async write(pathname, entry, owner) {
65
- return EntryCrud.writeEntry(pathname, {
61
+ async write(pathname, entry) {
62
+ return EntryCrud.writeEntry({ authority: this.#authority, pathname }, {
66
63
  channels: entry.channels,
67
64
  ...(entry.attributes === undefined ? {} : { attributes: entry.attributes }),
68
- }, this.#ctx, this.#scheme, this.#ownerId(owner));
65
+ }, this.#ctx, this.#scheme, this.#ownerId);
69
66
  }
70
- async delete(pathname, owner, channel) {
67
+ async delete(pathname, channel) {
71
68
  return channel === undefined
72
- ? EntryCrud.deleteEntry(pathname, this.#ctx, this.#scheme, this.#ownerId(owner))
73
- : EntryCrud.deleteChannel(pathname, channel, this.#ctx, this.#scheme, this.#ownerId(owner));
69
+ ? EntryCrud.deleteEntry({ authority: this.#authority, pathname }, this.#ctx, this.#scheme, this.#ownerId)
70
+ : EntryCrud.deleteChannel({ authority: this.#authority, pathname }, channel, this.#ctx, this.#scheme, this.#ownerId);
74
71
  }
75
72
  }
76
73
  //# sourceMappingURL=DbEntryCaps.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DbEntryCaps.js","sourceRoot":"","sources":["../../../src/core/caps/DbEntryCaps.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DbEntryCaps.js","sourceRoot":"","sources":["../../../src/core/caps/DbEntryCaps.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import type { NotifyCaps, ChannelState } from "@plurnk/plurnk-schemes";
2
2
  import type { PlurnkSchemeContext } from "../scheme-types.ts";
3
3
  export default class DbNotifyCaps implements NotifyCaps {
4
4
  #private;
5
- constructor(ctx: PlurnkSchemeContext, scheme: string, ownerId?: number);
5
+ constructor(ctx: PlurnkSchemeContext, scheme: string, authority: string, ownerId: number);
6
6
  streamEvent(pathname: string, channel: string, state: ChannelState, contentLength: number): void;
7
7
  }
8
8
  //# sourceMappingURL=DbNotifyCaps.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DbNotifyCaps.d.ts","sourceRoot":"","sources":["../../../src/core/caps/DbNotifyCaps.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAK9D,MAAM,CAAC,OAAO,OAAO,YAAa,YAAW,UAAU;;IAKnD,YAAY,GAAG,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAIrE;IAED,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI,CAM/F;CAQJ"}
1
+ {"version":3,"file":"DbNotifyCaps.d.ts","sourceRoot":"","sources":["../../../src/core/caps/DbNotifyCaps.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAK9D,MAAM,CAAC,OAAO,OAAO,YAAa,YAAW,UAAU;;IAMnD,YAAY,GAAG,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAKvF;IAED,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI,CAM/F;CAQJ"}
@@ -13,10 +13,12 @@ import { renderAddress } from "../plurnk-uri.js";
13
13
  export default class DbNotifyCaps {
14
14
  #ctx;
15
15
  #scheme;
16
+ #authority;
16
17
  #ownerId;
17
- constructor(ctx, scheme, ownerId) {
18
+ constructor(ctx, scheme, authority, ownerId) {
18
19
  this.#ctx = ctx;
19
20
  this.#scheme = scheme;
21
+ this.#authority = authority;
20
22
  this.#ownerId = ownerId;
21
23
  }
22
24
  streamEvent(pathname, channel, state, contentLength) {
@@ -28,10 +30,10 @@ export default class DbNotifyCaps {
28
30
  });
29
31
  }
30
32
  async #emit(notify, pathname, channel, state, contentLength) {
31
- const entry = await CapsResolve.entry(this.#ctx, this.#scheme, pathname, this.#ownerId);
33
+ const entry = await CapsResolve.entry(this.#ctx, this.#scheme, this.#authority, pathname, this.#ownerId);
32
34
  if (entry === null)
33
35
  return;
34
- const target = renderAddress(this.#scheme, pathname);
36
+ const target = renderAddress({ scheme: this.#scheme, authority: this.#authority, pathname });
35
37
  notify(this.#ctx.workspaceId, { entryId: entry.entryId, workerId: entry.workerId, target, channel, state, contentLength });
36
38
  }
37
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DbNotifyCaps.js","sourceRoot":"","sources":["../../../src/core/caps/DbNotifyCaps.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,0FAA0F;AAC1F,6EAA6E;AAC7E,uDAAuD;AACvD,EAAE;AACF,iFAAiF;AACjF,6EAA6E;AAC7E,4EAA4E;AAC5E,mDAAmD;AACnD,mDAAmD;AAKnD,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,CAAC,OAAO,OAAO,YAAY;IACpB,IAAI,CAAsB;IAC1B,OAAO,CAAS;IAChB,QAAQ,CAAqB;IAEtC,YAAY,GAAwB,EAAE,MAAc,EAAE,OAAgB;QAClE,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC5B,CAAC;IAED,WAAW,CAAC,QAAgB,EAAE,OAAe,EAAE,KAAmB,EAAE,aAAqB;QACrF,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC;QAC3C,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO;QACjC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YACtF,OAAO,CAAC,KAAK,CAAC,2CAA2C,IAAI,CAAC,OAAO,IAAI,QAAQ,IAAI,OAAO,GAAG,EAAE,KAAK,CAAC,CAAC;QAC5G,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,MAAyB,EAAE,QAAgB,EAAE,OAAe,EAAE,KAAmB,EAAE,aAAqB;QAChH,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxF,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO;QAC3B,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACrD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC;IAC/H,CAAC;CACJ"}
1
+ {"version":3,"file":"DbNotifyCaps.js","sourceRoot":"","sources":["../../../src/core/caps/DbNotifyCaps.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,0FAA0F;AAC1F,6EAA6E;AAC7E,uDAAuD;AACvD,EAAE;AACF,iFAAiF;AACjF,6EAA6E;AAC7E,4EAA4E;AAC5E,mDAAmD;AACnD,mDAAmD;AAKnD,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,CAAC,OAAO,OAAO,YAAY;IACpB,IAAI,CAAsB;IAC1B,OAAO,CAAS;IAChB,UAAU,CAAS;IACnB,QAAQ,CAAS;IAE1B,YAAY,GAAwB,EAAE,MAAc,EAAE,SAAiB,EAAE,OAAe;QACpF,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC5B,CAAC;IAED,WAAW,CAAC,QAAgB,EAAE,OAAe,EAAE,KAAmB,EAAE,aAAqB;QACrF,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC;QAC3C,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO;QACjC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YACtF,OAAO,CAAC,KAAK,CAAC,2CAA2C,IAAI,CAAC,OAAO,IAAI,QAAQ,IAAI,OAAO,GAAG,EAAE,KAAK,CAAC,CAAC;QAC5G,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,MAAyB,EAAE,QAAgB,EAAE,OAAe,EAAE,KAAmB,EAAE,aAAqB;QAChH,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzG,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO;QAC3B,MAAM,MAAM,GAAG,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC7F,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC;IAC/H,CAAC;CACJ"}
@@ -1,11 +1,11 @@
1
- import type { SubscriptionCaps, SubscriptionHandle, StreamSubscription, TerminalChannelState, SchemeResult } from "@plurnk/plurnk-schemes";
1
+ import type { SubscriptionCaps, SubscriptionHandle, StreamSubscription, ChannelProducerResult } from "@plurnk/plurnk-schemes";
2
2
  import type { PlurnkSchemeContext } from "../scheme-types.ts";
3
3
  import type LiveSubscriptions from "../LiveSubscriptions.ts";
4
4
  export default class DbSubscriptionCaps implements SubscriptionCaps {
5
5
  #private;
6
- constructor(ctx: PlurnkSchemeContext, scheme: string, liveSubscriptions: LiveSubscriptions, publishedChannel: string | null, ownerId?: number);
6
+ constructor(ctx: PlurnkSchemeContext, scheme: string, authority: string, liveSubscriptions: LiveSubscriptions, publishedChannel: string | null, ownerId: number);
7
7
  open(pathname: string, handle: SubscriptionHandle): Promise<StreamSubscription>;
8
8
  notifyChunk(channel: string, chunk: string, mimetype?: string): Promise<void>;
9
- close(result: SchemeResult, summary?: string, channelStates?: Readonly<Record<string, TerminalChannelState>>): Promise<void>;
9
+ close(result: ChannelProducerResult, summary?: string, channelResults?: Readonly<Record<string, ChannelProducerResult>>): Promise<void>;
10
10
  }
11
11
  //# sourceMappingURL=DbSubscriptionCaps.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DbSubscriptionCaps.d.ts","sourceRoot":"","sources":["../../../src/core/caps/DbSubscriptionCaps.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EACR,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAElB,oBAAoB,EACpB,YAAY,EACf,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAG9D,OAAO,KAAK,iBAAiB,MAAM,yBAAyB,CAAC;AAG7D,MAAM,CAAC,OAAO,OAAO,kBAAmB,YAAW,gBAAgB;;IAQ/D,YACI,GAAG,EAAE,mBAAmB,EACxB,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,iBAAiB,EACpC,gBAAgB,EAAE,MAAM,GAAG,IAAI,EAC/B,OAAO,CAAC,EAAE,MAAM,EAOnB;IAEK,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAgFpF;IAEK,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAIlF;IAEK,KAAK,CACP,MAAM,EAAE,YAAY,EACpB,OAAO,CAAC,EAAE,MAAM,EAChB,aAAa,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,GAC/D,OAAO,CAAC,IAAI,CAAC,CAIf;CACJ"}
1
+ {"version":3,"file":"DbSubscriptionCaps.d.ts","sourceRoot":"","sources":["../../../src/core/caps/DbSubscriptionCaps.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EACR,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACxB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAG9D,OAAO,KAAK,iBAAiB,MAAM,yBAAyB,CAAC;AAG7D,MAAM,CAAC,OAAO,OAAO,kBAAmB,YAAW,gBAAgB;;IAS/D,YACI,GAAG,EAAE,mBAAmB,EACxB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,iBAAiB,EACpC,gBAAgB,EAAE,MAAM,GAAG,IAAI,EAC/B,OAAO,EAAE,MAAM,EAQlB;IAEK,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAqEpF;IAEK,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAIlF;IAEK,KAAK,CACP,MAAM,EAAE,qBAAqB,EAC7B,OAAO,CAAC,EAAE,MAAM,EAChB,cAAc,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC,GACjE,OAAO,CAAC,IAAI,CAAC,CAIf;CACJ"}
@@ -4,7 +4,7 @@
4
4
  // worker+teardown-composed StreamSubscription; a worker abort also
5
5
  // force-cancels the sibling's handle.
6
6
  // notifyChunk(channel, chunk) → FUSED append-to-channel + stream/event.
7
- // close(result, summary?, channelStates?) → composites every channel's
7
+ // close(result, summary?, channelResults?) → composites every channel's
8
8
  // terminal state, registry close, and rich worker wake (the only place with
9
9
  // the close context; NotifyCaps therefore has no wakeWorker operation).
10
10
  // The returned object owns the exact retained lifecycle. Namespace methods are
@@ -16,19 +16,21 @@ import { renderAddress } from "../plurnk-uri.js";
16
16
  export default class DbSubscriptionCaps {
17
17
  #ctx;
18
18
  #scheme;
19
+ #authority;
19
20
  #liveSubscriptions;
20
21
  #publishedChannel;
21
22
  #ownerId;
22
23
  #current = null;
23
- constructor(ctx, scheme, liveSubscriptions, publishedChannel, ownerId) {
24
+ constructor(ctx, scheme, authority, liveSubscriptions, publishedChannel, ownerId) {
24
25
  this.#ctx = ctx;
25
26
  this.#scheme = scheme;
27
+ this.#authority = authority;
26
28
  this.#liveSubscriptions = liveSubscriptions;
27
29
  this.#publishedChannel = publishedChannel;
28
30
  this.#ownerId = ownerId;
29
31
  }
30
32
  async open(pathname, handle) {
31
- const entry = await CapsResolve.entry(this.#ctx, this.#scheme, pathname, this.#ownerId);
33
+ const entry = await CapsResolve.entry(this.#ctx, this.#scheme, this.#authority, pathname, this.#ownerId);
32
34
  if (entry === null)
33
35
  throw new Error(`subscriptions.open: no entry at ${pathname}`);
34
36
  const { entryId, workerId: entryOwnerId } = entry;
@@ -48,31 +50,19 @@ export default class DbSubscriptionCaps {
48
50
  mimetype,
49
51
  });
50
52
  };
51
- const close = async (result, summary, channelStates) => {
52
- Results.assert(result);
53
- const defaultState = result.status >= 400 ? "errored" : "closed";
54
- const channels = await db.crud_read_channels.all({ entry_id: entryId });
55
- const channelNames = new Set(channels.map(({ name }) => name));
56
- for (const [name, state] of Object.entries(channelStates ?? {})) {
57
- if (!channelNames.has(name))
58
- throw new Error(`subscriptions.close: unknown channel state override ${name}`);
59
- if (state !== "closed" && state !== "errored") {
60
- throw new Error(`subscriptions.close: invalid state ${JSON.stringify(state)} for channel ${name}`);
61
- }
62
- }
63
- for (const { name } of channels) {
64
- const state = channelStates?.[name] ?? defaultState;
65
- await ChannelWrite.setChannelState(db, {
66
- entryId, channel: name, state,
67
- ...(publishedChannel === null || publishedChannel === name ? { notify: streamEventNotify } : {}),
68
- });
69
- }
70
- await ChannelWrite.closeSubscription(db, { subscriptionId, result });
53
+ const close = async (result, summary, channelResults) => {
54
+ Results.assertChannelProducerResult(result);
55
+ await ChannelWrite.closeSubscription(db, {
56
+ subscriptionId,
57
+ result,
58
+ channelResults,
59
+ notify: streamEventNotify,
60
+ });
71
61
  liveSubscriptions.unregister(subscriptionId);
72
62
  unlink();
73
63
  wakeWorkerNotify?.({
74
64
  workspaceId, workerId, entryOwnerId, entryId,
75
- target: renderAddress(scheme, pathname),
65
+ target: renderAddress({ scheme, authority: this.#authority, pathname }),
76
66
  subscriptionId, result, scheme, summary: summary ?? "",
77
67
  });
78
68
  };
@@ -105,11 +95,11 @@ export default class DbSubscriptionCaps {
105
95
  throw new Error("subscriptions.notifyChunk: no open subscription");
106
96
  await current.notifyChunk(channel, chunk, mimetype);
107
97
  }
108
- async close(result, summary, channelStates) {
98
+ async close(result, summary, channelResults) {
109
99
  const current = this.#current;
110
100
  if (current === null)
111
101
  throw new Error("subscriptions.close: no open subscription");
112
- await current.close(result, summary, channelStates);
102
+ await current.close(result, summary, channelResults);
113
103
  }
114
104
  }
115
105
  //# sourceMappingURL=DbSubscriptionCaps.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DbSubscriptionCaps.js","sourceRoot":"","sources":["../../../src/core/caps/DbSubscriptionCaps.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DbSubscriptionCaps.js","sourceRoot":"","sources":["../../../src/core/caps/DbSubscriptionCaps.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
- import type { SchemeCtx, EntryCaps, ChannelCaps, NotifyCaps, ProjectionCaps, InteractionCaps, SubscriptionCaps, SchemeManifest, WriterTier } from "@plurnk/plurnk-schemes";
1
+ import type { SchemeAddressCtx, SchemeCtx, EntryCaps, ChannelCaps, NotifyCaps, ProjectionCaps, InteractionCaps, SubscriptionCaps, SchemeManifest, WriterTier } from "@plurnk/plurnk-schemes";
2
2
  import type { PlurnkSchemeContext } from "../scheme-types.ts";
3
3
  import type LiveSubscriptions from "../LiveSubscriptions.ts";
4
4
  import type { LineAnchorPrecondition } from "../../content/index.ts";
5
5
  interface SchemeCtxOptions {
6
- readonly ownerId?: number;
6
+ readonly ownerId: number | null;
7
+ readonly authority?: string;
7
8
  readonly publishedChannel?: string | null;
8
9
  readonly editPrecondition?: LineAnchorPrecondition | null;
9
10
  }
@@ -11,6 +12,7 @@ export default class SchemeCtxImpl implements SchemeCtx {
11
12
  #private;
12
13
  readonly workspaceId: number;
13
14
  readonly workerId: number;
15
+ readonly functionalityWorkerId: number;
14
16
  readonly loopId: number;
15
17
  readonly turnId: number;
16
18
  readonly writer: WriterTier;
@@ -21,8 +23,8 @@ export default class SchemeCtxImpl implements SchemeCtx {
21
23
  readonly projection: ProjectionCaps;
22
24
  readonly interactions: InteractionCaps;
23
25
  readonly subscriptions: SubscriptionCaps;
24
- constructor(ctx: PlurnkSchemeContext, scheme: string, manifest: SchemeManifest, liveSubscriptions: LiveSubscriptions, options?: SchemeCtxOptions);
25
- static editPreconditionOf(ctx: SchemeCtx | PlurnkSchemeContext): LineAnchorPrecondition | null;
26
+ constructor(ctx: PlurnkSchemeContext, scheme: string, manifest: SchemeManifest, liveSubscriptions: LiveSubscriptions, options: SchemeCtxOptions);
27
+ static editPreconditionOf(ctx: SchemeAddressCtx | SchemeCtx | PlurnkSchemeContext): LineAnchorPrecondition | null;
26
28
  }
27
29
  export {};
28
30
  //# sourceMappingURL=SchemeCtxImpl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SchemeCtxImpl.d.ts","sourceRoot":"","sources":["../../../src/core/caps/SchemeCtxImpl.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACR,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,eAAe,EAAE,gBAAgB,EAAE,cAAc,EAAE,UAAU,EAC/H,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAO9D,OAAO,KAAK,iBAAiB,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAErE,UAAU,gBAAgB;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,sBAAsB,GAAG,IAAI,CAAC;CAC7D;AAED,MAAM,CAAC,OAAO,OAAO,aAAc,YAAW,SAAS;;IAEnD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC;IACpC,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC;IACvC,QAAQ,CAAC,aAAa,EAAE,gBAAgB,CAAC;IACzC,YACI,GAAG,EAAE,mBAAmB,EACxB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,cAAc,EACxB,iBAAiB,EAAE,iBAAiB,EACpC,OAAO,GAAE,gBAAqB,EAqBjC;IAED,MAAM,CAAC,kBAAkB,CAAC,GAAG,EAAE,SAAS,GAAG,mBAAmB,GAAG,sBAAsB,GAAG,IAAI,CAE7F;CACJ"}
1
+ {"version":3,"file":"SchemeCtxImpl.d.ts","sourceRoot":"","sources":["../../../src/core/caps/SchemeCtxImpl.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACR,gBAAgB,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,eAAe,EAAE,gBAAgB,EAAE,cAAc,EAAE,UAAU,EACjJ,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAO9D,OAAO,KAAK,iBAAiB,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAErE,UAAU,gBAAgB;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,sBAAsB,GAAG,IAAI,CAAC;CAC7D;AAED,MAAM,CAAC,OAAO,OAAO,aAAc,YAAW,SAAS;;IAEnD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC;IACpC,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC;IACvC,QAAQ,CAAC,aAAa,EAAE,gBAAgB,CAAC;IACzC,YACI,GAAG,EAAE,mBAAmB,EACxB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,cAAc,EACxB,iBAAiB,EAAE,iBAAiB,EACpC,OAAO,EAAE,gBAAgB,EA6C5B;IAUD,MAAM,CAAC,kBAAkB,CAAC,GAAG,EAAE,gBAAgB,GAAG,SAAS,GAAG,mBAAmB,GAAG,sBAAsB,GAAG,IAAI,CAEhH;CACJ"}
@@ -10,6 +10,7 @@ export default class SchemeCtxImpl {
10
10
  #editPrecondition;
11
11
  workspaceId;
12
12
  workerId;
13
+ functionalityWorkerId;
13
14
  loopId;
14
15
  turnId;
15
16
  writer;
@@ -20,20 +21,51 @@ export default class SchemeCtxImpl {
20
21
  projection;
21
22
  interactions;
22
23
  subscriptions;
23
- constructor(ctx, scheme, manifest, liveSubscriptions, options = {}) {
24
+ constructor(ctx, scheme, manifest, liveSubscriptions, options) {
24
25
  this.workspaceId = ctx.workspaceId;
25
26
  this.workerId = ctx.workerId;
27
+ this.functionalityWorkerId = ctx.functionalityWorkerId;
26
28
  this.loopId = ctx.loopId;
27
29
  this.turnId = ctx.turnId;
28
30
  this.writer = ctx.writer;
29
31
  this.signal = ctx.signal;
30
32
  this.#editPrecondition = options.editPrecondition ?? null;
31
- this.entries = new DbEntryCaps(ctx, scheme, manifest, options.ownerId, this.#editPrecondition);
32
- this.channels = new DbChannelCaps(ctx, scheme, options.ownerId);
33
- this.notify = new DbNotifyCaps(ctx, scheme, options.ownerId);
33
+ const authority = options.authority ?? "";
34
34
  this.projection = new DbProjectionCaps(ctx);
35
35
  this.interactions = new CoreInteractionCaps(ctx);
36
- this.subscriptions = new DbSubscriptionCaps(ctx, scheme, liveSubscriptions, options.publishedChannel ?? null, options.ownerId);
36
+ if (manifest.category === "data") {
37
+ const ownerId = options.ownerId;
38
+ if (ownerId === null) {
39
+ this.entries = SchemeCtxImpl.#unavailable(scheme, "entries");
40
+ this.channels = SchemeCtxImpl.#unavailable(scheme, "channels");
41
+ this.notify = SchemeCtxImpl.#unavailable(scheme, "notify");
42
+ this.subscriptions = SchemeCtxImpl.#unavailable(scheme, "subscriptions");
43
+ return;
44
+ }
45
+ if (!Number.isSafeInteger(ownerId) || ownerId < 1) {
46
+ throw new Error(`Data scheme '${scheme}' context received an invalid entry owner.`);
47
+ }
48
+ this.entries = new DbEntryCaps(ctx, scheme, manifest, authority, ownerId, this.#editPrecondition);
49
+ this.channels = new DbChannelCaps(ctx, scheme, authority, ownerId);
50
+ this.notify = new DbNotifyCaps(ctx, scheme, authority, ownerId);
51
+ this.subscriptions = new DbSubscriptionCaps(ctx, scheme, authority, liveSubscriptions, options.publishedChannel ?? null, ownerId);
52
+ }
53
+ else {
54
+ if (options.ownerId !== null) {
55
+ throw new Error(`Non-data scheme '${scheme}' context cannot bind an entry owner.`);
56
+ }
57
+ this.entries = SchemeCtxImpl.#unavailable(scheme, "entries");
58
+ this.channels = SchemeCtxImpl.#unavailable(scheme, "channels");
59
+ this.notify = SchemeCtxImpl.#unavailable(scheme, "notify");
60
+ this.subscriptions = SchemeCtxImpl.#unavailable(scheme, "subscriptions");
61
+ }
62
+ }
63
+ static #unavailable(scheme, capability) {
64
+ return new Proxy({}, {
65
+ get() {
66
+ throw new Error(`Non-data scheme '${scheme}' cannot use the '${capability}' capability.`);
67
+ },
68
+ });
37
69
  }
38
70
  static editPreconditionOf(ctx) {
39
71
  return ctx instanceof SchemeCtxImpl ? ctx.#editPrecondition : null;
@@ -1 +1 @@
1
- {"version":3,"file":"SchemeCtxImpl.js","sourceRoot":"","sources":["../../../src/core/caps/SchemeCtxImpl.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,2EAA2E;AAM3E,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAC3C,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAC7C,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AACzD,OAAO,gBAAgB,MAAM,uBAAuB,CAAC;AACrD,OAAO,mBAAmB,MAAM,0BAA0B,CAAC;AAU3D,MAAM,CAAC,OAAO,OAAO,aAAa;IACrB,iBAAiB,CAAgC;IACjD,WAAW,CAAS;IACpB,QAAQ,CAAS;IACjB,MAAM,CAAS;IACf,MAAM,CAAS;IACf,MAAM,CAAa;IACnB,MAAM,CAA0B;IAChC,OAAO,CAAY;IACnB,QAAQ,CAAc;IACtB,MAAM,CAAa;IACnB,UAAU,CAAiB;IAC3B,YAAY,CAAkB;IAC9B,aAAa,CAAmB;IACzC,YACI,GAAwB,EACxB,MAAc,EACd,QAAwB,EACxB,iBAAoC,EACpC,OAAO,GAAqB,EAAE;QAE9B,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;QACnC,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;QACzB,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,IAAI,IAAI,CAAC;QAC1D,IAAI,CAAC,OAAO,GAAG,IAAI,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC/F,IAAI,CAAC,QAAQ,GAAG,IAAI,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAChE,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC7D,IAAI,CAAC,UAAU,GAAG,IAAI,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAC5C,IAAI,CAAC,YAAY,GAAG,IAAI,mBAAmB,CAAC,GAAG,CAAC,CAAC;QACjD,IAAI,CAAC,aAAa,GAAG,IAAI,kBAAkB,CACvC,GAAG,EACH,MAAM,EACN,iBAAiB,EACjB,OAAO,CAAC,gBAAgB,IAAI,IAAI,EAChC,OAAO,CAAC,OAAO,CAClB,CAAC;IACN,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAC,GAAoC;QAC1D,OAAO,GAAG,YAAY,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC;IACvE,CAAC;CACJ"}
1
+ {"version":3,"file":"SchemeCtxImpl.js","sourceRoot":"","sources":["../../../src/core/caps/SchemeCtxImpl.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"env-defaults.d.ts","sourceRoot":"","sources":["../../src/core/env-defaults.ts"],"names":[],"mappings":"AAcA,MAAM,MAAM,eAAe,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,WAAW;;IAqC5B,OAAa,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAKzF;IAID,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,eAAe,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAU7F;IAGD,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,IAAI,CAEhF;IAID,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,eAAe,EAAE,GAAG,MAAM,CAQ9D;CACJ"}
1
+ {"version":3,"file":"env-defaults.d.ts","sourceRoot":"","sources":["../../src/core/env-defaults.ts"],"names":[],"mappings":"AAcA,MAAM,MAAM,eAAe,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,WAAW;;IAqC5B,OAAa,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAKzF;IAID,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,eAAe,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAU7F;IAGD,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,IAAI,CAEhF;IAID,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,eAAe,EAAE,GAAG,MAAM,CAU9D;CACJ"}
@@ -74,13 +74,15 @@ export default class EnvDefaults {
74
74
  for (const [key, { value }] of merged)
75
75
  process.env[key] ??= value;
76
76
  }
77
- // ~/.plurnk/.env.defaults — the operator's catalog: every member's raw file (comments are the
78
- // docs), owner-labelled. Machine-owned, regenerated each boot, never read back as config.
77
+ // The operator's on-demand catalog: every member's raw file (comments are
78
+ // the docs), owner-labelled, with no effective values or persisted copy.
79
79
  static renderCatalog(files) {
80
80
  const head = [
81
- "# ⚠ MACHINE-OWNED — regenerated on every daemon boot from the installed packages'",
82
- "# .env.defaults files. Do NOT edit; your config lives in ~/.plurnk/.env (yours, wins",
83
- "# over this floor) or the shell env. One section per owning package.",
81
+ "# Plurnk installed configuration defaults",
82
+ "# Generated on demand from each installed package's .env.defaults.",
83
+ "# This output is documentation, not an input file. Put user overrides in",
84
+ "# $XDG_CONFIG_HOME/plurnk/.env, a project .env, or the shell environment.",
85
+ "# Effective secret values are never projected here.",
84
86
  "",
85
87
  ].join("\n");
86
88
  return head + files.map(({ owner, text }) => `# ═══ ${owner} ═══\n${text.trimEnd()}\n`).join("\n");
@@ -1 +1 @@
1
- {"version":3,"file":"env-defaults.js","sourceRoot":"","sources":["../../src/core/env-defaults.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"env-defaults.js","sourceRoot":"","sources":["../../src/core/env-defaults.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export declare const FILE_CREATE_SCOPES: readonly ["none", "root", "namespace"];
2
+ export type FileCreateScope = typeof FILE_CREATE_SCOPES[number];
3
+ export default class FileCreationPolicy {
4
+ static parse(value: unknown, name: string): FileCreateScope;
5
+ static serviceScope(env?: NodeJS.ProcessEnv): FileCreateScope;
6
+ static effective(service: FileCreateScope, workspace: FileCreateScope | null): FileCreateScope;
7
+ static admits(scope: FileCreateScope, outsideRoot: boolean): boolean;
8
+ }
9
+ //# sourceMappingURL=file-creation-policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-creation-policy.d.ts","sourceRoot":"","sources":["../../src/core/file-creation-policy.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,kBAAkB,YAAI,MAAM,EAAE,MAAM,EAAE,WAAW,CAAU,CAAC;AACzE,MAAM,MAAM,eAAe,GAAG,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAC;AAIhE,MAAM,CAAC,OAAO,OAAO,kBAAkB;IACnC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,eAAe,CAK1D;IAED,MAAM,CAAC,YAAY,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,eAAe,CAEzE;IAED,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,eAAe,GAAG,IAAI,GAAG,eAAe,CAG7F;IAED,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,OAAO,GAAG,OAAO,CAEnE;CACJ"}
@@ -0,0 +1,25 @@
1
+ // {§operator-config-file-create-scope}: one ordered service/workspace ceiling for
2
+ // filesystem creation. Admission itself remains owned by file membership; this module
3
+ // only parses and composes the configuration contract.
4
+ export const FILE_CREATE_SCOPES = ["none", "root", "namespace"];
5
+ const rank = new Map(FILE_CREATE_SCOPES.map((scope, index) => [scope, index]));
6
+ export default class FileCreationPolicy {
7
+ static parse(value, name) {
8
+ if (typeof value !== "string" || !rank.has(value)) {
9
+ throw new TypeError(`${name} must be one of ${FILE_CREATE_SCOPES.join(", ")}; got ${JSON.stringify(value)}`);
10
+ }
11
+ return value;
12
+ }
13
+ static serviceScope(env = process.env) {
14
+ return FileCreationPolicy.parse(env.PLURNK_SERVICE_FILE_CREATE_SCOPE, "PLURNK_SERVICE_FILE_CREATE_SCOPE");
15
+ }
16
+ static effective(service, workspace) {
17
+ if (workspace === null)
18
+ return service;
19
+ return (rank.get(workspace) ?? 0) < (rank.get(service) ?? 0) ? workspace : service;
20
+ }
21
+ static admits(scope, outsideRoot) {
22
+ return scope === "namespace" || (scope === "root" && !outsideRoot);
23
+ }
24
+ }
25
+ //# sourceMappingURL=file-creation-policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-creation-policy.js","sourceRoot":"","sources":["../../src/core/file-creation-policy.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,sFAAsF;AACtF,uDAAuD;AAEvD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAU,CAAC;AAGzE,MAAM,IAAI,GAAG,IAAI,GAAG,CAA0B,kBAAkB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;AAExG,MAAM,CAAC,OAAO,OAAO,kBAAkB;IACnC,MAAM,CAAC,KAAK,CAAC,KAAc,EAAE,IAAY;QACrC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAwB,CAAC,EAAE,CAAC;YACnE,MAAM,IAAI,SAAS,CAAC,GAAG,IAAI,mBAAmB,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACjH,CAAC;QACD,OAAO,KAAwB,CAAC;IACpC,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,GAAG,GAAsB,OAAO,CAAC,GAAG;QACpD,OAAO,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,gCAAgC,EAAE,kCAAkC,CAAC,CAAC;IAC9G,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,OAAwB,EAAE,SAAiC;QACxE,IAAI,SAAS,KAAK,IAAI;YAAE,OAAO,OAAO,CAAC;QACvC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;IACvF,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,KAAsB,EAAE,WAAoB;QACtD,OAAO,KAAK,KAAK,WAAW,IAAI,CAAC,KAAK,KAAK,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC;IACvE,CAAC;CACJ"}
@@ -1,6 +1,9 @@
1
1
  import type { Db } from "./Db.ts";
2
+ import type { SchemeEntryInheritance } from "@plurnk/plurnk-schemes";
3
+ type EntryInheritance = (storedScheme: string) => SchemeEntryInheritance;
2
4
  export default class Fork {
3
5
  #private;
4
- static fork(db: Db, parentWorkerId: number, name?: string): Promise<number>;
6
+ static fork(db: Db, parentWorkerId: number, name: string | undefined, entryInheritance: EntryInheritance): Promise<number>;
5
7
  }
8
+ export {};
6
9
  //# sourceMappingURL=fork.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fork.d.ts","sourceRoot":"","sources":["../../src/core/fork.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAGlC,MAAM,CAAC,OAAO,OAAO,IAAI;;IAIrB,OAAa,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAqIhF;CACJ"}
1
+ {"version":3,"file":"fork.d.ts","sourceRoot":"","sources":["../../src/core/fork.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAIlC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAErE,KAAK,gBAAgB,GAAG,CAAC,YAAY,EAAE,MAAM,KAAK,sBAAsB,CAAC;AAEzE,MAAM,CAAC,OAAO,OAAO,IAAI;;IAIrB,OAAa,IAAI,CACb,EAAE,EAAE,EAAE,EACN,cAAc,EAAE,MAAM,EACtB,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,gBAAgB,EAAE,gBAAgB,GACnC,OAAO,CAAC,MAAM,CAAC,CAuKjB;CACJ"}