@plurnk/plurnk-service 1.29.0 → 3.0.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 (385) hide show
  1. package/.env.defaults +14 -33
  2. package/INSTALL.md +68 -17
  3. package/README.md +9 -7
  4. package/SPEC.md +503 -741
  5. package/dist/build-info.json +1 -1
  6. package/dist/content/body-preview.d.ts.map +1 -1
  7. package/dist/content/body-preview.js +11 -2
  8. package/dist/content/body-preview.js.map +1 -1
  9. package/dist/content/edit-receipt.d.ts +1 -1
  10. package/dist/content/edit-receipt.d.ts.map +1 -1
  11. package/dist/content/edit-receipt.js +1 -1
  12. package/dist/content/edit-receipt.js.map +1 -1
  13. package/dist/content/line-marker.js +1 -1
  14. package/dist/content/line-marker.js.map +1 -1
  15. package/dist/content/path-mimetype.js +1 -1
  16. package/dist/content/path-mimetype.js.map +1 -1
  17. package/dist/content/read-projector.d.ts.map +1 -1
  18. package/dist/content/read-projector.js +3 -12
  19. package/dist/content/read-projector.js.map +1 -1
  20. package/dist/core/AdministrativeLoop.d.ts +1 -1
  21. package/dist/core/AdministrativeLoop.d.ts.map +1 -1
  22. package/dist/core/AdministrativeLoop.js +2 -6
  23. package/dist/core/AdministrativeLoop.js.map +1 -1
  24. package/dist/core/AdmittedTurnExecutor.d.ts +4 -3
  25. package/dist/core/AdmittedTurnExecutor.d.ts.map +1 -1
  26. package/dist/core/AdmittedTurnExecutor.js +19 -17
  27. package/dist/core/AdmittedTurnExecutor.js.map +1 -1
  28. package/dist/core/BareBatchRunner.d.ts +2 -2
  29. package/dist/core/BareBatchRunner.d.ts.map +1 -1
  30. package/dist/core/BareBatchRunner.js.map +1 -1
  31. package/dist/core/BudgetReadout.d.ts +1 -0
  32. package/dist/core/BudgetReadout.d.ts.map +1 -1
  33. package/dist/core/BudgetReadout.js +12 -0
  34. package/dist/core/BudgetReadout.js.map +1 -1
  35. package/dist/core/CapabilityPolicies.d.ts +2 -4
  36. package/dist/core/CapabilityPolicies.d.ts.map +1 -1
  37. package/dist/core/CapabilityPolicies.js +3 -23
  38. package/dist/core/CapabilityPolicies.js.map +1 -1
  39. package/dist/core/CapabilityResolver.d.ts +9 -2
  40. package/dist/core/CapabilityResolver.d.ts.map +1 -1
  41. package/dist/core/CapabilityResolver.js +34 -5
  42. package/dist/core/CapabilityResolver.js.map +1 -1
  43. package/dist/core/ChannelWrite.d.ts +0 -2
  44. package/dist/core/ChannelWrite.d.ts.map +1 -1
  45. package/dist/core/ChannelWrite.js.map +1 -1
  46. package/dist/core/ClientInteractions.d.ts +3 -2
  47. package/dist/core/ClientInteractions.d.ts.map +1 -1
  48. package/dist/core/ClientInteractions.js +21 -12
  49. package/dist/core/ClientInteractions.js.map +1 -1
  50. package/dist/core/ClientInteractions.sql +8 -2
  51. package/dist/core/CoreSchemeServices.d.ts +1 -0
  52. package/dist/core/CoreSchemeServices.d.ts.map +1 -1
  53. package/dist/core/CoreSchemeServices.js +1 -0
  54. package/dist/core/CoreSchemeServices.js.map +1 -1
  55. package/dist/core/DataStatementRunner.js +1 -1
  56. package/dist/core/DataStatementRunner.js.map +1 -1
  57. package/dist/core/Dispatcher.d.ts +3 -2
  58. package/dist/core/Dispatcher.d.ts.map +1 -1
  59. package/dist/core/Dispatcher.js +15 -21
  60. package/dist/core/Dispatcher.js.map +1 -1
  61. package/dist/core/Engine.d.ts +2 -2
  62. package/dist/core/Engine.d.ts.map +1 -1
  63. package/dist/core/Engine.js +4 -3
  64. package/dist/core/Engine.js.map +1 -1
  65. package/dist/core/EnvFlags.d.ts.map +1 -1
  66. package/dist/core/EnvFlags.js +4 -3
  67. package/dist/core/EnvFlags.js.map +1 -1
  68. package/dist/core/ExecutorRegistry.d.ts +3 -17
  69. package/dist/core/ExecutorRegistry.d.ts.map +1 -1
  70. package/dist/core/ExecutorRegistry.js +6 -6
  71. package/dist/core/ExecutorRegistry.js.map +1 -1
  72. package/dist/core/FabricatedLog.js +1 -1
  73. package/dist/core/FabricatedLog.js.map +1 -1
  74. package/dist/core/HostPaths.d.ts +2 -1
  75. package/dist/core/HostPaths.d.ts.map +1 -1
  76. package/dist/core/HostPaths.js +14 -2
  77. package/dist/core/HostPaths.js.map +1 -1
  78. package/dist/core/KillHandler.js +1 -1
  79. package/dist/core/KillHandler.js.map +1 -1
  80. package/dist/core/LogVisibility.d.ts.map +1 -1
  81. package/dist/core/LogVisibility.js +8 -17
  82. package/dist/core/LogVisibility.js.map +1 -1
  83. package/dist/core/LoopDriver.d.ts.map +1 -1
  84. package/dist/core/LoopDriver.js +4 -6
  85. package/dist/core/LoopDriver.js.map +1 -1
  86. package/dist/core/LoopLifecycle.d.ts.map +1 -1
  87. package/dist/core/LoopLifecycle.js +4 -9
  88. package/dist/core/LoopLifecycle.js.map +1 -1
  89. package/dist/core/LoopLifecycle.sql +6 -6
  90. package/dist/core/OperatorConfig.d.ts +1 -0
  91. package/dist/core/OperatorConfig.d.ts.map +1 -1
  92. package/dist/core/OperatorConfig.js +10 -2
  93. package/dist/core/OperatorConfig.js.map +1 -1
  94. package/dist/core/PacketBuilder.d.ts +5 -7
  95. package/dist/core/PacketBuilder.d.ts.map +1 -1
  96. package/dist/core/PacketBuilder.js +49 -119
  97. package/dist/core/PacketBuilder.js.map +1 -1
  98. package/dist/core/PacketBuilder.sql +15 -0
  99. package/dist/core/ProposalLifecycle.d.ts +1 -1
  100. package/dist/core/ProposalLifecycle.d.ts.map +1 -1
  101. package/dist/core/ProposalLifecycle.js +18 -20
  102. package/dist/core/ProposalLifecycle.js.map +1 -1
  103. package/dist/core/ProposalPolicies.d.ts +6 -0
  104. package/dist/core/ProposalPolicies.d.ts.map +1 -0
  105. package/dist/core/ProposalPolicies.js +28 -0
  106. package/dist/core/ProposalPolicies.js.map +1 -0
  107. package/dist/core/ProviderInstantiate.d.ts.map +1 -1
  108. package/dist/core/ProviderInstantiate.js +3 -4
  109. package/dist/core/ProviderInstantiate.js.map +1 -1
  110. package/dist/core/ResourceSelector.js +2 -2
  111. package/dist/core/ResourceSelector.js.map +1 -1
  112. package/dist/core/ResourceTransfers.js +3 -3
  113. package/dist/core/ResourceTransfers.js.map +1 -1
  114. package/dist/core/RuntimeWorker.sql +1 -2
  115. package/dist/core/SchemeRegistry.d.ts +5 -4
  116. package/dist/core/SchemeRegistry.d.ts.map +1 -1
  117. package/dist/core/SchemeRegistry.js +11 -12
  118. package/dist/core/SchemeRegistry.js.map +1 -1
  119. package/dist/core/ToolInputSchema.d.ts +1 -0
  120. package/dist/core/ToolInputSchema.d.ts.map +1 -1
  121. package/dist/core/ToolInputSchema.js +8 -2
  122. package/dist/core/ToolInputSchema.js.map +1 -1
  123. package/dist/core/ToolResources.d.ts +1 -0
  124. package/dist/core/ToolResources.d.ts.map +1 -1
  125. package/dist/core/ToolResources.js +12 -6
  126. package/dist/core/ToolResources.js.map +1 -1
  127. package/dist/core/Turn.js +1 -1
  128. package/dist/core/Turn.js.map +1 -1
  129. package/dist/core/TurnDispositionHandler.d.ts.map +1 -1
  130. package/dist/core/TurnDispositionHandler.js +1 -7
  131. package/dist/core/TurnDispositionHandler.js.map +1 -1
  132. package/dist/core/TurnMaterialization.js +1 -1
  133. package/dist/core/TurnMaterialization.js.map +1 -1
  134. package/dist/core/TurnOps.d.ts +1 -1
  135. package/dist/core/TurnOps.d.ts.map +1 -1
  136. package/dist/core/TurnOps.js +4 -12
  137. package/dist/core/TurnOps.js.map +1 -1
  138. package/dist/core/TurnRunner.d.ts +1 -2
  139. package/dist/core/TurnRunner.d.ts.map +1 -1
  140. package/dist/core/TurnRunner.js +85 -81
  141. package/dist/core/TurnRunner.js.map +1 -1
  142. package/dist/core/WorkerControlHandler.d.ts.map +1 -1
  143. package/dist/core/WorkerControlHandler.js +1 -8
  144. package/dist/core/WorkerControlHandler.js.map +1 -1
  145. package/dist/core/WorkerName.d.ts +1 -0
  146. package/dist/core/WorkerName.d.ts.map +1 -1
  147. package/dist/core/WorkerName.js +2 -0
  148. package/dist/core/WorkerName.js.map +1 -1
  149. package/dist/core/WorkerName.sql +2 -2
  150. package/dist/core/WorkerOwners.d.ts +13 -0
  151. package/dist/core/WorkerOwners.d.ts.map +1 -0
  152. package/dist/core/WorkerOwners.js +44 -0
  153. package/dist/core/WorkerOwners.js.map +1 -0
  154. package/dist/core/WorkerOwners.sql +55 -0
  155. package/dist/core/caps/DbNotifyCaps.js +2 -2
  156. package/dist/core/caps/DbNotifyCaps.js.map +1 -1
  157. package/dist/core/caps/DbProjectionCaps.js +1 -1
  158. package/dist/core/caps/DbProjectionCaps.js.map +1 -1
  159. package/dist/core/env-catalog.d.ts +3 -0
  160. package/dist/core/env-catalog.d.ts.map +1 -1
  161. package/dist/core/env-catalog.js +44 -9
  162. package/dist/core/env-catalog.js.map +1 -1
  163. package/dist/core/env-defaults.d.ts +2 -1
  164. package/dist/core/env-defaults.d.ts.map +1 -1
  165. package/dist/core/env-defaults.js +17 -9
  166. package/dist/core/env-defaults.js.map +1 -1
  167. package/dist/core/fork.sql +3 -4
  168. package/dist/core/packet-inject.js +0 -2
  169. package/dist/core/packet-inject.js.map +1 -1
  170. package/dist/core/packet-wire.d.ts +2 -11
  171. package/dist/core/packet-wire.d.ts.map +1 -1
  172. package/dist/core/packet-wire.js +31 -111
  173. package/dist/core/packet-wire.js.map +1 -1
  174. package/dist/core/plurnk-uri.d.ts +1 -1
  175. package/dist/core/plurnk-uri.d.ts.map +1 -1
  176. package/dist/core/plurnk-uri.js +4 -4
  177. package/dist/core/plurnk-uri.js.map +1 -1
  178. package/dist/core/scheme-types.d.ts +2 -1
  179. package/dist/core/scheme-types.d.ts.map +1 -1
  180. package/dist/core/types.d.ts +0 -1
  181. package/dist/core/types.d.ts.map +1 -1
  182. package/dist/core/unregistered-scheme.d.ts +1 -3
  183. package/dist/core/unregistered-scheme.d.ts.map +1 -1
  184. package/dist/core/unregistered-scheme.js +3 -11
  185. package/dist/core/unregistered-scheme.js.map +1 -1
  186. package/dist/evidence/EvidenceReader.d.ts +14 -0
  187. package/dist/evidence/EvidenceReader.d.ts.map +1 -0
  188. package/dist/evidence/EvidenceReader.js +137 -0
  189. package/dist/evidence/EvidenceReader.js.map +1 -0
  190. package/dist/{digest → evidence}/digest.sql +1 -2
  191. package/dist/schemes/EffectPolicy.d.ts.map +1 -1
  192. package/dist/schemes/EffectPolicy.js +1 -10
  193. package/dist/schemes/EffectPolicy.js.map +1 -1
  194. package/dist/schemes/Exec.d.ts.map +1 -1
  195. package/dist/schemes/Exec.js +19 -26
  196. package/dist/schemes/Exec.js.map +1 -1
  197. package/dist/schemes/ExecOutputScheme.d.ts +1 -1
  198. package/dist/schemes/ExecOutputScheme.d.ts.map +1 -1
  199. package/dist/schemes/File.d.ts.map +1 -1
  200. package/dist/schemes/File.js +11 -17
  201. package/dist/schemes/File.js.map +1 -1
  202. package/dist/schemes/Log.d.ts.map +1 -1
  203. package/dist/schemes/Log.js +14 -11
  204. package/dist/schemes/Log.js.map +1 -1
  205. package/dist/schemes/QuestionTool.d.ts.map +1 -1
  206. package/dist/schemes/QuestionTool.js +1 -3
  207. package/dist/schemes/QuestionTool.js.map +1 -1
  208. package/dist/schemes/{Skill.d.ts → ResourceTreeScheme.d.ts} +5 -6
  209. package/dist/schemes/ResourceTreeScheme.d.ts.map +1 -0
  210. package/dist/schemes/{Skill.js → ResourceTreeScheme.js} +63 -43
  211. package/dist/schemes/ResourceTreeScheme.js.map +1 -0
  212. package/dist/schemes/Worker.d.ts.map +1 -1
  213. package/dist/schemes/Worker.js +7 -9
  214. package/dist/schemes/Worker.js.map +1 -1
  215. package/dist/schemes/_entry-crud.sql +1 -1
  216. package/dist/schemes/_entry-find.js +2 -2
  217. package/dist/schemes/_entry-find.js.map +1 -1
  218. package/dist/schemes/_entry-find.sql +1 -1
  219. package/dist/schemes/_entry-fts.d.ts.map +1 -1
  220. package/dist/schemes/_entry-fts.js +3 -9
  221. package/dist/schemes/_entry-fts.js.map +1 -1
  222. package/dist/schemes/_entry-manifest.js +1 -1
  223. package/dist/schemes/_entry-manifest.js.map +1 -1
  224. package/dist/schemes/_entry-ops.js +1 -1
  225. package/dist/schemes/_entry-ops.js.map +1 -1
  226. package/dist/server/AgentRoots.d.ts +2 -1
  227. package/dist/server/AgentRoots.d.ts.map +1 -1
  228. package/dist/server/AgentRoots.js +13 -10
  229. package/dist/server/AgentRoots.js.map +1 -1
  230. package/dist/server/ConfigurationDiagnostics.d.ts +5 -3
  231. package/dist/server/ConfigurationDiagnostics.d.ts.map +1 -1
  232. package/dist/server/ConfigurationDiagnostics.js +24 -8
  233. package/dist/server/ConfigurationDiagnostics.js.map +1 -1
  234. package/dist/server/Daemon.d.ts +25 -16
  235. package/dist/server/Daemon.d.ts.map +1 -1
  236. package/dist/server/Daemon.js +137 -96
  237. package/dist/server/Daemon.js.map +1 -1
  238. package/dist/server/DrainSupervisor.d.ts +1 -4
  239. package/dist/server/DrainSupervisor.d.ts.map +1 -1
  240. package/dist/server/DrainSupervisor.js +1 -11
  241. package/dist/server/DrainSupervisor.js.map +1 -1
  242. package/dist/server/EnvFunctionality.d.ts +3 -5
  243. package/dist/server/EnvFunctionality.d.ts.map +1 -1
  244. package/dist/server/EnvFunctionality.js +5 -7
  245. package/dist/server/EnvFunctionality.js.map +1 -1
  246. package/dist/server/Functionality.d.ts +3 -2
  247. package/dist/server/Functionality.d.ts.map +1 -1
  248. package/dist/server/Functionality.js +43 -14
  249. package/dist/server/Functionality.js.map +1 -1
  250. package/dist/server/FunctionalityManager.d.ts +3 -4
  251. package/dist/server/FunctionalityManager.d.ts.map +1 -1
  252. package/dist/server/FunctionalityManager.js +17 -9
  253. package/dist/server/FunctionalityManager.js.map +1 -1
  254. package/dist/server/HttpListener.d.ts +2 -0
  255. package/dist/server/HttpListener.d.ts.map +1 -1
  256. package/dist/server/HttpListener.js +23 -9
  257. package/dist/server/HttpListener.js.map +1 -1
  258. package/dist/server/MembersFunctionality.d.ts +2 -5
  259. package/dist/server/MembersFunctionality.d.ts.map +1 -1
  260. package/dist/server/MembersFunctionality.js +5 -3
  261. package/dist/server/MembersFunctionality.js.map +1 -1
  262. package/dist/server/ModuleHost.d.ts +33 -0
  263. package/dist/server/ModuleHost.d.ts.map +1 -0
  264. package/dist/server/ModuleHost.js +2 -0
  265. package/dist/server/ModuleHost.js.map +1 -0
  266. package/dist/server/PlurnkSkill.d.ts.map +1 -1
  267. package/dist/server/PlurnkSkill.js +54 -6
  268. package/dist/server/PlurnkSkill.js.map +1 -1
  269. package/dist/server/ServiceModules.d.ts +0 -2
  270. package/dist/server/ServiceModules.d.ts.map +1 -1
  271. package/dist/server/ServiceModules.js +5 -9
  272. package/dist/server/ServiceModules.js.map +1 -1
  273. package/dist/server/WorkspacePlugins.d.ts +2 -11
  274. package/dist/server/WorkspacePlugins.d.ts.map +1 -1
  275. package/dist/server/WorkspacePlugins.js.map +1 -1
  276. package/dist/server/WorkspaceResidency.d.ts +2 -1
  277. package/dist/server/WorkspaceResidency.d.ts.map +1 -1
  278. package/dist/server/WorkspaceStorage.d.ts.map +1 -1
  279. package/dist/server/WorkspaceStorage.js +7 -4
  280. package/dist/server/WorkspaceStorage.js.map +1 -1
  281. package/dist/server/client-input.d.ts +1 -2
  282. package/dist/server/client-input.d.ts.map +1 -1
  283. package/dist/server/client-input.js +2 -13
  284. package/dist/server/client-input.js.map +1 -1
  285. package/dist/server/dispatch-as-plurnk.js +1 -1
  286. package/dist/server/dispatch-as-plurnk.js.map +1 -1
  287. package/dist/server/drain.sql +6 -6
  288. package/dist/server/envelope.d.ts +2 -1
  289. package/dist/server/envelope.d.ts.map +1 -1
  290. package/dist/server/envelope.js +7 -17
  291. package/dist/server/envelope.js.map +1 -1
  292. package/dist/server/envelope.sql +5 -5
  293. package/dist/server/module-discovery.d.ts +11 -3
  294. package/dist/server/module-discovery.d.ts.map +1 -1
  295. package/dist/server/module-discovery.js +32 -18
  296. package/dist/server/module-discovery.js.map +1 -1
  297. package/dist/server/seam-proposal-list.sql +6 -4
  298. package/dist/service.d.ts.map +1 -1
  299. package/dist/service.js +58 -65
  300. package/dist/service.js.map +1 -1
  301. package/migrations/003_loops.sql +2 -2
  302. package/migrations/006_log.sql +1 -1
  303. package/migrations/016_selection_statements.sql +44 -0
  304. package/migrations/017_skills_module.sql +6 -0
  305. package/migrations/018_worker_owners.sql +102 -0
  306. package/migrations/019_interactive_owners.sql +6 -0
  307. package/migrations/020_log_projection.sql +143 -0
  308. package/package.json +71 -76
  309. package/dist/core/EmissionHead.d.ts +0 -8
  310. package/dist/core/EmissionHead.d.ts.map +0 -1
  311. package/dist/core/EmissionHead.js +0 -29
  312. package/dist/core/EmissionHead.js.map +0 -1
  313. package/dist/core/LegacyHome.d.ts +0 -10
  314. package/dist/core/LegacyHome.d.ts.map +0 -1
  315. package/dist/core/LegacyHome.js +0 -170
  316. package/dist/core/LegacyHome.js.map +0 -1
  317. package/dist/core/LoopPolicies.d.ts +0 -7
  318. package/dist/core/LoopPolicies.d.ts.map +0 -1
  319. package/dist/core/LoopPolicies.js +0 -42
  320. package/dist/core/LoopPolicies.js.map +0 -1
  321. package/dist/core/LoopPolicyReader.d.ts +0 -7
  322. package/dist/core/LoopPolicyReader.d.ts.map +0 -1
  323. package/dist/core/LoopPolicyReader.js +0 -33
  324. package/dist/core/LoopPolicyReader.js.map +0 -1
  325. package/dist/core/LoopPolicyReader.sql +0 -6
  326. package/dist/core/operation-target-groups.d.ts +0 -3
  327. package/dist/core/operation-target-groups.d.ts.map +0 -1
  328. package/dist/core/operation-target-groups.js +0 -77
  329. package/dist/core/operation-target-groups.js.map +0 -1
  330. package/dist/digest/Digest.d.ts +0 -10
  331. package/dist/digest/Digest.d.ts.map +0 -1
  332. package/dist/digest/Digest.js +0 -252
  333. package/dist/digest/Digest.js.map +0 -1
  334. package/dist/digest/DigestEvidence.d.ts +0 -11
  335. package/dist/digest/DigestEvidence.d.ts.map +0 -1
  336. package/dist/digest/DigestEvidence.js +0 -66
  337. package/dist/digest/DigestEvidence.js.map +0 -1
  338. package/dist/digest/DigestRender.d.ts +0 -18
  339. package/dist/digest/DigestRender.d.ts.map +0 -1
  340. package/dist/digest/DigestRender.js +0 -1044
  341. package/dist/digest/DigestRender.js.map +0 -1
  342. package/dist/digest/DigestRequiem.d.ts +0 -13
  343. package/dist/digest/DigestRequiem.d.ts.map +0 -1
  344. package/dist/digest/DigestRequiem.js +0 -337
  345. package/dist/digest/DigestRequiem.js.map +0 -1
  346. package/dist/digest/digest-db.d.ts +0 -3
  347. package/dist/digest/digest-db.d.ts.map +0 -1
  348. package/dist/digest/digest-db.js +0 -68
  349. package/dist/digest/digest-db.js.map +0 -1
  350. package/dist/digest/digest-paths.d.ts +0 -6
  351. package/dist/digest/digest-paths.d.ts.map +0 -1
  352. package/dist/digest/digest-paths.js +0 -14
  353. package/dist/digest/digest-paths.js.map +0 -1
  354. package/dist/digest/digest-rows.d.ts +0 -346
  355. package/dist/digest/digest-rows.d.ts.map +0 -1
  356. package/dist/digest/digest-rows.js +0 -2
  357. package/dist/digest/digest-rows.js.map +0 -1
  358. package/dist/index.d.ts +0 -15
  359. package/dist/index.d.ts.map +0 -1
  360. package/dist/index.js +0 -23
  361. package/dist/index.js.map +0 -1
  362. package/dist/schemes/Skill.d.ts.map +0 -1
  363. package/dist/schemes/Skill.js.map +0 -1
  364. package/dist/server/DaemonModule.d.ts +0 -101
  365. package/dist/server/DaemonModule.d.ts.map +0 -1
  366. package/dist/server/DaemonModule.js +0 -2
  367. package/dist/server/DaemonModule.js.map +0 -1
  368. package/dist/server/SkillSource.d.ts +0 -37
  369. package/dist/server/SkillSource.d.ts.map +0 -1
  370. package/dist/server/SkillSource.js +0 -267
  371. package/dist/server/SkillSource.js.map +0 -1
  372. package/dist/server/SkillsFunctionality.d.ts +0 -45
  373. package/dist/server/SkillsFunctionality.d.ts.map +0 -1
  374. package/dist/server/SkillsFunctionality.js +0 -405
  375. package/dist/server/SkillsFunctionality.js.map +0 -1
  376. package/dist/server/skills-problems.d.ts +0 -8
  377. package/dist/server/skills-problems.d.ts.map +0 -1
  378. package/dist/server/skills-problems.js +0 -18
  379. package/dist/server/skills-problems.js.map +0 -1
  380. package/dist/share/Share.d.ts +0 -15
  381. package/dist/share/Share.d.ts.map +0 -1
  382. package/dist/share/Share.js +0 -106
  383. package/dist/share/Share.js.map +0 -1
  384. package/dist/share/share.sql +0 -6
  385. package/docs/skills.md +0 -73
