@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
@@ -4,22 +4,27 @@
4
4
  -- PREP: crud_find_workspace_entry
5
5
  -- {§entry-identity-no-null} — every identity component is NOT NULL (bare/absolute paths
6
6
  -- persist under the reserved 'file' scheme), so plain `=` is the honest comparison.
7
- SELECT id, attributes FROM entries
8
- WHERE workspace_id = $workspace_id AND owner_id = $owner_id AND scheme = $scheme AND pathname = $pathname;
7
+ SELECT e.id, e.attributes
8
+ FROM entries e
9
+ JOIN workers owner ON owner.id = e.owner_id
10
+ WHERE owner.workspace_id = $workspace_id AND e.owner_id = $owner_id
11
+ AND e.scheme = $scheme AND e.authority = $authority AND e.pathname = $pathname;
9
12
 
10
13
  -- PREP: crud_read_channels
11
14
  SELECT name, content, mimetype, state, producer_result FROM entry_channels WHERE entry_id = $entry_id;
12
15
 
13
16
  -- PREP: crud_insert_workspace_entry
14
- INSERT INTO entries (workspace_id, owner_id, scheme, pathname)
15
- VALUES ($workspace_id, $owner_id, $scheme, $pathname)
17
+ INSERT INTO entries (owner_id, scheme, authority, pathname)
18
+ SELECT $owner_id, $scheme, $authority, $pathname
19
+ FROM workers WHERE id = $owner_id AND workspace_id = $workspace_id
16
20
  RETURNING id;
17
21
 
18
22
  -- PREP: crud_insert_workspace_entry_with_attributes
19
23
  -- Core-private metadata is present at identity creation, before any channel
20
24
  -- makes the entry visible to a reader.
21
- INSERT INTO entries (workspace_id, owner_id, scheme, pathname, attributes)
22
- VALUES ($workspace_id, $owner_id, $scheme, $pathname, $attributes)
25
+ INSERT INTO entries (owner_id, scheme, authority, pathname, attributes)
26
+ SELECT $owner_id, $scheme, $authority, $pathname, $attributes
27
+ FROM workers WHERE id = $owner_id AND workspace_id = $workspace_id
23
28
  RETURNING id;
24
29
 
25
30
  -- PREP: crud_set_entry_attributes
@@ -31,20 +36,25 @@ UPDATE entries SET attributes = $attributes WHERE id = $entry_id;
31
36
  -- Idempotent bare-membership insert (SPEC {§membership} D4 — git ls-files membership).
32
37
  -- A git-tracked file is a workspace member by virtue of being tracked; the row
33
38
  -- is the membership marker the File read-gate checks and FIND globs by path.
34
- -- Channel-less by design — disk stays the truth (D3). ON CONFLICT no-ops so
35
- -- re-resolving membership each turn never duplicates or churns rows.
36
- INSERT INTO entries (workspace_id, owner_id, scheme, pathname, membership_origin)
37
- VALUES ($workspace_id, $owner_id, $scheme, $pathname, $membership_origin)
38
- ON CONFLICT (workspace_id, owner_id, scheme, pathname)
39
- DO NOTHING
39
+ -- Channel-less by design — disk stays the truth (D3). Re-resolution updates
40
+ -- only provenance so an explicit pick can supersede Git (including outside-root
41
+ -- write authority) and removing that pick can return ownership to Git.
42
+ INSERT INTO entries (owner_id, scheme, authority, pathname, membership_origin)
43
+ SELECT $owner_id, $scheme, $authority, $pathname, $membership_origin
44
+ FROM workers WHERE id = $owner_id AND workspace_id = $workspace_id
45
+ ON CONFLICT (owner_id, scheme, authority, pathname)
46
+ DO UPDATE SET membership_origin = excluded.membership_origin
40
47
  RETURNING id;
41
48
 
42
49
  -- PREP: crud_get_member_sig
43
50
  -- SPEC {§membership-change-gated-sync} — the member's last-synced disk signature
