@plurnk/plurnk-service 3.3.0 → 4.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 (298) hide show
  1. package/.env.defaults +1 -1
  2. package/INSTALL.md +6 -0
  3. package/README.md +2 -2
  4. package/SPEC.md +380 -159
  5. package/dist/build-info.json +1 -1
  6. package/dist/completions/_plurnk-service +1 -1
  7. package/dist/completions/plurnk-service.bash +1 -1
  8. package/dist/completions/plurnk-service.fish +2 -0
  9. package/dist/content/read-projector.js +1 -1
  10. package/dist/content/read-projector.js.map +1 -1
  11. package/dist/core/AdministrativeLoop.d.ts +1 -1
  12. package/dist/core/AdministrativeLoop.d.ts.map +1 -1
  13. package/dist/core/AdministrativeLoop.js +4 -1
  14. package/dist/core/AdministrativeLoop.js.map +1 -1
  15. package/dist/core/AdmittedTurnExecutor.d.ts.map +1 -1
  16. package/dist/core/AdmittedTurnExecutor.js +8 -0
  17. package/dist/core/AdmittedTurnExecutor.js.map +1 -1
  18. package/dist/core/BareBatchRunner.js +2 -1
  19. package/dist/core/BareBatchRunner.js.map +1 -1
  20. package/dist/core/ChannelWrite.d.ts +10 -0
  21. package/dist/core/ChannelWrite.d.ts.map +1 -1
  22. package/dist/core/ChannelWrite.js +10 -0
  23. package/dist/core/ChannelWrite.js.map +1 -1
  24. package/dist/core/ChannelWrite.sql +14 -2
  25. package/dist/core/ClientInteractions.d.ts.map +1 -1
  26. package/dist/core/ClientInteractions.js +2 -1
  27. package/dist/core/ClientInteractions.js.map +1 -1
  28. package/dist/core/CoreSchemeServices.d.ts.map +1 -1
  29. package/dist/core/CoreSchemeServices.js +5 -0
  30. package/dist/core/CoreSchemeServices.js.map +1 -1
  31. package/dist/core/DataStatementRunner.js +4 -6
  32. package/dist/core/DataStatementRunner.js.map +1 -1
  33. package/dist/core/Dispatcher.d.ts +3 -7
  34. package/dist/core/Dispatcher.d.ts.map +1 -1
  35. package/dist/core/Dispatcher.js +46 -68
  36. package/dist/core/Dispatcher.js.map +1 -1
  37. package/dist/core/Dispatcher.sql +2 -2
  38. package/dist/core/EditMutations.js +1 -0
  39. package/dist/core/EditMutations.js.map +1 -1
  40. package/dist/core/Engine.d.ts +8 -14
  41. package/dist/core/Engine.d.ts.map +1 -1
  42. package/dist/core/Engine.js +22 -24
  43. package/dist/core/Engine.js.map +1 -1
  44. package/dist/core/Engine.sql +6 -6
  45. package/dist/core/ExecutorRegistry.d.ts +0 -5
  46. package/dist/core/ExecutorRegistry.d.ts.map +1 -1
  47. package/dist/core/ExecutorRegistry.js +10 -18
  48. package/dist/core/ExecutorRegistry.js.map +1 -1
  49. package/dist/core/FileAddress.js +1 -1
  50. package/dist/core/FileAddress.js.map +1 -1
  51. package/dist/core/FilePublication.js +10 -74
  52. package/dist/core/FilePublication.js.map +1 -1
  53. package/dist/core/FileSnapshot.js +36 -100
  54. package/dist/core/FileSnapshot.js.map +1 -1
  55. package/dist/core/HostPaths.d.ts +1 -0
  56. package/dist/core/HostPaths.d.ts.map +1 -1
  57. package/dist/core/HostPaths.js +11 -1
  58. package/dist/core/HostPaths.js.map +1 -1
  59. package/dist/core/KillHandler.js +3 -1
  60. package/dist/core/KillHandler.js.map +1 -1
  61. package/dist/core/LiveSubscription.js +1 -1
  62. package/dist/core/LiveSubscription.js.map +1 -1
  63. package/dist/core/LogBody.js +1 -1
  64. package/dist/core/LogBody.js.map +1 -1
  65. package/dist/core/LogWriter.js +1 -1
  66. package/dist/core/LogWriter.js.map +1 -1
  67. package/dist/core/LoopDriver.d.ts +3 -3
  68. package/dist/core/LoopDriver.d.ts.map +1 -1
  69. package/dist/core/LoopDriver.js +15 -13
  70. package/dist/core/LoopDriver.js.map +1 -1
  71. package/dist/core/LoopLifecycle.d.ts +5 -0
  72. package/dist/core/LoopLifecycle.d.ts.map +1 -1
  73. package/dist/core/LoopLifecycle.js +14 -1
  74. package/dist/core/LoopLifecycle.js.map +1 -1
  75. package/dist/core/LoopLifecycle.sql +8 -0
  76. package/dist/core/MembershipMaterialization.js +2 -2
  77. package/dist/core/MembershipMaterialization.js.map +1 -1
  78. package/dist/core/MessageResources.d.ts +3 -0
  79. package/dist/core/MessageResources.d.ts.map +1 -1
  80. package/dist/core/MessageResources.js +15 -1
  81. package/dist/core/MessageResources.js.map +1 -1
  82. package/dist/core/OperatorConfig.d.ts +1 -2
  83. package/dist/core/OperatorConfig.d.ts.map +1 -1
  84. package/dist/core/OperatorConfig.js +26 -92
  85. package/dist/core/OperatorConfig.js.map +1 -1
  86. package/dist/core/PacketBuilder.js +6 -6
  87. package/dist/core/PacketBuilder.js.map +1 -1
  88. package/dist/core/PacketBuilder.sql +7 -8
  89. package/dist/core/ProblemLog.d.ts +1 -0
  90. package/dist/core/ProblemLog.d.ts.map +1 -1
  91. package/dist/core/ProblemLog.js +2 -2
  92. package/dist/core/ProblemLog.js.map +1 -1
  93. package/dist/core/ProposalLifecycle.d.ts.map +1 -1
  94. package/dist/core/ProposalLifecycle.js +13 -8
  95. package/dist/core/ProposalLifecycle.js.map +1 -1
  96. package/dist/core/ProposalPolicies.d.ts +4 -1
  97. package/dist/core/ProposalPolicies.d.ts.map +1 -1
  98. package/dist/core/ProposalPolicies.js +5 -2
  99. package/dist/core/ProposalPolicies.js.map +1 -1
  100. package/dist/core/ResourceMutations.js +2 -0
  101. package/dist/core/ResourceMutations.js.map +1 -1
  102. package/dist/core/ResourceSelector.js +1 -1
  103. package/dist/core/ResourceSelector.js.map +1 -1
  104. package/dist/core/SchemeRegistry.js +1 -1
  105. package/dist/core/SchemeRegistry.js.map +1 -1
  106. package/dist/core/ServiceHelp.js +1 -1
  107. package/dist/core/ServiceHelp.js.map +1 -1
  108. package/dist/core/ServiceTeardown.js +9 -12
  109. package/dist/core/ServiceTeardown.js.map +1 -1
  110. package/dist/core/StrikeRail.d.ts +2 -1
  111. package/dist/core/StrikeRail.d.ts.map +1 -1
  112. package/dist/core/StrikeRail.js +11 -6
  113. package/dist/core/StrikeRail.js.map +1 -1
  114. package/dist/core/TerminalResult.js +1 -1
  115. package/dist/core/TerminalResult.js.map +1 -1
  116. package/dist/core/TurnDispositionHandler.js +3 -2
  117. package/dist/core/TurnDispositionHandler.js.map +1 -1
  118. package/dist/core/TurnMaterialization.js +6 -4
  119. package/dist/core/TurnMaterialization.js.map +1 -1
  120. package/dist/core/TurnMaterialization.sql +1 -1
  121. package/dist/core/TurnOps.js +1 -0
  122. package/dist/core/TurnOps.js.map +1 -1
  123. package/dist/core/TurnRunner.d.ts +4 -2
  124. package/dist/core/TurnRunner.d.ts.map +1 -1
  125. package/dist/core/TurnRunner.js +63 -51
  126. package/dist/core/TurnRunner.js.map +1 -1
  127. package/dist/core/WorkerControlHandler.d.ts +2 -0
  128. package/dist/core/WorkerControlHandler.d.ts.map +1 -1
  129. package/dist/core/WorkerControlHandler.js +48 -16
  130. package/dist/core/WorkerControlHandler.js.map +1 -1
  131. package/dist/core/WorkerName.d.ts +0 -4
  132. package/dist/core/WorkerName.d.ts.map +1 -1
  133. package/dist/core/WorkerName.js +5 -30
  134. package/dist/core/WorkerName.js.map +1 -1
  135. package/dist/core/WorkerName.sql +4 -20
  136. package/dist/core/WorkerOwners.d.ts +1 -0
  137. package/dist/core/WorkerOwners.d.ts.map +1 -1
  138. package/dist/core/WorkerOwners.js +6 -0
  139. package/dist/core/WorkerOwners.js.map +1 -1
  140. package/dist/core/WorkerOwners.sql +7 -0
  141. package/dist/core/WorkspaceGate.d.ts +3 -1
  142. package/dist/core/WorkspaceGate.d.ts.map +1 -1
  143. package/dist/core/WorkspaceGate.js +59 -10
  144. package/dist/core/WorkspaceGate.js.map +1 -1
  145. package/dist/core/caps/SchemeCtxImpl.d.ts +2 -0
  146. package/dist/core/caps/SchemeCtxImpl.d.ts.map +1 -1
  147. package/dist/core/caps/SchemeCtxImpl.js +12 -0
  148. package/dist/core/caps/SchemeCtxImpl.js.map +1 -1
  149. package/dist/core/env-catalog.js +1 -1
  150. package/dist/core/env-catalog.js.map +1 -1
  151. package/dist/core/fork.js +1 -1
  152. package/dist/core/fork.js.map +1 -1
  153. package/dist/core/fork.sql +5 -4
  154. package/dist/core/mutation-types.js +4 -1
  155. package/dist/core/mutation-types.js.map +1 -1
  156. package/dist/core/namespace.js +1 -1
  157. package/dist/core/namespace.js.map +1 -1
  158. package/dist/core/packet-wire.d.ts +1 -1
  159. package/dist/core/packet-wire.d.ts.map +1 -1
  160. package/dist/core/packet-wire.js +19 -14
  161. package/dist/core/packet-wire.js.map +1 -1
  162. package/dist/core/scheme-types.d.ts +4 -0
  163. package/dist/core/scheme-types.d.ts.map +1 -1
  164. package/dist/core/turn-signals.d.ts +4 -0
  165. package/dist/core/turn-signals.d.ts.map +1 -1
  166. package/dist/core/turn-signals.js +1 -0
  167. package/dist/core/turn-signals.js.map +1 -1
  168. package/dist/core/workspace-settings.js +1 -1
  169. package/dist/core/workspace-settings.js.map +1 -1
  170. package/dist/evidence/EvidenceReader.js +5 -5
  171. package/dist/evidence/EvidenceReader.js.map +1 -1
  172. package/dist/man/plurnk-service.1 +24 -3
  173. package/dist/schemes/Env.d.ts +7 -3
  174. package/dist/schemes/Env.d.ts.map +1 -1
  175. package/dist/schemes/Env.js +12 -6
  176. package/dist/schemes/Env.js.map +1 -1
  177. package/dist/schemes/Exec.d.ts.map +1 -1
  178. package/dist/schemes/Exec.js +33 -25
  179. package/dist/schemes/Exec.js.map +1 -1
  180. package/dist/schemes/ExecOutputScheme.js +3 -3
  181. package/dist/schemes/ExecOutputScheme.js.map +1 -1
  182. package/dist/schemes/ExecutionInput.js +1 -1
  183. package/dist/schemes/ExecutionInput.js.map +1 -1
  184. package/dist/schemes/File.js +15 -18
  185. package/dist/schemes/File.js.map +1 -1
  186. package/dist/schemes/Log.d.ts.map +1 -1
  187. package/dist/schemes/Log.js +19 -4
  188. package/dist/schemes/Log.js.map +1 -1
  189. package/dist/schemes/ResourceTreeScheme.js +2 -5
  190. package/dist/schemes/ResourceTreeScheme.js.map +1 -1
  191. package/dist/schemes/TurnSource.js +1 -1
  192. package/dist/schemes/TurnSource.js.map +1 -1
  193. package/dist/schemes/Worker.d.ts.map +1 -1
  194. package/dist/schemes/Worker.js +10 -3
  195. package/dist/schemes/Worker.js.map +1 -1
  196. package/dist/schemes/_entry-crud.d.ts.map +1 -1
  197. package/dist/schemes/_entry-crud.js +2 -4
  198. package/dist/schemes/_entry-crud.js.map +1 -1
  199. package/dist/schemes/_entry-crud.sql +5 -3
  200. package/dist/schemes/_entry-find.js +3 -3
  201. package/dist/schemes/_entry-find.js.map +1 -1
  202. package/dist/schemes/_entry-manifest.d.ts.map +1 -1
  203. package/dist/schemes/_entry-manifest.js +3 -3
  204. package/dist/schemes/_entry-manifest.js.map +1 -1
  205. package/dist/schemes/_entry-manifest.sql +2 -0
  206. package/dist/schemes/_entry-ops.js +1 -1
  207. package/dist/schemes/_entry-ops.js.map +1 -1
  208. package/dist/schemes/_entry-send.js +1 -1
  209. package/dist/schemes/_entry-send.js.map +1 -1
  210. package/dist/server/ClientReads.d.ts +1 -0
  211. package/dist/server/ClientReads.d.ts.map +1 -1
  212. package/dist/server/ClientReads.js +7 -2
  213. package/dist/server/ClientReads.js.map +1 -1
  214. package/dist/server/Credentials.d.ts +48 -0
  215. package/dist/server/Credentials.d.ts.map +1 -0
  216. package/dist/server/Credentials.js +203 -0
  217. package/dist/server/Credentials.js.map +1 -0
  218. package/dist/server/Daemon.d.ts +40 -41
  219. package/dist/server/Daemon.d.ts.map +1 -1
  220. package/dist/server/Daemon.js +272 -206
  221. package/dist/server/Daemon.js.map +1 -1
  222. package/dist/server/DrainSupervisor.d.ts +5 -2
  223. package/dist/server/DrainSupervisor.d.ts.map +1 -1
  224. package/dist/server/DrainSupervisor.js +27 -31
  225. package/dist/server/DrainSupervisor.js.map +1 -1
  226. package/dist/server/EnvFunctionality.d.ts.map +1 -1
  227. package/dist/server/EnvFunctionality.js +2 -1
  228. package/dist/server/EnvFunctionality.js.map +1 -1
  229. package/dist/server/Functionality.d.ts +4 -2
  230. package/dist/server/Functionality.d.ts.map +1 -1
  231. package/dist/server/Functionality.js +110 -51
  232. package/dist/server/Functionality.js.map +1 -1
  233. package/dist/server/FunctionalityManager.js +1 -1
  234. package/dist/server/FunctionalityManager.js.map +1 -1
  235. package/dist/server/HttpListener.d.ts +1 -1
  236. package/dist/server/HttpListener.d.ts.map +1 -1
  237. package/dist/server/HttpListener.js.map +1 -1
  238. package/dist/server/MembersFunctionality.d.ts.map +1 -1
  239. package/dist/server/MembersFunctionality.js +4 -2
  240. package/dist/server/MembersFunctionality.js.map +1 -1
  241. package/dist/server/ModuleHost.d.ts +2 -1
  242. package/dist/server/ModuleHost.d.ts.map +1 -1
  243. package/dist/server/PlurnkSkill.js +4 -7
  244. package/dist/server/PlurnkSkill.js.map +1 -1
  245. package/dist/server/Rollback.js +1 -1
  246. package/dist/server/Rollback.js.map +1 -1
  247. package/dist/server/WorkerModelResolver.js +1 -0
  248. package/dist/server/WorkerModelResolver.js.map +1 -1
  249. package/dist/server/WorkerReferences.d.ts +14 -0
  250. package/dist/server/WorkerReferences.d.ts.map +1 -0
  251. package/dist/server/WorkerReferences.js +24 -0
  252. package/dist/server/WorkerReferences.js.map +1 -0
  253. package/dist/server/WorkerReferences.sql +31 -0
  254. package/dist/server/WorkspaceCapabilities.d.ts +2 -0
  255. package/dist/server/WorkspaceCapabilities.d.ts.map +1 -1
  256. package/dist/server/WorkspaceCapabilities.js +35 -18
  257. package/dist/server/WorkspaceCapabilities.js.map +1 -1
  258. package/dist/server/WorkspacePlugins.js +1 -0
  259. package/dist/server/WorkspacePlugins.js.map +1 -1
  260. package/dist/server/WorkspaceResidency.d.ts +3 -1
  261. package/dist/server/WorkspaceResidency.d.ts.map +1 -1
  262. package/dist/server/WorkspaceResidency.js +12 -5
  263. package/dist/server/WorkspaceResidency.js.map +1 -1
  264. package/dist/server/client-input.d.ts +2 -0
  265. package/dist/server/client-input.d.ts.map +1 -1
  266. package/dist/server/client-input.js +28 -0
  267. package/dist/server/client-input.js.map +1 -1
  268. package/dist/server/drain.sql +37 -40
  269. package/dist/server/envelope.d.ts +5 -9
  270. package/dist/server/envelope.d.ts.map +1 -1
  271. package/dist/server/envelope.js +21 -84
  272. package/dist/server/envelope.js.map +1 -1
  273. package/dist/server/envelope.sql +17 -17
  274. package/dist/server/lifecycle-recovery.sql +5 -15
  275. package/dist/server/logEntry.d.ts.map +1 -1
  276. package/dist/server/logEntry.js +6 -0
  277. package/dist/server/logEntry.js.map +1 -1
  278. package/dist/server/logEntry.sql +94 -6
  279. package/dist/server/module-discovery.d.ts +1 -1
  280. package/dist/server/module-discovery.d.ts.map +1 -1
  281. package/dist/server/module-discovery.js +1 -0
  282. package/dist/server/module-discovery.js.map +1 -1
  283. package/dist/server/seam-loop.sql +15 -7
  284. package/dist/server/seam-proposal-list.sql +10 -4
  285. package/dist/service.d.ts.map +1 -1
  286. package/dist/service.js +7 -1
  287. package/dist/service.js.map +1 -1
  288. package/docs/members.md +6 -4
  289. package/migrations/002_workers.sql +2 -2
  290. package/migrations/006_log.sql +1 -1
  291. package/migrations/018_worker_owners.sql +1 -1
  292. package/migrations/029_default_worker.sql +9 -0
  293. package/migrations/030_client_workers.sql +105 -0
  294. package/migrations/031_message_openers.sql +83 -0
  295. package/migrations/032_worker_references.sql +29 -0
  296. package/package.json +23 -22
  297. package/plurnk.nginx.conf +71 -0
  298. package/plurnk.service +2 -0