package/.env.defaults CHANGED
@@ -35,18 +35,11 @@ PLURNK_SERVICE_SQLITE_READERS=0
35
35
 
36
36
  # --- Permissions and membership ---
37
37
  # CapabilityPolicy JSON: deny removes matching demands; only admits only matches.
38
- # Workspace, Worker, and loop policies may narrow this ceiling, never widen it.
38
+ # Workspace policy may narrow this ceiling, never widen it.
39
39
  PLURNK_SERVICE_CAPABILITIES={}
40
- # What a loop does with a proposal when its creator did not say: review holds it for a
41
- # client's answer; accept applies it and reject refuses it inside the loop.
40
+ # Proposal settlement: review asks the worker's owner; accept or reject settles in core.
41
+ # Review without a capable owner rejects. Disconnect alone never removes that capability.
42
42
  PLURNK_SERVICE_PROPOSALS=review
43
- # Whether anyone is attending a loop when its creator did not say: 1 = someone can answer;
44
- # 0 = unattended, so no human-in-the-loop surface is offered and a wait nobody could end concludes.
45
- PLURNK_SERVICE_ATTENDED=1
46
- # What an unattended loop does with a proposal when its creator did not say: accept | reject.
47
- # Nobody is present to review, so review is not a choice here. Rejecting is the honest default: an
48
- # effect nobody approved does not run. A harness that means to run unattended states accept.
49
- PLURNK_SERVICE_UNATTENDED_PROPOSALS=reject
50
43
  # New filesystem files: none | root | namespace (also outside root). Existing-member writes unchanged.
