@plurnk/plurnk-service 1.21.0 → 1.22.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 (249) hide show
  1. package/.env.defaults +15 -6
  2. package/INSTALL.md +2 -2
  3. package/README.md +1 -1
  4. package/SPEC.md +329 -228
  5. package/dist/build-info.json +1 -1
  6. package/dist/content/edit-receipt.js +4 -3
  7. package/dist/content/edit-receipt.js.map +1 -1
  8. package/dist/content/index.d.ts +2 -7
  9. package/dist/content/index.d.ts.map +1 -1
  10. package/dist/content/index.js +2 -5
  11. package/dist/content/index.js.map +1 -1
  12. package/dist/content/line-anchors.d.ts.map +1 -1
  13. package/dist/content/line-anchors.js +46 -15
  14. package/dist/content/line-anchors.js.map +1 -1
  15. package/dist/content/line-marker.d.ts +1 -0
  16. package/dist/content/line-marker.d.ts.map +1 -1
  17. package/dist/content/line-marker.js +2 -0
  18. package/dist/content/line-marker.js.map +1 -1
  19. package/dist/content/matcher.d.ts +1 -1
  20. package/dist/content/matcher.d.ts.map +1 -1
  21. package/dist/content/matcher.js +7 -9
  22. package/dist/content/matcher.js.map +1 -1
  23. package/dist/content/pattern-edits.d.ts +6 -0
  24. package/dist/content/pattern-edits.d.ts.map +1 -1
  25. package/dist/content/pattern-edits.js +14 -0
  26. package/dist/content/pattern-edits.js.map +1 -1
  27. package/dist/content/read-projector.d.ts.map +1 -1
  28. package/dist/content/read-projector.js +2 -1
  29. package/dist/content/read-projector.js.map +1 -1
  30. package/dist/content/scope-format.d.ts +2 -2
  31. package/dist/content/scope-format.d.ts.map +1 -1
  32. package/dist/content/scope-format.js.map +1 -1
  33. package/dist/core/AdmittedTurnExecutor.d.ts.map +1 -1
  34. package/dist/core/AdmittedTurnExecutor.js +5 -2
  35. package/dist/core/AdmittedTurnExecutor.js.map +1 -1
  36. package/dist/core/DataStatementRunner.js +1 -1
  37. package/dist/core/DataStatementRunner.js.map +1 -1
  38. package/dist/core/Dispatcher.d.ts.map +1 -1
  39. package/dist/core/Dispatcher.js +1 -0
  40. package/dist/core/Dispatcher.js.map +1 -1
  41. package/dist/core/Dispatcher.sql +1 -1
  42. package/dist/core/EditMutations.js +4 -4
  43. package/dist/core/EditMutations.js.map +1 -1
  44. package/dist/core/EditSequence.d.ts.map +1 -1
  45. package/dist/core/EditSequence.js +2 -1
  46. package/dist/core/EditSequence.js.map +1 -1
  47. package/dist/core/Engine.d.ts +4 -1
  48. package/dist/core/Engine.d.ts.map +1 -1
  49. package/dist/core/Engine.js +7 -2
  50. package/dist/core/Engine.js.map +1 -1
  51. package/dist/core/ExecutorRegistry.d.ts +1 -0
  52. package/dist/core/ExecutorRegistry.d.ts.map +1 -1
  53. package/dist/core/ExecutorRegistry.js +4 -0
  54. package/dist/core/ExecutorRegistry.js.map +1 -1
  55. package/dist/core/FabricatedLog.d.ts +8 -0
  56. package/dist/core/FabricatedLog.d.ts.map +1 -0
  57. package/dist/core/FabricatedLog.js +16 -0
  58. package/dist/core/FabricatedLog.js.map +1 -0
  59. package/dist/core/KnownToxins.d.ts +0 -1
  60. package/dist/core/KnownToxins.d.ts.map +1 -1
  61. package/dist/core/KnownToxins.js +3 -12
  62. package/dist/core/KnownToxins.js.map +1 -1
  63. package/dist/core/LogBody.d.ts.map +1 -1
  64. package/dist/core/LogBody.js +3 -2
  65. package/dist/core/LogBody.js.map +1 -1
  66. package/dist/core/LogVisibility.d.ts +3 -1
  67. package/dist/core/LogVisibility.d.ts.map +1 -1
  68. package/dist/core/LogVisibility.js +30 -16
  69. package/dist/core/LogVisibility.js.map +1 -1
  70. package/dist/core/LoopDriver.d.ts.map +1 -1
  71. package/dist/core/LoopDriver.js +2 -3
  72. package/dist/core/LoopDriver.js.map +1 -1
  73. package/dist/core/LoopOutcome.d.ts +0 -1
  74. package/dist/core/LoopOutcome.d.ts.map +1 -1
  75. package/dist/core/LoopOutcome.js +1 -1
  76. package/dist/core/LoopOutcome.js.map +1 -1
  77. package/dist/core/OutsideEvent.d.ts +10 -0
  78. package/dist/core/OutsideEvent.d.ts.map +1 -0
  79. package/dist/core/OutsideEvent.js +5 -0
  80. package/dist/core/OutsideEvent.js.map +1 -0
  81. package/dist/core/PacketBuilder.js +2 -2
  82. package/dist/core/PacketBuilder.js.map +1 -1
  83. package/dist/core/PatternSelection.d.ts +1 -1
  84. package/dist/core/PatternSelection.d.ts.map +1 -1
  85. package/dist/core/PatternSelection.js +8 -6
  86. package/dist/core/PatternSelection.js.map +1 -1
  87. package/dist/core/ProposalLifecycle.d.ts.map +1 -1
  88. package/dist/core/ProposalLifecycle.js +2 -4
  89. package/dist/core/ProposalLifecycle.js.map +1 -1
  90. package/dist/core/ProviderInstantiate.d.ts +4 -4
  91. package/dist/core/ProviderInstantiate.d.ts.map +1 -1
  92. package/dist/core/ProviderInstantiate.js +24 -25
  93. package/dist/core/ProviderInstantiate.js.map +1 -1
  94. package/dist/core/ProviderRecovery.d.ts +1 -1
  95. package/dist/core/ProviderRecovery.d.ts.map +1 -1
  96. package/dist/core/ProviderRecovery.js +3 -1
  97. package/dist/core/ProviderRecovery.js.map +1 -1
  98. package/dist/core/ResourceSelector.js +1 -1
  99. package/dist/core/ResourceSelector.js.map +1 -1
  100. package/dist/core/StoredPacket.d.ts +1 -1
  101. package/dist/core/StoredPacket.d.ts.map +1 -1
  102. package/dist/core/StoredPacket.js +6 -15
  103. package/dist/core/StoredPacket.js.map +1 -1
  104. package/dist/core/StrikeRail.d.ts +2 -0
  105. package/dist/core/StrikeRail.d.ts.map +1 -1
  106. package/dist/core/StrikeRail.js +7 -1
  107. package/dist/core/StrikeRail.js.map +1 -1
  108. package/dist/core/Turn.d.ts +1 -1
  109. package/dist/core/Turn.d.ts.map +1 -1
  110. package/dist/core/Turn.js.map +1 -1
  111. package/dist/core/TurnDispositionHandler.d.ts.map +1 -1
  112. package/dist/core/TurnDispositionHandler.js +1 -4
  113. package/dist/core/TurnDispositionHandler.js.map +1 -1
  114. package/dist/core/TurnMaterialization.d.ts.map +1 -1
  115. package/dist/core/TurnMaterialization.js +5 -7
  116. package/dist/core/TurnMaterialization.js.map +1 -1
  117. package/dist/core/TurnRunner.d.ts +5 -1
  118. package/dist/core/TurnRunner.d.ts.map +1 -1
  119. package/dist/core/TurnRunner.js +108 -23
  120. package/dist/core/TurnRunner.js.map +1 -1
  121. package/dist/core/WorkerControlHandler.d.ts.map +1 -1
  122. package/dist/core/WorkerControlHandler.js +6 -1
  123. package/dist/core/WorkerControlHandler.js.map +1 -1
  124. package/dist/core/WorkerName.sql +2 -2
  125. package/dist/core/attachments.d.ts +0 -3
  126. package/dist/core/attachments.d.ts.map +1 -1
  127. package/dist/core/attachments.js +3 -3
  128. package/dist/core/attachments.js.map +1 -1
  129. package/dist/core/caps/DbSubscriptionCaps.d.ts.map +1 -1
  130. package/dist/core/caps/DbSubscriptionCaps.js +1 -2
  131. package/dist/core/caps/DbSubscriptionCaps.js.map +1 -1
  132. package/dist/core/fork.sql +2 -2
  133. package/dist/core/packet-wire.d.ts +1 -2
  134. package/dist/core/packet-wire.d.ts.map +1 -1
  135. package/dist/core/packet-wire.js +51 -54
  136. package/dist/core/packet-wire.js.map +1 -1
  137. package/dist/core/plurnk-uri.d.ts +0 -1
  138. package/dist/core/plurnk-uri.d.ts.map +1 -1
  139. package/dist/core/plurnk-uri.js +1 -1
  140. package/dist/core/plurnk-uri.js.map +1 -1
  141. package/dist/core/worker-ops.sql +1 -1
  142. package/dist/digest/Digest.d.ts.map +1 -1
  143. package/dist/digest/Digest.js +33 -60
  144. package/dist/digest/Digest.js.map +1 -1
  145. package/dist/digest/DigestEvidence.d.ts +9 -0
  146. package/dist/digest/DigestEvidence.d.ts.map +1 -0
  147. package/dist/digest/DigestEvidence.js +52 -0
  148. package/dist/digest/DigestEvidence.js.map +1 -0
  149. package/dist/digest/DigestRender.d.ts +1 -1
  150. package/dist/digest/DigestRender.d.ts.map +1 -1
  151. package/dist/digest/DigestRender.js +115 -66
  152. package/dist/digest/DigestRender.js.map +1 -1
  153. package/dist/digest/DigestRequiem.d.ts.map +1 -1
  154. package/dist/digest/DigestRequiem.js +56 -47
  155. package/dist/digest/DigestRequiem.js.map +1 -1
  156. package/dist/digest/digest-paths.d.ts.map +1 -1
  157. package/dist/digest/digest-paths.js +5 -14
  158. package/dist/digest/digest-paths.js.map +1 -1
  159. package/dist/digest/digest-rows.d.ts +10 -9
  160. package/dist/digest/digest-rows.d.ts.map +1 -1
  161. package/dist/digest/digest.sql +15 -11
  162. package/dist/schemes/EffectPolicy.js +1 -1
  163. package/dist/schemes/EffectPolicy.js.map +1 -1
  164. package/dist/schemes/Exec.d.ts.map +1 -1
  165. package/dist/schemes/Exec.js +26 -6
  166. package/dist/schemes/Exec.js.map +1 -1
  167. package/dist/schemes/ExecScratch.d.ts +10 -0
  168. package/dist/schemes/ExecScratch.d.ts.map +1 -0
  169. package/dist/schemes/ExecScratch.js +43 -0
  170. package/dist/schemes/ExecScratch.js.map +1 -0
  171. package/dist/schemes/File.d.ts.map +1 -1
  172. package/dist/schemes/File.js +39 -5
  173. package/dist/schemes/File.js.map +1 -1
  174. package/dist/schemes/Log.d.ts.map +1 -1
  175. package/dist/schemes/Log.js +5 -4
  176. package/dist/schemes/Log.js.map +1 -1
  177. package/dist/schemes/TurnSource.js +2 -2
  178. package/dist/schemes/TurnSource.js.map +1 -1
  179. package/dist/schemes/Worker.d.ts.map +1 -1
  180. package/dist/schemes/Worker.js +6 -3
  181. package/dist/schemes/Worker.js.map +1 -1
  182. package/dist/schemes/_entry-crud.d.ts.map +1 -1
  183. package/dist/schemes/_entry-crud.js +2 -3
  184. package/dist/schemes/_entry-crud.js.map +1 -1
  185. package/dist/schemes/_entry-find.d.ts.map +1 -1
  186. package/dist/schemes/_entry-find.js +2 -1
  187. package/dist/schemes/_entry-find.js.map +1 -1
  188. package/dist/schemes/_entry-fts.d.ts +1 -0
  189. package/dist/schemes/_entry-fts.d.ts.map +1 -1
  190. package/dist/schemes/_entry-fts.js +34 -2
  191. package/dist/schemes/_entry-fts.js.map +1 -1
  192. package/dist/schemes/_entry-ops.d.ts.map +1 -1
  193. package/dist/schemes/_entry-ops.js +3 -2
  194. package/dist/schemes/_entry-ops.js.map +1 -1
  195. package/dist/schemes/_path-scope.d.ts.map +1 -1
  196. package/dist/schemes/_path-scope.js +2 -3
  197. package/dist/schemes/_path-scope.js.map +1 -1
  198. package/dist/server/Daemon.d.ts +25 -13
  199. package/dist/server/Daemon.d.ts.map +1 -1
  200. package/dist/server/Daemon.js +89 -58
  201. package/dist/server/Daemon.js.map +1 -1
  202. package/dist/server/DrainSupervisor.d.ts +3 -3
  203. package/dist/server/DrainSupervisor.d.ts.map +1 -1
  204. package/dist/server/DrainSupervisor.js +3 -3
  205. package/dist/server/DrainSupervisor.js.map +1 -1
  206. package/dist/server/EnvFunctionality.d.ts +0 -1
  207. package/dist/server/EnvFunctionality.d.ts.map +1 -1
  208. package/dist/server/EnvFunctionality.js +1 -1
  209. package/dist/server/EnvFunctionality.js.map +1 -1
  210. package/dist/server/MembersFunctionality.d.ts +0 -9
  211. package/dist/server/MembersFunctionality.d.ts.map +1 -1
  212. package/dist/server/WorkerModelResolver.d.ts +8 -8
  213. package/dist/server/WorkerModelResolver.d.ts.map +1 -1
  214. package/dist/server/WorkerModelResolver.js +46 -45
  215. package/dist/server/WorkerModelResolver.js.map +1 -1
  216. package/dist/server/client-input.d.ts +1 -0
  217. package/dist/server/client-input.d.ts.map +1 -1
  218. package/dist/server/client-input.js +7 -0
  219. package/dist/server/client-input.js.map +1 -1
  220. package/dist/server/drain.sql +6 -6
  221. package/dist/server/envelope.sql +6 -6
  222. package/dist/server/loopDocs.js +1 -1
  223. package/dist/server/loopDocs.js.map +1 -1
  224. package/dist/server/model-catalog.js +2 -2
  225. package/dist/server/model-catalog.js.map +1 -1
  226. package/dist/server/model-route.d.ts +2 -2
  227. package/dist/server/model-route.d.ts.map +1 -1
  228. package/dist/server/model-route.js +5 -5
  229. package/dist/server/model-route.js.map +1 -1
  230. package/dist/service.d.ts.map +1 -1
  231. package/dist/service.js +41 -6
  232. package/dist/service.js.map +1 -1
  233. package/dist/share/Share.d.ts +15 -0
  234. package/dist/share/Share.d.ts.map +1 -0
  235. package/dist/share/Share.js +106 -0
  236. package/dist/share/Share.js.map +1 -0
  237. package/dist/share/share.sql +6 -0
  238. package/migrations/001_workspaces.sql +2 -2
  239. package/migrations/002_workers.sql +4 -6
  240. package/migrations/003_loops.sql +2 -2
  241. package/migrations/004_inference.sql +2 -2
  242. package/migrations/005_entries.sql +2 -2
  243. package/migrations/006_log.sql +2 -2
  244. package/migrations/007_subscriptions.sql +2 -2
  245. package/migrations/008_interactions.sql +2 -2
  246. package/migrations/009_effort.sql +7 -0
  247. package/migrations/010_outside_text.sql +41 -0
  248. package/migrations/011_settled.sql +133 -0
  249. package/package.json +42 -37
