@plurnk/plurnk-service 1.3.12 → 1.4.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 (469) hide show
  1. package/.env.defaults +84 -77
  2. package/INSTALL.md +50 -25
  3. package/README.md +24 -10
  4. package/SPEC.md +2311 -928
  5. package/dist/Paths.d.ts +4 -1
  6. package/dist/Paths.d.ts.map +1 -1
  7. package/dist/Paths.js +23 -21
  8. package/dist/Paths.js.map +1 -1
  9. package/dist/build-info.json +1 -1
  10. package/dist/content/edit-receipt.d.ts +13 -28
  11. package/dist/content/edit-receipt.d.ts.map +1 -1
  12. package/dist/content/edit-receipt.js +285 -104
  13. package/dist/content/edit-receipt.js.map +1 -1
  14. package/dist/content/edited-span.d.ts.map +1 -1
  15. package/dist/content/edited-span.js +2 -5
  16. package/dist/content/edited-span.js.map +1 -1
  17. package/dist/content/index.d.ts +3 -3
  18. package/dist/content/index.d.ts.map +1 -1
  19. package/dist/content/index.js +1 -1
  20. package/dist/content/index.js.map +1 -1
  21. package/dist/content/line-marker.d.ts +6 -9
  22. package/dist/content/line-marker.d.ts.map +1 -1
  23. package/dist/content/line-marker.js +7 -11
  24. package/dist/content/line-marker.js.map +1 -1
  25. package/dist/content/matcher.d.ts +14 -25
  26. package/dist/content/matcher.d.ts.map +1 -1
  27. package/dist/content/matcher.js +77 -107
  28. package/dist/content/matcher.js.map +1 -1
  29. package/dist/content/mimetype-binary.d.ts +2 -2
  30. package/dist/content/mimetype-binary.d.ts.map +1 -1
  31. package/dist/content/mimetype-binary.js +10 -10
  32. package/dist/content/mimetype-binary.js.map +1 -1
  33. package/dist/content/path-mimetype.js +3 -3
  34. package/dist/content/path-mimetype.js.map +1 -1
  35. package/dist/content/read-resolve.d.ts +8 -4
  36. package/dist/content/read-resolve.d.ts.map +1 -1
  37. package/dist/content/read-resolve.js +101 -49
  38. package/dist/content/read-resolve.js.map +1 -1
  39. package/dist/core/BranchReceipt.d.ts +7 -0
  40. package/dist/core/BranchReceipt.d.ts.map +1 -0
  41. package/dist/core/BranchReceipt.js +27 -0
  42. package/dist/core/BranchReceipt.js.map +1 -0
  43. package/dist/core/BudgetOverflow.d.ts +23 -0
  44. package/dist/core/BudgetOverflow.d.ts.map +1 -0
  45. package/dist/core/BudgetOverflow.js +61 -0
  46. package/dist/core/BudgetOverflow.js.map +1 -0
  47. package/dist/core/BudgetReadout.d.ts +8 -0
  48. package/dist/core/BudgetReadout.d.ts.map +1 -0
  49. package/dist/core/BudgetReadout.js +79 -0
  50. package/dist/core/BudgetReadout.js.map +1 -0
  51. package/dist/core/ChannelWrite.d.ts +28 -9
  52. package/dist/core/ChannelWrite.d.ts.map +1 -1
  53. package/dist/core/ChannelWrite.js +28 -21
  54. package/dist/core/ChannelWrite.js.map +1 -1
  55. package/dist/core/ChannelWrite.sql +11 -10
  56. package/dist/core/CoreSchemeServices.d.ts +10 -4
  57. package/dist/core/CoreSchemeServices.d.ts.map +1 -1
  58. package/dist/core/CoreSchemeServices.js +7 -1
  59. package/dist/core/CoreSchemeServices.js.map +1 -1
  60. package/dist/core/Dispatcher.d.ts +29 -20
  61. package/dist/core/Dispatcher.d.ts.map +1 -1
  62. package/dist/core/Dispatcher.js +1488 -599
  63. package/dist/core/Dispatcher.js.map +1 -1
  64. package/dist/core/DurableStatement.d.ts +6 -0
  65. package/dist/core/DurableStatement.d.ts.map +1 -0
  66. package/dist/core/DurableStatement.js +51 -0
  67. package/dist/core/DurableStatement.js.map +1 -0
  68. package/dist/core/Engine.d.ts +48 -20
  69. package/dist/core/Engine.d.ts.map +1 -1
  70. package/dist/core/Engine.js +1208 -789
  71. package/dist/core/Engine.js.map +1 -1
  72. package/dist/core/Engine.sql +309 -217
  73. package/dist/core/EnvFlags.js +1 -1
  74. package/dist/core/EnvFlags.js.map +1 -1
  75. package/dist/core/ErrorDetail.d.ts +6 -0
  76. package/dist/core/ErrorDetail.d.ts.map +1 -0
  77. package/dist/core/ErrorDetail.js +20 -0
  78. package/dist/core/ErrorDetail.js.map +1 -0
  79. package/dist/core/ExecutorRegistry.d.ts +14 -3
  80. package/dist/core/ExecutorRegistry.d.ts.map +1 -1
  81. package/dist/core/ExecutorRegistry.js +56 -30
  82. package/dist/core/ExecutorRegistry.js.map +1 -1
  83. package/dist/core/GitBranch.d.ts +20 -0
  84. package/dist/core/GitBranch.d.ts.map +1 -0
  85. package/dist/core/GitBranch.js +110 -0
  86. package/dist/core/GitBranch.js.map +1 -0
  87. package/dist/core/JournalTurn.d.ts +9 -0
  88. package/dist/core/JournalTurn.d.ts.map +1 -0
  89. package/dist/core/JournalTurn.js +14 -0
  90. package/dist/core/JournalTurn.js.map +1 -0
  91. package/dist/core/JournalTurn.sql +10 -0
  92. package/dist/core/LogBody.d.ts +17 -0
  93. package/dist/core/LogBody.d.ts.map +1 -0
  94. package/dist/core/LogBody.js +148 -0
  95. package/dist/core/LogBody.js.map +1 -0
  96. package/dist/core/LoopFlagsReader.d.ts +7 -0
  97. package/dist/core/LoopFlagsReader.d.ts.map +1 -0
  98. package/dist/core/LoopFlagsReader.js +33 -0
  99. package/dist/core/LoopFlagsReader.js.map +1 -0
  100. package/dist/core/LoopLifecycle.d.ts +8 -1
  101. package/dist/core/LoopLifecycle.d.ts.map +1 -1
  102. package/dist/core/LoopLifecycle.js +55 -9
  103. package/dist/core/LoopLifecycle.js.map +1 -1
  104. package/dist/core/LoopLifecycle.sql +9 -3
  105. package/dist/core/NoticeChannel.d.ts +13 -0
  106. package/dist/core/NoticeChannel.d.ts.map +1 -0
  107. package/dist/core/NoticeChannel.js +40 -0
  108. package/dist/core/NoticeChannel.js.map +1 -0
  109. package/dist/core/Owner.d.ts +0 -1
  110. package/dist/core/Owner.d.ts.map +1 -1
  111. package/dist/core/Owner.js +2 -5
  112. package/dist/core/Owner.js.map +1 -1
  113. package/dist/core/PacketBuilder.d.ts +25 -24
  114. package/dist/core/PacketBuilder.d.ts.map +1 -1
  115. package/dist/core/PacketBuilder.js +313 -375
  116. package/dist/core/PacketBuilder.js.map +1 -1
  117. package/dist/core/ProblemLog.d.ts +26 -0
  118. package/dist/core/ProblemLog.d.ts.map +1 -0
  119. package/dist/core/ProblemLog.js +58 -0
  120. package/dist/core/ProblemLog.js.map +1 -0
  121. package/dist/core/ProposalLifecycle.d.ts +15 -21
  122. package/dist/core/ProposalLifecycle.d.ts.map +1 -1
  123. package/dist/core/ProposalLifecycle.js +291 -78
  124. package/dist/core/ProposalLifecycle.js.map +1 -1
  125. package/dist/core/ProviderInstantiate.d.ts.map +1 -1
  126. package/dist/core/ProviderInstantiate.js +51 -48
  127. package/dist/core/ProviderInstantiate.js.map +1 -1
  128. package/dist/core/SchemeRegistry.d.ts +14 -8
  129. package/dist/core/SchemeRegistry.d.ts.map +1 -1
  130. package/dist/core/SchemeRegistry.js +189 -114
  131. package/dist/core/SchemeRegistry.js.map +1 -1
  132. package/dist/core/ServiceTeardown.d.ts +11 -0
  133. package/dist/core/ServiceTeardown.d.ts.map +1 -0
  134. package/dist/core/ServiceTeardown.js +70 -0
  135. package/dist/core/ServiceTeardown.js.map +1 -0
  136. package/dist/core/StoredPacket.d.ts +29 -0
  137. package/dist/core/StoredPacket.d.ts.map +1 -0
  138. package/dist/core/StoredPacket.js +147 -0
  139. package/dist/core/StoredPacket.js.map +1 -0
  140. package/dist/core/StrikeRail.d.ts +1 -2
  141. package/dist/core/StrikeRail.d.ts.map +1 -1
  142. package/dist/core/StrikeRail.js +25 -55
  143. package/dist/core/StrikeRail.js.map +1 -1
  144. package/dist/core/WorkerControlAddress.d.ts +17 -0
  145. package/dist/core/WorkerControlAddress.d.ts.map +1 -0
  146. package/dist/core/WorkerControlAddress.js +44 -0
  147. package/dist/core/WorkerControlAddress.js.map +1 -0
  148. package/dist/core/WorkerName.d.ts +31 -0
  149. package/dist/core/WorkerName.d.ts.map +1 -0
  150. package/dist/core/WorkerName.js +95 -0
  151. package/dist/core/WorkerName.js.map +1 -0
  152. package/dist/core/WorkerName.sql +36 -0
  153. package/dist/core/WorkspaceGate.d.ts +14 -0
  154. package/dist/core/WorkspaceGate.d.ts.map +1 -0
  155. package/dist/core/WorkspaceGate.js +155 -0
  156. package/dist/core/WorkspaceGate.js.map +1 -0
  157. package/dist/core/caps/CapsResolve.d.ts +1 -1
  158. package/dist/core/caps/CapsResolve.d.ts.map +1 -1
  159. package/dist/core/caps/CapsResolve.js.map +1 -1
  160. package/dist/core/caps/DbChannelCaps.d.ts +5 -11
  161. package/dist/core/caps/DbChannelCaps.d.ts.map +1 -1
  162. package/dist/core/caps/DbChannelCaps.js +24 -8
  163. package/dist/core/caps/DbChannelCaps.js.map +1 -1
  164. package/dist/core/caps/DbEntryCaps.d.ts +4 -13
  165. package/dist/core/caps/DbEntryCaps.d.ts.map +1 -1
  166. package/dist/core/caps/DbEntryCaps.js +15 -6
  167. package/dist/core/caps/DbEntryCaps.js.map +1 -1
  168. package/dist/core/caps/DbNotifyCaps.d.ts +1 -1
  169. package/dist/core/caps/DbNotifyCaps.d.ts.map +1 -1
  170. package/dist/core/caps/DbNotifyCaps.js +12 -11
  171. package/dist/core/caps/DbNotifyCaps.js.map +1 -1
  172. package/dist/core/caps/DbProjectionCaps.d.ts +5 -5
  173. package/dist/core/caps/DbProjectionCaps.d.ts.map +1 -1
  174. package/dist/core/caps/DbProjectionCaps.js +21 -4
  175. package/dist/core/caps/DbProjectionCaps.js.map +1 -1
  176. package/dist/core/caps/DbSubscriptionCaps.d.ts +4 -4
  177. package/dist/core/caps/DbSubscriptionCaps.d.ts.map +1 -1
  178. package/dist/core/caps/DbSubscriptionCaps.js +57 -62
  179. package/dist/core/caps/DbSubscriptionCaps.js.map +1 -1
  180. package/dist/core/caps/DbTagCaps.d.ts +5 -12
  181. package/dist/core/caps/DbTagCaps.d.ts.map +1 -1
  182. package/dist/core/caps/DbTagCaps.js +14 -7
  183. package/dist/core/caps/DbTagCaps.js.map +1 -1
  184. package/dist/core/content-hash.js +1 -1
  185. package/dist/core/content-hash.js.map +1 -1
  186. package/dist/core/env-defaults.d.ts.map +1 -1
  187. package/dist/core/env-defaults.js.map +1 -1
  188. package/dist/core/fork.d.ts.map +1 -1
  189. package/dist/core/fork.js +55 -30
  190. package/dist/core/fork.js.map +1 -1
  191. package/dist/core/fork.sql +41 -27
  192. package/dist/core/git-env.d.ts +2 -0
  193. package/dist/core/git-env.d.ts.map +1 -1
  194. package/dist/core/git-env.js +13 -18
  195. package/dist/core/git-env.js.map +1 -1
  196. package/dist/core/git-iso.d.ts.map +1 -1
  197. package/dist/core/git-iso.js +9 -15
  198. package/dist/core/git-iso.js.map +1 -1
  199. package/dist/core/git-membership.d.ts +1 -1
  200. package/dist/core/git-membership.d.ts.map +1 -1
  201. package/dist/core/git-membership.js +198 -146
  202. package/dist/core/git-membership.js.map +1 -1
  203. package/dist/core/git-state.d.ts.map +1 -1
  204. package/dist/core/git-state.js +10 -11
  205. package/dist/core/git-state.js.map +1 -1
  206. package/dist/core/owner.sql +1 -1
  207. package/dist/core/packet-inject.d.ts.map +1 -1
  208. package/dist/core/packet-inject.js +7 -11
  209. package/dist/core/packet-inject.js.map +1 -1
  210. package/dist/core/packet-wire.d.ts +2 -20
  211. package/dist/core/packet-wire.d.ts.map +1 -1
  212. package/dist/core/packet-wire.js +242 -368
  213. package/dist/core/packet-wire.js.map +1 -1
  214. package/dist/core/plurnk-uri.d.ts +12 -1
  215. package/dist/core/plurnk-uri.d.ts.map +1 -1
  216. package/dist/core/plurnk-uri.js +49 -29
  217. package/dist/core/plurnk-uri.js.map +1 -1
  218. package/dist/core/results.d.ts +16 -5
  219. package/dist/core/results.d.ts.map +1 -1
  220. package/dist/core/results.js +27 -18
  221. package/dist/core/results.js.map +1 -1
  222. package/dist/core/ruler_count.d.ts +4 -0
  223. package/dist/core/ruler_count.d.ts.map +1 -0
  224. package/dist/core/ruler_count.js +7 -0
  225. package/dist/core/ruler_count.js.map +1 -0
  226. package/dist/core/scheme-types.d.ts +9 -11
  227. package/dist/core/scheme-types.d.ts.map +1 -1
  228. package/dist/core/scheme-types.js.map +1 -1
  229. package/dist/core/search-gate.d.ts.map +1 -1
  230. package/dist/core/search-gate.js +3 -11
  231. package/dist/core/search-gate.js.map +1 -1
  232. package/dist/core/teaching-corpus.d.ts +6 -0
  233. package/dist/core/teaching-corpus.d.ts.map +1 -0
  234. package/dist/core/teaching-corpus.js +23 -0
  235. package/dist/core/teaching-corpus.js.map +1 -0
  236. package/dist/core/teaching.d.ts +0 -1
  237. package/dist/core/teaching.d.ts.map +1 -1
  238. package/dist/core/teaching.js +2 -8
  239. package/dist/core/teaching.js.map +1 -1
  240. package/dist/core/token-ruler.d.ts.map +1 -1
  241. package/dist/core/token-ruler.js +3 -16
  242. package/dist/core/token-ruler.js.map +1 -1
  243. package/dist/core/turn-scheduler.d.ts +1 -1
  244. package/dist/core/turn-scheduler.d.ts.map +1 -1
  245. package/dist/core/turn-scheduler.js +1 -1
  246. package/dist/core/turn-scheduler.js.map +1 -1
  247. package/dist/core/worker-cap.d.ts +2 -4
  248. package/dist/core/worker-cap.d.ts.map +1 -1
  249. package/dist/core/worker-cap.js +13 -4
  250. package/dist/core/worker-cap.js.map +1 -1
  251. package/dist/core/{run-ops.sql → worker-ops.sql} +11 -11
  252. package/dist/core/workspace-settings.d.ts.map +1 -1
  253. package/dist/core/workspace-settings.js +17 -9
  254. package/dist/core/workspace-settings.js.map +1 -1
  255. package/dist/digest/Digest.d.ts +2 -1
  256. package/dist/digest/Digest.d.ts.map +1 -1
  257. package/dist/digest/Digest.js +337 -138
  258. package/dist/digest/Digest.js.map +1 -1
  259. package/dist/digest/digest.sql +19 -10
  260. package/dist/index.d.ts.map +1 -1
  261. package/dist/index.js +3 -5
  262. package/dist/index.js.map +1 -1
  263. package/dist/matrix/live-specimen.d.ts +9 -0
  264. package/dist/matrix/live-specimen.d.ts.map +1 -0
  265. package/dist/matrix/live-specimen.js +37 -0
  266. package/dist/matrix/live-specimen.js.map +1 -0
  267. package/dist/observe/api.d.ts +6 -0
  268. package/dist/observe/api.d.ts.map +1 -0
  269. package/dist/observe/api.js +11 -0
  270. package/dist/observe/api.js.map +1 -0
  271. package/dist/observe/init.d.ts +7 -0
  272. package/dist/observe/init.d.ts.map +1 -0
  273. package/dist/observe/init.js +159 -0
  274. package/dist/observe/init.js.map +1 -0
  275. package/dist/observe/metrics.d.ts +6 -0
  276. package/dist/observe/metrics.d.ts.map +1 -0
  277. package/dist/observe/metrics.js +15 -0
  278. package/dist/observe/metrics.js.map +1 -0
  279. package/dist/observe/spans.d.ts +4 -0
  280. package/dist/observe/spans.d.ts.map +1 -0
  281. package/dist/observe/spans.js +51 -0
  282. package/dist/observe/spans.js.map +1 -0
  283. package/dist/schemes/EffectPolicy.d.ts +1 -0
  284. package/dist/schemes/EffectPolicy.d.ts.map +1 -1
  285. package/dist/schemes/EffectPolicy.js +5 -2
  286. package/dist/schemes/EffectPolicy.js.map +1 -1
  287. package/dist/schemes/Exec.d.ts +6 -11
  288. package/dist/schemes/Exec.d.ts.map +1 -1
  289. package/dist/schemes/Exec.js +364 -247
  290. package/dist/schemes/Exec.js.map +1 -1
  291. package/dist/schemes/ExecOutputScheme.d.ts +8 -7
  292. package/dist/schemes/ExecOutputScheme.d.ts.map +1 -1
  293. package/dist/schemes/ExecOutputScheme.js +48 -9
  294. package/dist/schemes/ExecOutputScheme.js.map +1 -1
  295. package/dist/schemes/File.d.ts +7 -11
  296. package/dist/schemes/File.d.ts.map +1 -1
  297. package/dist/schemes/File.js +279 -142
  298. package/dist/schemes/File.js.map +1 -1
  299. package/dist/schemes/Log.d.ts +4 -8
  300. package/dist/schemes/Log.d.ts.map +1 -1
  301. package/dist/schemes/Log.js +475 -208
  302. package/dist/schemes/Log.js.map +1 -1
  303. package/dist/schemes/Log.sql +62 -30
  304. package/dist/schemes/Prompt.d.ts +3 -2
  305. package/dist/schemes/Prompt.d.ts.map +1 -1
  306. package/dist/schemes/Prompt.js +9 -6
  307. package/dist/schemes/Prompt.js.map +1 -1
  308. package/dist/schemes/Skill.d.ts +1 -1
  309. package/dist/schemes/Skill.d.ts.map +1 -1
  310. package/dist/schemes/Skill.js +2 -3
  311. package/dist/schemes/Skill.js.map +1 -1
  312. package/dist/schemes/Worker.d.ts +8 -16
  313. package/dist/schemes/Worker.d.ts.map +1 -1
  314. package/dist/schemes/Worker.js +179 -69
  315. package/dist/schemes/Worker.js.map +1 -1
  316. package/dist/schemes/_entry-chunk.d.ts.map +1 -1
  317. package/dist/schemes/_entry-chunk.js +12 -5
  318. package/dist/schemes/_entry-chunk.js.map +1 -1
  319. package/dist/schemes/_entry-crud.d.ts +10 -9
  320. package/dist/schemes/_entry-crud.d.ts.map +1 -1
  321. package/dist/schemes/_entry-crud.js +59 -13
  322. package/dist/schemes/_entry-crud.js.map +1 -1
  323. package/dist/schemes/_entry-crud.sql +20 -8
  324. package/dist/schemes/_entry-find.d.ts +20 -15
  325. package/dist/schemes/_entry-find.d.ts.map +1 -1
  326. package/dist/schemes/_entry-find.js +339 -174
  327. package/dist/schemes/_entry-find.js.map +1 -1
  328. package/dist/schemes/_entry-find.sql +20 -8
  329. package/dist/schemes/_entry-graph.d.ts +4 -2
  330. package/dist/schemes/_entry-graph.d.ts.map +1 -1
  331. package/dist/schemes/_entry-graph.js +55 -31
  332. package/dist/schemes/_entry-graph.js.map +1 -1
  333. package/dist/schemes/_entry-graph.sql +37 -22
  334. package/dist/schemes/_entry-manifest.d.ts +10 -15
  335. package/dist/schemes/_entry-manifest.d.ts.map +1 -1
  336. package/dist/schemes/_entry-manifest.js +50 -268
  337. package/dist/schemes/_entry-manifest.js.map +1 -1
  338. package/dist/schemes/_entry-ops.d.ts +9 -14
  339. package/dist/schemes/_entry-ops.d.ts.map +1 -1
  340. package/dist/schemes/_entry-ops.js +149 -77
  341. package/dist/schemes/_entry-ops.js.map +1 -1
  342. package/dist/schemes/_entry-ops.sql +1 -1
  343. package/dist/schemes/_entry-semantic.d.ts +23 -8
  344. package/dist/schemes/_entry-semantic.d.ts.map +1 -1
  345. package/dist/schemes/_entry-semantic.js +141 -60
  346. package/dist/schemes/_entry-semantic.js.map +1 -1
  347. package/dist/schemes/_entry-semantic.sql +63 -45
  348. package/dist/schemes/_entry-send.d.ts +3 -4
  349. package/dist/schemes/_entry-send.d.ts.map +1 -1
  350. package/dist/schemes/_entry-send.js +48 -23
  351. package/dist/schemes/_entry-send.js.map +1 -1
  352. package/dist/schemes/_path-scope.d.ts +23 -0
  353. package/dist/schemes/_path-scope.d.ts.map +1 -0
  354. package/dist/schemes/_path-scope.js +61 -0
  355. package/dist/schemes/_path-scope.js.map +1 -0
  356. package/dist/schemes/_search-candidate.d.ts +20 -0
  357. package/dist/schemes/_search-candidate.d.ts.map +1 -0
  358. package/dist/schemes/_search-candidate.js +19 -0
  359. package/dist/schemes/_search-candidate.js.map +1 -0
  360. package/dist/schemes/_search-exclusion.d.ts +7 -0
  361. package/dist/schemes/_search-exclusion.d.ts.map +1 -0
  362. package/dist/schemes/_search-exclusion.js +23 -0
  363. package/dist/schemes/_search-exclusion.js.map +1 -0
  364. package/dist/schemes/_search-index.d.ts +6 -0
  365. package/dist/schemes/_search-index.d.ts.map +1 -0
  366. package/dist/schemes/_search-index.js +326 -0
  367. package/dist/schemes/_search-index.js.map +1 -0
  368. package/dist/schemes/cosine.js +1 -1
  369. package/dist/schemes/cosine.js.map +1 -1
  370. package/dist/schemes/exec-abort.js +3 -3
  371. package/dist/schemes/exec-abort.js.map +1 -1
  372. package/dist/schemes/exec-env.js +3 -3
  373. package/dist/schemes/exec-env.js.map +1 -1
  374. package/dist/server/BranchBatches.d.ts +48 -0
  375. package/dist/server/BranchBatches.d.ts.map +1 -0
  376. package/dist/server/BranchBatches.js +591 -0
  377. package/dist/server/BranchBatches.js.map +1 -0
  378. package/dist/server/Daemon.d.ts +36 -66
  379. package/dist/server/Daemon.d.ts.map +1 -1
  380. package/dist/server/Daemon.js +920 -446
  381. package/dist/server/Daemon.js.map +1 -1
  382. package/dist/server/DaemonModule.d.ts +31 -0
  383. package/dist/server/DaemonModule.d.ts.map +1 -0
  384. package/dist/server/DaemonModule.js +2 -0
  385. package/dist/server/DaemonModule.js.map +1 -0
  386. package/dist/server/branch-batch.sql +152 -0
  387. package/dist/server/client-input.d.ts +12 -0
  388. package/dist/server/client-input.d.ts.map +1 -1
  389. package/dist/server/client-input.js +262 -57
  390. package/dist/server/client-input.js.map +1 -1
  391. package/dist/server/dispatch-as-plurnk.d.ts +1 -1
  392. package/dist/server/dispatch-as-plurnk.d.ts.map +1 -1
  393. package/dist/server/dispatch-as-plurnk.js +15 -7
  394. package/dist/server/dispatch-as-plurnk.js.map +1 -1
  395. package/dist/server/drain.sql +92 -62
  396. package/dist/server/envelope.d.ts +2 -5
  397. package/dist/server/envelope.d.ts.map +1 -1
  398. package/dist/server/envelope.js +119 -95
  399. package/dist/server/envelope.js.map +1 -1
  400. package/dist/server/envelope.sql +19 -23
  401. package/dist/server/exec-poll-backoff.js +1 -1
  402. package/dist/server/exec-poll-backoff.js.map +1 -1
  403. package/dist/server/lifecycle-recovery.sql +79 -2
  404. package/dist/server/logEntry.d.ts +3 -1
  405. package/dist/server/logEntry.d.ts.map +1 -1
  406. package/dist/server/logEntry.js +4 -2
  407. package/dist/server/logEntry.js.map +1 -1
  408. package/dist/server/logEntry.sql +1 -1
  409. package/dist/server/loop-model.d.ts.map +1 -1
  410. package/dist/server/loop-model.js +22 -9
  411. package/dist/server/loop-model.js.map +1 -1
  412. package/dist/server/loopDocs.d.ts.map +1 -1
  413. package/dist/server/loopDocs.js +5 -4
  414. package/dist/server/loopDocs.js.map +1 -1
  415. package/dist/server/seam-entry-read.sql +15 -10
  416. package/dist/server/seam-log-read.sql +2 -2
  417. package/dist/server/seam-loop.sql +1 -1
  418. package/dist/server/seam-proposal-list.sql +17 -7
  419. package/dist/service.d.ts.map +1 -1
  420. package/dist/service.js +66 -60
  421. package/dist/service.js.map +1 -1
  422. package/migrations/001_schema.sql +897 -0
  423. package/package.json +57 -26
  424. package/dist/core/PluginLoader.d.ts +0 -20
  425. package/dist/core/PluginLoader.d.ts.map +0 -1
  426. package/dist/core/PluginLoader.js +0 -142
  427. package/dist/core/PluginLoader.js.map +0 -1
  428. package/dist/core/TelemetryChannel.d.ts +0 -37
  429. package/dist/core/TelemetryChannel.d.ts.map +0 -1
  430. package/dist/core/TelemetryChannel.js +0 -80
  431. package/dist/core/TelemetryChannel.js.map +0 -1
  432. package/dist/core/path-decode.d.ts +0 -3
  433. package/dist/core/path-decode.d.ts.map +0 -1
  434. package/dist/core/path-decode.js +0 -9
  435. package/dist/core/path-decode.js.map +0 -1
  436. package/dist/core/plugin-attribution.d.ts +0 -5
  437. package/dist/core/plugin-attribution.d.ts.map +0 -1
  438. package/dist/core/plugin-attribution.js +0 -39
  439. package/dist/core/plugin-attribution.js.map +0 -1
  440. package/dist/core/world-state.d.ts +0 -10
  441. package/dist/core/world-state.d.ts.map +0 -1
  442. package/dist/core/world-state.js +0 -35
  443. package/dist/core/world-state.js.map +0 -1
  444. package/dist/core/world-state.sql +0 -35
  445. package/dist/core/zero-pin.d.ts +0 -3
  446. package/dist/core/zero-pin.d.ts.map +0 -1
  447. package/dist/core/zero-pin.js +0 -16
  448. package/dist/core/zero-pin.js.map +0 -1
  449. package/dist/server/auto.d.ts +0 -6
  450. package/dist/server/auto.d.ts.map +0 -1
  451. package/dist/server/auto.js +0 -63
  452. package/dist/server/auto.js.map +0 -1
  453. package/dist/server/clientTurn.d.ts +0 -6
  454. package/dist/server/clientTurn.d.ts.map +0 -1
  455. package/dist/server/clientTurn.js +0 -22
  456. package/dist/server/clientTurn.js.map +0 -1
  457. package/dist/server/clientTurn.sql +0 -10
  458. package/dist/server/noProposals.d.ts +0 -6
  459. package/dist/server/noProposals.d.ts.map +0 -1
  460. package/dist/server/noProposals.js +0 -37
  461. package/dist/server/noProposals.js.map +0 -1
  462. package/dist/server/version-info.d.ts +0 -14
  463. package/dist/server/version-info.d.ts.map +0 -1
  464. package/dist/server/version-info.js +0 -69
  465. package/dist/server/version-info.js.map +0 -1
  466. package/migrations/0000-00-00.01_schema.sql +0 -536
  467. package/migrations/0004_loop-provider.sql +0 -3
  468. package/migrations/0005_subscription-published-channel.sql +0 -3
  469. package/migrations/0006_loop-max-turns.sql +0 -3