51
44
  PLURNK_SERVICE_FILE_CREATE_SCOPE=root
52
45
  # Model-added membership: none | root | namespace. Workspaces may narrow it.
@@ -57,6 +50,8 @@ PLURNK_MEMBERS_ENABLED=1
57
50
  # PLURNK_MEMBERS_docs=docs/**
58
51
  # PLURNK_MEMBERS_no_locks=!**/*.lock
59
52
  # PLURNK_MEMBERS_docs_ENABLED=0
53
+ # Any alias: its glob, and its own _ENABLED control.
54
+ # PLURNK_MEMBERS_<alias>=<glob>
60
55
  # Matched paths a members definition lists as its sample; the rest are counted.
61
56
  PLURNK_SERVICE_MEMBERS_SAMPLE=20
62
57
  # Git membership, status, and branch integration: 1 = permitted; 0 = denied service-wide.
@@ -71,11 +66,12 @@ PLURNK_SERVICE_FILE_MATERIALIZE_MAX_BYTES=104857600
71
66
  # --- Loop limits and recovery ---
72
67
  # Default child model: alias or provider/model. Unset = inherit the spawning loop's model.
73
68
  # PLURNK_MODEL_CHILD=fast
74
- # Model calls across the worker tree, including BARE and resumes; -1 = unlimited. Clients may tighten it.
69
+ # Opt-in model-call ceiling shared by the worker tree, including BARE and resumes; -1 = uncapped.
70
+ # Runtime (_plurnk) ancestry supplies no ceiling. Clients may tighten the model tree's limit.
75
71
  PLURNK_SERVICE_MAX_TURNS=-1