package/.env.defaults CHANGED
@@ -111,7 +111,7 @@ PLURNK_SERVICE_PROPOSAL_TIMEOUT_MS=
111
111
  PLURNK_SERVICE_EXEC_HOLD=
112
112
  # Maximum turn hold, ms; expiry lets the loop continue while the stream remains live.
113
113
  PLURNK_SERVICE_EXEC_HOLD_MS=300000
114
- # Concurrent EXEC producers per workspace; excess executions wait FIFO; -1 = unlimited.
114
+ # Concurrent external EXEC producers per workspace; excess executions wait FIFO; -1 = unlimited.
115
115
  PLURNK_SERVICE_EXEC_CONCURRENCY=12
116
116
  # Live input delivery deadline, positive ms, including queued writes; expiry retires input, not the process.
117
117
  PLURNK_SERVICE_EXEC_INPUT_TIMEOUT_MS=10000
package/INSTALL.md CHANGED
@@ -22,6 +22,12 @@ For an explicitly shared Linux daemon, the npm package includes an example
22
22
  executable paths, environment, and logs. Installing the package never installs
23
23
  or enables the unit.
24
24
 
25
+ To reach the daemon from other machines on your network, set `PLURNK_HOST=0.0.0.0`
26
+ and browse to any of its addresses; nothing else is required. To serve it beyond
27
+ a network you trust, put it behind the example [nginx front](./plurnk.nginx.conf),
28
+ which carries TLS, security headers, sign-in throttling and an optional allow-list
29
+ and says which two settings the daemon needs behind it.
30
+
25
31
  | Resource | Default location |