44
51
  -- (mtime:size), read before materializing so an unchanged file short-circuits
45
52
  -- before any content read. File members store scheme='file' ({§entry-identity-no-null}).
46
- SELECT id, synced_sig, membership_origin, attributes FROM entries
47
- WHERE workspace_id = $workspace_id AND owner_id = $owner_id AND scheme = $scheme AND pathname = $pathname;
53
+ SELECT e.id, e.synced_sig, e.membership_origin, e.attributes
54
+ FROM entries e
55
+ JOIN workers owner ON owner.id = e.owner_id
56
+ WHERE owner.workspace_id = $workspace_id AND e.owner_id = $owner_id
57
+ AND e.scheme = $scheme AND e.authority = $authority AND e.pathname = $pathname;
48
58
 
49
59
  -- PREP: crud_set_synced_sig
50
60
  -- Stamp the disk signature after a member materializes to disk truth; the next
@@ -55,7 +65,7 @@ UPDATE entries SET synced_sig = $synced_sig WHERE id = $entry_id;
55
65
  -- An observed deletion keeps the Git membership marker but removes its stale
56
66
  -- readable/derived representation. `absent` distinguishes that observed state
57
67
  -- from a member that has never been synchronized.
58
- UPDATE entries SET synced_sig = 'absent', deep_hash = NULL WHERE id = $entry_id;
68
+ UPDATE entries SET synced_sig = 'absent' WHERE id = $entry_id;
59
69
 
60
70
  -- PREP: crud_delete_channels
61
71
  DELETE FROM entry_channels WHERE entry_id = $entry_id;
@@ -69,31 +79,74 @@ RETURNING name;
69
79
  INSERT INTO entry_channels (entry_id, name, content, mimetype, weight, content_hash, state, producer_result)
70
80
  VALUES ($entry_id, $name, $content, $mimetype, $weight, $content_hash, $state, $producer_result);
71
81
 
82
+ -- PREP: crud_attach_channel_derivation
83
+ -- Attach only while the channel still denotes the exact representation that
84
+ -- was derived. A concurrent stream append or replacement leaves it unattached
85
+ -- for the next maintenance pass instead of publishing stale search evidence.
86
+ UPDATE entry_channels
87
+ SET deep_hash = $deep_hash
88
+ WHERE entry_id = $entry_id
89
+ AND name = $channel
90
+ AND content = $content
91
+ AND mimetype = $mimetype
92
+ AND EXISTS (
93
+ SELECT 1
94
+ FROM entries e
95
+ WHERE e.id = entry_channels.entry_id
96
+ AND e.scheme = $scheme
97
+ AND e.authority = $authority
98
+ AND e.pathname = $pathname
99
+ );
100
+
72
101
  -- PREP: crud_delete_entry
73
102
  DELETE FROM entries WHERE id = $entry_id;
74
103
 
75
104
  -- PREP: crud_list_reconcilable_members
76
- -- Overlay-owned file members of a workspace (membership_origin IN git, constraint).
105
+ -- Every file member is overlay-owned (membership_origin IN git, constraint).
77
106
  -- The reconciliation set: resolveGitMembership compares this against the desired
78
107
  -- ((git ls-files ∪ add) − ignore) and un-registers the difference, so entries ==
79
- -- members. Model-created ('client') members are excluded — not git's to reclaim.
80
- SELECT id, pathname FROM entries
81
- WHERE workspace_id = $workspace_id AND scheme = 'file' AND membership_origin IN ('git', 'constraint');
108
+ -- members.
109
+ SELECT e.id, e.pathname
110
+ FROM entries e
111
+ JOIN workers owner ON owner.id = e.owner_id
112
+ WHERE owner.workspace_id = $workspace_id AND e.scheme = 'file' AND e.authority = ''
113
+ AND e.membership_origin IN ('git', 'constraint');
82
114
 
83
115
  -- PREP: crud_insert_workspace_constraint
