@plurnk/plurnk-service 2.0.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 (251) hide show
  1. package/.env.defaults +11 -15
  2. package/INSTALL.md +3 -2
  3. package/README.md +1 -2
  4. package/SPEC.md +329 -320
  5. package/dist/build-info.json +1 -1
  6. package/dist/content/edit-receipt.d.ts +1 -1
  7. package/dist/content/edit-receipt.d.ts.map +1 -1
  8. package/dist/content/edit-receipt.js +1 -1
  9. package/dist/content/edit-receipt.js.map +1 -1
  10. package/dist/content/read-projector.d.ts.map +1 -1
  11. package/dist/content/read-projector.js +3 -12
  12. package/dist/content/read-projector.js.map +1 -1
  13. package/dist/core/AdministrativeLoop.d.ts +1 -1
  14. package/dist/core/AdministrativeLoop.d.ts.map +1 -1
  15. package/dist/core/AdministrativeLoop.js +2 -6
  16. package/dist/core/AdministrativeLoop.js.map +1 -1
  17. package/dist/core/BudgetReadout.d.ts +1 -0
  18. package/dist/core/BudgetReadout.d.ts.map +1 -1
  19. package/dist/core/BudgetReadout.js +12 -0
  20. package/dist/core/BudgetReadout.js.map +1 -1
  21. package/dist/core/CapabilityPolicies.d.ts +2 -4
  22. package/dist/core/CapabilityPolicies.d.ts.map +1 -1
  23. package/dist/core/CapabilityPolicies.js +3 -23
  24. package/dist/core/CapabilityPolicies.js.map +1 -1
  25. package/dist/core/CapabilityResolver.d.ts +9 -2
  26. package/dist/core/CapabilityResolver.d.ts.map +1 -1
  27. package/dist/core/CapabilityResolver.js +34 -5
  28. package/dist/core/CapabilityResolver.js.map +1 -1
  29. package/dist/core/ChannelWrite.d.ts +0 -2
  30. package/dist/core/ChannelWrite.d.ts.map +1 -1
  31. package/dist/core/ChannelWrite.js.map +1 -1
  32. package/dist/core/ClientInteractions.d.ts +3 -2
  33. package/dist/core/ClientInteractions.d.ts.map +1 -1
  34. package/dist/core/ClientInteractions.js +21 -12
  35. package/dist/core/ClientInteractions.js.map +1 -1
  36. package/dist/core/ClientInteractions.sql +8 -2
  37. package/dist/core/CoreSchemeServices.d.ts +1 -0
  38. package/dist/core/CoreSchemeServices.d.ts.map +1 -1
  39. package/dist/core/CoreSchemeServices.js +1 -0
  40. package/dist/core/CoreSchemeServices.js.map +1 -1
  41. package/dist/core/DataStatementRunner.js +1 -1
  42. package/dist/core/DataStatementRunner.js.map +1 -1
  43. package/dist/core/Dispatcher.d.ts +1 -0
  44. package/dist/core/Dispatcher.d.ts.map +1 -1
  45. package/dist/core/Dispatcher.js +12 -13
  46. package/dist/core/Dispatcher.js.map +1 -1
  47. package/dist/core/Engine.d.ts +1 -1
  48. package/dist/core/Engine.d.ts.map +1 -1
  49. package/dist/core/Engine.js +3 -2
  50. package/dist/core/Engine.js.map +1 -1
  51. package/dist/core/EnvFlags.d.ts.map +1 -1
  52. package/dist/core/EnvFlags.js +4 -3
  53. package/dist/core/EnvFlags.js.map +1 -1
  54. package/dist/core/FabricatedLog.js +1 -1
  55. package/dist/core/FabricatedLog.js.map +1 -1
  56. package/dist/core/HostPaths.d.ts +0 -1
  57. package/dist/core/HostPaths.d.ts.map +1 -1
  58. package/dist/core/HostPaths.js +0 -2
  59. package/dist/core/HostPaths.js.map +1 -1
  60. package/dist/core/KillHandler.js +1 -1
  61. package/dist/core/KillHandler.js.map +1 -1
  62. package/dist/core/LogVisibility.d.ts.map +1 -1
  63. package/dist/core/LogVisibility.js +8 -17
  64. package/dist/core/LogVisibility.js.map +1 -1
  65. package/dist/core/LoopDriver.d.ts.map +1 -1
  66. package/dist/core/LoopDriver.js +4 -6
  67. package/dist/core/LoopDriver.js.map +1 -1
  68. package/dist/core/LoopLifecycle.d.ts.map +1 -1
  69. package/dist/core/LoopLifecycle.js +4 -9
  70. package/dist/core/LoopLifecycle.js.map +1 -1
  71. package/dist/core/LoopLifecycle.sql +6 -6
  72. package/dist/core/OperatorConfig.d.ts +1 -0
  73. package/dist/core/OperatorConfig.d.ts.map +1 -1
  74. package/dist/core/OperatorConfig.js +10 -2
  75. package/dist/core/OperatorConfig.js.map +1 -1
  76. package/dist/core/PacketBuilder.d.ts +5 -7
  77. package/dist/core/PacketBuilder.d.ts.map +1 -1
  78. package/dist/core/PacketBuilder.js +48 -118
  79. package/dist/core/PacketBuilder.js.map +1 -1
  80. package/dist/core/PacketBuilder.sql +15 -0
  81. package/dist/core/ProposalLifecycle.d.ts +1 -1
  82. package/dist/core/ProposalLifecycle.d.ts.map +1 -1
  83. package/dist/core/ProposalLifecycle.js +18 -20
  84. package/dist/core/ProposalLifecycle.js.map +1 -1
  85. package/dist/core/ProposalPolicies.d.ts +6 -0
  86. package/dist/core/ProposalPolicies.d.ts.map +1 -0
  87. package/dist/core/ProposalPolicies.js +28 -0
  88. package/dist/core/ProposalPolicies.js.map +1 -0
  89. package/dist/core/ProviderInstantiate.d.ts.map +1 -1
  90. package/dist/core/ProviderInstantiate.js +3 -4
  91. package/dist/core/ProviderInstantiate.js.map +1 -1
  92. package/dist/core/ResourceSelector.js +2 -2
  93. package/dist/core/ResourceSelector.js.map +1 -1
  94. package/dist/core/ResourceTransfers.js +3 -3
  95. package/dist/core/ResourceTransfers.js.map +1 -1
  96. package/dist/core/RuntimeWorker.sql +1 -2
  97. package/dist/core/SchemeRegistry.d.ts.map +1 -1
  98. package/dist/core/SchemeRegistry.js +4 -5
  99. package/dist/core/SchemeRegistry.js.map +1 -1
  100. package/dist/core/ToolInputSchema.d.ts +1 -0
  101. package/dist/core/ToolInputSchema.d.ts.map +1 -1
  102. package/dist/core/ToolInputSchema.js +8 -2
  103. package/dist/core/ToolInputSchema.js.map +1 -1
  104. package/dist/core/ToolResources.d.ts +1 -0
  105. package/dist/core/ToolResources.d.ts.map +1 -1
  106. package/dist/core/ToolResources.js +7 -1
  107. package/dist/core/ToolResources.js.map +1 -1
  108. package/dist/core/TurnDispositionHandler.d.ts.map +1 -1
  109. package/dist/core/TurnDispositionHandler.js +1 -7
  110. package/dist/core/TurnDispositionHandler.js.map +1 -1
  111. package/dist/core/TurnMaterialization.js +1 -1
  112. package/dist/core/TurnMaterialization.js.map +1 -1
  113. package/dist/core/TurnRunner.d.ts.map +1 -1
  114. package/dist/core/TurnRunner.js +74 -57
  115. package/dist/core/TurnRunner.js.map +1 -1
  116. package/dist/core/WorkerControlHandler.d.ts.map +1 -1
  117. package/dist/core/WorkerControlHandler.js +1 -8
  118. package/dist/core/WorkerControlHandler.js.map +1 -1
  119. package/dist/core/WorkerName.d.ts +1 -0
  120. package/dist/core/WorkerName.d.ts.map +1 -1
  121. package/dist/core/WorkerName.js +2 -0
  122. package/dist/core/WorkerName.js.map +1 -1
  123. package/dist/core/WorkerName.sql +2 -2
  124. package/dist/core/WorkerOwners.d.ts +13 -0
  125. package/dist/core/WorkerOwners.d.ts.map +1 -0
  126. package/dist/core/WorkerOwners.js +44 -0
  127. package/dist/core/WorkerOwners.js.map +1 -0
  128. package/dist/core/WorkerOwners.sql +55 -0
  129. package/dist/core/env-catalog.d.ts +3 -0
  130. package/dist/core/env-catalog.d.ts.map +1 -1
  131. package/dist/core/env-catalog.js +44 -9
  132. package/dist/core/env-catalog.js.map +1 -1
  133. package/dist/core/fork.sql +3 -4
  134. package/dist/core/packet-inject.js +0 -2
  135. package/dist/core/packet-inject.js.map +1 -1
  136. package/dist/core/packet-wire.d.ts +2 -10
  137. package/dist/core/packet-wire.d.ts.map +1 -1
  138. package/dist/core/packet-wire.js +31 -114
  139. package/dist/core/packet-wire.js.map +1 -1
  140. package/dist/core/plurnk-uri.d.ts +1 -1
  141. package/dist/core/plurnk-uri.d.ts.map +1 -1
  142. package/dist/core/plurnk-uri.js +4 -4
  143. package/dist/core/plurnk-uri.js.map +1 -1
  144. package/dist/core/scheme-types.d.ts +2 -1
  145. package/dist/core/scheme-types.d.ts.map +1 -1
  146. package/dist/core/types.d.ts +0 -1
  147. package/dist/core/types.d.ts.map +1 -1
  148. package/dist/core/unregistered-scheme.d.ts +1 -3
  149. package/dist/core/unregistered-scheme.d.ts.map +1 -1
  150. package/dist/core/unregistered-scheme.js +3 -11
  151. package/dist/core/unregistered-scheme.js.map +1 -1
  152. package/dist/evidence/EvidenceReader.d.ts.map +1 -1
  153. package/dist/evidence/EvidenceReader.js +4 -1
  154. package/dist/evidence/EvidenceReader.js.map +1 -1
  155. package/dist/evidence/digest.sql +1 -2
  156. package/dist/schemes/EffectPolicy.d.ts.map +1 -1
  157. package/dist/schemes/EffectPolicy.js +1 -10
  158. package/dist/schemes/EffectPolicy.js.map +1 -1
  159. package/dist/schemes/Exec.d.ts.map +1 -1
  160. package/dist/schemes/Exec.js +16 -23
  161. package/dist/schemes/Exec.js.map +1 -1
  162. package/dist/schemes/File.d.ts.map +1 -1
  163. package/dist/schemes/File.js +10 -16
  164. package/dist/schemes/File.js.map +1 -1
  165. package/dist/schemes/QuestionTool.d.ts.map +1 -1
  166. package/dist/schemes/QuestionTool.js +1 -3
  167. package/dist/schemes/QuestionTool.js.map +1 -1
  168. package/dist/schemes/Worker.d.ts.map +1 -1
  169. package/dist/schemes/Worker.js +6 -8
  170. package/dist/schemes/Worker.js.map +1 -1
  171. package/dist/schemes/_entry-fts.d.ts.map +1 -1
  172. package/dist/schemes/_entry-fts.js +3 -9
  173. package/dist/schemes/_entry-fts.js.map +1 -1
  174. package/dist/schemes/_entry-ops.js +1 -1
  175. package/dist/schemes/_entry-ops.js.map +1 -1
  176. package/dist/server/ConfigurationDiagnostics.d.ts +1 -0
  177. package/dist/server/ConfigurationDiagnostics.d.ts.map +1 -1
  178. package/dist/server/ConfigurationDiagnostics.js +9 -0
  179. package/dist/server/ConfigurationDiagnostics.js.map +1 -1
  180. package/dist/server/Daemon.d.ts +12 -8
  181. package/dist/server/Daemon.d.ts.map +1 -1
  182. package/dist/server/Daemon.js +51 -52
  183. package/dist/server/Daemon.js.map +1 -1
  184. package/dist/server/DrainSupervisor.d.ts +1 -4
  185. package/dist/server/DrainSupervisor.d.ts.map +1 -1
  186. package/dist/server/DrainSupervisor.js +1 -11
  187. package/dist/server/DrainSupervisor.js.map +1 -1
  188. package/dist/server/EnvFunctionality.d.ts +2 -4
  189. package/dist/server/EnvFunctionality.d.ts.map +1 -1
  190. package/dist/server/EnvFunctionality.js +3 -5
  191. package/dist/server/EnvFunctionality.js.map +1 -1
  192. package/dist/server/Functionality.d.ts.map +1 -1
  193. package/dist/server/Functionality.js +42 -13
  194. package/dist/server/Functionality.js.map +1 -1
  195. package/dist/server/FunctionalityManager.d.ts +3 -4
  196. package/dist/server/FunctionalityManager.d.ts.map +1 -1
  197. package/dist/server/FunctionalityManager.js +17 -9
  198. package/dist/server/FunctionalityManager.js.map +1 -1
  199. package/dist/server/HttpListener.d.ts.map +1 -1
  200. package/dist/server/HttpListener.js +9 -3
  201. package/dist/server/HttpListener.js.map +1 -1
  202. package/dist/server/MembersFunctionality.d.ts +2 -5
  203. package/dist/server/MembersFunctionality.d.ts.map +1 -1
  204. package/dist/server/MembersFunctionality.js +5 -3
  205. package/dist/server/MembersFunctionality.js.map +1 -1
  206. package/dist/server/WorkspaceStorage.d.ts +0 -1
  207. package/dist/server/WorkspaceStorage.d.ts.map +1 -1
  208. package/dist/server/WorkspaceStorage.js +1 -24
  209. package/dist/server/WorkspaceStorage.js.map +1 -1
  210. package/dist/server/client-input.d.ts +1 -2
  211. package/dist/server/client-input.d.ts.map +1 -1
  212. package/dist/server/client-input.js +2 -13
  213. package/dist/server/client-input.js.map +1 -1
  214. package/dist/server/dispatch-as-plurnk.js +1 -1
  215. package/dist/server/dispatch-as-plurnk.js.map +1 -1
  216. package/dist/server/drain.sql +6 -6
  217. package/dist/server/envelope.d.ts +2 -1
  218. package/dist/server/envelope.d.ts.map +1 -1
  219. package/dist/server/envelope.js +7 -17
  220. package/dist/server/envelope.js.map +1 -1
  221. package/dist/server/envelope.sql +5 -5
  222. package/dist/server/seam-proposal-list.sql +6 -4
  223. package/dist/server/workspace-storage.sql +0 -5
  224. package/dist/service.d.ts.map +1 -1
  225. package/dist/service.js +23 -33
  226. package/dist/service.js.map +1 -1
  227. package/migrations/003_loops.sql +2 -2
  228. package/migrations/006_log.sql +1 -1
  229. package/migrations/016_selection_statements.sql +1 -0
  230. package/migrations/017_skills_module.sql +1 -0
  231. package/migrations/018_worker_owners.sql +102 -0
  232. package/migrations/019_interactive_owners.sql +6 -0
  233. package/migrations/020_log_projection.sql +143 -0
  234. package/package.json +37 -41
  235. package/dist/core/LegacyHome.d.ts +0 -10
  236. package/dist/core/LegacyHome.d.ts.map +0 -1
  237. package/dist/core/LegacyHome.js +0 -170
  238. package/dist/core/LegacyHome.js.map +0 -1
  239. package/dist/core/LoopPolicies.d.ts +0 -7
  240. package/dist/core/LoopPolicies.d.ts.map +0 -1
  241. package/dist/core/LoopPolicies.js +0 -42
  242. package/dist/core/LoopPolicies.js.map +0 -1
  243. package/dist/core/LoopPolicyReader.d.ts +0 -7
  244. package/dist/core/LoopPolicyReader.d.ts.map +0 -1
  245. package/dist/core/LoopPolicyReader.js +0 -33
  246. package/dist/core/LoopPolicyReader.js.map +0 -1
  247. package/dist/core/LoopPolicyReader.sql +0 -6
  248. package/dist/index.d.ts +0 -14
  249. package/dist/index.d.ts.map +0 -1
  250. package/dist/index.js +0 -21
  251. package/dist/index.js.map +0 -1
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
@@ -215,7 +211,7 @@ PLURNK_SERVICE_DERIVE_PROGRESS_HEARTBEAT_MS=15000
215
211
  # Packet compositions kept per loop, newest first; -1 = every packet, forever.
216
212
  PLURNK_SERVICE_RETAIN_PACKET_TURNS=-1
217
213
  # Packet compositions kept by age, ms since the turn completed; -1 = no age limit. Thirty days:
218
- # 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.
219
215
  PLURNK_SERVICE_RETAIN_PACKET_MS=2592000000
220
216
  # Model response bodies kept per loop, newest first; -1 = every body, forever. The call's
221
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
package/README.md CHANGED
@@ -47,8 +47,7 @@ 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
52
  Protect durable history with a [consistent database backup](./INSTALL.md#backup-and-restore).
54
53
  The `share` command exports diagnostic reports, not a restorable database.