@plurnk/plurnk-service 1.16.4 → 1.17.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 (636) hide show
  1. package/.env.defaults +122 -246
  2. package/INSTALL.md +84 -138
  3. package/README.md +9 -5
  4. package/SPEC.md +1710 -1015
  5. package/dist/Paths.d.ts +2 -0
  6. package/dist/Paths.d.ts.map +1 -1
  7. package/dist/Paths.js +2 -0
  8. package/dist/Paths.js.map +1 -1
  9. package/dist/build-info.d.ts.map +1 -1
  10. package/dist/build-info.js +7 -1
  11. package/dist/build-info.js.map +1 -1
  12. package/dist/build-info.json +1 -1
  13. package/dist/content/body-preview.d.ts +8 -0
  14. package/dist/content/body-preview.d.ts.map +1 -0
  15. package/dist/content/body-preview.js +39 -0
  16. package/dist/content/body-preview.js.map +1 -0
  17. package/dist/content/byte-view.d.ts +1 -4
  18. package/dist/content/byte-view.d.ts.map +1 -1
  19. package/dist/content/byte-view.js.map +1 -1
  20. package/dist/content/edit-collision.d.ts.map +1 -1
  21. package/dist/content/edit-collision.js +3 -4
  22. package/dist/content/edit-collision.js.map +1 -1
  23. package/dist/content/line-anchors.d.ts +2 -2
  24. package/dist/content/line-anchors.d.ts.map +1 -1
  25. package/dist/content/line-anchors.js +4 -3
  26. package/dist/content/line-anchors.js.map +1 -1
  27. package/dist/content/line-selection.d.ts +9 -0
  28. package/dist/content/line-selection.d.ts.map +1 -0
  29. package/dist/content/line-selection.js +29 -0
  30. package/dist/content/line-selection.js.map +1 -0
  31. package/dist/content/matcher.d.ts +0 -1
  32. package/dist/content/matcher.d.ts.map +1 -1
  33. package/dist/content/matcher.js +2 -3
  34. package/dist/content/matcher.js.map +1 -1
  35. package/dist/content/pattern-edits.d.ts +39 -0
  36. package/dist/content/pattern-edits.d.ts.map +1 -0
  37. package/dist/content/pattern-edits.js +121 -0
  38. package/dist/content/pattern-edits.js.map +1 -0
  39. package/dist/content/read-projector.d.ts +18 -9
  40. package/dist/content/read-projector.d.ts.map +1 -1
  41. package/dist/content/read-projector.js +132 -35
  42. package/dist/content/read-projector.js.map +1 -1
  43. package/dist/content/read-resolve.d.ts +3 -1
  44. package/dist/content/read-resolve.d.ts.map +1 -1
  45. package/dist/content/read-resolve.js +39 -7
  46. package/dist/content/read-resolve.js.map +1 -1
  47. package/dist/core/AdmittedTurnExecutor.d.ts +3 -5
  48. package/dist/core/AdmittedTurnExecutor.d.ts.map +1 -1
  49. package/dist/core/AdmittedTurnExecutor.js +91 -83
  50. package/dist/core/AdmittedTurnExecutor.js.map +1 -1
  51. package/dist/core/BareBatchRunner.d.ts +6 -1
  52. package/dist/core/BareBatchRunner.d.ts.map +1 -1
  53. package/dist/core/BareBatchRunner.js +20 -5
  54. package/dist/core/BareBatchRunner.js.map +1 -1
  55. package/dist/core/BudgetReadout.d.ts +2 -3
  56. package/dist/core/BudgetReadout.d.ts.map +1 -1
  57. package/dist/core/BudgetReadout.js +23 -32
  58. package/dist/core/BudgetReadout.js.map +1 -1
  59. package/dist/core/CapabilityPolicies.d.ts +3 -8
  60. package/dist/core/CapabilityPolicies.d.ts.map +1 -1
  61. package/dist/core/CapabilityPolicies.js +2 -28
  62. package/dist/core/CapabilityPolicies.js.map +1 -1
  63. package/dist/core/CapabilityResolver.d.ts +10 -10
  64. package/dist/core/CapabilityResolver.d.ts.map +1 -1
  65. package/dist/core/CapabilityResolver.js +87 -65
  66. package/dist/core/CapabilityResolver.js.map +1 -1
  67. package/dist/core/ChannelWrite.d.ts +14 -11
  68. package/dist/core/ChannelWrite.d.ts.map +1 -1
  69. package/dist/core/ChannelWrite.js +11 -12
  70. package/dist/core/ChannelWrite.js.map +1 -1
  71. package/dist/core/ChannelWrite.sql +99 -9
  72. package/dist/core/ClientInteractions.d.ts.map +1 -1
  73. package/dist/core/ClientInteractions.js +7 -0
  74. package/dist/core/ClientInteractions.js.map +1 -1
  75. package/dist/core/CoreSchemeServices.d.ts +13 -10
  76. package/dist/core/CoreSchemeServices.d.ts.map +1 -1
  77. package/dist/core/CoreSchemeServices.js +13 -5
  78. package/dist/core/CoreSchemeServices.js.map +1 -1
  79. package/dist/core/DataStatementRunner.d.ts +2 -2
  80. package/dist/core/DataStatementRunner.d.ts.map +1 -1
  81. package/dist/core/DataStatementRunner.js +36 -39
  82. package/dist/core/DataStatementRunner.js.map +1 -1
  83. package/dist/core/Dispatcher.d.ts +19 -26
  84. package/dist/core/Dispatcher.d.ts.map +1 -1
  85. package/dist/core/Dispatcher.js +369 -219
  86. package/dist/core/Dispatcher.js.map +1 -1
  87. package/dist/core/Dispatcher.sql +66 -0
  88. package/dist/core/DurableStatement.d.ts.map +1 -1
  89. package/dist/core/DurableStatement.js +2 -1
  90. package/dist/core/DurableStatement.js.map +1 -1
  91. package/dist/core/EditMutations.d.ts +14 -18
  92. package/dist/core/EditMutations.d.ts.map +1 -1
  93. package/dist/core/EditMutations.js +211 -280
  94. package/dist/core/EditMutations.js.map +1 -1
  95. package/dist/core/EditMutations.sql +15 -0
  96. package/dist/core/EditSequence.d.ts +13 -0
  97. package/dist/core/EditSequence.d.ts.map +1 -0
  98. package/dist/core/EditSequence.js +73 -0
  99. package/dist/core/EditSequence.js.map +1 -0
  100. package/dist/core/Engine.d.ts +17 -23
  101. package/dist/core/Engine.d.ts.map +1 -1
  102. package/dist/core/Engine.js +73 -163
  103. package/dist/core/Engine.js.map +1 -1
  104. package/dist/core/Engine.sql +0 -724
  105. package/dist/core/EntryAddressBinding.d.ts +7 -17
  106. package/dist/core/EntryAddressBinding.d.ts.map +1 -1
  107. package/dist/core/EntryAddressBinding.js +12 -72
  108. package/dist/core/EntryAddressBinding.js.map +1 -1
  109. package/dist/core/ExecutionOutputs.d.ts +9 -0
  110. package/dist/core/ExecutionOutputs.d.ts.map +1 -0
  111. package/dist/core/ExecutionOutputs.js +36 -0
  112. package/dist/core/ExecutionOutputs.js.map +1 -0
  113. package/dist/core/ExecutionOutputs.sql +13 -0
  114. package/dist/core/ExecutorRegistry.d.ts +7 -5
  115. package/dist/core/ExecutorRegistry.d.ts.map +1 -1
  116. package/dist/core/ExecutorRegistry.js +36 -32
  117. package/dist/core/ExecutorRegistry.js.map +1 -1
  118. package/dist/core/HostPaths.d.ts +1 -0
  119. package/dist/core/HostPaths.d.ts.map +1 -1
  120. package/dist/core/HostPaths.js +4 -0
  121. package/dist/core/HostPaths.js.map +1 -1
  122. package/dist/core/InferenceCall.d.ts.map +1 -1
  123. package/dist/core/InferenceCall.js +1 -2
  124. package/dist/core/InferenceCall.js.map +1 -1
  125. package/dist/core/InferenceCall.sql +29 -0
  126. package/dist/core/KillHandler.d.ts +1 -0
  127. package/dist/core/KillHandler.d.ts.map +1 -1
  128. package/dist/core/KillHandler.js +24 -21
  129. package/dist/core/KillHandler.js.map +1 -1
  130. package/dist/core/LogBody.d.ts +8 -1
  131. package/dist/core/LogBody.d.ts.map +1 -1
  132. package/dist/core/LogBody.js +42 -11
  133. package/dist/core/LogBody.js.map +1 -1
  134. package/dist/core/LogEntryProjection.d.ts +1 -0
  135. package/dist/core/LogEntryProjection.d.ts.map +1 -1
  136. package/dist/core/LogEntryProjection.js +18 -10
  137. package/dist/core/LogEntryProjection.js.map +1 -1
  138. package/dist/core/LogVisibility.d.ts +1 -0
  139. package/dist/core/LogVisibility.d.ts.map +1 -1
  140. package/dist/core/LogVisibility.js +3 -0
  141. package/dist/core/LogVisibility.js.map +1 -1
  142. package/dist/core/LogWriter.d.ts +2 -3
  143. package/dist/core/LogWriter.d.ts.map +1 -1
  144. package/dist/core/LogWriter.js +25 -32
  145. package/dist/core/LogWriter.js.map +1 -1
  146. package/dist/core/LogWriter.sql +23 -0
  147. package/dist/core/LoopDriver.d.ts +11 -8
  148. package/dist/core/LoopDriver.d.ts.map +1 -1
  149. package/dist/core/LoopDriver.js +163 -189
  150. package/dist/core/LoopDriver.js.map +1 -1
  151. package/dist/core/LoopDriver.sql +11 -0
  152. package/dist/core/LoopLifecycle.d.ts +32 -2
  153. package/dist/core/LoopLifecycle.d.ts.map +1 -1
  154. package/dist/core/LoopLifecycle.js +88 -4
  155. package/dist/core/LoopLifecycle.js.map +1 -1
  156. package/dist/core/LoopLifecycle.sql +145 -28
  157. package/dist/core/LoopPolicyReader.sql +6 -0
  158. package/dist/core/MembershipMaterialization.d.ts.map +1 -1
  159. package/dist/core/MembershipMaterialization.js +6 -28
  160. package/dist/core/MembershipMaterialization.js.map +1 -1
  161. package/dist/core/ModelCall.sql +70 -0
  162. package/dist/core/MutationEffects.d.ts +5 -3
  163. package/dist/core/MutationEffects.d.ts.map +1 -1
  164. package/dist/core/MutationEffects.js +10 -28
  165. package/dist/core/MutationEffects.js.map +1 -1
  166. package/dist/core/NativeContent.d.ts +6 -0
  167. package/dist/core/NativeContent.d.ts.map +1 -0
  168. package/dist/core/NativeContent.js +16 -0
  169. package/dist/core/NativeContent.js.map +1 -0
  170. package/dist/core/NativeContent.sql +6 -0
  171. package/dist/core/NoticeChannel.js +1 -1
  172. package/dist/core/NoticeChannel.js.map +1 -1
  173. package/dist/core/OperatorConfig.js +5 -5
  174. package/dist/core/OperatorConfig.js.map +1 -1
  175. package/dist/core/PacketBuilder.d.ts +8 -5
  176. package/dist/core/PacketBuilder.d.ts.map +1 -1
  177. package/dist/core/PacketBuilder.js +117 -81
  178. package/dist/core/PacketBuilder.js.map +1 -1
  179. package/dist/core/PacketBuilder.sql +146 -0
  180. package/dist/core/PatternSelection.d.ts +28 -0
  181. package/dist/core/PatternSelection.d.ts.map +1 -0
  182. package/dist/core/PatternSelection.js +42 -0
  183. package/dist/core/PatternSelection.js.map +1 -0
  184. package/dist/core/ProblemLog.d.ts.map +1 -1
  185. package/dist/core/ProblemLog.js +0 -1
  186. package/dist/core/ProblemLog.js.map +1 -1
  187. package/dist/core/PromptFrames.d.ts +12 -0
  188. package/dist/core/PromptFrames.d.ts.map +1 -0
  189. package/dist/core/PromptFrames.js +28 -0
  190. package/dist/core/PromptFrames.js.map +1 -0
  191. package/dist/core/ProposalLifecycle.d.ts +0 -1
  192. package/dist/core/ProposalLifecycle.d.ts.map +1 -1
  193. package/dist/core/ProposalLifecycle.js +20 -19
  194. package/dist/core/ProposalLifecycle.js.map +1 -1
  195. package/dist/core/ProposalLifecycle.sql +33 -0
  196. package/dist/core/ProviderInstantiate.d.ts +1 -1
  197. package/dist/core/ProviderInstantiate.d.ts.map +1 -1
  198. package/dist/core/ProviderInstantiate.js +7 -14
  199. package/dist/core/ProviderInstantiate.js.map +1 -1
  200. package/dist/core/ReasoningView.d.ts +9 -0
  201. package/dist/core/ReasoningView.d.ts.map +1 -0
  202. package/dist/core/ReasoningView.js +47 -0
  203. package/dist/core/ReasoningView.js.map +1 -0
  204. package/dist/core/ResourceBindings.d.ts +16 -0
  205. package/dist/core/ResourceBindings.d.ts.map +1 -0
  206. package/dist/core/ResourceBindings.js +45 -0
  207. package/dist/core/ResourceBindings.js.map +1 -0
  208. package/dist/core/ResourceMutations.d.ts +5 -8
  209. package/dist/core/ResourceMutations.d.ts.map +1 -1
  210. package/dist/core/ResourceMutations.js +6 -7
  211. package/dist/core/ResourceMutations.js.map +1 -1
  212. package/dist/core/ResourceSelector.d.ts +2 -2
  213. package/dist/core/ResourceSelector.d.ts.map +1 -1
  214. package/dist/core/ResourceSelector.js +122 -62
  215. package/dist/core/ResourceSelector.js.map +1 -1
  216. package/dist/core/ResourceTransfers.d.ts +4 -2
  217. package/dist/core/ResourceTransfers.d.ts.map +1 -1
  218. package/dist/core/ResourceTransfers.js +95 -26
  219. package/dist/core/ResourceTransfers.js.map +1 -1
  220. package/dist/core/RuntimeWorker.d.ts +5 -0
  221. package/dist/core/RuntimeWorker.d.ts.map +1 -0
  222. package/dist/core/RuntimeWorker.js +10 -0
  223. package/dist/core/RuntimeWorker.js.map +1 -0
  224. package/dist/core/RuntimeWorker.sql +5 -0
  225. package/dist/core/SchemeRegistry.d.ts +12 -16
  226. package/dist/core/SchemeRegistry.d.ts.map +1 -1
  227. package/dist/core/SchemeRegistry.js +58 -84
  228. package/dist/core/SchemeRegistry.js.map +1 -1
  229. package/dist/core/StoredPacket.d.ts +6 -1
  230. package/dist/core/StoredPacket.d.ts.map +1 -1
  231. package/dist/core/StoredPacket.js +30 -10
  232. package/dist/core/StoredPacket.js.map +1 -1
  233. package/dist/core/StrikeRail.d.ts +9 -6
  234. package/dist/core/StrikeRail.d.ts.map +1 -1
  235. package/dist/core/StrikeRail.js +60 -113
  236. package/dist/core/StrikeRail.js.map +1 -1
  237. package/dist/core/StrikeRail.sql +12 -0
  238. package/dist/core/TerminalResult.d.ts +1 -1
  239. package/dist/core/TerminalResult.d.ts.map +1 -1
  240. package/dist/core/TerminalResult.js +2 -2
  241. package/dist/core/TerminalResult.js.map +1 -1
  242. package/dist/core/TokenCalibration.d.ts +1 -6
  243. package/dist/core/TokenCalibration.d.ts.map +1 -1
  244. package/dist/core/TokenCalibration.js +13 -9
  245. package/dist/core/TokenCalibration.js.map +1 -1
  246. package/dist/core/TokenCalibration.sql +15 -0
  247. package/dist/core/ToolInputSchema.d.ts +6 -0
  248. package/dist/core/ToolInputSchema.d.ts.map +1 -0
  249. package/dist/core/ToolInputSchema.js +43 -0
  250. package/dist/core/ToolInputSchema.js.map +1 -0
  251. package/dist/core/ToolResources.d.ts.map +1 -1
  252. package/dist/core/ToolResources.js +76 -52
  253. package/dist/core/ToolResources.js.map +1 -1
  254. package/dist/core/Turn.d.ts +5 -2
  255. package/dist/core/Turn.d.ts.map +1 -1
  256. package/dist/core/Turn.js +13 -11
  257. package/dist/core/Turn.js.map +1 -1
  258. package/dist/core/Turn.sql +25 -39
  259. package/dist/core/{SendBroadcastHandler.d.ts → TurnDispositionHandler.d.ts} +25 -17
  260. package/dist/core/TurnDispositionHandler.d.ts.map +1 -0
  261. package/dist/core/TurnDispositionHandler.js +198 -0
  262. package/dist/core/TurnDispositionHandler.js.map +1 -0
  263. package/dist/core/TurnMaterialization.d.ts +2 -3
  264. package/dist/core/TurnMaterialization.d.ts.map +1 -1
  265. package/dist/core/TurnMaterialization.js +40 -15
  266. package/dist/core/TurnMaterialization.js.map +1 -1
  267. package/dist/core/TurnMaterialization.sql +44 -0
  268. package/dist/core/TurnOps.d.ts.map +1 -1
  269. package/dist/core/TurnOps.js +8 -64
  270. package/dist/core/TurnOps.js.map +1 -1
  271. package/dist/core/TurnRunner.d.ts +9 -12
  272. package/dist/core/TurnRunner.d.ts.map +1 -1
  273. package/dist/core/TurnRunner.js +232 -408
  274. package/dist/core/TurnRunner.js.map +1 -1
  275. package/dist/core/TurnRunner.sql +74 -0
  276. package/dist/core/TurnSources.sql +39 -0
  277. package/dist/core/WorkerControlAddress.d.ts +1 -0
  278. package/dist/core/WorkerControlAddress.d.ts.map +1 -1
  279. package/dist/core/WorkerControlAddress.js +5 -0
  280. package/dist/core/WorkerControlAddress.js.map +1 -1
  281. package/dist/core/WorkerControlHandler.d.ts +1 -3
  282. package/dist/core/WorkerControlHandler.d.ts.map +1 -1
  283. package/dist/core/WorkerControlHandler.js +41 -48
  284. package/dist/core/WorkerControlHandler.js.map +1 -1
  285. package/dist/core/WorkerName.d.ts +8 -6
  286. package/dist/core/WorkerName.d.ts.map +1 -1
  287. package/dist/core/WorkerName.js +33 -24
  288. package/dist/core/WorkerName.js.map +1 -1
  289. package/dist/core/WorkerName.sql +7 -10
  290. package/dist/core/WorkspaceGate.d.ts +1 -1
  291. package/dist/core/WorkspaceGate.d.ts.map +1 -1
  292. package/dist/core/WorkspaceGate.js +29 -6
  293. package/dist/core/WorkspaceGate.js.map +1 -1
  294. package/dist/core/ambient.sql +236 -0
  295. package/dist/core/attachments.d.ts +2 -1
  296. package/dist/core/attachments.d.ts.map +1 -1
  297. package/dist/core/attachments.js +5 -4
  298. package/dist/core/attachments.js.map +1 -1
  299. package/dist/core/caps/CapsResolve.d.ts +2 -3
  300. package/dist/core/caps/CapsResolve.d.ts.map +1 -1
  301. package/dist/core/caps/CapsResolve.js +5 -5
  302. package/dist/core/caps/CapsResolve.js.map +1 -1
  303. package/dist/core/caps/DbChannelCaps.d.ts +1 -1
  304. package/dist/core/caps/DbChannelCaps.d.ts.map +1 -1
  305. package/dist/core/caps/DbChannelCaps.js +4 -6
  306. package/dist/core/caps/DbChannelCaps.js.map +1 -1
  307. package/dist/core/caps/DbEntryCaps.d.ts +2 -1
  308. package/dist/core/caps/DbEntryCaps.d.ts.map +1 -1
  309. package/dist/core/caps/DbEntryCaps.js +11 -17
  310. package/dist/core/caps/DbEntryCaps.js.map +1 -1
  311. package/dist/core/caps/DbNotifyCaps.d.ts +1 -1
  312. package/dist/core/caps/DbNotifyCaps.d.ts.map +1 -1
  313. package/dist/core/caps/DbNotifyCaps.js +3 -5
  314. package/dist/core/caps/DbNotifyCaps.js.map +1 -1
  315. package/dist/core/caps/DbProjectionCaps.js +1 -1
  316. package/dist/core/caps/DbProjectionCaps.js.map +1 -1
  317. package/dist/core/caps/DbSubscriptionCaps.d.ts +1 -1
  318. package/dist/core/caps/DbSubscriptionCaps.d.ts.map +1 -1
  319. package/dist/core/caps/DbSubscriptionCaps.js +5 -7
  320. package/dist/core/caps/DbSubscriptionCaps.js.map +1 -1
  321. package/dist/core/caps/SchemeCtxImpl.d.ts +0 -2
  322. package/dist/core/caps/SchemeCtxImpl.d.ts.map +1 -1
  323. package/dist/core/caps/SchemeCtxImpl.js +4 -20
  324. package/dist/core/caps/SchemeCtxImpl.js.map +1 -1
  325. package/dist/core/env-defaults.d.ts.map +1 -1
  326. package/dist/core/env-defaults.js +4 -2
  327. package/dist/core/env-defaults.js.map +1 -1
  328. package/dist/core/file-materialization.d.ts +4 -1
  329. package/dist/core/file-materialization.d.ts.map +1 -1
  330. package/dist/core/file-materialization.js +14 -0
  331. package/dist/core/file-materialization.js.map +1 -1
  332. package/dist/core/fork.d.ts +1 -6
  333. package/dist/core/fork.d.ts.map +1 -1
  334. package/dist/core/fork.js +9 -153
  335. package/dist/core/fork.js.map +1 -1
  336. package/dist/core/fork.sql +162 -185
  337. package/dist/core/git-env.d.ts +1 -0
  338. package/dist/core/git-env.d.ts.map +1 -1
  339. package/dist/core/git-env.js +39 -2
  340. package/dist/core/git-env.js.map +1 -1
  341. package/dist/core/git-membership.d.ts.map +1 -1
  342. package/dist/core/git-membership.js +64 -48
  343. package/dist/core/git-membership.js.map +1 -1
  344. package/dist/core/git-state.d.ts.map +1 -1
  345. package/dist/core/git-state.js +25 -19
  346. package/dist/core/git-state.js.map +1 -1
  347. package/dist/core/glob_match.d.ts +4 -0
  348. package/dist/core/glob_match.d.ts.map +1 -0
  349. package/dist/core/glob_match.js +7 -0
  350. package/dist/core/glob_match.js.map +1 -0
  351. package/dist/core/maintenance.sql +6 -0
  352. package/dist/core/mutation-types.d.ts +7 -28
  353. package/dist/core/mutation-types.d.ts.map +1 -1
  354. package/dist/core/packet-inject.d.ts.map +1 -1
  355. package/dist/core/packet-inject.js +2 -3
  356. package/dist/core/packet-inject.js.map +1 -1
  357. package/dist/core/packet-wire.d.ts +8 -6
  358. package/dist/core/packet-wire.d.ts.map +1 -1
  359. package/dist/core/packet-wire.js +131 -163
  360. package/dist/core/packet-wire.js.map +1 -1
  361. package/dist/core/plurnk-uri.d.ts +1 -1
  362. package/dist/core/plurnk-uri.d.ts.map +1 -1
  363. package/dist/core/plurnk-uri.js +5 -12
  364. package/dist/core/plurnk-uri.js.map +1 -1
  365. package/dist/core/scheme-types.d.ts +3 -3
  366. package/dist/core/scheme-types.d.ts.map +1 -1
  367. package/dist/core/scheme-types.js.map +1 -1
  368. package/dist/core/sha256.d.ts +4 -0
  369. package/dist/core/sha256.d.ts.map +1 -0
  370. package/dist/core/sha256.js +6 -0
  371. package/dist/core/sha256.js.map +1 -0
  372. package/dist/core/teaching.js +1 -1
  373. package/dist/core/teaching.js.map +1 -1
  374. package/dist/core/turn-scheduler.d.ts.map +1 -1
  375. package/dist/core/turn-scheduler.js +5 -18
  376. package/dist/core/turn-scheduler.js.map +1 -1
  377. package/dist/core/turn-signals.d.ts +0 -6
  378. package/dist/core/turn-signals.d.ts.map +1 -1
  379. package/dist/core/turn-signals.js +1 -7
  380. package/dist/core/turn-signals.js.map +1 -1
  381. package/dist/core/worker-ops.sql +15 -22
  382. package/dist/core/workspace-settings.d.ts.map +1 -1
  383. package/dist/core/workspace-settings.js +18 -2
  384. package/dist/core/workspace-settings.js.map +1 -1
  385. package/dist/core/workspace-settings.sql +6 -0
  386. package/dist/digest/Digest.d.ts.map +1 -1
  387. package/dist/digest/Digest.js +27 -90
  388. package/dist/digest/Digest.js.map +1 -1
  389. package/dist/digest/DigestRender.d.ts.map +1 -1
  390. package/dist/digest/DigestRender.js +14 -54
  391. package/dist/digest/DigestRender.js.map +1 -1
  392. package/dist/digest/digest-rows.d.ts +10 -32
  393. package/dist/digest/digest-rows.d.ts.map +1 -1
  394. package/dist/digest/digest.sql +43 -18
  395. package/dist/schemes/Exec.d.ts +6 -12
  396. package/dist/schemes/Exec.d.ts.map +1 -1
  397. package/dist/schemes/Exec.js +256 -188
  398. package/dist/schemes/Exec.js.map +1 -1
  399. package/dist/schemes/ExecOutputScheme.d.ts +8 -6
  400. package/dist/schemes/ExecOutputScheme.d.ts.map +1 -1
  401. package/dist/schemes/ExecOutputScheme.js +33 -61
  402. package/dist/schemes/ExecOutputScheme.js.map +1 -1
  403. package/dist/schemes/ExecutionInput.d.ts +12 -0
  404. package/dist/schemes/ExecutionInput.d.ts.map +1 -0
  405. package/dist/schemes/ExecutionInput.js +94 -0
  406. package/dist/schemes/ExecutionInput.js.map +1 -0
  407. package/dist/schemes/File.d.ts +5 -2
  408. package/dist/schemes/File.d.ts.map +1 -1
  409. package/dist/schemes/File.js +62 -92
  410. package/dist/schemes/File.js.map +1 -1
  411. package/dist/schemes/Log.d.ts.map +1 -1
  412. package/dist/schemes/Log.js +84 -79
  413. package/dist/schemes/Log.js.map +1 -1
  414. package/dist/schemes/Log.sql +183 -15
  415. package/dist/schemes/Prompt.d.ts.map +1 -1
  416. package/dist/schemes/Prompt.js +3 -12
  417. package/dist/schemes/Prompt.js.map +1 -1
  418. package/dist/schemes/QuestionTool.d.ts +5 -0
  419. package/dist/schemes/QuestionTool.d.ts.map +1 -1
  420. package/dist/schemes/QuestionTool.js +6 -14
  421. package/dist/schemes/QuestionTool.js.map +1 -1
  422. package/dist/schemes/Skill.d.ts +12 -7
  423. package/dist/schemes/Skill.d.ts.map +1 -1
  424. package/dist/schemes/Skill.js +149 -21
  425. package/dist/schemes/Skill.js.map +1 -1
  426. package/dist/schemes/TurnSource.d.ts +12 -0
  427. package/dist/schemes/TurnSource.d.ts.map +1 -0
  428. package/dist/schemes/TurnSource.js +116 -0
  429. package/dist/schemes/TurnSource.js.map +1 -0
  430. package/dist/schemes/Worker.d.ts +3 -3
  431. package/dist/schemes/Worker.d.ts.map +1 -1
  432. package/dist/schemes/Worker.js +61 -208
  433. package/dist/schemes/Worker.js.map +1 -1
  434. package/dist/schemes/_entry-crud.d.ts +12 -15
  435. package/dist/schemes/_entry-crud.d.ts.map +1 -1
  436. package/dist/schemes/_entry-crud.js +63 -63
  437. package/dist/schemes/_entry-crud.js.map +1 -1
  438. package/dist/schemes/_entry-crud.sql +142 -46
  439. package/dist/schemes/_entry-find.d.ts +1 -3
  440. package/dist/schemes/_entry-find.d.ts.map +1 -1
  441. package/dist/schemes/_entry-find.js +111 -112
  442. package/dist/schemes/_entry-find.js.map +1 -1
  443. package/dist/schemes/_entry-find.sql +22 -14
  444. package/dist/schemes/_entry-fts.d.ts +14 -0
  445. package/dist/schemes/_entry-fts.d.ts.map +1 -0
  446. package/dist/schemes/_entry-fts.js +82 -0
  447. package/dist/schemes/_entry-fts.js.map +1 -0
  448. package/dist/schemes/_entry-fts.sql +31 -0
  449. package/dist/schemes/_entry-graph.d.ts.map +1 -1
  450. package/dist/schemes/_entry-graph.js +6 -14
  451. package/dist/schemes/_entry-graph.js.map +1 -1
  452. package/dist/schemes/_entry-graph.sql +29 -44
  453. package/dist/schemes/_entry-manifest.d.ts +2 -1
  454. package/dist/schemes/_entry-manifest.d.ts.map +1 -1
  455. package/dist/schemes/_entry-manifest.js +15 -12
  456. package/dist/schemes/_entry-manifest.js.map +1 -1
  457. package/dist/schemes/_entry-manifest.sql +26 -0
  458. package/dist/schemes/_entry-ops.d.ts +3 -5
  459. package/dist/schemes/_entry-ops.d.ts.map +1 -1
  460. package/dist/schemes/_entry-ops.js +30 -43
  461. package/dist/schemes/_entry-ops.js.map +1 -1
  462. package/dist/schemes/_entry-ops.sql +5 -6
  463. package/dist/schemes/_entry-readable.d.ts +8 -0
  464. package/dist/schemes/_entry-readable.d.ts.map +1 -0
  465. package/dist/schemes/_entry-readable.js +38 -0
  466. package/dist/schemes/_entry-readable.js.map +1 -0
  467. package/dist/schemes/_entry-send.d.ts +1 -1
  468. package/dist/schemes/_entry-send.d.ts.map +1 -1
  469. package/dist/schemes/_entry-send.js +3 -3
  470. package/dist/schemes/_entry-send.js.map +1 -1
  471. package/dist/schemes/_search-index.d.ts +1 -3
  472. package/dist/schemes/_search-index.d.ts.map +1 -1
  473. package/dist/schemes/_search-index.js +79 -110
  474. package/dist/schemes/_search-index.js.map +1 -1
  475. package/dist/schemes/_search-index.sql +30 -0
  476. package/dist/schemes/exec-runtime.d.ts +1 -1
  477. package/dist/schemes/exec-runtime.d.ts.map +1 -1
  478. package/dist/schemes/exec-runtime.js.map +1 -1
  479. package/dist/server/ClientReads.d.ts +2 -2
  480. package/dist/server/ClientReads.d.ts.map +1 -1
  481. package/dist/server/ClientReads.js +5 -8
  482. package/dist/server/ClientReads.js.map +1 -1
  483. package/dist/server/Daemon.d.ts +14 -21
  484. package/dist/server/Daemon.d.ts.map +1 -1
  485. package/dist/server/Daemon.js +135 -156
  486. package/dist/server/Daemon.js.map +1 -1
  487. package/dist/server/DaemonModule.d.ts +23 -21
  488. package/dist/server/DaemonModule.d.ts.map +1 -1
  489. package/dist/server/DrainSupervisor.d.ts +8 -21
  490. package/dist/server/DrainSupervisor.d.ts.map +1 -1
  491. package/dist/server/DrainSupervisor.js +278 -306
  492. package/dist/server/DrainSupervisor.js.map +1 -1
  493. package/dist/server/Functionality.d.ts +11 -12
  494. package/dist/server/Functionality.d.ts.map +1 -1
  495. package/dist/server/Functionality.js +129 -101
  496. package/dist/server/Functionality.js.map +1 -1
  497. package/dist/server/FunctionalityManager.d.ts +3 -5
  498. package/dist/server/FunctionalityManager.d.ts.map +1 -1
  499. package/dist/server/FunctionalityManager.js +20 -58
  500. package/dist/server/FunctionalityManager.js.map +1 -1
  501. package/dist/server/MembersFunctionality.d.ts +5 -4
  502. package/dist/server/MembersFunctionality.d.ts.map +1 -1
  503. package/dist/server/MembersFunctionality.js +24 -37
  504. package/dist/server/MembersFunctionality.js.map +1 -1
  505. package/dist/server/PlurnkSkill.d.ts +11 -0
  506. package/dist/server/PlurnkSkill.d.ts.map +1 -0
  507. package/dist/server/PlurnkSkill.js +41 -0
  508. package/dist/server/PlurnkSkill.js.map +1 -0
  509. package/dist/server/Retention.d.ts +22 -0
  510. package/dist/server/Retention.d.ts.map +1 -0
  511. package/dist/server/Retention.js +54 -0
  512. package/dist/server/Retention.js.map +1 -0
  513. package/dist/server/Retention.sql +36 -0
  514. package/dist/server/ServiceModules.d.ts +5 -0
  515. package/dist/server/ServiceModules.d.ts.map +1 -0
  516. package/dist/server/ServiceModules.js +10 -0
  517. package/dist/server/ServiceModules.js.map +1 -0
  518. package/dist/server/SkillsFunctionality.d.ts +14 -19
  519. package/dist/server/SkillsFunctionality.d.ts.map +1 -1
  520. package/dist/server/SkillsFunctionality.js +97 -104
  521. package/dist/server/SkillsFunctionality.js.map +1 -1
  522. package/dist/server/WorkerModelResolver.d.ts +4 -0
  523. package/dist/server/WorkerModelResolver.d.ts.map +1 -1
  524. package/dist/server/WorkerModelResolver.js +72 -39
  525. package/dist/server/WorkerModelResolver.js.map +1 -1
  526. package/dist/server/WorkspaceCapabilities.d.ts +21 -0
  527. package/dist/server/WorkspaceCapabilities.d.ts.map +1 -0
  528. package/dist/server/{WorkerCapabilities.js → WorkspaceCapabilities.js} +40 -40
  529. package/dist/server/WorkspaceCapabilities.js.map +1 -0
  530. package/dist/server/WorkspaceResidency.d.ts +36 -0
  531. package/dist/server/WorkspaceResidency.d.ts.map +1 -0
  532. package/dist/server/WorkspaceResidency.js +199 -0
  533. package/dist/server/WorkspaceResidency.js.map +1 -0
  534. package/dist/server/client-input.d.ts +1 -4
  535. package/dist/server/client-input.d.ts.map +1 -1
  536. package/dist/server/client-input.js +4 -45
  537. package/dist/server/client-input.js.map +1 -1
  538. package/dist/server/dispatch-as-plurnk.d.ts.map +1 -1
  539. package/dist/server/dispatch-as-plurnk.js +4 -22
  540. package/dist/server/dispatch-as-plurnk.js.map +1 -1
  541. package/dist/server/drain.sql +65 -42
  542. package/dist/server/envelope.d.ts +8 -0
  543. package/dist/server/envelope.d.ts.map +1 -1
  544. package/dist/server/envelope.js +9 -7
  545. package/dist/server/envelope.js.map +1 -1
  546. package/dist/server/envelope.sql +49 -13
  547. package/dist/server/lifecycle-recovery.sql +14 -17
  548. package/dist/server/logEntry.d.ts +1 -1
  549. package/dist/server/logEntry.d.ts.map +1 -1
  550. package/dist/server/logEntry.js +4 -1
  551. package/dist/server/logEntry.js.map +1 -1
  552. package/dist/server/logEntry.sql +25 -1
  553. package/dist/server/loopDocs.d.ts +2 -2
  554. package/dist/server/loopDocs.d.ts.map +1 -1
  555. package/dist/server/loopDocs.js +38 -31
  556. package/dist/server/loopDocs.js.map +1 -1
  557. package/dist/server/loopDocs.sql +1 -3
  558. package/dist/server/model-catalog.d.ts.map +1 -1
  559. package/dist/server/model-catalog.js +2 -1
  560. package/dist/server/model-catalog.js.map +1 -1
  561. package/dist/server/model-route.d.ts +1 -1
  562. package/dist/server/model-route.d.ts.map +1 -1
  563. package/dist/server/model-route.js +4 -2
  564. package/dist/server/model-route.js.map +1 -1
  565. package/dist/server/seam-entry-read.sql +3 -4
  566. package/dist/server/seam-loop.sql +2 -9
  567. package/dist/server/workspace-capabilities.sql +19 -0
  568. package/dist/service.d.ts.map +1 -1
  569. package/dist/service.js +5 -17
  570. package/dist/service.js.map +1 -1
  571. package/docs/members.md +83 -0
  572. package/docs/skills.md +50 -0
  573. package/migrations/001_workspaces.sql +53 -0
  574. package/migrations/002_workers.sql +183 -0
  575. package/migrations/003_loops.sql +326 -0
  576. package/migrations/004_inference.sql +360 -0
  577. package/migrations/005_entries.sql +207 -0
  578. package/migrations/006_log.sql +578 -0
  579. package/migrations/007_subscriptions.sql +175 -0
  580. package/migrations/008_interactions.sql +29 -0
  581. package/package.json +33 -40
  582. package/digest-sql/channel-dispositions/dispositions.sql +0 -15
  583. package/digest-sql/channel-state/state.sql +0 -6
  584. package/digest-sql/curation/curation.sql +0 -6
  585. package/digest-sql/derivations/derivations.sql +0 -4
  586. package/digest-sql/embeddings/embeddings.sql +0 -4
  587. package/digest-sql/entry-dispositions/dispositions.sql +0 -15
  588. package/digest-sql/entry-state/state.sql +0 -6
  589. package/digest-sql/token-counts/token-counts.sql +0 -2
  590. package/dist/core/EmbeddingCall.d.ts +0 -23
  591. package/dist/core/EmbeddingCall.d.ts.map +0 -1
  592. package/dist/core/EmbeddingCall.js +0 -149
  593. package/dist/core/EmbeddingCall.js.map +0 -1
  594. package/dist/core/OverflowTurn.d.ts +0 -11
  595. package/dist/core/OverflowTurn.d.ts.map +0 -1
  596. package/dist/core/OverflowTurn.js +0 -80
  597. package/dist/core/OverflowTurn.js.map +0 -1
  598. package/dist/core/Owner.d.ts +0 -8
  599. package/dist/core/Owner.d.ts.map +0 -1
  600. package/dist/core/Owner.js +0 -46
  601. package/dist/core/Owner.js.map +0 -1
  602. package/dist/core/SendBroadcastHandler.d.ts.map +0 -1
  603. package/dist/core/SendBroadcastHandler.js +0 -159
  604. package/dist/core/SendBroadcastHandler.js.map +0 -1
  605. package/dist/core/VectorPump.d.ts +0 -28
  606. package/dist/core/VectorPump.d.ts.map +0 -1
  607. package/dist/core/VectorPump.js +0 -130
  608. package/dist/core/VectorPump.js.map +0 -1
  609. package/dist/core/owner.sql +0 -11
  610. package/dist/core/worker-settings.d.ts +0 -10
  611. package/dist/core/worker-settings.d.ts.map +0 -1
  612. package/dist/core/worker-settings.js +0 -53
  613. package/dist/core/worker-settings.js.map +0 -1
  614. package/dist/schemes/_entry-chunk.d.ts +0 -14
  615. package/dist/schemes/_entry-chunk.d.ts.map +0 -1
  616. package/dist/schemes/_entry-chunk.js +0 -165
  617. package/dist/schemes/_entry-chunk.js.map +0 -1
  618. package/dist/schemes/_entry-semantic.d.ts +0 -63
  619. package/dist/schemes/_entry-semantic.d.ts.map +0 -1
  620. package/dist/schemes/_entry-semantic.js +0 -299
  621. package/dist/schemes/_entry-semantic.js.map +0 -1
  622. package/dist/schemes/_entry-semantic.sql +0 -99
  623. package/dist/schemes/cosine.d.ts +0 -4
  624. package/dist/schemes/cosine.d.ts.map +0 -1
  625. package/dist/schemes/cosine.js +0 -9
  626. package/dist/schemes/cosine.js.map +0 -1
  627. package/dist/server/WorkerCapabilities.d.ts +0 -21
  628. package/dist/server/WorkerCapabilities.d.ts.map +0 -1
  629. package/dist/server/WorkerCapabilities.js.map +0 -1
  630. package/dist/server/WorkerResidency.d.ts +0 -40
  631. package/dist/server/WorkerResidency.d.ts.map +0 -1
  632. package/dist/server/WorkerResidency.js +0 -283
  633. package/dist/server/WorkerResidency.js.map +0 -1
  634. package/dist/server/seam-log-read.sql +0 -21
  635. package/dist/server/worker-capabilities.sql +0 -28
  636. package/migrations/001_schema.sql +0 -2207