76
72
  # Actions per emission; -1 = unlimited. Final disposition remains; excess actions report an error.
77
73
  PLURNK_SERVICE_MAX_COMMANDS=-1
78
- # Concurrent nonterminal runs per workspace; -1 = unlimited. Excess spawns return 508, not a queue.
74
+ # Concurrent live workers per workspace; -1 = unlimited. Excess spawns return 508, not a queue.
79
75
  PLURNK_SERVICE_WORKSPACE_WORKERS_MAX_ACTIVE=-1
80
76
  # Active execution allowance per task, positive ms; WAIT pauses it, wakes retain it. Exhaustion: 504.
81
77
  PLURNK_SERVICE_LOOP_TIMEOUT=86400000
@@ -83,8 +79,8 @@ PLURNK_SERVICE_LOOP_TIMEOUT=86400000
83
79
  PLURNK_SERVICE_LIVE_TIMEOUT=600000
84
80
  # End-to-end shutdown budget, positive ms; includes database and listener cleanup.
85
81
  PLURNK_SERVICE_STOP_TIMEOUT_MS=30000
86
- # Provider recovery window, ms; 0 = no reissue. Expiry parks attended loops until a prompt/wake;
87
- # unattended loops conclude and BARE returns the provider failure.
82
+ # Provider recovery window, ms; 0 = no reissue. Expiry parks workers with a reviewer;
83
+ # without one the loop concludes. BARE returns the provider failure.
88
84
  PLURNK_SERVICE_PROVIDER_RECOVERY=900000
