@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
@@ -0,0 +1,111 @@
1
+ // {§rollback} — undo a worker's settled file mutations after one of its log coordinates. Each row's
2
+ // patch ({§log-mutation-patch}) is reversed against the file as it is now and written back as an
3
+ // ordinary operation of the acting client, so every step is a proposal, a row and a patch of its
4
+ // own; the first file that no longer holds what its mutation wrote stops the rollback where it is.
5
+ import { readFile } from "node:fs/promises";
6
+ import { join } from "node:path";
7
+ import { applyPatch, parsePatch, reversePatch } from "diff";
8
+ import { PlurnkParser } from "@plurnk/plurnk-parser";
9
+ import { entryAddress } from "../core/plurnk-uri.js";
10
+ import { daemonFailure } from "./daemon-results.js";
11
+ export default class Rollback {
12
+ // `<loop>/<turn>/<item>`, with or without the `log:///` prefix and a trailing `/<OP>`.
13
+ static coordinate(to) {
14
+ const match = /^(?:log:\/\/\/)?(\d+)\/(\d+)\/(\d+)(?:\/[A-Za-z]+)?$/u.exec(to.trim());
15
+ if (match === null)
16
+ return null;
17
+ const [loopSeq, turnSeq, sequence] = match.slice(1).map(Number);
18
+ return loopSeq > 0 && turnSeq > 0 && sequence > 0 ? { loopSeq: loopSeq, turnSeq: turnSeq, sequence: sequence } : null;
19
+ }
20
+ static async run(seam, args) {
21
+ const coordinate = Rollback.coordinate(args.to);
22
+ if (coordinate === null) {
23
+ throw daemonFailure("daemon:rollback", "coordinate-invalid", 400, `'${args.to}' is not a log coordinate.`, {
24
+ to: args.to, recovery: "Name the coordinate as <loop>/<turn>/<item>, as the log shows it.",
25
+ });
26
+ }
27
+ const at = `${coordinate.loopSeq}/${coordinate.turnSeq}/${coordinate.sequence}`;
28
+ const anchor = await seam.db.log_id_by_coordinate.get({
29
+ worker_id: args.workerId, loop_seq: coordinate.loopSeq, turn_seq: coordinate.turnSeq, sequence: coordinate.sequence,
30
+ });
31
+ if (anchor === undefined) {
32
+ throw daemonFailure("daemon:rollback", "coordinate-not-found", 404, `No log entry exists at log:///${at}.`, { to: at });
33
+ }
34
+ const root = await seam.projectRoot(args.workspaceId);
35
+ if (root === null) {
36
+ throw daemonFailure("daemon:rollback", "project-root-required", 400, "Rollback restores files, and this workspace has no project root.", {});
37
+ }
38
+ const rows = await seam.db.log_file_mutations_after.all({
39
+ worker_id: args.workerId, loop_seq: coordinate.loopSeq, turn_seq: coordinate.turnSeq, sequence: coordinate.sequence,
40
+ });
41
+ const restored = [];
42
+ const skipped = [];
43
+ const executors = seam.executorTags(args.workspaceId);
44
+ for (const row of rows) {
45
+ const rowCoordinate = `${row.loop_seq}/${row.turn_seq}/${row.sequence}`;
46
+ if (row.patch === null) {
47
+ // A file mutation that kept no patch: nothing is invented for it ({§log-mutation-patch}).
48
+ if (row.scheme === null || row.scheme === "file")
49
+ skipped.push({ coordinate: rowCoordinate, reason: "no-patch" });
50
+ continue;
51
+ }
52
+ // A row that wrote several files is reversed last file first.
53
+ for (const file of parsePatch(row.patch).toReversed()) {
54
+ const outcome = await Rollback.#reverse(seam, { root, executors, file, coordinate: rowCoordinate }, restored);
55
+ if (outcome === "already-reversed") {
56
+ skipped.push({ coordinate: rowCoordinate, reason: "already-reversed" });
57
+ continue;
58
+ }
59
+ if (outcome !== null)
60
+ return { to: at, restored, skipped, stopped: outcome };
61
+ }
62
+ }
63
+ return { to: at, restored, skipped, stopped: null };
64
+ }
65
+ static async #reverse(seam, { root, executors, file, coordinate }, restored) {
66
+ const path = file.oldFileName;
67
+ if (typeof path !== "string" || path.length === 0)
68
+ throw new Error(`log:///${coordinate} keeps a patch that names no file.`);
69
+ let current;
70
+ try {
71
+ current = await readFile(join(root, path), "utf8");
72
+ }
73
+ catch (cause) {
74
+ if (cause.code !== "ENOENT")
75
+ throw cause;
76
+ current = null;
77
+ }
78
+ const created = file.hunks.every((hunk) => hunk.oldLines === 0);
79
+ const removed = !created && file.hunks.every((hunk) => hunk.newLines === 0);
80
+ // A row whose forward patch still applies was reversed already, by an earlier rollback whose
81
+ // own rows live in the client's log: nothing to do for it, and nothing invented.
82
+ const alreadyReversed = () => applyPatch(current ?? "", file) !== false;
83
+ if (removed ? current !== null : current === null) {
84
+ if (alreadyReversed())
85
+ return "already-reversed";
86
+ return { coordinate, path, reason: "drift", detail: `'${path}' ${current === null ? "no longer exists" : "exists again"}; log:///${coordinate} ${removed ? "removed" : "wrote"} it.` };
87
+ }
88
+ const previous = applyPatch(current ?? "", reversePatch(file));
89
+ if (previous === false) {
90
+ if (alreadyReversed())
91
+ return "already-reversed";
92
+ return { coordinate, path, reason: "drift", detail: `'${path}' no longer holds what log:///${coordinate} wrote.` };
93
+ }
94
+ const action = created ? "delete" : removed ? "create" : "update";
95
+ const target = entryAddress("file", "", path, root);
96
+ const source = action === "delete"
97
+ ? `\`\`\`\`KILL (${target})\`\`\`\``
98
+ : `\`\`\`\`EDIT (${target})${action === "update" ? " <1,-1>" : ""}\n${previous}\n\`\`\`\``;
99
+ const { items } = PlurnkParser.parseStatements(source, { executors: [...executors] });
100
+ const item = items[0];
101
+ if (items.length !== 1 || item?.kind !== "statement")
102
+ throw new Error(`rollback of log:///${coordinate} built an operation the parser refused: ${source.slice(0, 120)}`);
103
+ const result = await seam.apply(item.statement);
104
+ if (result.status >= 300) {
105
+ return { coordinate, path, reason: "refused", detail: result.problem?.detail ?? `The reversing operation answered ${result.status}.` };
106
+ }
107
+ restored.push({ coordinate, path, action });
108
+ return null;
109
+ }
110
+ }
111
+ //# sourceMappingURL=Rollback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Rollback.js","sourceRoot":"","sources":["../../src/server/Rollback.ts"],"names":[],"mappings":"AAAA,oGAAoG;AACpG,iGAAiG;AACjG,iGAAiG;AACjG,mGAAmG;AACnG,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAwB,MAAM,MAAM,CAAC;AAElF,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAmBpD,MAAM,CAAC,OAAO,OAAO,QAAQ;IACzB,uFAAuF;IACvF,MAAM,CAAC,UAAU,CAAC,EAAU;QACxB,MAAM,KAAK,GAAG,uDAAuD,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;QACtF,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAChC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAChE,OAAO,OAAQ,GAAG,CAAC,IAAI,OAAQ,GAAG,CAAC,IAAI,QAAS,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAQ,EAAE,OAAO,EAAE,OAAQ,EAAE,QAAQ,EAAE,QAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAChI,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAkB,EAAE,IAA2D;QAC5F,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChD,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YACtB,MAAM,aAAa,CAAC,iBAAiB,EAAE,oBAAoB,EAAE,GAAG,EAAE,IAAI,IAAI,CAAC,EAAE,4BAA4B,EAAE;gBACvG,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,mEAAmE;aAC7F,CAAC,CAAC;QACP,CAAC;QACD,MAAM,EAAE,GAAG,GAAG,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;QAChF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,oBAAoB,CAAC,GAAG,CAAiB;YAClE,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAQ;SACtH,CAAC,CAAC;QACH,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,aAAa,CAAC,iBAAiB,EAAE,sBAAsB,EAAE,GAAG,EAAE,iCAAiC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC5H,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACtD,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAChB,MAAM,aAAa,CAAC,iBAAiB,EAAE,uBAAuB,EAAE,GAAG,EAAE,kEAAkE,EAAE,EAAE,CAAC,CAAC;QACjJ,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,wBAAwB,CAAC,GAAG,CAAc;YACjE,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAQ;SACtH,CAAC,CAAC;QACH,MAAM,QAAQ,GAAe,EAAE,CAAC;QAChC,MAAM,OAAO,GAAwC,EAAE,CAAC;QACxD,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACtD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACrB,MAAM,aAAa,GAAG,GAAG,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YACxE,IAAI,GAAG,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;gBACrB,0FAA0F;gBAC1F,IAAI,GAAG,CAAC,MAAM,KAAK,IAAI,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM;oBAAE,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;gBAClH,SAAS;YACb,CAAC;YACD,8DAA8D;YAC9D,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC;gBACpD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,EAAE,QAAQ,CAAC,CAAC;gBAC9G,IAAI,OAAO,KAAK,kBAAkB,EAAE,CAAC;oBAAC,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC,CAAC;oBAAC,SAAS;gBAAC,CAAC;gBAC1H,IAAI,OAAO,KAAK,IAAI;oBAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;YACjF,CAAC;QACL,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACxD,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,QAAQ,CACjB,IAAkB,EAClB,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAA6F,EAChI,QAAoB;QAEpB,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC;QAC9B,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,UAAU,UAAU,oCAAoC,CAAC,CAAC;QAC7H,IAAI,OAAsB,CAAC;QAC3B,IAAI,CAAC;YACD,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;QACvD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;gBAAE,MAAM,KAAK,CAAC;YACpE,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC;QAChE,MAAM,OAAO,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC;QAC5E,6FAA6F;QAC7F,iFAAiF;QACjF,MAAM,eAAe,GAAG,GAAY,EAAE,CAAC,UAAU,CAAC,OAAO,IAAI,EAAE,EAAE,IAAI,CAAC,KAAK,KAAK,CAAC;QACjF,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YAChD,IAAI,eAAe,EAAE;gBAAE,OAAO,kBAAkB,CAAC;YACjD,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,IAAI,KAAK,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,cAAc,YAAY,UAAU,IAAI,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,MAAM,EAAE,CAAC;QAC3L,CAAC;QACD,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,IAAI,EAAE,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/D,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;YACrB,IAAI,eAAe,EAAE;gBAAE,OAAO,kBAAkB,CAAC;YACjD,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,IAAI,iCAAiC,UAAU,SAAS,EAAE,CAAC;QACvH,CAAC;QACD,MAAM,MAAM,GAAuB,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;QACtF,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,MAAM,KAAK,QAAQ;YAC9B,CAAC,CAAC,iBAAiB,MAAM,WAAW;YACpC,CAAC,CAAC,iBAAiB,MAAM,IAAI,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,YAAY,CAAC;QAC/F,MAAM,EAAE,KAAK,EAAE,GAAG,YAAY,CAAC,eAAe,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;QACtF,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,EAAE,IAAI,KAAK,WAAW;YAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,UAAU,2CAA2C,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QACzK,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAA4B,CAAC,CAAC;QACnE,IAAI,MAAM,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;YACvB,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,IAAI,oCAAoC,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;QAC3I,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ"}
@@ -1,4 +1,5 @@
1
1
  import { routeForSpec, specForRoute } from "./model-route.js";