@@ -1 +1 @@
1
- {"version":3,"file":"model-catalog.js","sourceRoot":"","sources":["../../src/server/model-catalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model-catalog.js","sourceRoot":"","sources":["../../src/server/model-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,SAAS,GAKZ,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACH,eAAe,EACf,uBAAuB,EACvB,yBAAyB,GAC5B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,IAAI,MAAM,iBAAiB,CAAC;AAEnC,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,KAAa,EAAU,EAAE,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAEtG,MAAM,YAAY,GAAG,CAAC,KAAwB,EAAE,MAAc,EAAW,EAAE,CAAC;IACxE,KAAK,CAAC,QAAQ;IACd,KAAK,CAAC,QAAQ;IACd,KAAK,CAAC,YAAY;IAClB,KAAK,CAAC,KAAK;IACX,KAAK,CAAC,SAAS;CAClB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;AAExD,8EAA8E;AAC9E,8EAA8E;AAC9E,+DAA+D;AAC/D,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC5B,KAAwB,EACxB,GAAG,GAAsB,OAAO,CAAC,GAAG,EACpB,EAAE;IAClB,MAAM,KAAK,GAAG,SAAS,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;IACvD,MAAM,iBAAiB,GAAG,KAAK,CAAC,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC;IACxD,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,IAAI,YAAY,CAAC;IACxD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,mCAAmC,EAAE,CAAC,CAAC,CAAC;IAClF,MAAM,SAAS,GAAG,uBAAuB,EAAE,CAAC;IAC5C,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAA0B,CAAC;IAC9D,MAAM,OAAO,GAAwB,EAAE,CAAC;IAExC,KAAK,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,EAAE,CAAC;QAC1E,MAAM,QAAQ,GAAG,yBAAyB,CAAC,iBAAiB,CAAC,CAAC;QAC9D,IAAI,iBAAiB,KAAK,SAAS,IAAI,QAAQ,CAAC,WAAW,EAAE,KAAK,iBAAiB;YAAE,SAAS;QAC9F,MAAM,YAAY,GAAG,SAAS,CAAC,iBAAiB,CAAC,CAAC;QAClD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,gCAAgC,iBAAiB,yBAAyB,CAAC,CAAC;QAChG,CAAC;QACD,IAAI,SAAS,GAAG,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,QAAQ,GAAG,iBAAiB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YAClD,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,gCAAgC,iBAAiB,oCAAoC,CAAC,CAAC;YAC3G,CAAC;YACD,SAAS,GAAG,QAAQ,CAAC;YACrB,mBAAmB,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,YAAY,KAAK,YAAY,IAAI,CAAC,SAAS,CAAC,KAAK;YAAE,SAAS;QAEhE,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACjD,MAAM,QAAQ,GAAG,GAAG,QAAQ,IAAI,KAAK,EAAE,CAAC;YACxC,MAAM,KAAK,GAAsB;gBAC7B,QAAQ;gBACR,QAAQ;gBACR,YAAY,EAAE,YAAY,CAAC,IAAI;gBAC/B,KAAK;gBACL,SAAS,EAAE,IAAI,CAAC,IAAI;gBACpB,MAAM,EAAE;oBACJ,aAAa,EAAE,IAAI,CAAC,aAAa;oBACjC,GAAG,CAAC,IAAI,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC;oBAClF,GAAG,CAAC,IAAI,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC;iBACxF;gBACD,YAAY,EAAE;oBACV,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,OAAO,EAAE,CAAC,GAAG,cAAc,CAAC,YAAY,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;oBACrD,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,GAAG,CAAC,IAAI,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBAC3F,GAAG,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;oBAC5E,eAAe,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;oBAC3C,gBAAgB,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;iBAChD;gBACD,SAAS;aACZ,CAAC;YACF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC;gBAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChF,CAAC;IACL,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC1E,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC;IACpD,MAAM,UAAU,GAAG,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IACzC,OAAO,SAAS,CAAC,sBAAsB,CAAC;QACpC,KAAK;QACL,MAAM;QACN,KAAK,EAAE,OAAO,CAAC,MAAM;QACrB,GAAG,CAAC,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACzD,CAAC,CAAC;AACP,CAAC,CAAC"}
@@ -1,7 +1,7 @@
1
- import type { ModelRoute, ReasoningPolicy } from "@plurnk/plurnk-contracts";
1
+ import type { ModelRoute, Effort } from "@plurnk/plurnk-contracts";
2
2
  import type { ProviderSpec } from "@plurnk/plurnk-providers";
3
3
  import type { Db } from "../core/Db.ts";
4
4
  export declare const routeForSpec: (db: Db, spec: ProviderSpec | null) => Promise<number | null>;
5
5
  export declare const specForRoute: (db: Db, routeId: number | null) => Promise<ProviderSpec | null>;
6
- export declare const projectModelRoute: (spec: ProviderSpec, reasoningPolicy?: ReasoningPolicy | null, reasoningSource?: "default" | "explicit") => ModelRoute;
6
+ export declare const projectModelRoute: (spec: ProviderSpec, effort?: Effort | null, effortSource?: "default" | "explicit") => ModelRoute;
7
7
  //# sourceMappingURL=model-route.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"model-route.d.ts","sourceRoot":"","sources":["../../src/server/model-route.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAExC,eAAO,MAAM,YAAY,OAAc,EAAE,QAAQ,YAAY,GAAG,IAAI,KAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAmB3F,CAAC;AAEF,eAAO,MAAM,YAAY,OAAc,EAAE,WAAW,MAAM,GAAG,IAAI,KAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAU9F,CAAC;AAQF,eAAO,MAAM,iBAAiB,SACpB,YAAY,oBACD,eAAe,GAAG,IAAI,oBACtB,SAAS,GAAG,UAAU,KACxC,UAOD,CAAC"}
1
+ {"version":3,"file":"model-route.d.ts","sourceRoot":"","sources":["../../src/server/model-route.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAExC,eAAO,MAAM,YAAY,OAAc,EAAE,QAAQ,YAAY,GAAG,IAAI,KAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAmB3F,CAAC;AAEF,eAAO,MAAM,YAAY,OAAc,EAAE,WAAW,MAAM,GAAG,IAAI,KAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAU9F,CAAC;AAQF,eAAO,MAAM,iBAAiB,SACpB,YAAY,WACV,MAAM,GAAG,IAAI,iBACP,SAAS,GAAG,UAAU,KACrC,UAOD,CAAC"}
@@ -40,17 +40,17 @@ export const specForRoute = async (db, routeId) => {
40
40
  };
41
41
  };
42
42
  // The provider endpoint is durable construction state, not client model identity.
43
- // {§worker-reasoning-policy} — effort is identity-grade: the worker's durable policy
43
+ // {§worker-effort} — effort is identity-grade: the worker's durable policy
44
44
  // rides the route; a model without a reasoning dimension (catalog reasoning: false)
45
45
  // carries none.
46
- // {§worker-reasoning-source} — the source rides beside the policy so a client never renders a
46
+ // {§worker-effort-source} — the source rides beside the policy so a client never renders a
47
47
  // seeded default as a chosen level.
48
- export const projectModelRoute = (spec, reasoningPolicy = null, reasoningSource = "default") => ({
48
+ export const projectModelRoute = (spec, effort = null, effortSource = "default") => ({
49
49
  ...(spec.alias === undefined ? {} : { alias: spec.alias }),
50
50
  provider: spec.provider,
51
51
  model: spec.model,
52
- ...(reasoningPolicy === null || resolveModel(spec.provider, spec.model)?.info.reasoning === false
52
+ ...(effort === null || resolveModel(spec.provider, spec.model)?.info.reasoning === false
53
53
  ? {}
54
- : { reasoningPolicy, reasoningSource }),
54
+ : { effort, effortSource }),
55
55
  });
56
56
  //# sourceMappingURL=model-route.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"model-route.js","sourceRoot":"","sources":["../../src/server/model-route.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,kFAAkF;AAClF,6EAA6E;AAC7E,6BAA6B;AAI7B,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGrD,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAAE,EAAM,EAAE,IAAyB,EAA0B,EAAE;IAC5F,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC;IACjC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC;IACrC,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAiB;QAC7D,KAAK;QACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,QAAQ,EAAE,OAAO;KACpB,CAAC,CAAC;IACH,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC,EAAE,CAAC;IAC/C,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAiB;QAC5D,KAAK;QACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,QAAQ,EAAE,OAAO;KACpB,CAAC,CAAC;IACH,IAAI,OAAO,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACjF,OAAO,OAAO,CAAC,EAAE,CAAC;AACtB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAAE,EAAM,EAAE,OAAsB,EAAgC,EAAE;IAC/F,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAClC,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAqF,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAChJ,IAAI,GAAG,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,eAAe,OAAO,aAAa,CAAC,CAAC;IAC5E,OAAO;QACH,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC;QACnD,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,GAAG,CAAC,GAAG,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC;KAC9D,CAAC;AACN,CAAC,CAAC;AAEF,kFAAkF;AAClF,qFAAqF;AACrF,oFAAoF;AACpF,gBAAgB;AAChB,8FAA8F;AAC9F,oCAAoC;AACpC,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC7B,IAAkB,EAClB,eAAe,GAA2B,IAAI,EAC9C,eAAe,GAA2B,SAAS,EACzC,EAAE,CAAC,CAAC;IACd,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;IAC1D,QAAQ,EAAE,IAAI,CAAC,QAAQ;IACvB,KAAK,EAAE,IAAI,CAAC,KAAK;IACjB,GAAG,CAAC,eAAe,KAAK,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,SAAS,KAAK,KAAK;QAC7F,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,EAAE,eAAe,EAAE,eAAe,EAAE,CAAC;CAC9C,CAAC,CAAC"}
1
+ {"version":3,"file":"model-route.js","sourceRoot":"","sources":["../../src/server/model-route.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,kFAAkF;AAClF,6EAA6E;AAC7E,6BAA6B;AAI7B,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGrD,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAAE,EAAM,EAAE,IAAyB,EAA0B,EAAE;IAC5F,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC;IACjC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC;IACrC,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAiB;QAC7D,KAAK;QACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,QAAQ,EAAE,OAAO;KACpB,CAAC,CAAC;IACH,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC,EAAE,CAAC;IAC/C,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAiB;QAC5D,KAAK;QACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,QAAQ,EAAE,OAAO;KACpB,CAAC,CAAC;IACH,IAAI,OAAO,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACjF,OAAO,OAAO,CAAC,EAAE,CAAC;AACtB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAAE,EAAM,EAAE,OAAsB,EAAgC,EAAE;IAC/F,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAClC,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAqF,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAChJ,IAAI,GAAG,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,eAAe,OAAO,aAAa,CAAC,CAAC;IAC5E,OAAO;QACH,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC;QACnD,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,GAAG,CAAC,GAAG,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC;KAC9D,CAAC;AACN,CAAC,CAAC;AAEF,kFAAkF;AAClF,2EAA2E;AAC3E,oFAAoF;AACpF,gBAAgB;AAChB,2FAA2F;AAC3F,oCAAoC;AACpC,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC7B,IAAkB,EAClB,MAAM,GAAkB,IAAI,EAC5B,YAAY,GAA2B,SAAS,EACtC,EAAE,CAAC,CAAC;IACd,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;IAC1D,QAAQ,EAAE,IAAI,CAAC,QAAQ;IACvB,KAAK,EAAE,IAAI,CAAC,KAAK;IACjB,GAAG,CAAC,MAAM,KAAK,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,SAAS,KAAK,KAAK;QACpF,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;CAClC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":";AAoCA,MAAM,CAAC,OAAO,OAAO,OAAO;;IA2UxB,OAAa,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CA8GjC;CACJ"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":";AAsCA,MAAM,CAAC,OAAO,OAAO,OAAO;;IA0UxB,OAAa,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CA2IjC;CACJ"}
package/dist/service.js CHANGED
@@ -25,6 +25,8 @@ import ServiceTeardown from "./core/ServiceTeardown.js";
25
25
  import Paths from "./Paths.js";
26
26
  import { startObservability } from "./observe/init.js";
27
27
  import FileCreationPolicy from "./core/file-creation-policy.js";
28
+ import Digest from "./digest/Digest.js";
29
+ import Share from "./share/Share.js";
28
30
  // The `plurnk-service` executable: launches the daemon (start) or applies the schema baseline.
29
31
  // Not the user-facing client — that is the separate `plurnk` project.
30
32
  export default class Service {
@@ -182,12 +184,11 @@ export default class Service {
182
184
  const hint = sidecars.length > 0
183
185
  ? ` — stale sidecar(s) present (${sidecars.join(", ")}): a prior daemon may still hold the old database; stop it and delete the sidecars`
184
186
  : "";
185
- // A missing column or table on an existing database is the pre-migration phase at work
186
- // ({§db-schema-baseline}): a chapter changed under it, and the remedy is deletion. Say
187
- // so; the bare cause reads like a bug.
187
+ // A missing column or table after migration means the shape disagrees with the version
188
+ // ({§db-migrations}). Say so; the bare cause reads like a bug.
188
189
  const diagnosis = cause instanceof Error ? cause.message : String(cause);
189
- const baseline = /^no such (?:column|table)\b/.test(diagnosis)
190
- ? ` — the database predates the current schema baseline: stop every daemon that holds it, delete ${dbPath} with its -wal and -shm sidecars, then start again`
190
+ const baseline = /^no such (?:column|table)\b|\bhas no column named\b/.test(diagnosis)
191
+ ? ` — the database shape disagrees with its schema version: a database from a newer release needs that release; one from an unreleased development build is deleted with its -wal and -shm sidecars once every daemon holding it has stopped`
191
192
  : "";
192
193
  throw new Error(`open ${dbPath} failed${hint}${baseline}`, { cause });
193
194
  }
@@ -232,7 +233,7 @@ export default class Service {
232
233
  observability = await startObservability();
233
234
  const hooksModule = HooksModule.init();
234
235
  const provider = route === null ? null : await ProviderInstantiate.loadActiveProvider();
235
- daemon = new Daemon({ db, provider, nodeModulesPath: Service.#pluginsNodeModules(), hostPaths: Service.#hostPaths, http: listener });
236
+ daemon = new Daemon({ db, dbPath, provider, nodeModulesPath: Service.#pluginsNodeModules(), hostPaths: Service.#hostPaths, http: listener });
236
237
  ServiceModules.registerWorkspaceCapabilities(daemon);
237
238
  daemon.registerModule(hooksModule);
238
239
  const a2a = hostedAgentConfiguration();
@@ -364,6 +365,8 @@ export default class Service {
364
365
  }
365
366
  const usage = `usage: plurnk-service [options] [start|migrate]
366
367
  plurnk-service [options] config [edit|defaults|check]
368
+ plurnk-service [options] share [<file.db>] [<folder>] [--workspace=<id>] [--requiem]
369
+ plurnk-service [options] requiem <file.db> <folder>
367
370
  plurnk-service paths migrate
368
371
 
369
372
  ${EnvFlags.formatFlagsHelp(flagDescriptors)}
@@ -373,6 +376,11 @@ ${EnvFlags.formatFlagsHelp(flagDescriptors)}
373
376
  --config=<path> layer additional env from <path>
374
377
  config defaults print every installed package's annotated .env.defaults
375
378
  config check validate configuration without contacting a provider
379
+ share share a consistent copy of the database as a digest <folder>
380
+ (default database: the service's; default folder: a stamped child
381
+ of PLURNK_SERVICE_SHARE_FOLDER); --workspace=<id> limits it to one
382
+ workspace; --requiem adds the forensic interview (calls a model)
383
+ requiem add the forensic interview to a digest <folder> of <file.db> (calls a model)
376
384
  paths migrate move a legacy ~/.plurnk into canonical XDG paths
377
385
  -v, --version show executable provenance
378
386
  -h, --help show this help
@@ -384,6 +392,8 @@ ${EnvFlags.formatFlagsHelp(flagDescriptors)}
384
392
  help: { type: "boolean", short: "h" },
385
393
  version: { type: "boolean", short: "v" },
386
394
  config: { type: "string" },
395
+ workspace: { type: "string" },
396
+ requiem: { type: "boolean" },
387
397
  ...flagOptions,
388
398
  },
389
399
  });
@@ -433,6 +443,31 @@ ${EnvFlags.formatFlagsHelp(flagDescriptors)}
433
443
  }
434
444
  }
435
445
  }
446
+ else if (command === "share") {
447
+ if (positionals.length > 3)
448
+ Service.#die(64, `unexpected arguments: ${positionals.slice(3).join(" ")}`);
449
+ const workspace = values.workspace;
450
+ if (workspace !== undefined && (typeof workspace !== "string" || !/^[1-9]\d*$/u.test(workspace)))
451
+ Service.#die(64, "--workspace takes a workspace id");
452
+ handler = async () => {
453
+ const dbPath = typeof positionals[1] === "string" ? positionals[1] : Digest.defaultDbPath();
454
+ const folder = typeof positionals[2] === "string" ? positionals[2] : Share.defaultFolder(process.env, Service.#hostPaths);
455
+ const shared = await Share.write({
456
+ dbPath, folder, requiem: values.requiem === true,
457
+ ...(typeof workspace === "string" ? { workspaceId: Number(workspace) } : {}),
458
+ });
459
+ process.stdout.write(`${shared.folder}\n`);
460
+ process.stderr.write("share: this holds what the models saw and wrote, unredacted; review it before sending.\n");
461
+ };
462
+ }
463
+ else if (command === "requiem") {
464
+ if (positionals.length !== 3)
465
+ Service.#die(64, `requiem takes <file.db> <folder>\n\n${usage}`);
466
+ handler = async () => {
467
+ const { path, reportPath, workers } = await Digest.requiem({ dbPath: positionals[1], digestDir: positionals[2] });
468
+ process.stdout.write(`requiem: interviewed ${workers} worker(s) -> ${path}, ${reportPath}\n`);
469
+ };
470
+ }
436
471
  else if (command === "paths" && action === "migrate") {
437
472
  if (positionals.length > 2)
438
473
  Service.#die(64, `unexpected arguments: ${positionals.slice(2).join(" ")}`);
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import HostPaths from "../core/HostPaths.ts";
2
+ export interface ShareOptions {
3
+ readonly dbPath: string;
4
+ readonly folder: string;
5
+ readonly workspaceId?: number;
6
+ readonly requiem?: boolean;
7
+ }
8
+ export default class Share {
9
+ static defaultFolder(env?: NodeJS.ProcessEnv, paths?: HostPaths, now?: Date): string;
10
+ static snapshot(dbPath: string, copy: string): void;
11
+ static write({ dbPath, folder, workspaceId, requiem }: ShareOptions): Promise<{
12
+ folder: string;
13
+ }>;
14
+ }
15
+ //# sourceMappingURL=Share.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Share.d.ts","sourceRoot":"","sources":["../../src/share/Share.ts"],"names":[],"mappings":"AAKA,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAE7C,MAAM,WAAW,YAAY;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAE9B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC9B;AAGD,MAAM,CAAC,OAAO,OAAO,KAAK;IAEtB,MAAM,CAAC,aAAa,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,EAAE,KAAK,YAAkB,EAAE,GAAG,OAAa,GAAG,MAAM,CAM5G;IAGD,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAMlD;IAED,OAAa,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,OAAe,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAa9G;CACJ"}
@@ -0,0 +1,106 @@
1
+ var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) {
2
+ if (value !== null && value !== void 0) {
3
+ if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
4
+ var dispose, inner;
5
+ if (async) {
6
+ if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
7
+ dispose = value[Symbol.asyncDispose];
8
+ }
9
+ if (dispose === void 0) {
10
+ if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
11
+ dispose = value[Symbol.dispose];
12
+ if (async) inner = dispose;
13
+ }
14
+ if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
15
+ if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };
16
+ env.stack.push({ value: value, dispose: dispose, async: async });
17
+ }
18
+ else if (async) {
19
+ env.stack.push({ async: true });
20
+ }
21
+ return value;
22
+ };
23
+ var __disposeResources = (this && this.__disposeResources) || (function (SuppressedError) {
24
+ return function (env) {
25
+ function fail(e) {
26
+ env.error = env.hasError ? new SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
27
+ env.hasError = true;
28
+ }
29
+ var r, s = 0;
30
+ function next() {
31
+ while (r = env.stack.pop()) {
32
+ try {
33
+ if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
34
+ if (r.dispose) {
35
+ var result = r.dispose.call(r.value);
36
+ if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
37
+ }
38
+ else s |= 1;
39
+ }
40
+ catch (e) {
41
+ fail(e);
42
+ }
43
+ }
44
+ if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
45
+ if (env.hasError) throw env.error;
46
+ }
47
+ return next();
48
+ };
49
+ })(typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
50
+ var e = new Error(message);
51
+ return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
52
+ });
53
+ import { existsSync, mkdtempSync, rmSync } from "node:fs";
54
+ import { tmpdir } from "node:os";
55
+ import { join, resolve } from "node:path";
56
+ import SqlRiteSync from "@possumtech/sqlrite/sync";
57
+ import Digest from "../digest/Digest.js";
58
+ import HostPaths from "../core/HostPaths.js";
59
+ // {§share}: a share is the digest of a consistent copy of the database.
60
+ export default class Share {
61
+ // {§share-folder}: the configured share folder, or the XDG state default; each share is a stamped child.
62
+ static defaultFolder(env = process.env, paths = new HostPaths(), now = new Date()) {
63
+ const configured = env.PLURNK_SERVICE_SHARE_FOLDER;
64
+ const root = configured === undefined || configured === ""
65
+ ? join(paths.stateDir, "shares")
66
+ : resolve(paths.expandUserPath(configured));
67
+ return join(root, `share-${now.toISOString().replace(/[-:]/gu, "").replace(/\.\d+Z$/u, "Z")}`);
68
+ }
69
+ // {§share-snapshot}: a live or WAL-mode database is copied by SQLite, never by the filesystem.
70
+ static snapshot(dbPath, copy) {
71
+ const env_1 = { stack: [], error: void 0, hasError: false };
72
+ try {
73
+ const source = resolve(dbPath);
74
+ if (!existsSync(source))
75
+ throw new Error(`share: no database at ${source}`);
76
+ if (existsSync(copy))
77
+ throw new Error(`share: ${resolve(copy)} already exists; remove it first`);
78
+ const database = __addDisposableResource(env_1, new SqlRiteSync({ path: source, dir: [import.meta.dirname] }), false);
79
+ database.share_snapshot.run({ path: resolve(copy) });
80
+ }
81
+ catch (e_1) {
82
+ env_1.error = e_1;
83
+ env_1.hasError = true;
84
+ }
85
+ finally {
86
+ __disposeResources(env_1);
87
+ }
88
+ }
89
+ static async write({ dbPath, folder, workspaceId, requiem = false }) {
90
+ const target = resolve(folder);
91
+ const scratch = mkdtempSync(join(tmpdir(), "plurnk-share-"));
92
+ try {
93
+ const copy = join(scratch, "plurnk.db");
94
+ Share.snapshot(dbPath, copy);
95
+ const scoped = { dbPath: copy, digestDir: target, ...(workspaceId === undefined ? {} : { workspaceId }) };
96
+ Digest.run(scoped);
97
+ if (requiem)
98
+ await Digest.requiem(scoped);
99
+ }
100
+ finally {
101
+ rmSync(scratch, { recursive: true, force: true });
102
+ }
103
+ return { folder: target };
104
+ }
105
+ }
106
+ //# sourceMappingURL=Share.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Share.js","sourceRoot":"","sources":["../../src/share/Share.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ -- The share's snapshot ({§share}). VACUUM INTO writes a transactionally consistent copy of the open
2
+ -- database to a new file, so a live daemon's database is never read in place. No INIT blocks: this
3
+ -- compiles against whatever database is shared and never alters it.
4
+
5
+ -- PREP: share_snapshot
6
+ VACUUM INTO :path;
@@ -1,7 +1,7 @@
1
1
  -- MIGRATE: 1 workspaces
2
2
  -- Chapter 1 of the schema baseline ({§db-schema-baseline}): The workspace: identity, module state, membership constraints.
3
- -- Version numbers order the chapters on a fresh database; they are not history. A shape
4
- -- change edits the chapter in place; existing development databases are recreated.
3
+ -- Released and frozen ({§db-migrations}): a shape change is the next MIGRATE version, never
4
+ -- an edit here.
5
5
 
6
6
  -- workspaces
7
7
  -- project_root: workspace pointer. NULL = headless (no disk side-effects);
@@ -1,7 +1,7 @@
1
1
  -- MIGRATE: 2 workers
2
2
  -- Chapter 2 of the schema baseline ({§db-schema-baseline}): Workers over a workspace, their model routes, and the ambient event feed their siblings observe.
3
- -- Version numbers order the chapters on a fresh database; they are not history. A shape
4
- -- change edits the chapter in place; existing development databases are recreated.
3
+ -- Released and frozen ({§db-migrations}): a shape change is the next MIGRATE version, never
4
+ -- an edit here.
5
5
 
6
6
  -- model_routes — the immutable resolved model route ({§worker-model-selection}). One row per
7
7
  -- complete resolved tuple; append-only. Alias is provenance plus a tuning scope,
@@ -36,11 +36,9 @@ CREATE TABLE IF NOT EXISTS workers (
36
36
  -- persistent spawn override; NULL means "use my model."
37
37
  model_route_id INTEGER REFERENCES model_routes(id),
38
38
  spawn_model_route_id INTEGER REFERENCES model_routes(id),
39
- -- {§worker-reasoning-policy}: nullable only while the worker has no model;
40
- -- once selected, model and reasoning policy form one durable generation policy.
39
+ -- {§worker-effort}: renamed effort by 009_effort.
41
40
  reasoning_policy TEXT CHECK (reasoning_policy IS NULL OR length(reasoning_policy) > 0),
42
- -- {§worker-reasoning-source}: whether reasoning_policy was chosen (worker.reasoning.set)
43
- -- or seeded from the alias configuration; a default never masquerades as a choice.
41
+ -- {§worker-effort-source}: renamed effort_source by 009_effort.
44
42
  reasoning_source TEXT NOT NULL DEFAULT 'default' CHECK (reasoning_source IN ('default', 'explicit')),
45
43
  -- workers fork via parent_worker_id; workspaces carry no parent — {§machine-processes-no-fork-workspace}
46
44
  parent_worker_id INTEGER CHECK (parent_worker_id IS NULL OR parent_worker_id != id),
@@ -1,7 +1,7 @@
1
1
  -- MIGRATE: 3 loops
2
2
  -- Chapter 3 of the schema baseline ({§db-schema-baseline}): Loops, their turns, and the immutable sources a turn was built from.
3
- -- Version numbers order the chapters on a fresh database; they are not history. A shape
4
- -- change edits the chapter in place; existing development databases are recreated.
3
+ -- Released and frozen ({§db-migrations}): a shape change is the next MIGRATE version, never
4
+ -- an edit here.
5
5
 
6
6
  -- loops
7
7
  -- policy: immutable per-loop proposal disposition ({§loop-policy-effective-read}).
@@ -1,7 +1,7 @@
1
1
  -- MIGRATE: 4 inference
2
2
  -- Chapter 4 of the schema baseline ({§db-schema-baseline}): Inference: logical calls, model responses, emission attempts, physical provider requests.
3
- -- Version numbers order the chapters on a fresh database; they are not history. A shape
4
- -- change edits the chapter in place; existing development databases are recreated.
3
+ -- Released and frozen ({§db-migrations}): a shape change is the next MIGRATE version, never
4
+ -- an edit here.
5
5
 
6
6
  -- One logical model call owns its lifecycle and physical-request ledger.
7
7
  -- Response and admission evidence specialize this identity. {§tokenomics-provider-usage}
@@ -1,7 +1,7 @@
1
1
  -- MIGRATE: 5 entries
2
2
  -- Chapter 5 of the schema baseline ({§db-schema-baseline}): Entries and their channels, derivations and the search artifacts over them, native content.
3
- -- Version numbers order the chapters on a fresh database; they are not history. A shape
4
- -- change edits the chapter in place; existing development databases are recreated.
3
+ -- Released and frozen ({§db-migrations}): a shape change is the next MIGRATE version, never
4
+ -- an edit here.
5
5
 
6
6
  -- {§content-store} Every settled body is stored once, addressed by its sha256, however many
7
7
  -- channels, workspaces, forks or full-text rows carry it. Rows are immutable; retention collects
@@ -1,7 +1,7 @@
1
1
  -- MIGRATE: 6 log
2
2
  -- Chapter 6 of the schema baseline ({§db-schema-baseline}): The log: rows, their projections, curation effects, and the views the packet reads.
3
- -- Version numbers order the chapters on a fresh database; they are not history. A shape
4
- -- change edits the chapter in place; existing development databases are recreated.
3
+ -- Released and frozen ({§db-migrations}): a shape change is the next MIGRATE version, never
4
+ -- an edit here.
5
5
 
6
6
  -- log_entries
7
7
  -- Chronological event store. sequence is 1-based, scoped to the turn —
@@ -1,7 +1,7 @@
1
1
  -- MIGRATE: 7 subscriptions
2
2
  -- Chapter 7 of the schema baseline ({§db-schema-baseline}): held streams, events and their observation cursors.
3
- -- Version numbers order the chapters on a fresh database; they are not history. A shape
4
- -- change edits the chapter in place; existing development databases are recreated.
3
+ -- Released and frozen ({§db-migrations}): a shape change is the next MIGRATE version, never
4
+ -- an edit here.
5
5
 
6
6
  -- subscriptions
7
7
  -- Durable subscription lifecycle per SPEC {§subscriptions}. The row records what
@@ -1,7 +1,7 @@
1
1
  -- MIGRATE: 8 interactions
2
2
  -- Chapter 8 of the schema baseline ({§db-schema-baseline}): Client interactions raised by a turn.
3
- -- Version numbers order the chapters on a fresh database; they are not history. A shape
4
- -- change edits the chapter in place; existing development databases are recreated.
3
+ -- Released and frozen ({§db-migrations}): a shape change is the next MIGRATE version, never
4
+ -- an edit here.
5
5
 
6
6
  -- {§client-interactions}: the durable discoverable half of a client-owned
7
7
  -- interaction. The process-local lifecycle owner holds the awaiting callable;
@@ -0,0 +1,7 @@
1
+ -- MIGRATE: 9 effort
2
+ -- Released in 1.22.0 and frozen ({§db-migrations}): a shape change is the next MIGRATE version, never an edit here.
3
+ -- #877 renames the reasoning policy to effort ({§worker-effort}, {§worker-effort-source}).
4
+ -- RENAME COLUMN rewrites the CHECK constraints that name these columns.
5
+ ALTER TABLE workers RENAME COLUMN reasoning_policy TO effort;
6
+ ALTER TABLE workers RENAME COLUMN reasoning_source TO effort_source;
7
+ ALTER TABLE loops RENAME COLUMN reasoning_policy TO effort;
@@ -0,0 +1,41 @@
1
+ -- MIGRATE: 10 outside
2
+ -- Released in 1.22.0 and frozen ({§db-migrations}): a shape change is the next MIGRATE version, never an edit here.
3
+ -- #881 adds the 'outside' turn source ({§outside-text}): the response text that fell outside
4
+ -- every operation, stored verbatim beside the turn's ops and reasoning sources. The kind CHECK
5
+ -- lives in the table definition, so the table is rebuilt with the same columns, keys and
6
+ -- constraints as chapter 3 declares them; no foreign key points at turn_sources.
7
+ CREATE TABLE turn_sources_outside (
8
+ turn_id INTEGER NOT NULL REFERENCES turns(id) ON DELETE CASCADE,
9
+ kind TEXT NOT NULL CHECK (kind IN ('ops', 'reasoning', 'note', 'outside')),
10
+ sequence INTEGER NOT NULL DEFAULT 0 CHECK ((kind = 'note' AND sequence > 0) OR (kind != 'note' AND sequence = 0)),
11
+ content TEXT NOT NULL,
12
+ model_call_id INTEGER REFERENCES model_calls(id),
13
+ deep_hash TEXT REFERENCES derivations(deep_hash),
14
+ PRIMARY KEY (turn_id, kind, sequence)
15
+ ) STRICT;
16
+
17
+ INSERT INTO turn_sources_outside (turn_id, kind, sequence, content, model_call_id, deep_hash)
18
+ SELECT turn_id, kind, sequence, content, model_call_id, deep_hash FROM turn_sources;
19
+
20
+ -- The fork process trigger names turn_sources and would be re-resolved by the RENAME while the
21
+ -- table is absent; it is a process, re-declared on the next open ({§db-process-triggers}), so the
22
+ -- rebuild drops it first, as SQLite's table-rebuild procedure prescribes.
23
+ DROP TRIGGER IF EXISTS workers_fork_copies_history;
24
+ DROP TABLE turn_sources;
25
+ ALTER TABLE turn_sources_outside RENAME TO turn_sources;
26
+
27
+ -- {§db-fk-indexes} A derivation replacement checks its referrers; the hash is indexed where it is a foreign key.
28
+ CREATE INDEX IF NOT EXISTS turn_sources_deep_hash ON turn_sources (deep_hash) WHERE deep_hash IS NOT NULL;
29
+
30
+ CREATE TRIGGER IF NOT EXISTS turn_sources_immutable
31
+ BEFORE UPDATE OF turn_id, kind, sequence, content, model_call_id ON turn_sources
32
+ BEGIN
33
+ SELECT RAISE(ABORT, 'turn source evidence is immutable');
34
+ END;
35
+
36
+ CREATE TRIGGER IF NOT EXISTS turn_sources_delete_with_turn_only
37
+ BEFORE DELETE ON turn_sources
38
+ WHEN EXISTS (SELECT 1 FROM turns WHERE id = OLD.turn_id)
39
+ BEGIN
40
+ SELECT RAISE(ABORT, 'turn source evidence belongs to its retained turn');
41
+ END;