@@ -1,9 +1,9 @@
1
- // SPEC §membership D4 — git-ls-files workspace membership. §membership-git-membership
1
+ // SPEC {§membership} D4 — git-ls-files workspace membership. {§membership-git-membership}
2
2
  //
3
3
  // When a workspace's `project_root` is a git working tree, the git-tracked
4
4
  // files (`git ls-files`) are workspace MEMBERS without any explicit client
5
5
  // `pick`. This module resolves that membership and (when token accounting is
6
- // available) materializes active members' disk content into a body channel,
6
+ // available) materializes active members' model-readable representation into a body channel,
7
7
  // so they appear in the entry catalog (FIND-served) and are READ-able.
8
8
  //
9
9
  // Decisions realized here:
@@ -17,25 +17,52 @@
17
17
  // `(ls-files ∪ pick) − hide`; view is enforced at the File edit gate.
18
18
  // D5 — coverage is exhaustive, work is change-gated: every member is stat'd each
19
19
  // turn, but only one whose mtime:size signature changed is re-read,
20
- // re-tokenized, and rewritten; an unchanged member is a no-op, and the EMI
21
- // divergence rides that same pass. {§membership-change-gated-sync}
20
+ // re-tokenized, and rewritten. A binary source also compares the installed
21
+ // projection identity without reacquiring bytes. EMI divergence rides the
22
+ // same pass. {§membership-change-gated-sync}
22
23
  //