@@ -1 +1 @@
1
- {"version":3,"file":"Worker.js","sourceRoot":"","sources":["../../src/schemes/Worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Worker.js","sourceRoot":"","sources":["../../src/schemes/Worker.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,9 @@
1
1
  import type { PlurnkSchemeContext } from "../core/scheme-types.ts";
2
2
  import type { ByteSource } from "../content/byte-view.ts";
3
- import type { ChannelProducerResult, ChannelState, EntryCoordinate, StoredEntryData } from "@plurnk/plurnk-schemes";
3
+ import type { EntryCoordinate, EntryData, StoredEntryData } from "@plurnk/plurnk-schemes";
4
+ export type { EntryData } from "@plurnk/plurnk-schemes";
4
5
  import { type SchemeResultBase } from "../core/results.ts";
5
- export interface EntryData {
6
- channels: Record<string, {
7
- content: string;
8
- bytes?: Uint8Array;
9
- mimetype: string;
10
- state?: ChannelState;
11
- producerResult?: ChannelProducerResult;
12
- }>;
13
- attributes?: Readonly<Record<string, unknown>>;
14
- }
6
+ import type { Mimetypes } from "@plurnk/plurnk-mimetypes";
15
7
  export interface ReadEntryResult extends SchemeResultBase {
16
8
  entry: StoredEntryData | null;
17
9
  }
@@ -30,9 +22,14 @@ export default class EntryCrud {
30
22
  storedScheme?: string;
31
23
  }): string;
32
24
  static contentByteSource(content: string): ByteSource;
33
- static readEntry(coordinate: EntryCoordinate, ctx: PlurnkSchemeContext, scheme: string, ownerId: number): Promise<ReadEntryResult>;
34
- static writeEntry(coordinate: EntryCoordinate, entry: EntryData, ctx: PlurnkSchemeContext, scheme: string, ownerId: number): Promise<WriteEntryResult>;
35
- static deleteEntry(coordinate: EntryCoordinate, ctx: PlurnkSchemeContext, scheme: string, ownerId: number): Promise<DeleteEntryResult>;
36
- static deleteChannel(coordinate: EntryCoordinate, channel: string, ctx: PlurnkSchemeContext, scheme: string, ownerId: number): Promise<DeleteEntryResult>;
25
+ static storedByteSource(entry: StoredEntryData, channel: string, mimetypes: Mimetypes | undefined): Promise<ByteSource | undefined>;
26
+ static readEntry(coordinate: EntryCoordinate, ctx: PlurnkSchemeContext, scheme: string): Promise<ReadEntryResult>;
27
+ static writeEntry(coordinate: EntryCoordinate, entry: EntryData, ctx: PlurnkSchemeContext, scheme: string, representation?: {
28
+ defaultChannel?: string;
29
+ output?: boolean;
30
+ createOnly?: boolean;
31
+ }): Promise<WriteEntryResult>;
32
+ static deleteEntry(coordinate: EntryCoordinate, ctx: PlurnkSchemeContext, scheme: string): Promise<DeleteEntryResult>;
33
+ static deleteChannel(coordinate: EntryCoordinate, channel: string, ctx: PlurnkSchemeContext, scheme: string): Promise<DeleteEntryResult>;
37
34
  }
38
35
  //# sourceMappingURL=_entry-crud.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"_entry-crud.d.ts","sourceRoot":"","sources":["../../src/schemes/_entry-crud.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEpH,OAAgB,EAAE,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAIpE,MAAM,WAAW,SAAS;IACtB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE;QACrB,OAAO,EAAE,MAAM,CAAC;QAIhB,KAAK,CAAC,EAAE,UAAU,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,YAAY,CAAC;QACrB,cAAc,CAAC,EAAE,qBAAqB,CAAC;KAC1C,CAAC,CAAC;IACH,UAAU,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAClD;AAED,MAAM,WAAW,eAAgB,SAAQ,gBAAgB;IACrD,KAAK,EAAE,eAAe,GAAG,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IACtD,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAIvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAkB,SAAQ,gBAAgB;IAGvD,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,CAAC,OAAO,OAAO,SAAS;IAE1B,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,CAE/E;IAKD,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAMpD;IAED,OAAa,SAAS,CAAC,UAAU,EAAE,eAAe,EAAE,GAAG,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAqDvI;IAED,OAAa,UAAU,CAAC,UAAU,EAAE,eAAe,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAyD3J;IAED,OAAa,WAAW,CAAC,UAAU,EAAE,eAAe,EAAE,GAAG,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAmB3I;IAED,OAAa,aAAa,CACtB,UAAU,EAAE,eAAe,EAC3B,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,mBAAmB,EACxB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,GAChB,OAAO,CAAC,iBAAiB,CAAC,CA2C5B;CACJ"}
1
+ {"version":3,"file":"_entry-crud.d.ts","sourceRoot":"","sources":["../../src/schemes/_entry-crud.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAuC,eAAe,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC/H,YAAY,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAgB,EAAE,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAI1D,MAAM,WAAW,eAAgB,SAAQ,gBAAgB;IACrD,KAAK,EAAE,eAAe,GAAG,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IACtD,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAIvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAkB,SAAQ,gBAAgB;IAGvD,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,CAAC,OAAO,OAAO,SAAS;IAE1B,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,CAE/E;IAKD,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAMpD;IAED,OAAa,gBAAgB,CAAC,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAMxI;IAED,OAAa,SAAS,CAAC,UAAU,EAAE,eAAe,EAAE,GAAG,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAkDtH;IAED,OAAa,UAAU,CAAC,UAAU,EAAE,eAAe,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAE;QAAE,cAAc,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA+CpO;IAED,OAAa,WAAW,CAAC,UAAU,EAAE,eAAe,EAAE,GAAG,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAkB1H;IAED,OAAa,aAAa,CACtB,UAAU,EAAE,eAAe,EAC3B,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,mBAAmB,EACxB,MAAM,EAAE,MAAM,GACf,OAAO,CAAC,iBAAiB,CAAC,CA+C5B;CACJ"}
@@ -1,9 +1,11 @@
1
1
  // Shared CRUD primitives for entry-bearing schemes.
2
2
  // Per SPEC {§crud} — uniform read/write/delete that the engine drives for
3
- // cross-scheme orchestration of COPY/MOVE/SEND signal 410.
3
+ // cross-scheme orchestration of COPY/MOVE/KILL.
4
4
  import { contentHash } from "../core/content-hash.js";
5
+ import EntryReadable from "./_entry-readable.js";
5
6
  import { renderAddress } from "../core/plurnk-uri.js";
6
7
  import Results from "../core/results.js";
8
+ import MimetypeBinary from "../content/mimetype-binary.js";
7
9
  export default class EntryCrud {
8
10
  // {§entry-identity-no-null} — the non-null identity scheme persisted by a manifest.
9
11
  static identityScheme(manifest) {
@@ -19,18 +21,26 @@ export default class EntryCrud {
19
21
  read: async (start, end) => bytes.subarray(start - 1, end),
20
22
  };
21
23
  }
22
- static async readEntry(coordinate, ctx, scheme, ownerId) {
24
+ static async storedByteSource(entry, channel, mimetypes) {
25
+ const selected = entry.channels[channel];
26
+ // {§binary-parity} A typed empty marker is not a stored byte payload.
27
+ return selected !== undefined && selected.content !== "" && await MimetypeBinary.isBinaryMimetype(selected.mimetype, mimetypes)
28
+ ? EntryCrud.contentByteSource(selected.content)
29
+ : undefined;
30
+ }
31
+ static async readEntry(coordinate, ctx, scheme) {
23
32
  const { db, workspaceId } = ctx;
24
33
  const { authority, pathname } = coordinate;
25
- const owner_id = ownerId;
26
- const entry = await db.crud_find_workspace_entry.get({ workspace_id: workspaceId, owner_id, scheme, authority, pathname });
34
+ const rows = await db.crud_read_entry.all({ workspace_id: workspaceId, scheme, authority, pathname });
35
+ const entry = rows[0];
27
36
  if (entry === undefined) {
28
37
  const target = renderAddress({ scheme, authority, pathname });
29
38
  return Results.failure(`scheme:${scheme}`, "entry-not-found", 404, `No entry exists at ${target}.`, { entry: null }, { target });
30
39
  }
31
- const channelRows = await db.crud_read_channels.all({ entry_id: entry.id });
32
40
  const channels = {};
33
- for (const row of channelRows) {
41
+ for (const row of rows) {
42
+ if (row.name === null)
43
+ continue;
34
44
  channels[row.name] = {
35
45
  content: row.content,
36
46
  mimetype: row.mimetype,
@@ -56,70 +66,56 @@ export default class EntryCrud {
56
66
  },
57
67
  };
58
68
  }
59
- static async writeEntry(coordinate, entry, ctx, scheme, ownerId) {
69
+ static async writeEntry(coordinate, entry, ctx, scheme, representation = {}) {
60
70
  const { db, workspaceId, weigh } = ctx;
61
71
  const { authority, pathname } = coordinate;
62
72
  if (weigh === undefined)
63
73
  throw new Error("writeEntry: ctx.weigh is required for curation-weight accounting");
64
- const owner_id = ownerId;
65
- const existing = await db.crud_find_workspace_entry.get({ workspace_id: workspaceId, owner_id, scheme, authority, pathname });
66
- let entryId;
67
- let created;
68
- if (existing === undefined) {
69
- const row = entry.attributes === undefined
70
- ? await db.crud_insert_workspace_entry.get({ workspace_id: workspaceId, owner_id, scheme, authority, pathname })
71
- : await db.crud_insert_workspace_entry_with_attributes.get({
72
- workspace_id: workspaceId,
73
- owner_id,
74
- scheme,
75
- authority,
76
- pathname,
77
- attributes: JSON.stringify(entry.attributes),
78
- });
79
- if (row === undefined)
80
- throw new Error("writeEntry: insert returned no row");
81
- entryId = row.id;
82
- created = true;
74
+ const defaultChannel = representation.defaultChannel ?? ctx.defaultChannelFor?.(scheme) ?? "body";
75
+ if (defaultChannel.length === 0) {
76
+ throw new Error(`writeEntry: ${scheme} representation has no default channel ${JSON.stringify(defaultChannel)}`);
83
77
  }
84
- else {
85
- entryId = existing.id;
86
- created = false;
87
- if (entry.attributes !== undefined) {
88
- await db.crud_set_entry_attributes.run({
89
- entry_id: entryId,
90
- attributes: JSON.stringify(entry.attributes),
91
- });
92
- }
93
- await db.crud_delete_channels.run({ entry_id: entryId });
78
+ const output = representation.output === true ? 1 : 0;
79
+ const channels = await Promise.all(Object.entries(entry.channels).map(async ([name, data]) => ({
80
+ name,
81
+ data,
82
+ producerResult: data.producerResult === undefined ? null : JSON.stringify(Results.assertChannelProducerResult(data.producerResult)),
83
+ content: data.bytes === undefined ? data.content
84
+ : await MimetypeBinary.isBinaryMimetype(data.mimetype, ctx.mimetypes)
85
+ ? Buffer.from(data.bytes).toString("base64")
86
+ : new TextDecoder("utf-8", { fatal: true, ignoreBOM: true }).decode(data.bytes),
87
+ })));
88
+ const published = await db.crud_publish_entry.get({
89
+ workspace_id: workspaceId, scheme, authority, pathname,
90
+ attributes: entry.attributes === undefined ? null : JSON.stringify(entry.attributes),
91
+ default_channel: defaultChannel, output,
92
+ create_only: representation.createOnly === true ? 1 : 0,
93
+ channels: JSON.stringify(Object.fromEntries(channels.map(({ name, data, content, producerResult }) => [name, {
94
+ content, mimetype: data.mimetype, weight: weigh(content), content_hash: contentHash(content),
95
+ state: data.state ?? "static", producer_result: producerResult,
96
+ }]))),
97
+ });
98
+ if (published === undefined) {
99
+ if (representation.createOnly === true)
100
+ return Results.failure(`scheme:${scheme}`, "entry-exists", 409, `An entry already exists at ${renderAddress({ scheme, authority, pathname })}.`, { created: false, entryId: null });
101
+ throw new Error("writeEntry: publication returned no row");
94
102
  }
95
- // Writes are VERBATIM — the scheme never transforms what it's handed. Web-page projection
96
- // (raw html → decisive markdown body + raw `html` archive) lives at the web-fetch entry point
97
- // (the exec sink), NOT here: an authored/workspace html file is DATA whose attributes are the
98
- // payload (a `<user email=…>` roster), and a reader-view projection would strip it.
99
- for (const [channelName, channelData] of Object.entries(entry.channels)) {
100
- const producerResult = channelData.producerResult === undefined
101
- ? null
102
- : JSON.stringify(Results.assertChannelProducerResult(channelData.producerResult));
103
- // {§binary-parity} — a binary channel arrives as bytes; a DB entry keeps them base64 in its
104
- // TEXT content, and READ/COPY recover them through EntryCrud.contentByteSource.
105
- const storedContent = channelData.bytes === undefined
106
- ? channelData.content
107
- : Buffer.from(channelData.bytes).toString("base64");
108
- await db.crud_write_channel.run({
109
- entry_id: entryId, name: channelName, content: storedContent, mimetype: channelData.mimetype,
110
- weight: weigh(storedContent), // stable curation weight ({§tokenomics-agnostic-ruler}, {§tokenomics-weight-stored-at-write})
111
- content_hash: contentHash(storedContent),
112
- state: channelData.state ?? "static",
113
- producer_result: producerResult,
114
- });
103
+ const created = published.created === 1;
104
+ // {§readable-channel} — a text source channel lands with its projection beside it, unless
105
+ // the writer supplied `readable` itself (a fetched page's curated Markdown carries its own
106
+ // producer outcome and is the scheme's to own).
107
+ const source = channels.find(({ name }) => name === defaultChannel);
108
+ if (source !== undefined && source.data.bytes === undefined && ctx.mimetypes !== undefined
109
+ && !Object.hasOwn(entry.channels, EntryReadable.CHANNEL)
110
+ && !await MimetypeBinary.isBinaryMimetype(source.data.mimetype, ctx.mimetypes)) {
111
+ await EntryReadable.sync(ctx, published.id, source.name, defaultChannel, source.content, source.data.mimetype);
115
112
  }
116
- return { status: created ? 201 : 200, created, entryId };
113
+ return { status: created ? 201 : 200, created, entryId: published.id };
117
114
  }
118
- static async deleteEntry(coordinate, ctx, scheme, ownerId) {
115
+ static async deleteEntry(coordinate, ctx, scheme) {
119
116
  const { db, workspaceId } = ctx;
120
117
  const { authority, pathname } = coordinate;
121
- const owner_id = ownerId;
122
- const existing = await db.crud_find_workspace_entry.get({ workspace_id: workspaceId, owner_id, scheme, authority, pathname });
118
+ const existing = await db.crud_find_workspace_entry.get({ workspace_id: workspaceId, scheme, authority, pathname });
123
119
  if (existing === undefined) {
124
120
  const target = renderAddress({ scheme, authority, pathname });
125
121
  return Results.failure(`scheme:${scheme}`, "entry-not-found", 404, `No entry exists at ${target}.`, {}, { target });
@@ -128,13 +124,11 @@ export default class EntryCrud {
128
124
  // CASCADE on entry_channels per FK constraints.
129
125
  return { status: 200 };
130
126
  }
131
- static async deleteChannel(coordinate, channel, ctx, scheme, ownerId) {
127
+ static async deleteChannel(coordinate, channel, ctx, scheme) {
132
128
  const { db, workspaceId } = ctx;
133
129
  const { authority, pathname } = coordinate;
134
- const owner_id = ownerId;
135
130
  const existing = await db.crud_find_workspace_entry.get({
136
131
  workspace_id: workspaceId,
137
- owner_id,
138
132
  scheme,
139
133
  authority,
140
134
  pathname,
@@ -147,6 +141,12 @@ export default class EntryCrud {
147
141
  entry_id: existing.id,
148
142
  name: channel,
149
143
  });
144
+ // {§readable-channel} — a projection cannot outlive its source.
145
+ if (deleted !== undefined && !EntryReadable.isDerived(channel)) {
146
+ const defaultChannel = ctx.defaultChannelFor?.(scheme) ?? "body";
147
+ if (channel === defaultChannel)
148
+ await db.crud_delete_readable_channel.run({ entry_id: existing.id });
149
+ }
150
150
  if (deleted === undefined) {
151
151
  const target = renderAddress({ scheme, authority, pathname });
152
152
  return Results.failure(`scheme:${scheme}`, "channel-not-found", 404, `No channel named #${channel} exists at ${target}.`, {}, {
@@ -1 +1 @@
1
- {"version":3,"file":"_entry-crud.js","sourceRoot":"","sources":["../../src/schemes/_entry-crud.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_entry-crud.js","sourceRoot":"","sources":["../../src/schemes/_entry-crud.ts"],"names":[],"mappings":"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"}
@@ -1,36 +1,36 @@
1
1
  -- Entry CRUD primitives (SPEC {§crud}). Used by entry-bearing schemes and
2
- -- the engine for cross-scheme COPY/MOVE/SEND signal 410.
2
+ -- the engine for cross-scheme COPY/MOVE/KILL.
3
3
 
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 e.id, e.attributes
7
+ SELECT e.id, e.attributes, e.default_channel, e.output
8
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
9
+ WHERE e.workspace_id = $workspace_id
11
10
  AND e.scheme = $scheme AND e.authority = $authority AND e.pathname = $pathname;
12
11
 
13
12
  -- PREP: crud_read_channels
14
13
  SELECT name, content, mimetype, state, producer_result FROM entry_channels WHERE entry_id = $entry_id;
15
14
 
16
- -- PREP: crud_insert_workspace_entry
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
20
- RETURNING id;
21
-
22
- -- PREP: crud_insert_workspace_entry_with_attributes
23
- -- Core-private metadata is present at identity creation, before any channel
24
- -- makes the entry visible to a reader.
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
28
- RETURNING id;
29
-
30
- -- PREP: crud_set_entry_attributes
31
- -- Core-private entry metadata. Omission at the EntryCrud seam preserves the
32
- -- existing value; an explicit bag replaces it before channels become visible.
33
- UPDATE entries SET attributes = $attributes WHERE id = $entry_id;
15
+ -- PREP: crud_read_entry
16
+ -- {§crud} One read snapshot covers metadata and every channel.
17
+ SELECT e.id, e.attributes, c.name, c.content, c.mimetype, c.state, c.producer_result
18
+ FROM entries e LEFT JOIN entry_channels c ON c.entry_id = e.id
19
+ WHERE e.workspace_id = $workspace_id AND e.scheme = $scheme
20
+ AND e.authority = $authority AND e.pathname = $pathname;
21
+
22
+ -- PREP: crud_publish_entry
23
+ INSERT INTO entry_publication (workspace_id, scheme, authority, pathname, attributes, default_channel, output, channels, created)
24
+ SELECT $workspace_id, $scheme, $authority, $pathname, $attributes, $default_channel, $output, $channels,
25
+ NOT EXISTS (SELECT 1 FROM entries WHERE workspace_id = $workspace_id
26
+ AND scheme = $scheme AND authority = $authority AND pathname = $pathname)
27
+ WHERE $create_only = 0 OR NOT EXISTS (
28
+ SELECT 1 FROM entries WHERE workspace_id = $workspace_id
29
+ AND scheme = $scheme AND authority = $authority AND pathname = $pathname
30
+ )
31
+ RETURNING (SELECT id FROM entries WHERE workspace_id = entry_publication.workspace_id
32
+ AND scheme = entry_publication.scheme AND authority = entry_publication.authority
33
+ AND pathname = entry_publication.pathname) AS id, created;
34
34
 
35
35
  -- PREP: crud_register_workspace_member
36
36
  -- Idempotent bare-membership insert (SPEC {§membership} D4 — git ls-files membership).
@@ -39,21 +39,41 @@ UPDATE entries SET attributes = $attributes WHERE id = $entry_id;
39
39
  -- Channel-less by design — disk stays the truth (D3). Re-resolution updates
40
40
  -- only provenance so an explicit pick can supersede Git (including outside-root
41
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)
42
+ INSERT INTO entries (workspace_id, scheme, authority, pathname, membership_origin)
43
+ SELECT $workspace_id, $scheme, $authority, $pathname, $membership_origin
44
+ FROM workspaces WHERE id = $workspace_id
45
+ ON CONFLICT (workspace_id, scheme, authority, pathname)
46
46
  DO UPDATE SET membership_origin = excluded.membership_origin
47
47
  RETURNING id;
48
48
 
49
+ -- PREP: crud_register_workspace_members
50
+ -- {§membership-reconcile-sets}: the desired file members land as one set — $members is a JSON
51
+ -- array of {pathname, origin} — with the same idempotent provenance update as the single form.
52
+ INSERT INTO entries (workspace_id, scheme, authority, pathname, membership_origin)
53
+ SELECT $workspace_id, 'file', '', json_extract(member.value, '$.pathname'), json_extract(member.value, '$.origin')
54
+ FROM json_each($members) AS member
55
+ WHERE EXISTS (SELECT 1 FROM workspaces WHERE id = $workspace_id)
56
+ ON CONFLICT (workspace_id, scheme, authority, pathname)
57
+ DO UPDATE SET membership_origin = excluded.membership_origin;
58
+
59
+ -- PREP: crud_unregister_stale_members
60
+ -- {§membership-reconcile-sets}: every overlay-owned file member outside the desired set leaves in
61
+ -- one statement. The row's body content rides out with it, so a path that also left disk truth
62
+ -- (not a candidate at all) reports its prior content as a divergence; a mere exclusion is silent.
63
+ DELETE FROM entries
64
+ WHERE workspace_id = $workspace_id AND scheme = 'file' AND authority = ''
65
+ AND membership_origin IN ('git', 'constraint')
66
+ AND pathname NOT IN (SELECT value FROM json_each($desired))
67
+ RETURNING id, pathname,
68
+ (SELECT content FROM entry_channels c WHERE c.entry_id = entries.id AND c.name = 'body') AS prior;
69
+
49
70
  -- PREP: crud_get_member_sig
50
71
  -- SPEC {§membership-change-gated-sync} — the member's last-synced disk signature
51
72
  -- (mtime:size), read before materializing so an unchanged file short-circuits
52
73
  -- before any content read. File members store scheme='file' ({§entry-identity-no-null}).
53
74
  SELECT e.id, e.synced_sig, e.membership_origin, e.attributes
54
75
  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
76
+ WHERE e.workspace_id = $workspace_id
57
77
  AND e.scheme = $scheme AND e.authority = $authority AND e.pathname = $pathname;
58
78
 
59
79
  -- PREP: crud_set_synced_sig
@@ -74,11 +94,6 @@ DELETE FROM entry_channels WHERE entry_id = $entry_id;
74
94
  DELETE FROM entry_channels WHERE entry_id = $entry_id AND name = $name
75
95
  RETURNING name;
76
96
 
77
- -- PREP: crud_write_channel
78
- -- {§tokenomics-content-hash-identity}: every static write stamps stable content identity.
79
- INSERT INTO entry_channels (entry_id, name, content, mimetype, weight, content_hash, state, producer_result)
80
- VALUES ($entry_id, $name, $content, $mimetype, $weight, $content_hash, $state, $producer_result);
81
-
82
97
  -- PREP: crud_attach_channel_derivation
83
98
  -- Attach only while the channel still denotes the exact representation that
84
99
  -- was derived. A concurrent stream append or replacement leaves it unattached
@@ -101,17 +116,6 @@ WHERE entry_id = $entry_id
101
116
  -- PREP: crud_delete_entry
102
117
  DELETE FROM entries WHERE id = $entry_id;
103
118
 
104
- -- PREP: crud_list_reconcilable_members
105
- -- Every file member is overlay-owned (membership_origin IN git, constraint).
106
- -- The reconciliation set: resolveGitMembership compares this against the desired
107
- -- ((git ls-files ∪ add) − ignore) and un-registers the difference, so entries ==
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');
114
-
115
119
  -- PREP: crud_insert_generated_workspace_constraint
116
120
  -- {§fs-create-record}: an accepted creation is incorporated by an exact record row; a projected
117
121
  -- definition already holding the same path leaves it alone.
@@ -125,6 +129,37 @@ SELECT effect, glob, source FROM workspace_constraints
125
129
  WHERE workspace_id = $workspace_id
126
130
  ORDER BY effect, glob;
127
131
 
132
+ -- PREP: crud_constraint_excluding
133
+ -- {§membership-glob-in-sql}: the first exclusion covering a key, evaluated where the constraints live.
134
+ SELECT glob FROM workspace_constraints
135
+ WHERE workspace_id = $workspace_id AND effect = 'exclude' AND glob_match($key, glob)
136
+ ORDER BY glob
137
+ LIMIT 1;
138
+
139
+ -- PREP: crud_constraint_including_by_definition
140
+ -- {§membership-glob-in-sql}: whether a members definition (not a creation record) includes the key.
141
+ SELECT 1 AS included FROM workspace_constraints
142
+ WHERE workspace_id = $workspace_id AND effect = 'include' AND source = 'members' AND glob_match($key, glob)
143
+ LIMIT 1;
144
+
145
+ -- PREP: crud_untracked_member_marks
146
+ -- {§membership-glob-in-sql}: for each untracked path, whether it is a registered member and which
147
+ -- inclusion owns it — a creation record by exact path, else the first matching definition.
148
+ SELECT path.value AS pathname,
149
+ EXISTS (
150
+ SELECT 1 FROM entries e
151
+ WHERE e.workspace_id = $workspace_id AND e.scheme = 'file' AND e.authority = '' AND e.pathname = path.value
152
+ ) AS registered,
153
+ (SELECT c.source FROM workspace_constraints c
154
+ WHERE c.workspace_id = $workspace_id AND c.effect = 'include'
155
+ AND CASE WHEN c.source = 'create' THEN c.glob = path.value ELSE glob_match(path.value, c.glob) END
156
+ ORDER BY c.source = 'create' DESC, c.glob LIMIT 1) AS source,
157
+ (SELECT c.glob FROM workspace_constraints c
158
+ WHERE c.workspace_id = $workspace_id AND c.effect = 'include'
159
+ AND CASE WHEN c.source = 'create' THEN c.glob = path.value ELSE glob_match(path.value, c.glob) END
160
+ ORDER BY c.source = 'create' DESC, c.glob LIMIT 1) AS glob
161
+ FROM json_each($paths) AS path;
162
+
128
163
  -- PREP: crud_delete_generated_workspace_constraint
129
164
  -- Automatic lifecycle may remove only its own exact creation record, never a projected definition.
130
165
  DELETE FROM workspace_constraints
@@ -136,13 +171,23 @@ DELETE FROM workspace_constraints
136
171
  WHERE workspace_id = $workspace_id AND source IN ('members', 'model');
137
172
 
138
173
  -- PREP: crud_insert_family_workspace_constraint
139
- -- A projected row never overwrites a creation record ({§fs-create-masked}); the family deleted its
140
- -- own rows first, so that record is the only conflict left.
174
+ -- One projected row; the plural form below is the family's own write path.
141
175
  INSERT INTO workspace_constraints (workspace_id, effect, glob, source)
142
176
  VALUES ($workspace_id, $effect, $glob, $source)
143
177
  ON CONFLICT (workspace_id, effect, glob)
144
178
  DO NOTHING;
145
179
 
180
+ -- PREP: crud_insert_family_workspace_constraints
181
+ -- The family's projected rows land as one set ($rows is a JSON array of {effect, glob, source}). A
182
+ -- projected row never overwrites a creation record ({§fs-create-masked}); the family deleted its
183
+ -- own rows first, so that record is the only conflict left.
184
+ INSERT INTO workspace_constraints (workspace_id, effect, glob, source)
185
+ SELECT $workspace_id, json_extract(row.value, '$.effect'), json_extract(row.value, '$.glob'), json_extract(row.value, '$.source')
186
+ FROM json_each($rows) AS row
187
+ WHERE true
188
+ ON CONFLICT (workspace_id, effect, glob)
189
+ DO NOTHING;
190
+
146
191
  -- PREP: crud_stamp_origin
147
192
  -- {§fs-write-surface} — the accept stamps the grantor the blind-write closure proved;
148
193
  -- set-if-null so a reconcile-stamped row is never overwritten.
@@ -151,3 +196,54 @@ UPDATE entries SET membership_origin = $membership_origin WHERE id = $entry_id A
151
196
  -- PREP: crud_set_origin
152
197
  -- Accept-time incorporation may fall back from Git staging to an exact pick.
153
198
  UPDATE entries SET membership_origin = $membership_origin WHERE id = $entry_id;
199
+
200
+ -- PREP: crud_upsert_readable_channel
201
+ -- {§readable-channel} — the derived `readable` sibling of a source channel lands or refreshes
202
+ -- with the source; it is never written by an operation.
203
+ INSERT INTO entry_channels (entry_id, name, content, mimetype, weight, content_hash, state, producer_result)
204
+ VALUES ($entry_id, 'readable', $content, $mimetype, $weight, $content_hash, 'static', NULL)
205
+ ON CONFLICT (entry_id, name) DO UPDATE SET
206
+ content = excluded.content,
207
+ mimetype = excluded.mimetype,
208
+ weight = excluded.weight,
209
+ content_hash = excluded.content_hash,
210
+ state = 'static',
211
+ producer_result = NULL
212
+ WHERE entry_channels.content_hash IS NOT excluded.content_hash;
213
+
214
+ -- PREP: crud_delete_readable_channel
215
+ DELETE FROM entry_channels WHERE entry_id = $entry_id AND name = 'readable';
216
+
217
+ -- INIT: entry_channels_invalidate_derivation
218
+ -- A changed channel representation cannot retain search evidence derived from
219
+ -- its predecessor. This trigger is the one invalidation owner for every write
220
+ -- path, including model EDIT, plugin channel capabilities, and streams.
221
+ DROP TRIGGER IF EXISTS entry_channels_invalidate_derivation;
222
+ CREATE TRIGGER entry_channels_invalidate_derivation
223
+ AFTER UPDATE OF content, mimetype ON entry_channels
224
+ WHEN OLD.content IS NOT NEW.content OR OLD.mimetype IS NOT NEW.mimetype
225
+ BEGIN
226
+ UPDATE entry_channels
227
+ SET deep_hash = NULL
228
+ WHERE entry_id = NEW.entry_id AND name = NEW.name AND deep_hash IS NOT NULL;
229
+ END;
230
+
231
+ -- INIT: entries_touch_on_channel_write
232
+ -- User Note 5 — bump the entry's updated_at on addressable representation or
233
+ -- lifecycle writes so the catalog (ordered by updated_at ASC) keeps recently-
234
+ -- touched entries at the tail and holds the prompt-cache prefix stable across
235
+ -- turns. Content hashes and search attachments are private metadata, not touches.
236
+ DROP TRIGGER IF EXISTS entries_touch_on_channel_write;
237
+ CREATE TRIGGER entries_touch_on_channel_write
238
+ AFTER INSERT ON entry_channels
239
+ BEGIN
240
+ UPDATE entries SET updated_at = strftime('%Y-%m-%dT%H:%M:%fZ', 'now') WHERE id = NEW.entry_id;
241
+ END;
242
+
243
+ -- INIT: entries_touch_on_channel_update
244
+ DROP TRIGGER IF EXISTS entries_touch_on_channel_update;
245
+ CREATE TRIGGER entries_touch_on_channel_update
246
+ AFTER UPDATE OF content, mimetype, weight, state, producer_result ON entry_channels
247
+ BEGIN
248
+ UPDATE entries SET updated_at = strftime('%Y-%m-%dT%H:%M:%fZ', 'now') WHERE id = NEW.entry_id;
249
+ END;