84
- -- SPEC {§membership} constraint overlay — the client supersede. Idempotent per
85
- -- (workspace, effect, glob); effect ∈ {add, ignore, read-only}.
86
- INSERT OR IGNORE INTO workspace_constraints (workspace_id, effect, glob)
87
- VALUES ($workspace_id, $effect, $glob);
116
+ -- SPEC {§membership} explicit constraint overlay. Reasserting an exact generated
117
+ -- pick promotes it to durable explicit policy; explicit provenance never demotes.
118
+ INSERT INTO workspace_constraints (workspace_id, effect, glob, source)
119
+ VALUES ($workspace_id, $effect, $glob, 'explicit')
120
+ ON CONFLICT (workspace_id, effect, glob)
121
+ DO UPDATE SET source = 'explicit';
122
+
123
+ -- PREP: crud_insert_generated_workspace_constraint
124
+ -- {§fs-create-generated-pick}: automatic incorporation uses the same ordinary
125
+ -- constraint row. An existing explicit row wins without mutation.
126
+ INSERT INTO workspace_constraints (workspace_id, effect, glob, source)
127
+ VALUES ($workspace_id, 'pick', $glob, 'create')
128
+ ON CONFLICT (workspace_id, effect, glob)
129
+ DO NOTHING;
88
130
 
89
131
  -- PREP: crud_list_workspace_constraints
90
- SELECT effect, glob FROM workspace_constraints WHERE workspace_id = $workspace_id;
132
+ SELECT effect, glob, source FROM workspace_constraints
133
+ WHERE workspace_id = $workspace_id
134
+ ORDER BY effect, glob;
91
135
 
92
136
  -- PREP: crud_delete_workspace_constraint
93
137
  -- "remove" a constraint — deleting the row, not a fourth effect.
94
138
  DELETE FROM workspace_constraints WHERE workspace_id = $workspace_id AND effect = $effect AND glob = $glob;
95
139
 
140
+ -- PREP: crud_delete_generated_workspace_constraint
141
+ -- Automatic lifecycle may remove only its own exact pick, never explicit policy.
142
+ DELETE FROM workspace_constraints
143
+ WHERE workspace_id = $workspace_id AND effect = 'pick' AND glob = $glob AND source = 'create';
144
+
96
145
  -- PREP: crud_stamp_origin
97
146
  -- {§fs-write-surface} — the accept stamps the grantor the blind-write closure proved;
98
147
  -- set-if-null so a reconcile-stamped row is never overwritten.
99
148
  UPDATE entries SET membership_origin = $membership_origin WHERE id = $entry_id AND membership_origin IS NULL;
149
+
150
+ -- PREP: crud_set_origin
151
+ -- Accept-time incorporation may fall back from Git staging to an exact pick.
152
+ UPDATE entries SET membership_origin = $membership_origin WHERE id = $entry_id;
@@ -1,4 +1,4 @@
1
- import { type FindStatement, type RangeExtent } from "@plurnk/plurnk-contracts";
1
+ import { type FindStatement, type RangeExtent, type TextRegion } from "@plurnk/plurnk-contracts";
2
2
  import type { PlurnkSchemeContext, SchemeManifest } from "../core/scheme-types.ts";
3
3
  import { type CatalogChannel, type CatalogDefaultChannel } from "./_entry-manifest.ts";
4
4
  import { type SchemeResultBase } from "../core/results.ts";