89
85
  # First recovery delay, ms; doubles on failure up to PROVIDER_RECOVERY_BACKOFF_MAX below.
90
86
  PLURNK_SERVICE_PROVIDER_RECOVERY_BACKOFF=5000
@@ -163,9 +159,8 @@ PLURNK_SERVICE_BUDGET_LARGEST_ITEMS=5
163
159
  PLURNK_SERVICE_PREVIEW_LINES=100
164
160
  # Independent bound on the same page, Unicode code points; CRLF counts as one separator.
165
161
  PLURNK_SERVICE_PREVIEW_CHARS=16000
166
- # The model's memory of its own thinking ({§reasoning-row}): 1 lands each model turn's reasoning as a row of its
167
- # own, immediately before the turn's emission row, whole, when the packet has room for it after everything else;
168
- # without room no row lands and nothing else changes. 0 lands nothing.
162
+ # Optional reasoning memory ({§reasoning-row}): 1 adds the turn's preview before its emission or results,
163
+ # only when room remains after all requested results and diagnostics. Otherwise omit it silently. 0 disables it.
169
164
  PLURNK_SERVICE_REASONING_ROWS=1
170
165
  # The row's page ({§reasoning-row}): reasoning that fits it lands whole; longer reasoning lands as its last page,
171
166
  # this many lines within PLURNK_SERVICE_PREVIEW_CHARS, because a turn's conclusions and plan sit at its end; the
