@plurnk/plurnk-service 3.2.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 (328) hide show
  1. package/.env.defaults +3 -3
  2. package/INSTALL.md +6 -0
  3. package/README.md +2 -2
  4. package/SPEC.md +489 -186
  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/BudgetReadout.d.ts +1 -3
  21. package/dist/core/BudgetReadout.d.ts.map +1 -1
  22. package/dist/core/BudgetReadout.js +43 -46
  23. package/dist/core/BudgetReadout.js.map +1 -1
  24. package/dist/core/ChannelWrite.d.ts +10 -0
  25. package/dist/core/ChannelWrite.d.ts.map +1 -1
  26. package/dist/core/ChannelWrite.js +10 -0
  27. package/dist/core/ChannelWrite.js.map +1 -1
  28. package/dist/core/ChannelWrite.sql +14 -2
  29. package/dist/core/ClientInteractions.d.ts.map +1 -1
  30. package/dist/core/ClientInteractions.js +2 -1
  31. package/dist/core/ClientInteractions.js.map +1 -1
  32. package/dist/core/CoreSchemeServices.d.ts.map +1 -1
  33. package/dist/core/CoreSchemeServices.js +6 -0
  34. package/dist/core/CoreSchemeServices.js.map +1 -1
  35. package/dist/core/DataStatementRunner.js +4 -6
  36. package/dist/core/DataStatementRunner.js.map +1 -1
  37. package/dist/core/Dispatcher.d.ts +3 -7
  38. package/dist/core/Dispatcher.d.ts.map +1 -1
  39. package/dist/core/Dispatcher.js +53 -73
  40. package/dist/core/Dispatcher.js.map +1 -1
  41. package/dist/core/Dispatcher.sql +2 -2
  42. package/dist/core/EditMutations.js +1 -0
  43. package/dist/core/EditMutations.js.map +1 -1
  44. package/dist/core/Engine.d.ts +8 -14
  45. package/dist/core/Engine.d.ts.map +1 -1
  46. package/dist/core/Engine.js +22 -24
  47. package/dist/core/Engine.js.map +1 -1
  48. package/dist/core/Engine.sql +6 -6
  49. package/dist/core/ExecutorRegistry.d.ts +0 -5
  50. package/dist/core/ExecutorRegistry.d.ts.map +1 -1
  51. package/dist/core/ExecutorRegistry.js +10 -18
  52. package/dist/core/ExecutorRegistry.js.map +1 -1
  53. package/dist/core/FileAddress.js +1 -1
  54. package/dist/core/FileAddress.js.map +1 -1
  55. package/dist/core/FilePublication.js +10 -74
  56. package/dist/core/FilePublication.js.map +1 -1
  57. package/dist/core/FileSnapshot.js +36 -100
  58. package/dist/core/FileSnapshot.js.map +1 -1
  59. package/dist/core/HostPaths.d.ts +1 -0
  60. package/dist/core/HostPaths.d.ts.map +1 -1
  61. package/dist/core/HostPaths.js +11 -1
  62. package/dist/core/HostPaths.js.map +1 -1
  63. package/dist/core/KillHandler.js +3 -1
  64. package/dist/core/KillHandler.js.map +1 -1
  65. package/dist/core/LiveSubscription.js +1 -1
  66. package/dist/core/LiveSubscription.js.map +1 -1
  67. package/dist/core/LogBody.js +1 -1
  68. package/dist/core/LogBody.js.map +1 -1
  69. package/dist/core/LogWriter.js +1 -1
  70. package/dist/core/LogWriter.js.map +1 -1
  71. package/dist/core/LoopDriver.d.ts +3 -3
  72. package/dist/core/LoopDriver.d.ts.map +1 -1
  73. package/dist/core/LoopDriver.js +15 -13
  74. package/dist/core/LoopDriver.js.map +1 -1
  75. package/dist/core/LoopLifecycle.d.ts +5 -0
  76. package/dist/core/LoopLifecycle.d.ts.map +1 -1
  77. package/dist/core/LoopLifecycle.js +14 -1
  78. package/dist/core/LoopLifecycle.js.map +1 -1
  79. package/dist/core/LoopLifecycle.sql +11 -2
  80. package/dist/core/MembershipMaterialization.js +2 -2
  81. package/dist/core/MembershipMaterialization.js.map +1 -1
  82. package/dist/core/MessageResources.d.ts +3 -0
  83. package/dist/core/MessageResources.d.ts.map +1 -1
  84. package/dist/core/MessageResources.js +15 -1
  85. package/dist/core/MessageResources.js.map +1 -1
  86. package/dist/core/OperatorConfig.d.ts +1 -2
  87. package/dist/core/OperatorConfig.d.ts.map +1 -1
  88. package/dist/core/OperatorConfig.js +26 -92
  89. package/dist/core/OperatorConfig.js.map +1 -1
  90. package/dist/core/PacketBuilder.d.ts.map +1 -1
  91. package/dist/core/PacketBuilder.js +21 -18
  92. package/dist/core/PacketBuilder.js.map +1 -1
  93. package/dist/core/PacketBuilder.sql +18 -5
  94. package/dist/core/ProblemLog.d.ts +1 -0
  95. package/dist/core/ProblemLog.d.ts.map +1 -1
  96. package/dist/core/ProblemLog.js +2 -2
  97. package/dist/core/ProblemLog.js.map +1 -1
  98. package/dist/core/ProposalLifecycle.d.ts +1 -0
  99. package/dist/core/ProposalLifecycle.d.ts.map +1 -1
  100. package/dist/core/ProposalLifecycle.js +14 -8
  101. package/dist/core/ProposalLifecycle.js.map +1 -1
  102. package/dist/core/ProposalPolicies.d.ts +4 -1
  103. package/dist/core/ProposalPolicies.d.ts.map +1 -1
  104. package/dist/core/ProposalPolicies.js +5 -2
  105. package/dist/core/ProposalPolicies.js.map +1 -1
  106. package/dist/core/ResourceMutations.js +2 -0
  107. package/dist/core/ResourceMutations.js.map +1 -1
  108. package/dist/core/ResourceSelector.js +1 -1
  109. package/dist/core/ResourceSelector.js.map +1 -1
  110. package/dist/core/SchemeRegistry.js +1 -1
  111. package/dist/core/SchemeRegistry.js.map +1 -1
  112. package/dist/core/ServiceHelp.js +1 -1
  113. package/dist/core/ServiceHelp.js.map +1 -1
  114. package/dist/core/ServiceTeardown.js +9 -12
  115. package/dist/core/ServiceTeardown.js.map +1 -1
  116. package/dist/core/StrikeRail.d.ts +2 -1
  117. package/dist/core/StrikeRail.d.ts.map +1 -1
  118. package/dist/core/StrikeRail.js +11 -6
  119. package/dist/core/StrikeRail.js.map +1 -1
  120. package/dist/core/TerminalResult.js +1 -1
  121. package/dist/core/TerminalResult.js.map +1 -1
  122. package/dist/core/TurnDispositionHandler.d.ts +1 -1
  123. package/dist/core/TurnDispositionHandler.d.ts.map +1 -1
  124. package/dist/core/TurnDispositionHandler.js +8 -5
  125. package/dist/core/TurnDispositionHandler.js.map +1 -1
  126. package/dist/core/TurnMaterialization.js +6 -4
  127. package/dist/core/TurnMaterialization.js.map +1 -1
  128. package/dist/core/TurnMaterialization.sql +1 -1
  129. package/dist/core/TurnOps.js +1 -0
  130. package/dist/core/TurnOps.js.map +1 -1
  131. package/dist/core/TurnRunner.d.ts +4 -2
  132. package/dist/core/TurnRunner.d.ts.map +1 -1
  133. package/dist/core/TurnRunner.js +63 -51
  134. package/dist/core/TurnRunner.js.map +1 -1
  135. package/dist/core/WorkerControlHandler.d.ts +2 -0
  136. package/dist/core/WorkerControlHandler.d.ts.map +1 -1
  137. package/dist/core/WorkerControlHandler.js +84 -16
  138. package/dist/core/WorkerControlHandler.js.map +1 -1
  139. package/dist/core/WorkerName.d.ts +0 -4
  140. package/dist/core/WorkerName.d.ts.map +1 -1
  141. package/dist/core/WorkerName.js +5 -30
  142. package/dist/core/WorkerName.js.map +1 -1
  143. package/dist/core/WorkerName.sql +4 -20
  144. package/dist/core/WorkerOwners.d.ts +1 -0
  145. package/dist/core/WorkerOwners.d.ts.map +1 -1
  146. package/dist/core/WorkerOwners.js +6 -0
  147. package/dist/core/WorkerOwners.js.map +1 -1
  148. package/dist/core/WorkerOwners.sql +7 -0
  149. package/dist/core/WorkspaceGate.d.ts +3 -1
  150. package/dist/core/WorkspaceGate.d.ts.map +1 -1
  151. package/dist/core/WorkspaceGate.js +59 -10
  152. package/dist/core/WorkspaceGate.js.map +1 -1
  153. package/dist/core/caps/SchemeCtxImpl.d.ts +3 -0
  154. package/dist/core/caps/SchemeCtxImpl.d.ts.map +1 -1
  155. package/dist/core/caps/SchemeCtxImpl.js +14 -0
  156. package/dist/core/caps/SchemeCtxImpl.js.map +1 -1
  157. package/dist/core/env-catalog.js +1 -1
  158. package/dist/core/env-catalog.js.map +1 -1
  159. package/dist/core/fork.js +1 -1
  160. package/dist/core/fork.js.map +1 -1
  161. package/dist/core/fork.sql +7 -6
  162. package/dist/core/mutation-types.d.ts +1 -0
  163. package/dist/core/mutation-types.d.ts.map +1 -1
  164. package/dist/core/mutation-types.js +4 -1
  165. package/dist/core/mutation-types.js.map +1 -1
  166. package/dist/core/namespace.js +1 -1
  167. package/dist/core/namespace.js.map +1 -1
  168. package/dist/core/packet-wire.d.ts +1 -1
  169. package/dist/core/packet-wire.d.ts.map +1 -1
  170. package/dist/core/packet-wire.js +24 -15
  171. package/dist/core/packet-wire.js.map +1 -1
  172. package/dist/core/plurnk-uri.d.ts +1 -1
  173. package/dist/core/plurnk-uri.d.ts.map +1 -1
  174. package/dist/core/plurnk-uri.js +1 -1
  175. package/dist/core/plurnk-uri.js.map +1 -1
  176. package/dist/core/scheme-types.d.ts +5 -0
  177. package/dist/core/scheme-types.d.ts.map +1 -1
  178. package/dist/core/turn-signals.d.ts +4 -0
  179. package/dist/core/turn-signals.d.ts.map +1 -1
  180. package/dist/core/turn-signals.js +1 -0
  181. package/dist/core/turn-signals.js.map +1 -1
  182. package/dist/core/workspace-settings.js +1 -1
  183. package/dist/core/workspace-settings.js.map +1 -1
  184. package/dist/evidence/EvidenceReader.js +5 -5
  185. package/dist/evidence/EvidenceReader.js.map +1 -1
  186. package/dist/man/plurnk-service.1 +27 -6
  187. package/dist/schemes/Env.d.ts +7 -3
  188. package/dist/schemes/Env.d.ts.map +1 -1
  189. package/dist/schemes/Env.js +12 -6
  190. package/dist/schemes/Env.js.map +1 -1
  191. package/dist/schemes/Exec.d.ts.map +1 -1
  192. package/dist/schemes/Exec.js +37 -25
  193. package/dist/schemes/Exec.js.map +1 -1
  194. package/dist/schemes/ExecOutputScheme.js +3 -3
  195. package/dist/schemes/ExecOutputScheme.js.map +1 -1
  196. package/dist/schemes/ExecutionInput.d.ts +2 -1
  197. package/dist/schemes/ExecutionInput.d.ts.map +1 -1
  198. package/dist/schemes/ExecutionInput.js +45 -7
  199. package/dist/schemes/ExecutionInput.js.map +1 -1
  200. package/dist/schemes/File.d.ts.map +1 -1
  201. package/dist/schemes/File.js +32 -23
  202. package/dist/schemes/File.js.map +1 -1
  203. package/dist/schemes/Log.d.ts.map +1 -1
  204. package/dist/schemes/Log.js +23 -5
  205. package/dist/schemes/Log.js.map +1 -1
  206. package/dist/schemes/Log.sql +24 -1
  207. package/dist/schemes/ResourceTreeScheme.js +2 -5
  208. package/dist/schemes/ResourceTreeScheme.js.map +1 -1
  209. package/dist/schemes/TurnSource.js +1 -1
  210. package/dist/schemes/TurnSource.js.map +1 -1
  211. package/dist/schemes/Worker.d.ts.map +1 -1
  212. package/dist/schemes/Worker.js +10 -3
  213. package/dist/schemes/Worker.js.map +1 -1
  214. package/dist/schemes/_entry-crud.d.ts.map +1 -1
  215. package/dist/schemes/_entry-crud.js +2 -4
  216. package/dist/schemes/_entry-crud.js.map +1 -1
  217. package/dist/schemes/_entry-crud.sql +5 -3
  218. package/dist/schemes/_entry-find.js +3 -3
  219. package/dist/schemes/_entry-find.js.map +1 -1
  220. package/dist/schemes/_entry-manifest.d.ts.map +1 -1
  221. package/dist/schemes/_entry-manifest.js +3 -3
  222. package/dist/schemes/_entry-manifest.js.map +1 -1
  223. package/dist/schemes/_entry-manifest.sql +2 -0
  224. package/dist/schemes/_entry-ops.js +1 -1
  225. package/dist/schemes/_entry-ops.js.map +1 -1
  226. package/dist/schemes/_entry-send.js +1 -1
  227. package/dist/schemes/_entry-send.js.map +1 -1
  228. package/dist/server/ClientReads.d.ts +1 -0
  229. package/dist/server/ClientReads.d.ts.map +1 -1
  230. package/dist/server/ClientReads.js +7 -2
  231. package/dist/server/ClientReads.js.map +1 -1
  232. package/dist/server/Credentials.d.ts +48 -0
  233. package/dist/server/Credentials.d.ts.map +1 -0
  234. package/dist/server/Credentials.js +203 -0
  235. package/dist/server/Credentials.js.map +1 -0
  236. package/dist/server/Daemon.d.ts +44 -39
  237. package/dist/server/Daemon.d.ts.map +1 -1
  238. package/dist/server/Daemon.js +287 -172
  239. package/dist/server/Daemon.js.map +1 -1
  240. package/dist/server/DrainSupervisor.d.ts +8 -3
  241. package/dist/server/DrainSupervisor.d.ts.map +1 -1
  242. package/dist/server/DrainSupervisor.js +44 -32
  243. package/dist/server/DrainSupervisor.js.map +1 -1
  244. package/dist/server/EnvFunctionality.d.ts.map +1 -1
  245. package/dist/server/EnvFunctionality.js +2 -1
  246. package/dist/server/EnvFunctionality.js.map +1 -1
  247. package/dist/server/Functionality.d.ts +4 -2
  248. package/dist/server/Functionality.d.ts.map +1 -1
  249. package/dist/server/Functionality.js +192 -96
  250. package/dist/server/Functionality.js.map +1 -1
  251. package/dist/server/FunctionalityManager.d.ts +1 -4
  252. package/dist/server/FunctionalityManager.d.ts.map +1 -1
  253. package/dist/server/FunctionalityManager.js +6 -6
  254. package/dist/server/FunctionalityManager.js.map +1 -1
  255. package/dist/server/HttpListener.d.ts +1 -1
  256. package/dist/server/HttpListener.d.ts.map +1 -1
  257. package/dist/server/HttpListener.js.map +1 -1
  258. package/dist/server/MembersFunctionality.d.ts +7 -8
  259. package/dist/server/MembersFunctionality.d.ts.map +1 -1
  260. package/dist/server/MembersFunctionality.js +90 -56
  261. package/dist/server/MembersFunctionality.js.map +1 -1
  262. package/dist/server/MessageAbandonment.d.ts +7 -0
  263. package/dist/server/MessageAbandonment.d.ts.map +1 -0
  264. package/dist/server/MessageAbandonment.js +57 -0
  265. package/dist/server/MessageAbandonment.js.map +1 -0
  266. package/dist/server/ModuleHost.d.ts +2 -1
  267. package/dist/server/ModuleHost.d.ts.map +1 -1
  268. package/dist/server/PlurnkSkill.js +4 -7
  269. package/dist/server/PlurnkSkill.js.map +1 -1
  270. package/dist/server/Rollback.d.ts +29 -0
  271. package/dist/server/Rollback.d.ts.map +1 -0
  272. package/dist/server/Rollback.js +111 -0
  273. package/dist/server/Rollback.js.map +1 -0
  274. package/dist/server/WorkerModelResolver.js +1 -0
  275. package/dist/server/WorkerModelResolver.js.map +1 -1
  276. package/dist/server/WorkerReferences.d.ts +14 -0
  277. package/dist/server/WorkerReferences.d.ts.map +1 -0
  278. package/dist/server/WorkerReferences.js +24 -0
  279. package/dist/server/WorkerReferences.js.map +1 -0
  280. package/dist/server/WorkerReferences.sql +31 -0
  281. package/dist/server/WorkspaceCapabilities.d.ts +2 -0
  282. package/dist/server/WorkspaceCapabilities.d.ts.map +1 -1
  283. package/dist/server/WorkspaceCapabilities.js +35 -18
  284. package/dist/server/WorkspaceCapabilities.js.map +1 -1
  285. package/dist/server/WorkspacePlugins.js +1 -0
  286. package/dist/server/WorkspacePlugins.js.map +1 -1
  287. package/dist/server/WorkspaceResidency.d.ts +3 -1
  288. package/dist/server/WorkspaceResidency.d.ts.map +1 -1
  289. package/dist/server/WorkspaceResidency.js +12 -5
  290. package/dist/server/WorkspaceResidency.js.map +1 -1
  291. package/dist/server/client-input.d.ts +2 -0
  292. package/dist/server/client-input.d.ts.map +1 -1
  293. package/dist/server/client-input.js +28 -0
  294. package/dist/server/client-input.js.map +1 -1
  295. package/dist/server/drain.sql +46 -40
  296. package/dist/server/envelope.d.ts +5 -9
  297. package/dist/server/envelope.d.ts.map +1 -1
  298. package/dist/server/envelope.js +21 -84
  299. package/dist/server/envelope.js.map +1 -1
  300. package/dist/server/envelope.sql +17 -17
  301. package/dist/server/lifecycle-recovery.sql +5 -15
  302. package/dist/server/logEntry.d.ts.map +1 -1
  303. package/dist/server/logEntry.js +6 -0
  304. package/dist/server/logEntry.js.map +1 -1
  305. package/dist/server/logEntry.sql +94 -6
  306. package/dist/server/module-discovery.d.ts +1 -1
  307. package/dist/server/module-discovery.d.ts.map +1 -1
  308. package/dist/server/module-discovery.js +1 -0
  309. package/dist/server/module-discovery.js.map +1 -1
  310. package/dist/server/seam-loop.sql +15 -7
  311. package/dist/server/seam-proposal-list.sql +10 -4
  312. package/dist/service.d.ts.map +1 -1
  313. package/dist/service.js +7 -1
  314. package/dist/service.js.map +1 -1
  315. package/docs/members.md +20 -13
  316. package/migrations/002_workers.sql +2 -2
  317. package/migrations/006_log.sql +1 -1
  318. package/migrations/018_worker_owners.sql +1 -1
  319. package/migrations/026_message_obligations.sql +32 -0
  320. package/migrations/027_members_identity.sql +20 -0
  321. package/migrations/028_mutation_patch.sql +20 -0
  322. package/migrations/029_default_worker.sql +9 -0
  323. package/migrations/030_client_workers.sql +105 -0
  324. package/migrations/031_message_openers.sql +83 -0
  325. package/migrations/032_worker_references.sql +29 -0
  326. package/package.json +24 -24
  327. package/plurnk.nginx.conf +71 -0
  328. package/plurnk.service +2 -0