26
32
  | --- | --- |
27
33
  | User configuration | `$XDG_CONFIG_HOME/plurnk/.env` (`~/.config/plurnk/.env`) |
package/README.md CHANGED
@@ -21,7 +21,7 @@ The exact model-facing language and operation set are owned by
21
21
 
22
22
  ## Lifecycle model
23
23
 
24
- Workspace = the shared world (one filesystem + membership overlay). Worker = one actor and its history over that world. Loop = one queued-to-terminal unit of work within a worker. Turns continue until messages are answered, results observed, and held work settled; WAIT yields while work remains. NOTE retains working memory independently of lifecycle. Workers fork and message each other — many clients, many workers, one workspace.
24
+ Workspace = shared resources, configuration, and an optional project folder. Worker = one actor and its history within a workspace. Loop = one queued-to-terminal unit of work within a worker. Turns continue until messages are answered, results observed, and held work settled; WAIT yields while work remains. NOTE retains working memory independently of lifecycle. Workers fork and message each other — many clients, many workers, one workspace.
25
25
 
26
26
  ## Integration
27
27
 
@@ -80,7 +80,7 @@ The daemon can emit OpenTelemetry traces and low-cardinality metrics through the
80
80
 
81
81
  ## What the model can see
82
82
 
83
- Plurnk sees what Git tracks or a `members` definition includes. The AGENTS.md policy path is injected separately as privileged policy, not as a file entry. A path admitted by neither source does not exist to the model and cannot be overwritten. Accepted creation is exclusive and never orphaned: it is Git-added or receives an inspectable exact pick. Creation defaults to `project_root`, can be disabled or expanded to the canonical namespace by operator policy, and only an explicit pick overrides Git ignore. Member edits remain proposal-gated; an outside-root member is read-only unless a pick grants it. This is a membership list, not a perimeter: an execution deliberately reaches past it, so its proposal policy — not the file surface — is where consent is asked. Details: SPEC {§scheme-address} ({§fs-namespace} through {§fs-world-state}).
83
+ Plurnk sees what Git tracks or a `members` definition includes. The AGENTS.md policy path is injected separately as privileged policy, not as a file entry. A path admitted by neither source does not exist to the model and cannot be overwritten. Accepted creation is exclusive and never orphaned: it is Git-added or receives an inspectable exact pick. Creation defaults to `project_root`, can be disabled or expanded to the canonical namespace by operator policy, and only an explicit pick overrides Git ignore. Member edits remain proposal-gated; an outside-root member is read-only unless a pick grants it. This is a membership list, not a perimeter: an execution deliberately reaches past it, so its proposal policy — not the file surface — is where consent is asked. Details: SPEC {§scheme-address} ({§fs-namespace} through {§fs-resource-state}).
84
84
 
85
85
  ## Tests
86
86