@@ -187,19 +182,11 @@ PLURNK_SERVICE_FILES_ITEMS=-1
187
182
 
188
183
  # --- Teaching and skills ---
189
184
  # Scheme names omitted from discoverable references, comma-separated; empty = none.
190
- # Executable docs instead follow tool enablement. Plugin trust lives in plurnk-meta's defaults.
185
+ # Executable docs instead follow tool enablement. Extension trust lives in plurnk-meta's defaults.
191
186
  PLURNK_SERVICE_DOCS_EXCLUDE="plurnk,file,exec"
192
187
  # Skills, plugin and standalone MCP configuration roots, comma-separated, nearest first: project
193
188
  # (the workspace project's .agents), plurnk ($XDG_CONFIG_HOME/plurnk), global (~/.agents).
194
189
  PLURNK_SERVICE_ROOTS=project,plurnk,global
195
- # Agent Skills: whole source definitions override discovered skills by their exact standard name.
196
- # `_` in a key represents `-`; Unicode names work in .env or via `env 'KEY=value' command`.
197
- # PLURNK_SKILLS_code_review={"name":"code-review","source":"/srv/skills/code-review"}
198
- # Declared and discovered skills default enabled; per-name controls override this default.
199
- PLURNK_SKILLS_ENABLED=1
200
- # PLURNK_SKILLS_code_review_ENABLED=0
201
- # Deadline for one skills source fetch (git ls-remote, git clone, tar, unzip), positive ms.
202
- PLURNK_SERVICE_SKILLS_FETCH_TIMEOUT_MS=120000
203
190
  # Extra Markdown after language teaching, reread each turn; unreadable explicit paths fail.
204
191
  # PLURNK_SERVICE_PACKET_INJECT="~/injection.md"
205
192
  # Policy Markdown: unset = $XDG_CONFIG_HOME/plurnk/AGENTS.md; empty = off; otherwise that path.
@@ -220,17 +207,11 @@ PLURNK_SERVICE_DERIVE_STORE_BATCH=1024
220
207
  # Progress heartbeat, ms; starts, failures, and completion are immediate; no-op passes stay silent.
221
208
  PLURNK_SERVICE_DERIVE_PROGRESS_HEARTBEAT_MS=15000
222
209
 
223
- # --- Forensic interviews ---
224
- # Initial requiem output allowance, tokens; used only for requested out-of-band interviews.
225
- PLURNK_SERVICE_REQUIEM_MAX_TOKENS=16384
226
- # Retry allowance for empty length-limited testimony; must be at least the initial allowance.
227
- PLURNK_SERVICE_REQUIEM_RETRY_MAX_TOKENS=32768
228
-
229
210
  # --- Retention: information is kept; transient data is collected ({§retention-policy}) ---
230
211
  # Packet compositions kept per loop, newest first; -1 = every packet, forever.
231
212
  PLURNK_SERVICE_RETAIN_PACKET_TURNS=-1
232
213
  # Packet compositions kept by age, ms since the turn completed; -1 = no age limit. Thirty days:
233
- # no session reads its own packets back that late, and a daemon left running for months stops growing.
214
+ # no worker reads its own packets back that late, and a daemon left running for months stops growing.
234
215
  PLURNK_SERVICE_RETAIN_PACKET_MS=2592000000
235
216
  # Model response bodies kept per loop, newest first; -1 = every body, forever. The call's
236
217
  # evidence, admission and accounting always stay.
package/INSTALL.md CHANGED
@@ -33,8 +33,9 @@ or enables the unit.
33
33
  | Plurnk-only MCP servers | `$XDG_CONFIG_HOME/plurnk/mcp.json` |
34
34
 
35
35
  Use `plurnk-service config` for paths and precedence, `config edit` to edit the
36
- user file, and `config check` to validate it. An old `~/.plurnk` is not read
37
- implicitly; `plurnk-service paths migrate` relocates it with the daemon stopped.
36
+ user file, and `config check` to validate it. A `PLURNK_*` key that file sets and
37
+ no installed package declares is named at startup and by `config check`, which
38
+ still passes; `config defaults` lists every declared key.
38
39
 
39
40
  Invalid optional configuration stays visible without removing the repair environment.
40
41
  `config check` is strict; ordinary startup keeps unrelated capabilities and client
@@ -42,6 +43,42 @@ inspection available. Model providers are constructed and verified on selection
42
43
  first use, not on startup. An invalid default never selects a different model:
43
44
  choose a valid model in the client or correct the daemon's configuration.
44
45
 
46
+ ## Backup and restore
47
+
48
+ The database holds worker history and workspace state. Its default path is in
49
+ the table above; `PLURNK_SERVICE_DB_PATH` overrides it, and
50
+ `PLURNK_SERVICE_STATE_ROOT` relocates the default. Back up the actual daemon's
51
+ database, not a different client's default.
52
+
53
+ Use SQLite's consistent-copy operation while the daemon is running **or** stopped
54
+ ({§share-snapshot}). Copying only a live `.db` can omit committed data still in
55
+ its `-wal` file; copying those files separately is not a consistent snapshot.
56
+ This example uses Node, already required by Plurnk, and the default XDG path.
57
+ Choose a new destination for each backup:
58
+
59
+ ```sh
60
+ (
61
+ umask 077
62
+ node --input-type=module -e '
63
+ import { DatabaseSync } from "node:sqlite";
64
+ const db = new DatabaseSync(process.argv[1], { readOnly: true });
65
+ try { db.prepare("VACUUM INTO ?").run(process.argv[2]); }
66
+ finally { db.close(); }
67
+ ' "${XDG_DATA_HOME:-$HOME/.local/share}/plurnk/plurnk.db" "$HOME/plurnk-backup.db"
68
+ )
69
+ ```
70
+
71
+ Keep backups private: they include prompts, reasoning, and recorded tool output.
72
+ Back up project files, configuration, and extension-owned files separately; a
73
+ database snapshot does not copy them. `plurnk-service share` produces diagnostic
74
+ artifacts from a temporary snapshot and then removes that snapshot; it is not
75
+ a substitute for this backup.
76
+
77
+ To restore, stop the daemon and retain its old database and any `-wal`/`-shm`
78
+ sidecars together. Copy the backup to a fresh working path, select that path with
79
+ `PLURNK_SERVICE_DB_PATH`, and start the same or a newer compatible service version.
80
+ Do not overwrite a live database or pair a restored file with old sidecars.
81
+
45
82
  ## Precedence
46
83
 
47
84
  Highest priority first ({§operator-config-precedence}):