@@ -1,4 +1,4 @@
1
- .TH PLURNK-SERVICE 1 "2026-10-12" "plurnk-service 3.2.0" "User Commands"
1
+ .TH PLURNK-SERVICE 1 "2026-10-17" "plurnk-service 4.0.0" "User Commands"
2
2
  .SH NAME
3
3
  plurnk-service \- persistent agent runtime
4
4
  .SH SYNOPSIS
@@ -189,8 +189,8 @@ remains live.
189
189
  (PLURNK_SERVICE_EXEC_HOLD_MS=300000)
190
190
  .TP
191
191
  .B --service-exec-concurrency
192
- Concurrent EXEC producers per workspace; excess executions wait FIFO; -1
193
- = unlimited.
192
+ Concurrent external EXEC producers per workspace; excess executions wait
193
+ FIFO; -1 = unlimited.
194
194
  (PLURNK_SERVICE_EXEC_CONCURRENCY=12)
195
195
  .TP
196
196
  .B --service-exec-input-timeout-ms
@@ -277,9 +277,9 @@ Paths named per class in the packet's git status; the rest are counted.
277
277
  (PLURNK_SERVICE_GIT_STATUS_PATHS=8)
278
278
  .TP
279
279
  .B --service-budget-pressure
280
- Above this share of the budget, measured before adding either, the
281
- Context gauge names its largest rows and a packet within its budget
282
- carries the budget_pressure notice ({§context-pressure-notice}).
280
+ Above this share of the budget, measured before adding the inventory,
281
+ the Context gauge names its largest rows ({§context-gauge}); the gauge's
282
+ percent is on every packet regardless.
283
283
  (PLURNK_SERVICE_BUDGET_PRESSURE=80%)