23
- // git resolution is in-process by default (GitIso / isomorphic-git, #461) — portable,
24
- // sandbox-safe, hermetic by construction. PLURNK_SERVICE_GIT_NATIVE=1 routes to system git
25
- // (subprocess + hermeticGitEnv, AbortSignal-respecting) — the in-process membership pass
26
- // measures ~8x native (~130ms at 20k files), so a large-repo host can buy the hot path back.
24
+ // Git resolution uses native Git by default (subprocess + hermeticGitEnv,
25
+ // AbortSignal-respecting). PLURNK_SERVICE_GIT_ISO=1 explicitly selects the
26
+ // slower in-process portability backend for a deployment that cannot spawn Git.
27
27
  import { execFile } from "node:child_process";
28
- import { hermeticGitEnv } from "./git-env.js";
28
+ import { gitOutputMaxBytes, hermeticGitEnv, isomorphicGitEnabled } from "./git-env.js";
29
29
  import GitIso from "./git-iso.js";
30
30
  import { promisify } from "node:util";
31
31
  import { readFile, glob, stat } from "node:fs/promises";
32
32
  import { resolve, relative, join, matchesGlob } from "node:path";
33
+ import { MimetypeInputLimitError, } from "@plurnk/plurnk-mimetypes";
33
34
  import { MimetypeBinary } from "../content/index.js";