@@ -60,7 +97,7 @@ variables reach its commands through the workspace environment (`/env import .en
60
97
 
61
98
  For a service-owned variable, strip `PLURNK_`, lowercase, and replace `_` with
62
99
  `-` to obtain its CLI flag: `PLURNK_SERVICE_MAX_TURNS` → `--service-max-turns`.
63
- Plugin settings remain environment/configuration values; they do not extend the
100
+ Extension settings remain environment/configuration values; they do not extend the
64
101
  service CLI. Boolean flags use `1` and `0`. An empty value is not an unset value;
65
102
  the owning declaration specifies its meaning.
66
103
 
@@ -68,7 +105,7 @@ the owning declaration specifies its meaning.
68
105
 
69
106
  | Change | Owner and effect |
70
107
  | --- | --- |
71
- | Startup defaults or installed plugin configuration | The daemon's environment cascade. A remote client's shell does not change it. |
108
+ | Startup defaults or installed extension configuration | The daemon's environment cascade. A remote client's shell does not change it. |
72
109
  | Model, reasoning, child model | Worker selections persist. Set them through client controls; changing a startup default does not retarget an existing Worker. |
73
110
  | MCPs, skills, outbound agents, schedules, membership | Workspace Functionality: list, discover, add, enable, disable, remove. Workers share the workspace's current selection. |
74
111
  | Command environment | `env` manages worker overrides or workspace defaults. It does not reconfigure the daemon; running processes keep their launch environment. |
@@ -141,12 +178,13 @@ Configuration provenance names the definition's environment key, discovered
141
178
  `SKILL.md` path, or MCP JSON file and JSON Pointer, not a dotenv file or shadowed history. Local overrides are
142
179
  workspace-owned; removing one exposes its current inherited source again.
143
180
 
144
- ## Native extensions
181
+ ## Extensions
145
182
 
146
- Standard [Agent Plugins](https://agent-plugins.org/specification) keep their portable
147
- skills and MCP servers and may add one native capability under `extensions.ai.plurnk`.
148
- That declaration uses the family's existing loader and lifetime. For daemon lifecycle
149
- hooks, declare a module:
183
+ An extension is native Plurnk code of one kind, declared once: under `plurnk` in an npm
184
+ package's `package.json`, or under `extensions.ai.plurnk` in a standard
185
+ [Agent Plugin](https://agent-plugins.org/specification)'s `plugin.json`, beside the plugin's
186
+ portable skills and MCP servers. Its kind's framework loads it with that kind's lifetime. A
187
+ module joins the daemon lifecycle:
150
188
 
151
189
  ```json
152
190
  {
@@ -156,15 +194,28 @@ hooks, declare a module:
156
194
  }
157
195
  ```
158
196
 
159
- Daemon modules load at startup from installed npm packages and selected user roots:
197
+ An npm package declares the same module in its own manifest, naming an export subpath so the
198
+ package's export conditions select its entry:
199
+
200
+ ```json
201
+ {
202
+ "name": "@example/plurnk-module",
203
+ "exports": { "./module": "./dist/module.js" },
204
+ "plurnk": { "kind": "module", "module": "./module" }
205
+ }
206
+ ```
207
+
208
+ Modules load at startup from installed npm packages and selected user roots:
160
209
  `$XDG_CONFIG_HOME/plurnk/plugins/` before `~/.agents/plugins/`, then npm. The manifest name
161
210
  identifies a plugin across those sources. Project plugins never load native code into the daemon.
162
- `PLURNK_SERVICE_ROOTS` selects the directory roots; `PLURNK_PLUGINS_TRUSTED_ONLY` governs native
163
- imports, using the npm package name when present or the plugin name otherwise.
164
- Other native families (executors, schemes, providers, mimetypes and HTTP materializers)
211
+ `PLURNK_SERVICE_ROOTS` selects the directory roots; `PLURNK_EXTENSIONS_TRUSTED_ONLY` governs
212
+ extension imports, using the npm package name when present or the plugin name otherwise.
213
+ Other extension kinds (executors, schemes, providers, mimetypes and HTTP materializers)
165
214
  require npm installation and retain their own loading behavior.
166
215
 
167
- The module exports a lifecycle object or a no-argument factory. `setup` registers capabilities;
168
- `stop` drains producers; `close` releases registrations and observers. See {§module-lifecycle}.
169
- Native files and the optional configuration panel live under `ai.plurnk/`; its `.env.defaults`
170
- joins the ordinary floor. npm owns dependencies and delivery, not a second native declaration.
216
+ A module exports a lifecycle object or a no-argument factory: `setup` registers what it
217
+ contributes, `start` opens its ingress, `stop` drains its producers, and `close` releases its
218
+ registrations and observers. Extension files and the optional configuration panel live under
219
+ `ai.plurnk/`; its `.env.defaults` joins the ordinary floor. npm owns dependencies and delivery,
220
+ not a second extension declaration. [Extending Plurnk](skill://plurnk/references/extensibility.md)
221
+ covers every integration surface and links each kind's contract.
package/README.md CHANGED
@@ -34,7 +34,7 @@ reports the choices shared by a worker's selected model and spawn override.
34
34
 
35
35
  ```sh
36
36
  npm install -g @plurnk/plurnk-service
37
- plurnk-service migrate # apply the disposable schema baseline (its chapters, in order)
37
+ plurnk-service migrate # apply pending database upgrades, preserving existing data
38
38
  plurnk-service start # daemon
39
39
  ```
40
40
 
@@ -47,12 +47,14 @@ Configuration follows XDG at `$XDG_CONFIG_HOME/plurnk` (normally
47
47
  `plurnk-service config defaults` for
48
48
  the complete installed option catalog and `plurnk-service config check` to
49
49
  validate without contacting a provider. **[`INSTALL.md`](./INSTALL.md) is the
50
- configuration guide.** A legacy mixed `~/.plurnk` is moved only by the explicit
51
- `plurnk-service paths migrate` command.
50
+ configuration guide.**
52
51
 
53
- The 1.x package retains its frozen root library barrel for SemVer compatibility;
54
- it is not the client boundary and gains no new APIs. Programmatic forensic use
55
- imports `@plurnk/plurnk-service/digest`.
52
+ Protect durable history with a [consistent database backup](./INSTALL.md#backup-and-restore).
53
+ The `share` command exports diagnostic reports, not a restorable database.
54
+
55
+ Clients use AG-UI; extension authors use the owning framework packages.
56
+ Programmatic forensic use imports [`@plurnk/plurnk-digest`](../plurnk-digest/README.md)
57
+ with the canonical reader from `@plurnk/plurnk-service/evidence`.
56
58
  The digest requires a new or empty output directory, separate from its input
57
59
  database. Existing output and overlapping input/output paths are refused.
58
60
 
@@ -67,7 +69,7 @@ database. Existing output and overlapping input/output paths are refused.
67
69
 
68
70
  ## Observability
69
71
 
70
- The daemon can emit OpenTelemetry traces and low-cardinality metrics through the standard `OTEL_*` environment ({§observability-boundary}): `OTEL_TRACES_EXPORTER` / `OTEL_METRICS_EXPORTER` select `otlp` or `console` per signal, `OTEL_SERVICE_NAME` names the service, and `OTEL_SDK_DISABLED` opts out. Unconfigured, the daemon never loads the SDK. The boundary observes lifecycle (workspace, loop, turn, provider, parse, dispatch, proposal, stream, digest) without ever recording prompts, reasoning, file bodies, URLs, secrets, or plugin payloads.
72
+ The daemon can emit OpenTelemetry traces and low-cardinality metrics through the standard `OTEL_*` environment ({§observability-boundary}): `OTEL_TRACES_EXPORTER` / `OTEL_METRICS_EXPORTER` select `otlp` or `console` per signal, `OTEL_SERVICE_NAME` names the service, and `OTEL_SDK_DISABLED` opts out. Unconfigured, the daemon never loads the SDK. The boundary observes lifecycle (workspace, loop, turn, provider, parse, dispatch, proposal, stream, digest) without ever recording prompts, reasoning, file bodies, URLs, secrets, or extension payloads.
71
73
 
72
74
  ## Full-text search
73
75