284
284
  .TP
285
285
  .B --service-budget-largest-items
@@ -444,6 +444,24 @@ moves both.
444
444
  The daemon's TCP port, shared by all client interfaces.
445
445
  (PLURNK_PORT=1066)
446
446
  .TP
447
+ .B --auth
448
+ Whether the daemon authenticates ({§credential-authority}): 1 = every
449
+ request to the client interface and to the hosted agent presents a
450
+ credential this daemon issued, and the daemon serves the authorization
451
+ server that issues them; 0 = no credential exists and every request is
452
+ anonymous, for a harness driving a daemon of its own. The posture is
453
+ this value, never inferred from what else is set.
454
+ (PLURNK_AUTH=1)
455
+ .TP
456
+ .B --pass
457
+ The operator's browser sign-in ({§agui-oauth-login}): the password a
458
+ browser signs in with, compared in constant time at the authorization
459
+ endpoint. No browser is the operator without it: while it is empty, the
460
+ sign-in page says so and where to set it, and admits nobody
461
+ ({§agui-oauth-session}). The terminal client and your other tools use
462
+ PLURNK_SECRET instead.
463
+ (PLURNK_PASS=)
464
+ .TP
447
465
  .B --env-file=<path>
448
466
  layer env from <path> (repeatable; later wins; errors if
449
467
  missing)