34
35
  import Owner from "./Owner.js";
35
36
  import EntryCrud from "../schemes/_entry-crud.js";
36
37
  import WorkspaceSettings from "./workspace-settings.js";
37
- // Feature-flag convention: `=== "1"` exactly. Default (unset/0) = the in-process GitIso backend.
38
- const nativeGit = () => process.env.PLURNK_SERVICE_GIT_NATIVE === "1";
38
+ const sourceProjectionFrom = (encoded) => {
39
+ const attributes = JSON.parse(encoded);
40
+ if (attributes === null || typeof attributes !== "object" || Array.isArray(attributes)) {
41
+ throw new TypeError("GitMembership: entry attributes must be a JSON object");
42
+ }
43
+ const candidate = attributes.sourceProjection;
44
+ if (candidate === undefined)
45
+ return null;
46
+ if (candidate === null || typeof candidate !== "object" || Array.isArray(candidate)) {
47
+ throw new TypeError("GitMembership: sourceProjection must be a JSON object");
48
+ }
49
+ const projection = candidate;
50
+ if (typeof projection.mimetype !== "string"
51
+ || projection.mimetype.length === 0
52
+ || typeof projection.identity !== "string"
53
+ || projection.identity.length === 0
54
+ || !["projected", "unavailable", "input-limit"].includes(projection.disposition ?? "")) {
55
+ throw new TypeError("GitMembership: sourceProjection metadata is malformed");
56
+ }
57
+ const hasLimit = Number.isSafeInteger(projection.maximumBytes)
58
+ && (projection.maximumBytes ?? 0) > 0
59
+ && Number.isSafeInteger(projection.observedBytes)
60
+ && (projection.observedBytes ?? 0) > (projection.maximumBytes ?? 0);
61
+ if ((projection.disposition === "input-limit") !== hasLimit) {
62
+ throw new TypeError("GitMembership: sourceProjection input-limit evidence is malformed");
63
+ }
64
+ return projection;
65
+ };
39
66
  export default class GitMembership {
40
67
  // Workspace creation starts a background warm while the first model turn
41
68
  // performs its own eager membership refresh. Both are legitimate callers,
@@ -46,7 +73,8 @@ export default class GitMembership {
46
73
  static #execFileP = promisify(execFile);
47
74
  // {§fs-write-surface} — the blind-write closure git half: would git ADMIT a create at
48
75
  // key (untracked-not-ignored)? check-ignore exit 0 = ignored (refuse), 1 = clean
49
- // (admit via auto-add), anything else (128, no repo) = git grants nothing here.
76
+ // (automatic membership admission, never `git add`), anything else (128, no
77
+ // repo) = git grants nothing here.
50
78
  static async wouldGitAdmit(root, key, signal) {
51
79
  try {
52
80
  await GitMembership.#execFileP("git", ["check-ignore", "-q", "--", key], { cwd: root, signal, env: hermeticGitEnv() });
@@ -62,15 +90,14 @@ export default class GitMembership {
62
90
  const row = await db.envelope_get_workspace.get({ id: workspaceId });
63
91
  return row?.project_root ?? null;
64
92
  }
65
- // Tracked files of one repo, workspace-relative — GitIso.trackedFiles (walk STAGE, blob
66
- // entries only) or `git ls-files --stage -z` under the native flag. Either way gitlinks
67
- // are filtered: a submodule (mode 160000, a commit pointer — a directory on disk, not a
68
- // file) is a separate declared repo, never a member of its superproject. Empty → [].
93
+ // Tracked files of one repo, workspace-relative - GitIso.trackedFiles (walk STAGE, blob
94
+ // entries only) or native `git ls-files --stage -z`. Either way gitlinks
95
+ // are filtered: a submodule is a repository boundary, not a file member. Empty → [].
69
96
  static async #gitTrackedFiles(root, signal, cache) {
70
- if (!nativeGit())
97
+ if (isomorphicGitEnabled())
71
98
  return GitIso.trackedFiles(root, cache);
72
99
  // NUL-delimited so paths with spaces/newlines survive.
73
- const { stdout } = await GitMembership.#execFileP("git", ["ls-files", "--stage", "-z"], { cwd: root, signal, maxBuffer: 64 * 1024 * 1024, env: hermeticGitEnv() });
100
+ const { stdout } = await GitMembership.#execFileP("git", ["ls-files", "--stage", "-z"], { cwd: root, signal, maxBuffer: gitOutputMaxBytes(), env: hermeticGitEnv() });
74
101
  const files = [];
75
102
  for (const entry of stdout.split("\0")) {
76
103
  if (entry.length === 0)
@@ -84,22 +111,19 @@ export default class GitMembership {
84
111
  }
85
112
  return files;
86
113
  }
87
- // Untracked-but-not-ignored files of one repo (SPEC §membership-auto-add) —
88
- // GitIso.untrackedFiles (the differential-gated pruning ignore-walk) or `git ls-files
89
- // --others --exclude-standard -z` under the native flag. A model-created file is a repo
114
+ // Untracked-but-not-ignored members of one repo ({§membership-auto-add}) —
115
+ // GitIso.untrackedFiles (the differential-gated pruning ignore-walk) or native `git ls-files
116
+ // --others --exclude-standard -z`. A model-created file is a repo
90
117
  // member the moment it exists — no git-stage required — while `.gitignore` still filters it.
91
118
  static async #gitUntrackedFiles(root, signal, cache) {
92
- if (!nativeGit())
119
+ if (isomorphicGitEnabled())
93
120
  return GitIso.untrackedFiles(root, cache);
94
- const { stdout } = await GitMembership.#execFileP("git", ["ls-files", "--others", "--exclude-standard", "-z"], { cwd: root, signal, maxBuffer: 64 * 1024 * 1024, env: hermeticGitEnv() });
121
+ const { stdout } = await GitMembership.#execFileP("git", ["ls-files", "--others", "--exclude-standard", "-z"], { cwd: root, signal, maxBuffer: gitOutputMaxBytes(), env: hermeticGitEnv() });
95
122
  return stdout.split("\0").filter((e) => e.length > 0);
96
123
  }
97
- // Resolve a declared repo folder to its git toplevel (the repo root containing it), or
98
- // null if it isn't inside a git tree. GitIso.repoToplevel (findRoot) or `rev-parse
99
- // --show-toplevel` under the native flag — both handle plain repos, linked worktrees
100
- // (`.git` is a gitdir: file), and submodules alike.
124
+ // Resolve a directory to the containing Git repository, or null when absent.
101
125
  static async #repoToplevel(dir, signal) {
102
- if (!nativeGit())
126
+ if (isomorphicGitEnabled())
103
127
  return GitIso.repoToplevel(dir);
104
128
  try {
105
129
  const { stdout } = await GitMembership.#execFileP("git", ["rev-parse", "--show-toplevel"], { cwd: dir, signal, env: hermeticGitEnv() });
@@ -109,84 +133,51 @@ export default class GitMembership {
109
133
  return null; // not a git tree (or the dir is gone) — contributes nothing
110
134
  }
111
135
  }
112
- // The forest (SPEC §membership, §membership-forest): union every declared repo's MEMBERS —
113
- // tracked files PLUS untracked-but-not-ignored ones (§membership-auto-add) — each
114
- // path-prefixed by the repo's location relative to the workspace root (empty prefix when
115
- // the repo IS the root). Repos that don't resolve are skipped.
116
- static async #forestMembers(root, repoDirs, signal) {
117
- // Resolve every declared entry to its git toplevel, deduped: a glob (`*`) and an
118
- // explicit declaration can name the same repo, and resolving one repo twice is
119
- // wasted git work. {§membership-forest}
120
- const repoRoots = new Set();
121
- for (const dir of repoDirs) {
122
- for (const candidate of await GitMembership.#expandRepoDirs(root, dir, signal)) {
123
- const repoRoot = await GitMembership.#repoToplevel(resolve(root, candidate), signal);
124
- if (repoRoot !== null)
125
- repoRoots.add(repoRoot);
126
- }
127
- }
136
+ // A workspace owns exactly the repository containing project_root. Packages and
137
+ // projects inside that repository share its Git state; unrelated repositories
138
+ // belong to unrelated workspaces.
139
+ static async projectRepository(db, workspaceId, signal) {
140
+ const root = await GitMembership.#loadWorkspaceRoot(db, workspaceId);
141
+ if (root === null || process.env.PLURNK_SERVICE_GIT_ALLOWED !== "1")
142
+ return null;
143
+ if ((await WorkspaceSettings.read(db, workspaceId)).git === false)
144
+ return null;
145
+ return GitMembership.#repoToplevel(root, signal);
146
+ }
147
+ static async #projectMembers(root, repoRoot, signal) {
128
148
  const members = new Set();
129
- // One iso-git cache per PASS: pack/index parses are reused across this resolve's repos
130
- // and reads, then discarded — never carried across turns, so a rewritten index or
131
- // repacked store can't serve stale.
132
149
  const cache = {};
133
- for (const repoRoot of repoRoots) {
134
- // project_root is no boundary — only the relative-address base. EVERY member is
135
- // addressed relative to the root, a repo outside it included (a `..`-prefixed
136
- // path) — so the universal `join(root, pathname)` disk-resolver works unchanged;
137
- // an absolute pathname would nest UNDER root and never materialize. {§membership-overlay-repo}
138
- const prefix = relative(root, repoRoot);
139
- const tracked = await GitMembership.#gitTrackedFiles(repoRoot, signal, cache);
140
- const untracked = await GitMembership.#gitUntrackedFiles(repoRoot, signal, cache);
141
- for (const f of [...tracked, ...untracked]) {
142
- members.add(join(prefix, f));
143
- }
150
+ const prefix = relative(root, repoRoot);
151
+ const tracked = await GitMembership.#gitTrackedFiles(repoRoot, signal, cache);
152
+ const untracked = await GitMembership.#gitUntrackedFiles(repoRoot, signal, cache);
153
+ for (const file of [...tracked, ...untracked]) {
154
+ members.add(join(prefix, file));
144
155
  }
145
156
  return [...members];
146
157
  }
147
- // A declared repo entry → the candidate directories it names. A literal path (no glob
148
- // magic) passes through untouched — preserving the "declare a repo ANYWHERE, including
149
- // OUTSIDE the root via `..` or an absolute path" contract that glob can't address upward.
150
- // A glob pattern is directory-expanded under the root via node:fs glob — `*` matches each
151
- // immediate child (one level), `**` recurses — dropping file matches, since only a
152
- // directory can be a repo; #repoToplevel then filters the non-git matches. {§membership-overlay-repo}
153
- static async #expandRepoDirs(root, dir, signal) {
154
- if (!GitMembership.#isGlobPattern(dir))
155
- return [dir];
156
- const dirs = [];
157
- for await (const rel of glob(dir, { cwd: root })) {
158
- if (signal?.aborted)
159
- return dirs;
160
- try {
161
- if ((await stat(resolve(root, rel))).isDirectory())
162
- dirs.push(rel);
163
- }
164
- catch {
165
- // raced away between glob and stat — not a candidate
166
- }
167
- }
168
- return dirs;
169
- }
170
- // Does this declared repo entry carry glob magic (directory-expand it), or is it a
171
- // literal path (declared as-is)? The metacharacters node:fs glob honors.
172
- static #isGlobPattern(s) {
173
- return /[*?[\]{}]/.test(s);
174
- }
175
- // Detect a tracked file's mimetype (mirrors File.detectFileMimetype): route
176
- // through the Mimetypes service when present, normalizing the auto-text result
177
- // to the text primitive (plurnk-service never auto-derives text/plain). No
178
- // service → text primitive.
158
+ // Detect a tracked file's mimetype (mirrors File.detectFileMimetype) through
159
+ // the configured registry, normalizing auto-derived text/plain to the text
160
+ // primitive.
179
161
  static async #detectMimetype(canonical, mimetypes) {
180
- if (mimetypes !== undefined) {
181
- const detected = await mimetypes.detect({ path: canonical });
182
- return MimetypeBinary.normalizeAutoTextMimetype(detected);
162
+ if (mimetypes === undefined)
163
+ throw new Error("GitMembership: configured mimetype registry is required");
164
+ const detected = await mimetypes.detect({ path: canonical });
165
+ return MimetypeBinary.normalizeAutoTextMimetype(detected);
166
+ }
167
+ static #projectionIdentity(mimetype, mimetypes, identities) {
168
+ if (mimetypes === undefined)
169
+ throw new Error("GitMembership: configured mimetype registry is required");
170
+ let identity = identities.get(mimetype);
171
+ if (identity === undefined) {
172
+ identity = mimetypes.projectionIdentity(mimetype);
173
+ identities.set(mimetype, identity);
183
174
  }
184
- return MimetypeBinary.TEXT_PRIMITIVE_MIMETYPE;
175
+ return identity;
185
176
  }
186
177
  // Shared overlay inputs — the candidate sets (git tracked+untracked union, pick scan) and
187
178
  // the overlay globs, before composition. Single-sources the (git ∪ pick) derivation + the
188
179
  // glob sets for resolveGitMembership (compose + reconcile) and resolveMembershipEffects
189
- // (derive per-file effect for clients, #243). Headless (no project_root) → null.
180
+ // (derive per-file effect for clients, {§membership-resolved-effects}). Headless → null.
190
181
  static async #resolveOverlayInputs(db, workspaceId, signal) {
191
182
  const root = await GitMembership.#loadWorkspaceRoot(db, workspaceId);
192
183
  if (root === null)
@@ -195,26 +186,27 @@ export default class GitMembership {
195
186
  const hideGlobs = constraints.filter((c) => c.effect === "hide").map((c) => c.glob);
196
187
  const pickGlobs = constraints.filter((c) => c.effect === "pick").map((c) => c.glob);
197
188
  const viewGlobs = constraints.filter((c) => c.effect === "view").map((c) => c.glob);
198
- // git substrate — the union of the workspace's DECLARED repos' MEMBERS: tracked files
199
- // plus untracked-but-not-ignored ones (§membership-auto-add). PLURNK_SERVICE_GIT_ALLOWED=0 is
200
- // the hard ceiling (deny all git membership); PLURNK_SERVICE_GIT_AUTO=1 declares project_root
201
- // as an implicit repo. Empty when git is denied or no declared repo resolves, so
202
- // `pick` is then the sole source. No early-return on non-git.
203
- const repoDirs = constraints.filter((c) => c.effect === "repo").map((c) => c.glob); // a declared repo's ls-files join membership, path-prefixed — §membership-overlay-repo
204
- if (process.env.PLURNK_SERVICE_GIT_AUTO === "1")
205
- repoDirs.push(root); // ALLOWED ceiling gates the AUTO default — §membership-git-flags
206
- // #232 — git:false is a workspace-level tighten of the env ALLOWED ceiling (env AND workspace).
189
+ // The repository containing project_root is the sole Git substrate.
190
+ // PLURNK_SERVICE_GIT_ALLOWED=0 is the hard service ceiling and
191
+ // PLURNK_SERVICE_GIT_AUTO=0 disables automatic Git membership.
192
+ // {§operator-config-workspace-git} — git:false tightens the env ALLOWED ceiling.
207
193
  const workspaceGit = (await WorkspaceSettings.read(db, workspaceId)).git;
208
- const gitMembers = process.env.PLURNK_SERVICE_GIT_ALLOWED === "1" && workspaceGit !== false
209
- ? await GitMembership.#forestMembers(root, repoDirs, signal)
210
- : [];
194
+ let gitMembers = [];
195
+ if (process.env.PLURNK_SERVICE_GIT_ALLOWED === "1"
196
+ && process.env.PLURNK_SERVICE_GIT_AUTO === "1"
197
+ && workspaceGit !== false) {
198
+ const repository = await GitMembership.#repoToplevel(root, signal);
199
+ if (repository !== null) {
200
+ gitMembers = await GitMembership.#projectMembers(root, repository, signal);
201
+ }
202
+ }
211
203
  // `pick` overlay — a targeted, client-dictated scan for untracked matches
212
204
  // (node:fs glob over the client's pattern, never a blind walk).
213
- const picked = pickGlobs.length === 0 ? [] : await GitMembership.#scanPickMembers(root, pickGlobs, signal); // §membership-overlay-pick
205
+ const picked = pickGlobs.length === 0 ? [] : await GitMembership.#scanPickMembers(root, pickGlobs, signal); // {§membership-overlay-pick}
214
206
  return { root, gitMembers, picked, hideGlobs, viewGlobs };
215
207
  }
216
208
  // Resolve a workspace's file membership: the desired set is (git ls-files ∪ pick
217
- // globs) − hide globs (SPEC §membership overlay), reconciled against the registered
209
+ // globs) − hide globs (SPEC {§membership} overlay), reconciled against the registered
218
210
  // overlay-owned members so entries == members. Channel-less rows — disk is the
219
211
  // truth (D3); the row is the membership marker File.read gates on. Returns the
220
212
  // desired pathnames so the caller can materialize them through writeEntry.
@@ -226,7 +218,7 @@ export default class GitMembership {
226
218
  if (inputs === null)
227
219
  return []; // headless — no disk surface to resolve
228
220
  const { gitMembers: members, picked, hideGlobs } = inputs;
229
- // Compose: (git ∪ pick) − hide (§membership-overlay-hide), tracking origin for reconciliation — a path
221
+ // Compose: (git ∪ pick) − hide ({§membership-overlay-hide}), tracking origin for reconciliation — a path
230
222
  // in `members` is 'git', a pick-only match is 'constraint'.
231
223
  const memberSet = new Set(members);
232
224
  const passesHide = (p) => hideGlobs.length === 0 || !hideGlobs.some((g) => matchesGlob(p, g));
@@ -256,11 +248,11 @@ export default class GitMembership {
256
248
  }
257
249
  return desired;
258
250
  }
259
- // Resolve each candidate's membership EFFECT without mutating — a read for clients (#243,
260
- // plurnk.nvim gutter signs): the same (git ∪ pick) / hide / view resolution resolveGitMembership
251
+ // Resolve each candidate's membership effect without mutating — a read for clients
252
+ // ({§membership-resolved-effects}): the same (git ∪ pick) / hide / view resolution resolveGitMembership
261
253
  // composes, surfaced per-file so a client signs member/view/hidden with ZERO glob-matching of
262
254
  // its own. `members` are (git ∪ pick) − hide, each tagged `view` (read-only, refused at the
263
- // File edit gate §membership-overlay-view) or plain `member`; `hidden` are candidates a `hide`
255
+ // File edit gate {§membership-overlay-view}) or plain `member`; `hidden` are candidates a `hide`
264
256
  // glob excludes (project files absent from the manifest). Paths namespace-absolute, matching
265
257
  // the manifest + storage. Headless → empty. {§membership-resolved-effects}
266
258
  static async resolveMembershipEffects(db, workspaceId, signal) {
@@ -285,7 +277,7 @@ export default class GitMembership {
285
277
  hidden.sort();
286
278
  return { members, hidden };
287
279
  }
288
- // Targeted client-dictated scan (SPEC §membership `pick`) — enumerate disk files
280
+ // Targeted client-dictated scan (SPEC {§membership} `pick`) — enumerate disk files
289
281
  // matching the client's pick-globs via node:fs glob (the pattern bounds the
290
282
  // traversal; never a blind fs-walk). Files only — directories aren't members.
291
283
  // Workspace-relative paths, the same shape as git ls-files.
@@ -306,18 +298,17 @@ export default class GitMembership {
306
298
  }
307
299
  return [...matches];
308
300
  }
309
- // Materialize a member's disk content into a body channel via writeEntry (the
301
+ // Materialize a member's model-readable snapshot into a body channel via writeEntry (the
310
302
  // entry-write paradigm) — so it appears in the manifest catalog and is READ-able
311
- // (D4/D5). Change-gated: a member whose mtime:size signature is unchanged since its
312
- // last sync is a no-op (the stat-gate below) — re-read + rewrite only on change.
313
- // Binary members materialize as an EMPTY body
314
- // channel stamped with their binary mimetype (#186 — visible in the manifest
315
- // and READ-415 via the one isBinaryMimetype gate, not a 404 ghost).
303
+ // (D4/D5). Change-gated: text changes with mtime:size; binary projections also
304
+ // change when their opaque reader identity changes. A binary source persists
305
+ // only derived Unicode when its installed handler provides it, otherwise an
306
+ // empty typed marker ({§membership-source-projection}).
316
307
  // Missing-on-disk (tracked but deleted in the working tree) is
317
308
  // skipped — membership stands, no channel.
318
- static async #materializeMember(pathname, root, ctx) {
309
+ static async #materializeMember(pathname, root, ctx, identities) {
319
310
  const canonical = join(root, pathname); // pathname is namespace-absolute (`/src/foo.ts`); join roots it at the workspace
320
- // SPEC §membership-change-gated-sync — the cheap detect is a stat (mtime:size),
311
+ // SPEC {§membership-change-gated-sync} — the cheap detect is a stat (mtime:size),
321
312
  // never a content read: a member whose signature matches its last sync is a
322
313
  // no-op (not re-read, re-tokenized, or rewritten). Coverage stays exhaustive
323
314
  // (every member is stat'd); work is proportional to change.
@@ -339,17 +330,17 @@ export default class GitMembership {
339
330
  const known = await ctx.db.crud_get_member_sig.get({
340
331
  workspace_id: ctx.workspaceId, owner_id: await Owner.commonsId(ctx.db, ctx.workspaceId), scheme: "file", pathname,
341
332
  });
342
- if (known !== undefined && known.synced_sig === sig)
343
- return null; // unchanged — the change-gate
333
+ if (known !== undefined && known.synced_sig === sig) {
334
+ const sourceProjection = sourceProjectionFrom(known.attributes);
335
+ if (sourceProjection === null)
336
+ return null;
337
+ const currentIdentity = await GitMembership.#projectionIdentity(sourceProjection.mimetype, ctx.mimetypes, identities);
338
+ if (currentIdentity === sourceProjection.identity)
339
+ return null;
340
+ }
344
341
  const mimetype = await GitMembership.#detectMimetype(canonical, ctx.mimetypes);
345
- if (MimetypeBinary.isBinaryMimetype(mimetype)) {
346
- // Empty body channel stamped with the real binary mimetype — a first-
347
- // class entry that READ-415s through readWorkspaceEntry's isBinaryMimetype
348
- // gate (#186), not a channel-less row that would read as 404.
349
- const r = await EntryCrud.writeEntry(pathname, { channels: { body: { content: "", mimetype } }, tags: [] }, ctx, "file");
350
- if (r.entryId !== null)
351
- await ctx.db.crud_set_synced_sig.run({ entry_id: r.entryId, synced_sig: sig });
352
- return null; // binary bodies are empty markers — no text divergence to narrate
342
+ if (await MimetypeBinary.isBinaryMimetype(mimetype, ctx.mimetypes)) {
343
+ return GitMembership.#materializeBinary(pathname, { path: canonical }, mimetype, sig, known?.synced_sig !== sig, ctx, identities);
353
344
  }
354
345
  let buf;
355
346
  try {
@@ -360,34 +351,94 @@ export default class GitMembership {
360
351
  return null;
361
352
  throw err;
362
353
  }
363
- // §membership-binary-sniff (#320) — the extension map can lie (.wasm fell through to
354
+ // {§membership-binary-sniff} — the extension map can lie (.wasm fell through to
364
355
  // the markdown DEFAULT and a 3.3MB blob entered the corpus as prose, three copies,
365
356
  // ~10M tokens). NUL bytes in the head are binary truth regardless of the label:
366
- // re-stamp octet-stream and take the binary arm (empty body, READ-415, never
367
- // FTS'd/embedded/tokenized as text).
357
+ // re-stamp octet-stream and take the same bounded projection-or-marker arm.
368
358
  if (buf.subarray(0, 8192).includes(0)) {
369
- const r = await EntryCrud.writeEntry(pathname, { channels: { body: { content: "", mimetype: "application/octet-stream" } }, tags: [] }, ctx, "file");
370
- if (r.entryId !== null)
371
- await ctx.db.crud_set_synced_sig.run({ entry_id: r.entryId, synced_sig: sig });
372
- return null;
359
+ return GitMembership.#materializeBinary(pathname, { content: buf, hint: "application/octet-stream" }, "application/octet-stream", sig, known?.synced_sig !== sig, ctx, identities);
373
360
  }
374
361
  const content = buf.toString("utf8");
375
- // §env-delta — capture an out-of-band disk change BEFORE the refresh overwrites
376
- // the entry: an existing body channel whose content differs from disk is an
377
- // ambient divergence (D5). writeEntry then refreshes the entry to disk truth.
362
+ // {§env-delta-filesystem-narration} — capture the prior snapshot before
363
+ // materialization replaces it, then journal the resulting net span.
378
364
  const prior = await ctx.db.ops_read_channel.get({
379
365
  workspace_id: ctx.workspaceId, owner_id: await Owner.commonsId(ctx.db, ctx.workspaceId), scheme: "file", pathname, channel: "body",
380
366
  });
381
- const result = await EntryCrud.writeEntry(pathname, { channels: { body: { content, mimetype } }, tags: [] }, ctx, "file");
367
+ const result = await EntryCrud.writeEntry(pathname, { channels: { body: { content, mimetype } }, tags: [], attributes: {} }, ctx, "file");
382
368
  if (result.entryId !== null)
383
369
  await ctx.db.crud_set_synced_sig.run({ entry_id: result.entryId, synced_sig: sig });
384
370
  if (prior !== undefined && prior.content !== content && result.entryId !== null) {
385
- return { pathname, scheme: "file", entryId: result.entryId, channel: "body", before: prior.content, after: content };
371
+ return { pathname, entryId: result.entryId, channel: "body", before: prior.content, after: content };
372
+ }
373
+ return null;
374
+ }
375
+ static async #materializeBinary(pathname, input, mimetype, sig, diskChanged, ctx, identities) {
376
+ const mimetypes = ctx.mimetypes;
377
+ if (mimetypes === undefined)
378
+ throw new Error("GitMembership: configured mimetype registry is required");
379
+ let content = "";
380
+ let outputMimetype = mimetype;
381
+ let metadata;
382
+ try {
383
+ const projected = await mimetypes.projectReadable(input);
384
+ if (projected === null) {
385
+ metadata = {
386
+ mimetype,
387
+ identity: await GitMembership.#projectionIdentity(mimetype, mimetypes, identities),
388
+ disposition: "unavailable",
389
+ };
390
+ }
391
+ else {
392
+ content = projected.content;
393
+ outputMimetype = "text/markdown";
394
+ metadata = {
395
+ mimetype: projected.sourceMimetype,
396
+ identity: projected.projectionIdentity,
397
+ disposition: "projected",
398
+ };
399
+ }
400
+ }
401
+ catch (cause) {
402
+ if (!(cause instanceof MimetypeInputLimitError))
403
+ throw cause;
404
+ metadata = {
405
+ mimetype,
406
+ identity: await GitMembership.#projectionIdentity(mimetype, mimetypes, identities),
407
+ disposition: "input-limit",
408
+ maximumBytes: cause.maximumBytes,
409
+ observedBytes: cause.observedBytes,
410
+ };
411
+ }
412
+ const prior = diskChanged && metadata.disposition === "projected"
413
+ ? await ctx.db.ops_read_channel.get({
414
+ workspace_id: ctx.workspaceId,
415
+ owner_id: await Owner.commonsId(ctx.db, ctx.workspaceId),
416
+ scheme: "file",
417
+ pathname,
418
+ channel: "body",
419
+ })
420
+ : undefined;
421
+ const result = await EntryCrud.writeEntry(pathname, {
422
+ channels: { body: { content, mimetype: outputMimetype } },
423
+ tags: [],
424
+ attributes: { sourceProjection: metadata },
425
+ }, ctx, "file");
426
+ if (result.entryId !== null) {
427
+ await ctx.db.crud_set_synced_sig.run({ entry_id: result.entryId, synced_sig: sig });
428
+ }
429
+ if (prior !== undefined && prior.content !== content && result.entryId !== null) {
430
+ return {
431
+ pathname,
432
+ entryId: result.entryId,
433
+ channel: "body",
434
+ before: prior.content,
435
+ after: content,
436
+ };
386
437
  }
387
438
  return null;
388
439
  }
389
440
  // Full membership + materialization pass for a worker. Registers git members,
390
- // then materializes each active (on-disk, non-binary) member as an entry
441
+ // then materializes each active on-disk member as an entry
391
442
  // through writeEntry. Called at packet-composition time (Engine.runTurn) per
392
443
  // D5. No-ops on headless / non-git workspaces.
393
444
  static async indexGitMembership(ctx) {
@@ -413,8 +464,9 @@ export default class GitMembership {
413
464
  return [];
414
465
  const tracked = await GitMembership.resolveGitMembership(ctx.db, ctx.workspaceId, ctx.signal);
415
466
  const divergences = [];
467
+ const identities = new Map();
416
468
  for (const pathname of tracked) {
417
- const divergence = await GitMembership.#materializeMember(pathname, root, ctx);
469
+ const divergence = await GitMembership.#materializeMember(pathname, root, ctx, identities);
418
470
  if (divergence !== null)
419
471
  divergences.push(divergence);
420
472
  }
@@ -1 +1 @@
1
- {"version":3,"file":"git-membership.js","sourceRoot":"","sources":["../../src/core/git-membership.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git-membership.js","sourceRoot":"","sources":["../../src/core/git-membership.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"git-state.d.ts","sourceRoot":"","sources":["../../src/core/git-state.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAGlC,MAAM,WAAW,SAAS;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACrB;AAUD,MAAM,CAAC,OAAO,OAAO,QAAQ;;IAGzB,MAAM,CAAC,OAAO,IAAI,OAAO,CAIxB;IAED,OAAa,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAiB3G;CA2BJ"}
1
+ {"version":3,"file":"git-state.d.ts","sourceRoot":"","sources":["../../src/core/git-state.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAGlC,MAAM,WAAW,SAAS;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACrB;AASD,MAAM,CAAC,OAAO,OAAO,QAAQ;;IAGzB,MAAM,CAAC,OAAO,IAAI,OAAO,CAIxB;IAED,OAAa,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAiB3G;CA2BJ"}