2
+ import {} from "@plurnk/plurnk-contracts";
2
3
  import { parseAliasesFromEnv, resolveActiveRoute, resolveChildRoute, UnsupportedEffortError } from "@plurnk/plurnk-providers";
3
4
  import ConfigurationError from "@plurnk/plurnk-meta/configuration-error";
4
5
  import ProviderInstantiate from "../core/ProviderInstantiate.js";
@@ -1 +1 @@
1
- {"version":3,"file":"WorkerModelResolver.js","sourceRoot":"","sources":["../../src/server/WorkerModelResolver.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAE9D,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC9H,OAAO,kBAAkB,MAAM,yCAAyC,CAAC;AACzE,OAAO,mBAAmB,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,OAAO,EAAE,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAGrE,MAAM,CAAC,OAAO,OAAO,mBAAmB;IAC3B,GAAG,CAAK;IAEjB,YAAY,EAAE,EAAE,EAEf;QACG,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,QAAgB,EAAE,MAAiC;QAC7E,MAAM,MAAM,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,MAAM,EAAE,CAAC;QAC3C,yFAAyF;QACzF,2FAA2F;QAC3F,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,UAAU,EAAE,GAAG,MAAM,CAAC;QACzD,IAAI,MAAM,IAAI,CAAC,GAAG,CAAC,mCAAmC,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,SAAS,EAAE,CAAC;YACnF,OAAO,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC1D,CAAC;QACD,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC7D,IAAI,MAAM,IAAI,CAAC,GAAG,CAAC,+BAA+B,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,SAAS,EAAE,CAAC;YAC3E,OAAO,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC1D,CAAC;QACD,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,MAAiC;QACpD,IAAI,gBAA+C,CAAC;QACpD,KAAK,MAAM,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,oBAAoB,CAAC,EAAE,CAAC;YACzE,IAAI,OAAO,KAAK,IAAI;gBAAE,SAAS;YAC/B,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YACnD,IAAI,IAAI,KAAK,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,eAAe,OAAO,aAAa,CAAC,CAAC;YACxE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC;YAChF,gBAAgB,GAAG,gBAAgB,KAAK,SAAS;gBAC7C,CAAC,CAAC,QAAQ,CAAC,gBAAgB;gBAC3B,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;QAChG,CAAC;QACD,OAAO,gBAAgB,IAAI,EAAE,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,QAAgB,EAAE,SAAoC;QAChF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,6BAA6B,CAAC,GAAG,CAA4B,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC/G,IAAI,QAAQ,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,UAAU,QAAQ,iCAAiC,CAAC,CAAC;QACjG,MAAM,aAAa,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC;QAC5E,MAAM,cAAc,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;QAC9E,MAAM,aAAa,CACf,eAAe,EAAE,oBAAoB,EAAE,GAAG,EAC1C,UAAU,QAAQ,4EAA4E,EAC9F;YACI,QAAQ;YACR,GAAG,CAAC,aAAa,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,aAAa,CAAC,KAAK,EAAE,CAAC;YACrF,GAAG,CAAC,cAAc,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,cAAc,CAAC,KAAK,EAAE,CAAC;YACxF,KAAK,EAAE,iBAAiB;YACxB,QAAQ,EAAE,yEAAyE;YACnF,SAAS,EAAE,KAAK;SACnB,CACJ,CAAC;IACN,CAAC;IAED,iFAAiF;IACjF,+EAA+E;IAC/E,+EAA+E;IAC/E,sEAAsE;IACtE,KAAK,CAAC,kBAAkB,CACpB,QAAgB,EAChB,QAA4B,EAC5B,MAAe;QAEf,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,6BAA6B,CAAC,GAAG,CAA4B,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC7G,IAAI,MAAM,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,UAAU,QAAQ,2BAA2B,CAAC,CAAC;QACzF,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;YACjD,IAAI,IAAI,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC;YAC/B,2FAA2F;YAC3F,kGAAkG;YAClG,oEAAoE;YACpE,MAAM,QAAQ,GAAG,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,aAAa,KAAK,UAAU,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC;YACvG,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ;gBAC9B,CAAC,CAAC,MAAM,CAAC,MAAO;gBAChB,CAAC,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;YAClD,MAAM,YAAY,GAAiB,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;YACrE,MAAM,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE;gBACzC,cAAc,EAAE,MAAM,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC;gBAClD,oBAAoB,EAAE,MAAM,CAAC,oBAAoB;gBACjD,MAAM;gBACN,aAAa,EAAE,YAAY;aAAE,CAAC,CAAC;YACnC,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;QACxD,CAAC;QACD,IAAI,MAAM,CAAC,cAAc,KAAK,IAAI,EAAE,CAAC;YACjC,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CAAC,UAAU,QAAQ,+BAA+B,CAAC,CAAC;YACvE,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;YACjE,IAAI,IAAI,KAAK,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,UAAU,QAAQ,0BAA0B,CAAC,CAAC;YACjF,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YAClD,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC;QAC7F,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,kBAAkB,EAAE,CAAC,CAAC;QAC1D,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAChB,MAAM,MAAM,GAAG,mBAAmB,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAC1D,MAAM,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE;gBACzC,cAAc,EAAE,MAAM,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC;gBAClD,oBAAoB,EAAE,MAAM,CAAC,oBAAoB;gBACjD,MAAM;gBACN,aAAa,EAAE,SAAS;aAAE,CAAC,CAAC;YAChC,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC;QACnE,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAGD,+EAA+E;IAC/E,iFAAiF;IACjF,4EAA4E;IAC5E,8BAA8B;IAC9B,KAAK,CAAC,uBAAuB,CAAC,QAAgB,EAAE,aAAwC;QACpF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,6BAA6B,CAAC,GAAG,CAA4B,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC7G,IAAI,MAAM,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,UAAU,QAAQ,2BAA2B,CAAC,CAAC;QACzF,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,IAAI,GAAG,aAAa,KAAK,IAAI;gBAC/B,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;YAC/C,MAAM,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE;gBACzC,cAAc,EAAE,MAAM,CAAC,cAAc;gBACrC,oBAAoB,EAAE,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC;gBAC/E,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,aAAa,EAAE,MAAM,CAAC,aAAa;aAAE,CAAC,CAAC;YAC3C,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,MAAM,CAAC,oBAAoB,KAAK,IAAI,EAAE,CAAC;YACvC,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,oBAAoB,CAAC,CAAC;YACvE,IAAI,IAAI,KAAK,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,UAAU,QAAQ,gCAAgC,CAAC,CAAC;YACvF,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;gBACzB,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YACtD,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,iBAAiB,EAAE,CAAC,CAAC;QACzD,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAChB,MAAM,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE;gBACzC,cAAc,EAAE,MAAM,CAAC,cAAc;gBACrC,oBAAoB,EAAE,MAAM,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC;gBACxD,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,aAAa,EAAE,MAAM,CAAC,aAAa;aAAE,CAAC,CAAC;QAC/C,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAGD,0EAA0E;IAC1E,+DAA+D;IAC/D,yDAAyD;IACzD,KAAK,CAAC,iBAAiB,CACnB,IAAkB,EAClB,MAAe;QAEf,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,mBAAmB,CAC1D,IAAI,EACJ,OAAO,CAAC,GAAG,EACX,MAAM,CACT,CAAC;YACF,mBAAmB,CAAC,4BAA4B,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;YACxE,OAAO,QAAQ,CAAC;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,KAAK,YAAY,qBAAqB;gBAAE,MAAM,KAAK,CAAC;YACxD,IAAI,KAAK,YAAY,kBAAkB;gBAAE,MAAM,IAAI,qBAAqB,CAAC,OAAO,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YACzH,IAAI,KAAK,YAAY,sBAAsB,EAAE,CAAC;gBAC1C,MAAM,aAAa,CACf,iBAAiB,EACjB,oBAAoB,EACpB,GAAG,EACH,GAAG,eAAe,CAAC,IAAI,CAAC,6BAA6B,KAAK,CAAC,MAAM,IAAI,EACrE;oBACI,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;oBAC1D,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,gBAAgB,EAAE,KAAK,CAAC,SAAS;oBACjC,KAAK,EAAE,oBAAoB;oBAC3B,QAAQ,EAAE,iDAAiD;oBAC3D,SAAS,EAAE,KAAK;iBAAE,CACzB,CAAC;YACN,CAAC;YACD,OAAO,CAAC,KAAK,CAAC,GAAG,eAAe,CAAC,IAAI,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;YAC5E,MAAM,aAAa,CACf,iBAAiB,EACjB,sBAAsB,EACtB,GAAG,EACH,GAAG,eAAe,CAAC,IAAI,CAAC,kBAAkB,EAC1C;gBACI,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC1D,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,KAAK,EAAE,oBAAoB;gBAC3B,SAAS,EAAE,KAAK;aAAE,CACzB,CAAC;QACN,CAAC;IACL,CAAC;IAGD,sEAAsE;IACtE,oBAAoB,CAAC,QAAgB;QACjC,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;IACnH,CAAC;IAED,WAAW,CAAI,IAAa;QACxB,IAAI,CAAC;YAAC,OAAO,IAAI,EAAE,CAAC;QAAC,CAAC;QACtB,OAAO,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,CAAC,KAAK,YAAY,kBAAkB,CAAC;gBAAE,MAAM,KAAK,CAAC;YACxD,MAAM,IAAI,qBAAqB,CAAC,OAAO,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACpF,CAAC;IACL,CAAC;CAEJ"}
1
+ {"version":3,"file":"WorkerModelResolver.js","sourceRoot":"","sources":["../../src/server/WorkerModelResolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { ApplicationPort } from "@plurnk/plurnk-contracts/port";
2
+ import type { Db } from "../core/Db.ts";
3
+ type Reference = Parameters<ApplicationPort["readWorkerReference"]>[0];
4
+ type Binding = NonNullable<Awaited<ReturnType<ApplicationPort["readWorkerReference"]>>>;
5
+ /** {§worker-external-reference} All three records are committed by the allocation view. */
6
+ export default class WorkerReferences {
7
+ static read(db: Db, { namespace, reference }: Reference): Promise<Binding | null>;
8
+ static ensure(db: Db, { namespace, reference }: Reference): Promise<{
9
+ binding: Binding;
10
+ created: boolean;
11
+ }>;
12
+ }
13
+ export {};
14
+ //# sourceMappingURL=WorkerReferences.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkerReferences.d.ts","sourceRoot":"","sources":["../../src/server/WorkerReferences.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAIxC,KAAK,SAAS,GAAG,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvE,KAAK,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC;AAExF,2FAA2F;AAC3F,MAAM,CAAC,OAAO,OAAO,gBAAgB;IACjC,OAAa,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAEtF;IAED,OAAa,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAYhH;CACJ"}
@@ -0,0 +1,24 @@
1
+ import WorkerName from "../core/WorkerName.js";
2
+ import Envelope from "./envelope.js";
3
+ /** {§worker-external-reference} All three records are committed by the allocation view. */
4
+ export default class WorkerReferences {
5
+ static async read(db, { namespace, reference }) {
6
+ return await db.worker_reference_read.get({ namespace, reference }) ?? null;
7
+ }
8
+ static async ensure(db, { namespace, reference }) {
9
+ while (true) {
10
+ const allocated = await db.worker_reference_allocate.get({
11
+ namespace, reference,
12
+ workspace_name: Envelope.generateWorkspaceName(),
13
+ worker_name: WorkerName.short(),
14
+ });
15
+ const binding = await WorkerReferences.read(db, { namespace, reference });
16
+ if (binding !== null)
17
+ return { binding, created: allocated !== undefined };
18
+ if (allocated !== undefined)
19
+ throw new Error("Allocated worker reference is absent after commit.");
20
+ // A colliding automatic workspace name created nothing; redraw under {§workspace-auto-name}.
21
+ }
22
+ }
23
+ }
24
+ //# sourceMappingURL=WorkerReferences.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkerReferences.js","sourceRoot":"","sources":["../../src/server/WorkerReferences.ts"],"names":[],"mappings":"AAEA,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAC/C,OAAO,QAAQ,MAAM,eAAe,CAAC;AAKrC,2FAA2F;AAC3F,MAAM,CAAC,OAAO,OAAO,gBAAgB;IACjC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAM,EAAE,EAAE,SAAS,EAAE,SAAS,EAAa;QACzD,OAAO,MAAM,EAAE,CAAC,qBAAqB,CAAC,GAAG,CAAU,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,IAAI,IAAI,CAAC;IACzF,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAM,EAAE,EAAE,SAAS,EAAE,SAAS,EAAa;QAC3D,OAAO,IAAI,EAAE,CAAC;YACV,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,yBAAyB,CAAC,GAAG,CAAC;gBACrD,SAAS,EAAE,SAAS;gBACpB,cAAc,EAAE,QAAQ,CAAC,qBAAqB,EAAE;gBAChD,WAAW,EAAE,UAAU,CAAC,KAAK,EAAE;aAClC,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC;YAC1E,IAAI,OAAO,KAAK,IAAI;gBAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,KAAK,SAAS,EAAE,CAAC;YAC3E,IAAI,SAAS,KAAK,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;YACnG,6FAA6F;QACjG,CAAC;IACL,CAAC;CACJ"}
@@ -0,0 +1,31 @@
1
+ -- {§worker-external-reference} A bound statement admits the entire allocation, or nothing.
2
+ -- INIT: worker_reference_allocate
3
+ DROP TRIGGER IF EXISTS worker_reference_allocate;
4
+ CREATE TRIGGER worker_reference_allocate
5
+ INSTEAD OF INSERT ON worker_reference_allocations
6
+ BEGIN
7
+ INSERT INTO workspaces (name) VALUES (NEW.workspace_name);
8
+ INSERT INTO workers (workspace_id, name, origin)
9
+ SELECT id, NEW.worker_name, 'model' FROM workspaces WHERE name = NEW.workspace_name;
10
+ INSERT INTO worker_references (namespace, reference, worker_id)
11
+ SELECT NEW.namespace, NEW.reference, w.id
12
+ FROM workers w JOIN workspaces s ON s.id = w.workspace_id
13
+ WHERE s.name = NEW.workspace_name AND w.name = NEW.worker_name;
14
+ END;
15
+
16
+ -- PREP: worker_reference_allocate
17
+ INSERT INTO worker_reference_allocations (namespace, reference, workspace_name, worker_name)
18
+ SELECT $namespace, $reference, $workspace_name, $worker_name
19
+ WHERE NOT EXISTS (SELECT 1 FROM worker_references WHERE namespace = $namespace AND reference = $reference)
20
+ AND NOT EXISTS (SELECT 1 FROM workspaces WHERE name = $workspace_name)
21
+ RETURNING namespace, reference;
22
+
23
+ -- PREP: worker_reference_read
24
+ SELECT w.workspace_id AS workspaceId, w.id AS workerId
25
+ FROM worker_references r JOIN workers w ON w.id = r.worker_id
26
+ WHERE r.namespace = $namespace AND r.reference = $reference;
27
+
28
+ -- PREP: worker_reference_list
29
+ SELECT reference FROM worker_references
30
+ WHERE namespace = $namespace AND worker_id = $worker_id
31
+ ORDER BY reference;
@@ -12,10 +12,12 @@ export declare const workspaceCapabilityPolicy: (env?: NodeJS.ProcessEnv) => Wor
12
12
  export default class WorkspaceCapabilities {
13
13
  #private;
14
14
  constructor(policy: WorkspaceCapabilityPolicy, callbacks: WorkspaceCapabilityCallbacks);
15
+ get signal(): AbortSignal;
15
16
  acquire(workspaceId: number): Promise<WorkspaceCapabilityRelease>;
16
17
  retain(workspaceId: number): WorkspaceCapabilityRelease;
17
18
  activeWorkspaceIds(): number[];
18
19
  isActive(workspaceId: number): boolean;
19
20
  beginStop(): void;
21
+ settle(): Promise<void>;
20
22
  }
21
23
  //# sourceMappingURL=WorkspaceCapabilities.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"WorkspaceCapabilities.d.ts","sourceRoot":"","sources":["../../src/server/WorkspaceCapabilities.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,0BAA0B,GAAG,MAAM,IAAI,CAAC;AAEpD,MAAM,WAAW,yBAAyB;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,4BAA4B;IACzC,QAAQ,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,QAAQ,CAAC,UAAU,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/D,QAAQ,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CAClE;AAwBD,eAAO,MAAM,yBAAyB,SAC7B,MAAM,CAAC,UAAU,KACvB,yBAGD,CAAC;AAKH,MAAM,CAAC,OAAO,OAAO,qBAAqB;;IAStC,YACI,MAAM,EAAE,yBAAyB,EACjC,SAAS,EAAE,4BAA4B,EAM1C;IAEK,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,0BAA0B,CAAC,CA2BtE;IAED,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,0BAA0B,CAUtD;IAED,kBAAkB,IAAI,MAAM,EAAE,CAK7B;IAED,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAErC;IAED,SAAS,IAAI,IAAI,CAIhB;CAiIJ"}
1
+ {"version":3,"file":"WorkspaceCapabilities.d.ts","sourceRoot":"","sources":["../../src/server/WorkspaceCapabilities.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,0BAA0B,GAAG,MAAM,IAAI,CAAC;AAEpD,MAAM,WAAW,yBAAyB;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,4BAA4B;IACzC,QAAQ,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,QAAQ,CAAC,UAAU,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/D,QAAQ,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CAClE;AAwBD,eAAO,MAAM,yBAAyB,SAC7B,MAAM,CAAC,UAAU,KACvB,yBAGD,CAAC;AAKH,MAAM,CAAC,OAAO,OAAO,qBAAqB;;IAUtC,YACI,MAAM,EAAE,yBAAyB,EACjC,SAAS,EAAE,4BAA4B,EAM1C;IAED,IAAI,MAAM,IAAI,WAAW,CAAkC;IAErD,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,0BAA0B,CAAC,CA2BtE;IAED,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,0BAA0B,CAUtD;IAED,kBAAkB,IAAI,MAAM,EAAE,CAK7B;IAED,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAErC;IAED,SAAS,IAAI,IAAI,CAMhB;IAGK,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAK5B;CAqIJ"}
@@ -21,23 +21,23 @@ export default class WorkspaceCapabilities {
21
21
  #report;
22
22
  #states = new Map();
23
23
  #idleSequence = 0;
24
- #stopping = false;
24
+ #lifetime = new AbortController();
25
+ #stopping = null;
25
26
  constructor(policy, callbacks) {
26
27
  this.#policy = policy;
27
28
  this.#activate = callbacks.activate;
28
29
  this.#deactivate = callbacks.deactivate;
29
30
  this.#report = callbacks.report;
30
31
  }
32
+ get signal() { return this.#lifetime.signal; }
31
33
  async acquire(workspaceId) {
32
34
  WorkspaceCapabilities.#assertWorkspaceId(workspaceId);
33
- if (this.#stopping)
34
- throw new Error("Workspace Functionality is stopping.");
35
+ this.signal.throwIfAborted();
35
36
  for (;;) {
36
37
  const current = this.#states.get(workspaceId);
37
38
  if (current?.phase === "cooling") {
38
39
  await current.transition;
39
- if (this.#stopping)
40
- throw new Error("Workspace Functionality is stopping.");
40
+ this.signal.throwIfAborted();
41
41
  continue;
42
42
  }
43
43
  const state = current ?? this.#beginActivation(workspaceId);
@@ -50,17 +50,16 @@ export default class WorkspaceCapabilities {
50
50
  this.#release(state);
51
51
  throw cause;
52
52
  }
53
- if (this.#stopping) {
53
+ if (this.signal.aborted) {
54
54
  this.#release(state);
55
- throw new Error("Workspace Functionality is stopping.");
55
+ this.signal.throwIfAborted();
56
56
  }
57
57
  return this.#releaseOnce(state);
58
58
  }
59
59
  }
60
60
  retain(workspaceId) {
61
61
  WorkspaceCapabilities.#assertWorkspaceId(workspaceId);
62
- if (this.#stopping)
63
- throw new Error("Workspace Functionality is stopping.");
62
+ this.signal.throwIfAborted();
64
63
  const state = this.#states.get(workspaceId);
65
64
  if (state === undefined || state.phase === "cooling") {
66
65
  throw new Error(`Workspace ${workspaceId} Functionality is not resident.`);
@@ -79,11 +78,22 @@ export default class WorkspaceCapabilities {
79
78
  return this.#states.get(workspaceId)?.phase === "active";
80
79
  }
81
80
  beginStop() {
82
- if (this.#stopping)
81
+ if (this.signal.aborted)
83
82
  return;
84
- this.#stopping = true;
83
+ this.#lifetime.abort(new DOMException("Workspace Functionality is stopping.", "AbortError"));
85
84
  for (const state of this.#states.values())
86
85
  this.#cancelIdle(state);
86
+ // Capture before completed/failed transitions leave the residency map.
87
+ this.#stopping = Promise.allSettled([...this.#states.values()].flatMap(({ transition }) => transition === null ? [] : [transition]));
88
+ }
89
+ // {§module-shutdown-order} A rejected workspace cannot short-circuit another workspace's cleanup.
90
+ async settle() {
91
+ if (this.#stopping === null)
92
+ throw new Error("Workspace Functionality settlement requires beginStop.");
93
+ const results = await this.#stopping;
94
+ const errors = results.flatMap((result) => result.status === "rejected" && result.reason !== this.signal.reason ? [result.reason] : []);
95
+ if (errors.length > 0)
96
+ throw new AggregateError(errors, "Workspace Functionality shutdown failed");
87
97
  }
88
98
  static #assertWorkspaceId(workspaceId) {
89
99
  if (!Number.isSafeInteger(workspaceId) || workspaceId < 1) {
@@ -135,12 +145,12 @@ export default class WorkspaceCapabilities {
135
145
  if (state.leases === 0
136
146
  && state.phase === "active"
137
147
  && this.#states.get(state.workspaceId) === state
138
- && !this.#stopping) {
148
+ && !this.signal.aborted) {
139
149
  this.#markIdle(state);
140
150
  }
141
151
  }
142
152
  #markIdle(state) {
143
- if (state.phase !== "active" || state.leases !== 0 || this.#stopping)
153
+ if (state.phase !== "active" || state.leases !== 0 || this.signal.aborted)
144
154
  return;
145
155
  this.#cancelIdle(state);
146
156
  state.idleOrder = ++this.#idleSequence;
@@ -149,7 +159,7 @@ export default class WorkspaceCapabilities {
149
159
  }
150
160
  // {§operator-config-worker-warm} — negative never cools by time, zero cools at once, otherwise after the delay.
151
161
  #scheduleCooling(state, delayMs) {
152
- if (delayMs < 0 || state.phase !== "active" || state.leases !== 0 || this.#stopping)
162
+ if (delayMs < 0 || state.phase !== "active" || state.leases !== 0 || this.signal.aborted)
153
163
  return;
154
164
  if (delayMs === 0) {
155
165
  queueMicrotask(() => { void this.#cool(state); });
@@ -162,7 +172,7 @@ export default class WorkspaceCapabilities {
162
172
  state.timer.unref();
163
173
  }
164
174
  #enforceWarmMaximum() {
165
- if (this.#policy.warmMax < 0 || this.#stopping)
175
+ if (this.#policy.warmMax < 0 || this.signal.aborted)
166
176
  return;
167
177
  const idle = [...this.#states.values()]
168
178
  .filter((state) => state.phase === "active" && state.leases === 0)
@@ -172,7 +182,7 @@ export default class WorkspaceCapabilities {
172
182
  }
173
183
  }
174
184
  async #cool(state) {
175
- if (this.#stopping
185
+ if (this.signal.aborted
176
186
  || state.phase !== "active"
177
187
  || state.leases !== 0
178
188
  || this.#states.get(state.workspaceId) !== state)
@@ -199,11 +209,18 @@ export default class WorkspaceCapabilities {
199
209
  state.phase = "active";
200
210
  state.transition = null;
201
211
  state.idleOrder = ++this.#idleSequence;
202
- this.#report(state.workspaceId, cause);
203
212
  this.#scheduleCooling(state, COOLING_RETRY_MS);
213
+ throw cause;
204
214
  });
205
215
  state.transition = transition;
206
- await transition;
216
+ try {
217
+ await transition;
218
+ }
219
+ catch (cause) {
220
+ // During stop the captured transition reports through the shutdown aggregate.
221
+ if (!this.signal.aborted)
222
+ this.#report(state.workspaceId, cause);
223
+ }
207
224
  }
208
225
  #cancelIdle(state) {
209
226
  if (state.timer !== null)
@@ -1 +1 @@
1
- {"version":3,"file":"WorkspaceCapabilities.js","sourceRoot":"","sources":["../../src/server/WorkspaceCapabilities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WorkspaceCapabilities.js","sourceRoot":"","sources":["../../src/server/WorkspaceCapabilities.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  // roots this daemon reads ({§agent-roots}) in precedence order, each plugin with the PLUGIN_DATA
3
3
  // directory its subprocesses receive.
4
4
  import { createHash } from "node:crypto";
5
+ import HostPaths from "../core/HostPaths.js";
5
6
  import PluginSources from "./PluginSources.js";
6
7
  import { join } from "node:path";
7
8
  import ConfigurationDiagnostics from "./ConfigurationDiagnostics.js";
@@ -1 +1 @@
1
- {"version":3,"file":"WorkspacePlugins.js","sourceRoot":"","sources":["../../src/server/WorkspacePlugins.ts"],"names":[],"mappings":"AAAA,mGAAmG;AACnG,iGAAiG;AACjG,sCAAsC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAKzC,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,wBAAwB,MAAM,+BAA+B,CAAC;AAErE,MAAM,CAAC,OAAO,OAAO,gBAAgB;IACxB,GAAG,CAAK;IACR,UAAU,CAAY;IACtB,YAAY,CAAS;IACrB,QAAQ,GAAG,IAAI,GAAG,EAA6B,CAAC;IAEzD,YAAY,EAAE,EAAE,EAAE,SAAS,EAAE,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,EAE7E;QACG,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACd,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,WAAmB;QAC1B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,GAAG,CAAkC,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;QAClH,MAAM,WAAW,GAAG,SAAS,EAAE,YAAY,IAAI,IAAI,CAAC;QACpD,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,mBAAmB,EAAE,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC;YAC9E,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,CAAC,YAAY;SAC1E,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,IAAI,wBAAwB,EAAE,CAAC;QACnD,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACnC,KAAK,MAAM,KAAK,IAAI,mBAAmB;YAAE,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC9E,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QACtD,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAmB,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACpJ,MAAM,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;YACnF,MAAM,CAAC,KAAK;YACZ,MAAM,CAAC,IAAI;YACX,MAAM,CAAC,QAAQ;YACf,MAAM,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC;YAC1D,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;SACzE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnB,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAC7D,CAAC;IAED,OAAO,CAAC,WAAmB;QACvB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;IAChD,CAAC;CAEJ"}
1
+ {"version":3,"file":"WorkspacePlugins.js","sourceRoot":"","sources":["../../src/server/WorkspacePlugins.ts"],"names":[],"mappings":"AAAA,mGAAmG;AACnG,iGAAiG;AACjG,sCAAsC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAE7C,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,wBAAwB,MAAM,+BAA+B,CAAC;AAErE,MAAM,CAAC,OAAO,OAAO,gBAAgB;IACxB,GAAG,CAAK;IACR,UAAU,CAAY;IACtB,YAAY,CAAS;IACrB,QAAQ,GAAG,IAAI,GAAG,EAA6B,CAAC;IAEzD,YAAY,EAAE,EAAE,EAAE,SAAS,EAAE,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,EAE7E;QACG,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACd,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,WAAmB;QAC1B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,GAAG,CAAkC,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;QAClH,MAAM,WAAW,GAAG,SAAS,EAAE,YAAY,IAAI,IAAI,CAAC;QACpD,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,mBAAmB,EAAE,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC;YAC9E,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,CAAC,YAAY;SAC1E,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,IAAI,wBAAwB,EAAE,CAAC;QACnD,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACnC,KAAK,MAAM,KAAK,IAAI,mBAAmB;YAAE,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC9E,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QACtD,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAmB,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACpJ,MAAM,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;YACnF,MAAM,CAAC,KAAK;YACZ,MAAM,CAAC,IAAI;YACX,MAAM,CAAC,QAAQ;YACf,MAAM,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC;YAC1D,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;SACzE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnB,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAC7D,CAAC;IAED,OAAO,CAAC,WAAmB;QACvB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;IAChD,CAAC;CAEJ"}
@@ -20,8 +20,10 @@ export default class WorkspaceResidency {
20
20
  normalizeRuntime: (registration: RuntimeRegistration) => NormalizedRuntime;
21
21
  });
22
22
  get published(): boolean;
23
+ get signal(): AbortSignal;
23
24
  publish(): void;
24
25
  beginStop(): void;
26
+ settle(): Promise<void>;
25
27
  activeWorkspaceIds(): number[];
26
28
  isActive(workspaceId: number): boolean;
27
29
  retain(workspaceId: number): WorkspaceCapabilityRelease;
@@ -34,7 +36,7 @@ export default class WorkspaceResidency {
34
36
  reconcile(workspaceId: number): Promise<void>;
35
37
  rematerializeActive(): Promise<void>;
36
38
  replace({ workspaceId, namespaceOwner, state, runtimes, }: WorkspaceCapabilityReplacement, options?: WorkspaceCapabilityPublication): Promise<void>;
37
- exclusively<T>(workspaceId: number, namespaceOwner: string, mode: WorkspaceCapabilityGate, run: () => Promise<T>): Promise<T>;
39
+ exclusively<T>(workspaceId: number, namespaceOwner: string, mode: WorkspaceCapabilityGate, run: () => Promise<T>, signal?: AbortSignal): Promise<T>;
38
40
  }
39
41
  export {};
40
42
  //# sourceMappingURL=WorkspaceResidency.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"WorkspaceResidency.d.ts","sourceRoot":"","sources":["../../src/server/WorkspaceResidency.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,aAAa,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAGjE,OAA8B,EAE1B,KAAK,0BAA0B,EAClC,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EACR,2BAA2B,EAC3B,uBAAuB,EAC1B,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,KAAK,EACR,8BAA8B,EAC9B,2BAA2B,EAC3B,8BAA8B,EACjC,MAAM,iBAAiB,CAAC;AASzB,KAAK,iBAAiB,GAAG;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;CACzC,CAAC;AAGF,MAAM,CAAC,OAAO,OAAO,kBAAkB;;IASnC,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,gBAAgB,EAAE,EAAE;QACzD,EAAE,EAAE,EAAE,CAAC;QACP,MAAM,EAAE,MAAM,MAAM,CAAC;QACrB,aAAa,EAAE,aAAa,CAAC;QAC7B,gBAAgB,EAAE,CAAC,YAAY,EAAE,mBAAmB,KAAK,iBAAiB,CAAC;KAC9E,EAYA;IAED,IAAI,SAAS,IAAI,OAAO,CAA4B;IACpD,OAAO,IAAI,IAAI,CAA4B;IAC3C,SAAS,IAAI,IAAI,CAAoC;IACrD,kBAAkB,IAAI,MAAM,EAAE,CAAoD;IAClF,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAqD;IAC3F,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,0BAA0B,CAAmD;IAE1G,gBAAgB,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,2BAA2B,GAAG,IAAI,CAOpF;IAEK,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAQxE;IAEK,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAGtE;IA8CK,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAO1F;IAKK,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAM7F;IAKK,wBAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAa7G;IAEK,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAElD;IAOK,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAEzC;IAEK,OAAO,CAAC,EACV,WAAW,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ,GAC/C,EAAE,8BAA8B,EAAE,OAAO,GAAE,8BAAmC,GAAG,OAAO,CAAC,IAAI,CAAC,CAgD9F;IAEK,WAAW,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,uBAAuB,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAgBlI;CACJ"}
1
+ {"version":3,"file":"WorkspaceResidency.d.ts","sourceRoot":"","sources":["../../src/server/WorkspaceResidency.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,aAAa,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAGjE,OAA8B,EAE1B,KAAK,0BAA0B,EAClC,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EACR,2BAA2B,EAC3B,uBAAuB,EAC1B,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,KAAK,EACR,8BAA8B,EAC9B,2BAA2B,EAC3B,8BAA8B,EACjC,MAAM,iBAAiB,CAAC;AASzB,KAAK,iBAAiB,GAAG;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;CACzC,CAAC;AAGF,MAAM,CAAC,OAAO,OAAO,kBAAkB;;IASnC,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,gBAAgB,EAAE,EAAE;QACzD,EAAE,EAAE,EAAE,CAAC;QACP,MAAM,EAAE,MAAM,MAAM,CAAC;QACrB,aAAa,EAAE,aAAa,CAAC;QAC7B,gBAAgB,EAAE,CAAC,YAAY,EAAE,mBAAmB,KAAK,iBAAiB,CAAC;KAC9E,EAYA;IAED,IAAI,SAAS,IAAI,OAAO,CAA4B;IACpD,IAAI,MAAM,IAAI,WAAW,CAAsC;IAC/D,OAAO,IAAI,IAAI,CAA4B;IAC3C,SAAS,IAAI,IAAI,CAAoC;IACrD,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAwC;IAC/D,kBAAkB,IAAI,MAAM,EAAE,CAAoD;IAClF,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAqD;IAC3F,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,0BAA0B,CAAmD;IAE1G,gBAAgB,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,2BAA2B,GAAG,IAAI,CAOpF;IAEK,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAQxE;IAEK,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAGtE;IAmDK,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAO1F;IAKK,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAM7F;IAKK,wBAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAa7G;IAEK,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAElD;IAOK,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAEzC;IAEK,OAAO,CAAC,EACV,WAAW,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ,GAC/C,EAAE,8BAA8B,EAAE,OAAO,GAAE,8BAAmC,GAAG,OAAO,CAAC,IAAI,CAAC,CAgD9F;IAEK,WAAW,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,uBAAuB,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAiBxJ;CACJ"}
@@ -26,8 +26,10 @@ export default class WorkspaceResidency {
26
26
  });
27
27
  }
28
28
  get published() { return this.#published; }
29
+ get signal() { return this.#capabilities.signal; }
29
30
  publish() { this.#published = true; }
30
31
  beginStop() { this.#capabilities.beginStop(); }
32
+ settle() { return this.#capabilities.settle(); }
31
33
  activeWorkspaceIds() { return this.#capabilities.activeWorkspaceIds(); }
32
34
  isActive(workspaceId) { return this.#capabilities.isActive(workspaceId); }
33
35
  retain(workspaceId) { return this.#capabilities.retain(workspaceId); }
@@ -49,15 +51,19 @@ export default class WorkspaceResidency {
49
51
  return { workspaceId: id };
50
52
  }
51
53
  async acquire(workspaceId) {
52
- const identity = await this.identity(workspaceId);
53
- return this.#capabilities.acquire(identity.workspaceId);
54
+ // Admission precedes the first database read; validation is part of the owned activation.
55
+ return this.#capabilities.acquire(ClientInput.assertId("workspace Functionality", "workspaceId", workspaceId));
54
56
  }
55
57
  async #activate(workspaceId) {
58
+ this.signal.throwIfAborted();
56
59
  const identity = await this.identity(workspaceId);
57
60
  try {
58
61
  const context = { ...identity, retain: () => this.#capabilities.retain(workspaceId) };
59
- for (const provider of this.#providers.values())
62
+ for (const provider of this.#providers.values()) {
63
+ this.signal.throwIfAborted();
60
64
  await provider.activate(context);
65
+ }
66
+ this.signal.throwIfAborted();
61
67
  await this.#rematerialize(workspaceId);
62
68
  }
63
69
  catch (cause) {
@@ -207,15 +213,16 @@ export default class WorkspaceResidency {
207
213
  }
208
214
  });
209
215
  }
210
- async exclusively(workspaceId, namespaceOwner, mode, run) {
216
+ async exclusively(workspaceId, namespaceOwner, mode, run, signal) {
211
217
  await this.identity(workspaceId);
212
218
  const gate = mode === "none" ? undefined : mode === "wait"
213
- ? this.#workspaceGate.requestExclusive(workspaceId)
219
+ ? this.#workspaceGate.requestExclusive(workspaceId, signal)
214
220
  : this.#workspaceGate.tryExclusive(workspaceId);
215
221
  if (gate === null)
216
222
  throw residencyFailure("workspace-busy", 409, `Workspace ${workspaceId} is running an operation or another capability change.`, { workspaceId, namespaceOwner, recovery: "Settle the current operation and retry the capability change.", retryable: true });
217
223
  try {
218
224
  await gate?.acquired;
225
+ signal?.throwIfAborted();
219
226
  return await run();
220
227
  }
221
228
  finally {
@@ -1 +1 @@
1
- {"version":3,"file":"WorkspaceResidency.js","sourceRoot":"","sources":["../../src/server/WorkspaceResidency.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WorkspaceResidency.js","sourceRoot":"","sources":["../../src/server/WorkspaceResidency.ts"],"names":[],"mappings":"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"}