@@ -19,8 +19,9 @@ export type CatalogScope = {
19
19
  export type CatalogMatch = [
20
20
  CatalogDefaultChannel & {
21
21
  items?: never;
22
- locator?: never;
23
- region?: never;
22
+ locator?: string;
23
+ region?: TextRegion;
24
+ matchLocationCount?: number;
24
25
  },
25
26
  ...CatalogChannel[]
26
27
  ];
@@ -52,14 +53,16 @@ export interface FindProjectionResource {
52
53
  readonly match: Match;
53
54
  }
54
55
  interface FindAddress {
55
- readonly ownerId?: number;
56
+ readonly ownerId: number;
57
+ readonly authority?: string;
56
58
  readonly pathname?: string;
59
+ readonly visible?: (pathname: string) => boolean | Promise<boolean>;
57
60
  }
58
61
  export declare const emptyFindFields: () => FindFields;
59
62
  export declare const projectFindResult: (statement: FindStatement, scope: PathScope, resources: readonly FindProjectionResource[], scopes?: readonly CatalogScope[]) => FindResult;
60
63
  export default class EntryFind {
61
64
  #private;
62
- static findWorkspaceEntries(statement: FindStatement, ctx: PlurnkSchemeContext, manifest: SchemeManifest, address?: FindAddress): Promise<FindResult>;
65
+ static findWorkspaceEntries(statement: FindStatement, ctx: PlurnkSchemeContext, manifest: SchemeManifest, address: FindAddress): Promise<FindResult>;
63
66
  }
64
67
  export {};
65
68
  //# sourceMappingURL=_entry-find.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"_entry-find.d.ts","sourceRoot":"","sources":["../../src/schemes/_entry-find.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_entry-find.d.ts","sourceRoot":"","sources":["../../src/schemes/_entry-find.ts"],"names":[],"mappings":"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"}
@@ -6,19 +6,18 @@
6
6
  // FIND slot semantics (contracts SPEC §4/§7):
7
7
  // target — required scope (path or glob); selects which entries are candidates
8
8
  // body — matcher (glob/regex/jsonpath/xpath/~semantic/@graph). A content matcher
9
- // runs against the entry's default-channel CONTENT (Matcher.matchAgainstContent
9
+ // runs against the addressed channel's CONTENT (Matcher.matchAgainstContent
10
10
  // → the mimetypes plugin) and INCLUDES/EXCLUDES the entry — e.g.
11
11
  // log FIND over `log:///**/error` with `/timeout/i` keeps matching rows.
12
12
  // signal — classifies the durable FIND log item; never filters resources
13
13
  // <L> — result pagination: resource or match-location positions N..M
14
- import { DEFAULT_RETRIEVAL_LIMIT, renderJsonResult } from "@plurnk/plurnk-contracts";
14
+ import { DEFAULT_RETRIEVAL_LIMIT, PathSyntax, renderJsonResult } from "@plurnk/plurnk-contracts";
15
15
  import { LineMarkerOps } from "../content/index.js";
16
16
  import Matcher from "../content/matcher.js";
17
- import { entryPathnameOf } from "../core/plurnk-uri.js";
17
+ import { entryCoordinateOf } from "../core/plurnk-uri.js";
18
18
  import EntryGraph from "./_entry-graph.js";
19
19
  import EntryCrud from "./_entry-crud.js";
20
20
  import EntryManifest from "./_entry-manifest.js";
21
- import Owner from "../core/Owner.js";
22
21
  import EntrySemantic from "./_entry-semantic.js";
23
22
  import Results from "../core/results.js";
24
23
  import { resolveSearchCandidates } from "./_search-candidate.js";
@@ -90,12 +89,21 @@ export const projectFindResult = (statement, scope, resources, scopes = []) => {
90
89
  }
91
90
  else {
92
91
  const resourceItems = [
93
- ...resources.map(({ item, match }) => statement.body === null
94
- ? item
95
- : [
96
- { ...item[0], matchLocationCount: uniqueMatchLocations(match.matches).length },
92
+ ...resources.map(({ item, match }) => {
93
+ if (statement.body === null)
94
+ return item;
95
+ const locations = uniqueMatchLocations(match.matches);
96
+ const single = locations.length === 1 ? locations[0] : undefined;
97
+ return [
98
+ {
99
+ ...item[0],
100
+ matchLocationCount: locations.length,
101
+ ...(single?.locator === undefined ? {} : { locator: single.locator }),
102
+ ...(single?.region === undefined ? {} : { region: single.region }),
103
+ },
97
104
  ...item.slice(1),
98
- ]),
105
+ ];
106
+ }),
99
107
  ...scopes.map((item) => [item]),
100
108
  ];
101
109
  if (scopes.length > 0) {
@@ -140,19 +148,20 @@ export const projectFindResult = (statement, scope, resources, scopes = []) => {
140
148
  };
141
149
  };
142
150
  export default class EntryFind {
143
- static #scopePathnameOf(statement) {
151
+ static #targetPath(scheme, authority, pathname, fragment) {
152
+ const path = EntryManifest.toPath(scheme, authority, pathname);
153
+ return fragment === null ? path : `${path}#${PathSyntax.escapeTarget(fragment)}`;
154
+ }
155
+ static #scopeCoordinateOf(statement, manifest) {
144
156
  const path = statement.target;
145
157
  if (path === null)
146
158
  return null;
147
- // FIND addresses the same canonical entry identity as READ and direct
148
- // CRUD. Both namespace authorities and network hosts are part of that
149
- // identity and must survive the exact-entry lookup.
150
- return entryPathnameOf(path);
159
+ return entryCoordinateOf(path, manifest.authority ?? "namespace");
151
160
  }
152
161
  // Resolve a FIND to its matched workspace resources — entry-level, unique, in result
153
162
  // order (rank for ~semantic, candidate order otherwise). Candidate selection (scope +
154
163
  // scope) runs in SQL (find_workspace_entry_candidates); a content matcher then runs against
155
- // each candidate's default-channel CONTENT (Matcher.matchAgainstContent → the mimetypes
164
+ // each candidate's addressed-channel CONTENT (Matcher.matchAgainstContent → the mimetypes
156
165
  // plugin) and INCLUDES/EXCLUDES the entry - 200 keeps it, 204/203 drop it, and a
157
166
  // 4xx matcher failure ends the whole operation. Path-scoping stays in the (target). Match
158
167
  // locations remain grouped by resource internally until the target-shaped public projection.
@@ -168,10 +177,53 @@ export default class EntryFind {
168
177
  },
169
178
  };