@@ -495,5 +513,8 @@ Operator configuration; ~/.config/plurnk/.env when XDG_CONFIG_HOME is unset.
495
513
  .TP
496
514
  .I plurnk.service
497
515
  Optional systemd user unit shipped in the package; installation is manual.
516
+ .TP
517
+ .I plurnk.nginx.conf
518
+ Optional nginx front shipped in the package: TLS, headers, sign-in throttling.
498
519
  .SH SEE ALSO
499
520
  plurnk(1)
@@ -7,16 +7,20 @@ export interface EnvRegistry {
7
7
  }
8
8
  export type EnvResolve = (workspaceId: number, workerId: number) => Promise<EnvRegistry>;
9
9
  export type EnvWriteVerb = "replace" | "remove" | "disable";
10
- export interface EnvWriteIdentity {
10
+ export type EnvWriteIdentity = {
11
11
  readonly workspaceId: number;
12
12
  readonly workerId: number;
13
13
  readonly scope: "worker";
14
- }
14
+ } | {
15
+ readonly workspaceId: number;
16
+ readonly scope: "workspace";
17
+ };
15
18
  export type EnvInvoke = (verb: EnvWriteVerb, params: unknown, identity: EnvWriteIdentity) => Promise<unknown>;
19
+ export type EnvLayer = (workspaceId: number, workerId: number) => Promise<"worker" | "workspace">;
16
20
  export default class EnvScheme implements RuntimeSchemeFacet {
17
21
  #private;
18
22
  readonly manifest: NonNullable<RuntimeSchemeFacet["manifest"]>;
19
- constructor(resolve: EnvResolve, invoke: EnvInvoke);
23
+ constructor(resolve: EnvResolve, invoke: EnvInvoke, layer: EnvLayer);
20
24
  claims(pathname: string): boolean;
21
25
  prepareRepresentation(request: RepresentationPreparationRequest, ctx: SchemeCtx): Promise<RepresentationPreparationResult>;
22
26
  prepareFind(statement: FindStatement, ctx: SchemeCtx): Promise<SchemeResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"Env.d.ts","sourceRoot":"","sources":["../../src/schemes/Env.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAc,MAAM,0BAA0B,CAAC;AACzF,OAAO,EAEH,KAAK,eAAe,EACpB,KAAK,gCAAgC,EACrC,KAAK,+BAA+B,EACpC,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACvB,KAAK,SAAS,EACd,KAAK,YAAY,EACpB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAE/D,MAAM,WAAW,WAAW;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;CACxD;AACD,MAAM,MAAM,UAAU,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;AACzF,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;AAC5D,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;CAC5B;AACD,MAAM,MAAM,SAAS,GAAG,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,gBAAgB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAa9G,MAAM,CAAC,OAAO,OAAO,SAAU,YAAW,kBAAkB;;IACxD,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC,CAE5D;IAIF,YAAY,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAGjD;IAGD,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEhC;IA2CK,qBAAqB,CAAC,OAAO,EAAE,gCAAgC,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAU/H;IAIK,WAAW,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,CAejF;IAGK,SAAS,CAAC,UAAU,EAAE,SAAS,qBAAqB,EAAE,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,eAAe,CAAC,CActG;IAIK,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,CAU1E;CACJ"}
1
+ {"version":3,"file":"Env.d.ts","sourceRoot":"","sources":["../../src/schemes/Env.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAc,MAAM,0BAA0B,CAAC;AACzF,OAAO,EAEH,KAAK,eAAe,EACpB,KAAK,gCAAgC,EACrC,KAAK,+BAA+B,EACpC,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACvB,KAAK,SAAS,EACd,KAAK,YAAY,EACpB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAE/D,MAAM,WAAW,WAAW;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;CACxD;AACD,MAAM,MAAM,UAAU,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;AACzF,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;AAC5D,MAAM,MAAM,gBAAgB,GACtB;IAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAA;CAAE,GACrF;IAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAA;CAAE,CAAC;AACpE,MAAM,MAAM,SAAS,GAAG,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,gBAAgB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAE9G,MAAM,MAAM,QAAQ,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,QAAQ,GAAG,WAAW,CAAC,CAAC;AAalG,MAAM,CAAC,OAAO,OAAO,SAAU,YAAW,kBAAkB;;IACxD,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC,CAE5D;IAKF,YAAY,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAIlE;IAGD,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEhC;IA6CK,qBAAqB,CAAC,OAAO,EAAE,gCAAgC,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAU/H;IAIK,WAAW,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,CAejF;IAGK,SAAS,CAAC,UAAU,EAAE,SAAS,qBAAqB,EAAE,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,eAAe,CAAC,CAetG;IAIK,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,CAW1E;CACJ"}
@@ -15,9 +15,11 @@ export default class EnvScheme {
15
15
  };
16
16
  #resolve;
17
17
  #invoke;
18
- constructor(resolve, invoke) {
18
+ #layer;
19
+ constructor(resolve, invoke, layer) {
19
20
  this.#resolve = resolve;
20
21
  this.#invoke = invoke;
22
+ this.#layer = layer;
21
23
  }
22
24
  // The registry is the namespace: every coordinate but the manager's own output streams.
23
25
  claims(pathname) {
@@ -45,9 +47,11 @@ export default class EnvScheme {
45
47
  });
46
48
  }
47
49
  // The family's refusal is the operation's result.
48
- async #write(verb, params, ctx) {
50
+ async #write(verb, params, ctx, layer) {
49
51
  try {
50
- await this.#invoke(verb, params, { workspaceId: ctx.workspaceId, workerId: ctx.workerId, scope: "worker" });
52
+ await this.#invoke(verb, params, layer === "worker"
53
+ ? { workspaceId: ctx.workspaceId, workerId: ctx.workerId, scope: "worker" }
54
+ : { workspaceId: ctx.workspaceId, scope: "workspace" });
51
55
  return null;
52
56
  }
53
57
  catch (cause) {
@@ -106,14 +110,15 @@ export default class EnvScheme {
106
110
  return named;
107
111
  if (statement.lineMarker !== null || statement.matcher !== null)
108
112
  return EnvScheme.#whole(named.name, "EDIT");
109
- const refused = await this.#write("replace", { alias: named.name, definition: { value: statement.body ?? "" } }, ctx);
113
+ const layer = await this.#layer(ctx.workspaceId, ctx.workerId);
114
+ const refused = await this.#write("replace", { alias: named.name, definition: { value: statement.body ?? "" } }, ctx, layer);
110
115
  if (refused !== null)
111
116
  return refused;
112
117
  await ctx.entries.delete(named.pathname);
113
118
  return { status: 200 };
114
119
  }
115
120
  // KILL retires the name from the Worker's commands: the family's `remove` for an entry the
116
- // Worker owns, its `disable` for an inherited one, whose definition is kept.
121
+ // layer owns, its `disable` for an inherited one, whose definition is kept.
117
122
  async kill(statement, ctx) {
118
123
  const named = EnvScheme.#named(statement.target);
119
124
  if ("status" in named)
@@ -123,7 +128,8 @@ export default class EnvScheme {
123
128
  const entry = (await this.#resolve(ctx.workspaceId, ctx.workerId)).record[named.name];
124
129
  if (entry === undefined || entry.source === "masked" || entry.value === undefined)
125
130
  return EnvScheme.#missing(named.name);
126
- const refused = await this.#write(entry.source === "worker" ? "remove" : "disable", { alias: named.name }, ctx);
131
+ const layer = await this.#layer(ctx.workspaceId, ctx.workerId);
132
+ const refused = await this.#write(entry.source === layer ? "remove" : "disable", { alias: named.name }, ctx, layer);
127
133
  if (refused !== null)
128
134
  return refused;
129
135
  await ctx.entries.delete(named.pathname);
@@ -1 +1 @@
1
- {"version":3,"file":"Env.js","sourceRoot":"","sources":["../../src/schemes/Env.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Env.js","sourceRoot":"","sources":["../../src/schemes/Env.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Exec.d.ts","sourceRoot":"","sources":["../../src/schemes/Exec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Exec.d.ts","sourceRoot":"","sources":["../../src/schemes/Exec.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,14 @@
1
- var _a;
2
1
  import { parsePath } from "@plurnk/plurnk-parser";
3
2
  import { PathSyntax } from "@plurnk/plurnk-contracts";
4
3
  import { WebMaterializationError, } from "@plurnk/plurnk-schemes";
5
- import { isWorkerBound } from "../core/ExecutorRegistry.js";
4
+ import FunctionalityManager from "../server/FunctionalityManager.js";
6
5
  import EffectPolicy from "./EffectPolicy.js";
7
6
  import EntryCrud from "./_entry-crud.js";
8
7
  import EntryFind from "./_entry-find.js";
9
8
  import { MetadataOptions } from "@plurnk/plurnk-schemes";
10
- import ChannelWrite from "../core/ChannelWrite.js";
9
+ import ChannelWrite, {} from "../core/ChannelWrite.js";
11
10
  import LiveSubscription from "../core/LiveSubscription.js";
12
- import EnvFunctionality from "../server/EnvFunctionality.js";
11
+ import EnvFunctionality, {} from "../server/EnvFunctionality.js";
13
12
  import ExecAbort from "./exec-abort.js";
14
13
  import { LIFETIME_SYNTAX, formatLifetime, parseExecLifetime } from "./exec-lifetime.js";
15
14
  import { entryCoordinateOf, generatedPathname, isGeneratedPathname, renderAddress } from "../core/plurnk-uri.js";
@@ -33,6 +32,7 @@ import ExecScheduler, { readExecConcurrency } from "./ExecScheduler.js";
33
32
  import ExecScratch from "./ExecScratch.js";
34
33
  import ExecutionInput from "./ExecutionInput.js";
35
34
  import { execRouteOf } from "./exec-runtime.js";
35
+ import {} from "@plurnk/plurnk-contracts";
36
36
  // Executors are discovered + probed at boot into ExecutorRegistry and reach
37
37
  // the scheme through ctx.executors ({§exec-registry-resolves}). Each runtime tag
38
38
  // resolves to its sibling executor; the scheme itself stays runtime-agnostic.
@@ -58,7 +58,7 @@ const resourceSourceOf = (target) => {
58
58
  return null;
59
59
  return target.raw;
60
60
  };
61
- class Exec extends CoreSchemeAdapterBase {
61
+ export default class Exec extends CoreSchemeAdapterBase {
62
62
  static validateConfiguration() {
63
63
  readExecConcurrency();
64
64
  ExecutionInput.configuredTimeout();
@@ -88,7 +88,7 @@ class Exec extends CoreSchemeAdapterBase {
88
88
  volatile: true,
89
89
  modelVisible: true,
90
90
  metadataModifier: true,
91
- documentation: "The opening fence names a registered executor or MCP service; its target, body, metadata, and timing follow that tool's invocation contract. Output streams into the workspace's `<executor>:///<id>` entry on that tool's own channels. A host-effecting invocation proposes for review before it runs; a read-only or pure one runs ungated. While it runs, the packet's `## Delegation` streams list reports channel size and growth and READ can inspect any range; when it finishes, one terminal READ becomes visible automatically.",
91
+ documentation: "The opening fence names a registered executor or MCP service; its target, body, metadata, and timing follow that tool's invocation contract. Output streams into the workspace's `<executor>:///<id>` entry on that tool's own channels. A host-effecting invocation proposes for review before it runs; a read-only or pure one runs ungated. While it runs, the packet's `## Open Work` streams list reports channel size and growth and READ can inspect any range; when it finishes, one terminal READ becomes visible automatically.",
92
92
  };
93
93
  // The web-fetch the entry sink calls on content:null ({§exec-entry-sink}); default = the
94
94
  // registry's web materializer, injectable for tests. Materialization always goes through
@@ -202,7 +202,7 @@ class Exec extends CoreSchemeAdapterBase {
202
202
  });
203
203
  const target = renderAddress({ scheme, authority: "", pathname });
204
204
  if (terminal === null) {
205
- const recovery = await _a.#nearMiss(core, pathname);
205
+ const recovery = await Exec.#nearMiss(core, pathname);
206
206
  return Results.failure("scheme:exec", "stream-not-found", 404, `No stream exists at ${target}.`, {}, { target, ...(recovery === undefined ? {} : { recovery }) });
207
207
  }
208
208
  // {§stream-control} — the process is already not running, which is what KILL asks for; the
@@ -287,6 +287,7 @@ class Exec extends CoreSchemeAdapterBase {
287
287
  // cwd when the workspace has none — so every receipt can name it ({§exec-target-routing}).
288
288
  const defaultCwd = projectRoot ?? process.cwd();
289
289
  let cwd = defaultCwd;
290
+ let inputDeclared = false;
290
291
  let target = null;
291
292
  let resourceSource = null;
292
293
  const targetDecl = invocation.target;
@@ -370,6 +371,7 @@ class Exec extends CoreSchemeAdapterBase {
370
371
  throw new InvalidOperationResultError(`Executable tool '${runtime}' returned invalid invocation preparation.`);
371
372
  }
372
373
  cwd = prepared.cwd;
374
+ inputDeclared = prepared.input === "open";
373
375
  }
374
376
  else if ((statement.metadata?.length ?? 0) > 0) {
375
377
  return Results.failure("scheme:exec", "metadata-unsupported", 400, `Executable tool '${runtime}' does not accept metadata.`, {}, { runtime, retryable: false });
@@ -428,6 +430,7 @@ class Exec extends CoreSchemeAdapterBase {
428
430
  // is text coordinates, which an execution has none of.
429
431
  const attrs = {
430
432
  runtime, cwd, body, target, pathname: "", effect,
433
+ ...(inputDeclared ? { input: "open" } : {}),
431
434
  ...(resourceSource !== null ? { resourceSource } : {}),
432
435
  ...lifetime,
433
436
  };
@@ -459,7 +462,7 @@ class Exec extends CoreSchemeAdapterBase {
459
462
  });
460
463
  if (terminal !== null)
461
464
  return failure("input-closed", 410, "Execution input is closed.");
462
- const recovery = await _a.#nearMiss(core, coordinate.pathname);
465
+ const recovery = await Exec.#nearMiss(core, coordinate.pathname);
463
466
  return recovery === undefined
464
467
  ? failure("stream-not-found", 404, "No execution exists at the requested address.")
465
468
  : { failure: Results.failure("scheme:exec", "stream-not-found", 404, "No execution exists at the requested address.", {}, { recovery, retryable: false }) };
@@ -548,7 +551,7 @@ class Exec extends CoreSchemeAdapterBase {
548
551
  // almost always a command that belonged beneath a targetless heading (#425 F4).
549
552
  const problem = read.problem === undefined ? undefined : {
550
553
  ...read.problem,
551
- recovery: _a.sourceRecovery(attrs.resourceSource, read.problem.recovery),
554
+ recovery: Exec.sourceRecovery(attrs.resourceSource, read.problem.recovery),
552
555
  };
553
556
  return Results.assert({ ...read, outcome: "scheme_source_read_failed", ...(problem === undefined ? {} : { problem }) });
554
557
  }
@@ -637,7 +640,7 @@ class Exec extends CoreSchemeAdapterBase {
637
640
  if (parent.aborted)
638
641
  controller.abort(ExecAbort.teardownReason());
639
642
  }
640
- const input = new ExecutionInput(controller.signal, execution.inputTimeoutMs);
643
+ const input = new ExecutionInput(controller.signal, execution.inputTimeoutMs, attrs.input === "open");
641
644
  this.#activeAborts.set(subscriptionId, { workspaceId: core.workspaceId, workerId: core.workerId, turnId: core.turnId, pathname, runtime, effect, controller, detached: attrs.detached === true, input, invocation, executor: resolved.executor });
642
645
  const lifecycle = new LiveSubscription({
643
646
  db: core.db, registry: this.liveSubscriptions(),
@@ -653,21 +656,32 @@ class Exec extends CoreSchemeAdapterBase {
653
656
  },
654
657
  notify: core.streamEventNotify, wake: core.wakeWorkerNotify,
655
658
  });
659
+ const run = async () => {
660
+ input.started();
661
+ return this.#runExecutor({
662
+ executor: resolved.executor,
663
+ runtime, body, cwd, target, metadata: args.metadata, ctx: core, pathname, coordinate: attrs.coordinate,
664
+ entryId, lifecycle, signal: controller.signal, controller, tempPath, input,
665
+ timeoutSec: typeof attrs.timeoutSec === "number" ? attrs.timeoutSec : null,
666
+ });
667
+ };
668
+ // {§functionality-model-mutation} Configuration is an ordered core operation,
669
+ // not a background job competing for an external-execution slot.
670
+ if (resolved.executor instanceof FunctionalityManager) {
671
+ const tail = run();
672
+ this.#activeSpawns.set(subscriptionId, tail);
673
+ return await tail;
674
+ }
656
675
  const admission = execution.scheduler.admit(core.workspaceId, controller.signal);
657
676
  const tail = admission.ready.then(async (release) => {
658
677
  try {
659
- return await this.#runExecutor({
660
- executor: resolved.executor,
661
- runtime, body, cwd, target, metadata: args.metadata, ctx: core, pathname, coordinate: attrs.coordinate,
662
- entryId, lifecycle, signal: controller.signal, controller, tempPath, input,
663
- timeoutSec: typeof attrs.timeoutSec === "number" ? attrs.timeoutSec : null,
664
- });
678
+ return await run();
665
679
  }
666
680
  finally {
667
681
  release();
668
682
  }
669
683
  });
670
- // Every exec backgrounds + streams ({§exec-stream}): no same-turn receipt — the output
684
+ // External executions background + stream ({§exec-stream}): the output
671
685
  // surfaces as the environment-observation injector's terminal delta (nothing while it runs,
672
686
  // one visible READ when it finishes). Pure/read commands still auto-accept
673
687
  // from the preserved effect fact; they resolve a turn later, uniformly
@@ -730,7 +744,7 @@ class Exec extends CoreSchemeAdapterBase {
730
744
  const { runtime, body, cwd, target, metadata, ctx, pathname, entryId, lifecycle, signal, controller, timeoutSec, tempPath, input, coordinate } = opts;
731
745
  // {§functionality-model-projection} — a Core-owned manager acts for the invoking Worker. The
732
746
  // framework's ExecArgs carries no Worker identity, so Core binds it here, at the operation.
733
- const executor = isWorkerBound(opts.executor) ? opts.executor.forWorker(ctx.workerId) : opts.executor;
747
+ const executor = opts.executor instanceof FunctionalityManager ? opts.executor.forWorker(ctx.workerId) : opts.executor;
734
748
  const db = ctx.db;
735
749
  // an execution's `<T>` — kill the spawn after T seconds. unref'd so a pending timer never
736
750
  // holds the process open; cleared in finally so a spawn that finishes first leaves no timer.
@@ -940,7 +954,7 @@ class Exec extends CoreSchemeAdapterBase {
940
954
  const composed = signal.aborted ? null
941
955
  : await EnvFunctionality.resolve(db, ctx.workspaceId, ctx.workerId, EnvFunctionality.modifier(metadata));
942
956
  if (composed !== null)
943
- await _a.#recordEnv(db, entryId, composed.record);
957
+ await Exec.#recordEnv(db, entryId, composed.record);
944
958
  if (composed === null || signal.aborted) {
945
959
  result = cancelled();
946
960
  }
@@ -1086,27 +1100,25 @@ class Exec extends CoreSchemeAdapterBase {
1086
1100
  }
1087
1101
  async find(statement, ctx) {
1088
1102
  const core = this.coreContext(ctx);
1089
- return EntryFind.findWorkspaceEntries(statement, core, _a.manifest, {});
1103
+ return EntryFind.findWorkspaceEntries(statement, core, Exec.manifest, {});
1090
1104
  }
1091
1105
  async readEntry(pathname, ctx) {
1092
1106
  const core = this.coreContext(ctx);
1093
1107
  return "entries" in ctx
1094
1108
  ? ctx.entries.read(pathname)
1095
- : EntryCrud.readEntry({ authority: "", pathname }, core, _a.manifest.name);
1109
+ : EntryCrud.readEntry({ authority: "", pathname }, core, Exec.manifest.name);
1096
1110
  }
1097
1111
  async writeEntry(pathname, entry, ctx) {
1098
1112
  const core = this.coreContext(ctx);
1099
1113
  return "entries" in ctx
1100
1114
  ? ctx.entries.write(pathname, entry)
1101
- : EntryCrud.writeEntry({ authority: "", pathname }, entry, core, _a.manifest.name);
1115
+ : EntryCrud.writeEntry({ authority: "", pathname }, entry, core, Exec.manifest.name);
1102
1116
  }
1103
1117
  async deleteEntry(pathname, ctx) {
1104
1118
  const core = this.coreContext(ctx);
1105
1119
  return "entries" in ctx
1106
1120
  ? ctx.entries.delete(pathname)
1107
- : EntryCrud.deleteEntry({ authority: "", pathname }, core, _a.manifest.name);
1121
+ : EntryCrud.deleteEntry({ authority: "", pathname }, core, Exec.manifest.name);
1108
1122
  }
1109
1123
  }
1110
- _a = Exec;
1111
- export default Exec;
1112
1124
  //# sourceMappingURL=Exec.js.map