170
179
  }
180
+ const fragment = statement.target.kind === "url" ? statement.target.fragment : null;
181
+ const channel = fragment ?? manifest.defaultChannel;
182
+ const availableChannels = [...new Set([
183
+ manifest.defaultChannel,
184
+ ...Object.keys(manifest.channels),
185
+ ])].filter((candidate) => candidate.length > 0);
186
+ if (channel.length === 0) {
187
+ return {
188
+ status: 400,
189
+ matches: [],
190
+ code: "channel-required",
191
+ error: `The '${manifest.name}' scheme has no default channel.`,
192
+ extensions: {
193
+ scheme: manifest.name,
194
+ recovery: "Address a named channel with a URI fragment.",
195
+ retryable: false,
196
+ },
197
+ };
198
+ }
199
+ if (fragment !== null
200
+ && fragment !== manifest.defaultChannel
201
+ && !Object.hasOwn(manifest.channels, fragment)) {
202
+ return {
203
+ status: 400,
204
+ matches: [],
205
+ code: "channel-not-found",
206
+ error: `Channel #${fragment} is not declared by the '${manifest.name}' scheme.`,
207
+ extensions: {
208
+ requestedChannel: fragment,
209
+ availableChannels,
210
+ ...(availableChannels.length === 0
211
+ ? {}
212
+ : {
213
+ recovery: `Use one of the available channels: ${availableChannels
214
+ .map((candidate) => `#${candidate}`)
215
+ .join(", ")}.`,
216
+ }),
217
+ retryable: false,
218
+ },
219
+ };
220
+ }
171
221
  // Scope by the manifest's persisted entries.scheme (storedScheme; absent →
172
222
  // name). File persists under the reserved 'file' scheme ({§entry-identity-no-null}).
173
223
  const scheme = EntryCrud.identityScheme(manifest);
174
- const scopePathname = address.pathname ?? EntryFind.#scopePathnameOf(statement);
224
+ const authoredCoordinate = EntryFind.#scopeCoordinateOf(statement, manifest);
225
+ const authority = address.authority ?? authoredCoordinate?.authority ?? "";
226
+ const scopePathname = address.pathname ?? authoredCoordinate?.pathname ?? null;
175
227
  const scope = scopePathname === null
176
228
  ? null
177
229
  : pathScope(scopePathname, manifest.folderScopes === true);
@@ -180,15 +232,17 @@ export default class EntryFind {
180
232
  if (scope?.kind === "exact" && scope.pathname.length > 0) {
181
233
  const exact = await ctx.db.crud_find_workspace_entry.get({
182
234
  workspace_id: ctx.workspaceId,
183
- owner_id: address.ownerId ?? await Owner.commonsId(ctx.db, ctx.workspaceId),
184
- scheme, pathname: scope.pathname,
235
+ owner_id: address.ownerId,
236
+ scheme, authority, pathname: scope.pathname,
185
237
  });
186
238
  if (exact === undefined) {
239
+ const target = EntryFind.#targetPath(scheme, authority, scope.pathname, fragment);
187
240
  return {
188
241
  status: 404,
189
242
  matches: [],
190
- error: `No entry exists at ${EntryManifest.toPath(scheme, scope.pathname)}.`,
191
- extensions: { target: EntryManifest.toPath(scheme, scope.pathname) },
243
+ code: "entry-not-found",
244
+ error: `No entry exists at ${target}.`,
245
+ extensions: { target },
192
246
  };
193
247
  }
194
248
  }
@@ -200,9 +254,10 @@ export default class EntryFind {
200
254
  const semantic = statement.body?.dialect === "semantic";
201
255
  let candidates = await db[semantic ? "find_workspace_entry_candidate_ids" : "find_workspace_entry_candidates"].all({
202
256
  workspace_id: workspaceId,
203
- owner_id: address.ownerId ?? await Owner.commonsId(db, workspaceId),
257
+ owner_id: address.ownerId,
204
258
  scheme,
205
- ...(semantic ? {} : { channel: manifest.defaultChannel }),
259
+ authority,
260
+ channel,
206
261
  scope_prefix: scope?.candidatePrefix ?? null,
207
262
  });
208
263
  const candidatePathnames = statement.body === null && scope?.kind === "glob" && scope.shallowPrefix !== null
@@ -225,6 +280,22 @@ export default class EntryFind {
225
280
  };
226
281
  }
227
282
  }
283
+ if (address.visible !== undefined) {
284
+ candidates = (await Promise.all(candidates.map(async (candidate) => ({
285
+ candidate,
286
+ visible: await address.visible(candidate.pathname),
287
+ })))).filter(({ visible }) => visible).map(({ candidate }) => candidate);
288
+ }
289
+ if (scope?.kind === "exact" && candidates.length === 0) {
290
+ const target = EntryFind.#targetPath(scheme, authority, scope.pathname, fragment);
291
+ return {
292
+ status: 404,
293
+ matches: [],
294
+ code: "entry-not-found",
295
+ error: `No entry exists at ${target}.`,
296
+ extensions: { target },
297
+ };
298
+ }
228
299
  // Every dialect resolves to one selection per resource. Content
229
300
  // dialects already carry honest match evidence; relation dialects map
230
301
  // their indexed source spans into readable TextRegions below.
@@ -280,7 +351,7 @@ export default class EntryFind {
280
351
  matches = await EntryFind.#addTextRegions(ranked.results.map((x) => ({
281
352
  key: x.key,
282
353
  span: { lineStart: x.lineStart, lineEnd: x.lineEnd },
283
- })), ctx, manifest, address.ownerId);
354
+ })), ctx, manifest, channel, authority, address.ownerId);
284
355
  }
285
356
  else if (statement.body === null) {
286
357
  matches = candidates.map((c) => ({ pathname: c.pathname, matches: [] }));
@@ -335,7 +406,7 @@ export default class EntryFind {
335
406
  matches = await EntryFind.#addTextRegions(graph.matches.map((m) => ({
336
407
  key: m.key,
337
408
  span: { lineStart: m.lineStart, lineEnd: m.lineEnd },
338
- })), ctx, manifest, address.ownerId);
409
+ })), ctx, manifest, channel, authority, address.ownerId);
339
410
  }
340
411
  else {
341
412
  const { mimetypes } = ctx;
@@ -354,36 +425,42 @@ export default class EntryFind {
354
425
  matches: [],
355
426
  problem: r.problem,
356
427
  };
357
- matches = r.matches.map((match) => ({ pathname: match.key, matches: match.matches }));
428
+ matches = r.matches.map((match) => ({
429
+ pathname: match.key,
430
+ matches: match.matches.map((evidence) => ({ channel, ...evidence })),
431
+ }));
358
432
  }
359
- return { status: 200, matches, ...(scope === null ? {} : { scope }), ...(candidatePathnames === undefined ? {} : { candidatePathnames }) };
433
+ return { status: 200, matches, channel, ...(scope === null ? {} : { scope }), ...(candidatePathnames === undefined ? {} : { candidatePathnames }) };
360
434
  }
361
- static async #addTextRegions(matches, ctx, manifest, explicitOwnerId) {
435
+ static async #addTextRegions(matches, ctx, manifest, channel, authority, ownerId) {
362
436
  if (matches.every(({ span }) => span === null)) {
363
437
  return [...new Set(matches.map(({ key }) => key))].map((pathname) => ({ pathname, matches: [] }));
364
438
  }
365
439
  const scheme = EntryCrud.identityScheme(manifest);
366
- const ownerId = explicitOwnerId ?? await Owner.commonsId(ctx.db, ctx.workspaceId);
367
440
  const candidates = [];
368
441
  for (const pathname of new Set(matches.filter(({ span }) => span !== null).map(({ key }) => key))) {
369
442
  const row = await ctx.db.ops_read_channel.get({
370
443
  workspace_id: ctx.workspaceId,
371
444
  owner_id: ownerId,
372
445
  scheme,
446
+ authority,
373
447
  pathname,
374
- channel: manifest.defaultChannel,
448
+ channel,
375
449
  });
376
450
  if (row === undefined)
377
- throw new Error(`EntryFind.#addTextRegions: matched entry ${pathname} has no default channel`);
451
+ throw new Error(`EntryFind.#addTextRegions: matched entry ${pathname} has no selected channel ${channel}`);
378
452
  candidates.push({ key: pathname, ...row });
379
453
  }
380
454
  const resolved = Matcher.addTextRegions(matches, candidates);
381
- return resolved.map(({ key, matches: ranges }) => ({ pathname: key, matches: ranges }));
455
+ // {§find-result-projection} — every addressable finding names the channel
456
+ // it was located in, so line coordinates cannot be mis-attributed across
457
+ // channels of the same resource.
458
+ return resolved.map(({ key, matches: ranges }) => ({ pathname: key, matches: ranges.map((range) => ({ channel, ...range })) }));
382
459
  }
383
460
  // FIND result = the scheme's default-first channel groups, filtered to the matched
384
461
  // entries and kept in match order. FIND is the filtered, navigable slice of that
385
462
  // catalog, rendered as a JSON array (application/json). {§find-result-projection}
386
- static async findWorkspaceEntries(statement, ctx, manifest, address = {}) {
463
+ static async findWorkspaceEntries(statement, ctx, manifest, address) {
387
464
  const match = await EntryFind.#matchPathnames(statement, ctx, manifest, address);
388
465
  const empty = emptyFindFields();
389
466
  if (match.status !== 200) {
@@ -397,18 +474,20 @@ export default class EntryFind {
397
474
  if (match.error === undefined) {
398
475
  throw new Error(`EntryFind selection failed with status ${match.status} without Problem Details or a diagnostic.`);
399
476
  }
400
- return Results.failure(`scheme:${manifest.name}`, match.status === 404 ? "entry-not-found" : match.status === 416 ? "range-not-satisfiable" : "find-failed", match.status, match.error, empty, match.extensions);
477
+ return Results.failure(`scheme:${manifest.name}`, match.code ?? (match.status === 404 ? "entry-not-found" : match.status === 416 ? "range-not-satisfiable" : "find-failed"), match.status, match.error, empty, match.extensions);
401
478
  }
402
479
  const scheme = EntryCrud.identityScheme(manifest);
480
+ const authoredCoordinate = EntryFind.#scopeCoordinateOf(statement, manifest);
481
+ const authority = address.authority ?? authoredCoordinate?.authority ?? "";
403
482
  // The catalog group's default channel carries its bare addressable path;
404
483
  // align each selected resource through the same EntryManifest.toPath the catalog
405
484
  // uses. Resource order is preserved (rank for ~semantic).
406
485
  // {§entry-owner} — the alignment draws from the SAME owner the candidates matched, so a
407
486
  // match never pairs with a coordinate-twin sibling's catalog metadata.
408
- const byPath = new Map((await EntryManifest.catalogRowsFor(ctx, scheme, address.ownerId ?? await Owner.commonsId(ctx.db, ctx.workspaceId))).map((r) => [r[0].path, r]));
487
+ const byPath = new Map((await EntryManifest.catalogRowsFor(ctx, scheme, address.ownerId, authority)).map((r) => [r[0].path, r]));
409
488
  const resources = [];
410
489
  for (const m of match.matches) {
411
- const row = byPath.get(EntryManifest.toPath(scheme, m.pathname));
490
+ const row = byPath.get(EntryManifest.toPath(scheme, authority, m.pathname));
412
491
  if (row === undefined)
413
492
  continue;
414
493
  resources.push({ item: row, match: m });
@@ -423,14 +502,14 @@ export default class EntryFind {
423
502
  let weight = 0;
424
503
  let items = 0;
425
504
  for (const pathname of folder.pathnames) {
426
- const row = byPath.get(EntryManifest.toPath(scheme, pathname));
505
+ const row = byPath.get(EntryManifest.toPath(scheme, authority, pathname));
427
506
  if (row === undefined)
428
507
  continue;
429
508
  items++;
430
509
  weight += row.reduce((sum, channel) => sum + channel.weight, 0);
431
510
  }
432
511
  if (items > 0) {
433
- scopes.push({ path: EntryManifest.toPath(scheme, folder.selector), items, weight });
512
+ scopes.push({ path: EntryManifest.toPath(scheme, authority, folder.selector), items, weight });
434
513
  }
435
514
  }
436
515
  }
@@ -440,13 +519,15 @@ export default class EntryFind {
440
519
  if (address.pathname === undefined)
441
520
  return projected;
442
521
  // Exact FIND consumes the same selected canonical producer as exact
443
- // READ. Query projection remains core-owned, while the durable default-
522
+ // READ. Query projection remains core-owned, while the durable selected-
444
523
  // channel outcome survives cold and warm acquisition identically.
445
- const stored = await EntryCrud.readEntry(address.pathname, ctx, scheme, address.ownerId);
524
+ const stored = await EntryCrud.readEntry({ authority, pathname: address.pathname }, ctx, scheme, address.ownerId);
446
525
  if (stored.status !== 200 || stored.entry === null) {
447
526
  throw new Error(`EntryFind projected exact entry ${address.pathname} but could not read its canonical representation.`);
448
527
  }
449
- const producerResult = stored.entry.channels[manifest.defaultChannel]?.producerResult;
528
+ if (match.channel === undefined)
529
+ throw new Error("FIND selection succeeded without a selected channel");
530
+ const producerResult = stored.entry.channels[match.channel]?.producerResult;
450
531
  return producerResult === undefined
451
532
  ? projected
452
533
  : Results.assert({
@@ -1 +1 @@
1
- {"version":3,"file":"_entry-find.js","sourceRoot":"","sources":["../../src/schemes/_entry-find.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_entry-find.js","sourceRoot":"","sources":["../../src/schemes/_entry-find.ts"],"names":[],"mappings":"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"}