@plurnk/plurnk-service 4.1.0 → 4.3.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 (452) hide show
  1. package/.env.defaults +3 -0
  2. package/INSTALL.md +7 -2
  3. package/README.md +3 -1
  4. package/SPEC.md +1996 -1370
  5. package/dist/build-info.d.ts.map +1 -1
  6. package/dist/build-info.js +25 -3
  7. package/dist/build-info.js.map +1 -1
  8. package/dist/build-info.json +1 -1
  9. package/dist/completions/_plurnk-service +2 -2
  10. package/dist/completions/plurnk-service.bash +2 -2
  11. package/dist/completions/plurnk-service.fish +2 -0
  12. package/dist/content/body-preview.js.map +1 -1
  13. package/dist/content/byte-view.d.ts.map +1 -1
  14. package/dist/content/byte-view.js +3 -2
  15. package/dist/content/byte-view.js.map +1 -1
  16. package/dist/content/edit-collision.d.ts +2 -1
  17. package/dist/content/edit-collision.d.ts.map +1 -1
  18. package/dist/content/edit-collision.js.map +1 -1
  19. package/dist/content/edit-receipt.d.ts.map +1 -1
  20. package/dist/content/edit-receipt.js +28 -23
  21. package/dist/content/edit-receipt.js.map +1 -1
  22. package/dist/content/edited-span.js +1 -1
  23. package/dist/content/edited-span.js.map +1 -1
  24. package/dist/content/line-anchors.d.ts +3 -2
  25. package/dist/content/line-anchors.d.ts.map +1 -1
  26. package/dist/content/line-anchors.js +33 -19
  27. package/dist/content/line-anchors.js.map +1 -1
  28. package/dist/content/line-selection.js.map +1 -1
  29. package/dist/content/pattern-edits.js +1 -1
  30. package/dist/content/pattern-edits.js.map +1 -1
  31. package/dist/content/read-projector.d.ts +1 -1
  32. package/dist/content/read-projector.d.ts.map +1 -1
  33. package/dist/content/read-projector.js +10 -8
  34. package/dist/content/read-projector.js.map +1 -1
  35. package/dist/content/read-resolve.d.ts.map +1 -1
  36. package/dist/content/read-resolve.js +6 -5
  37. package/dist/content/read-resolve.js.map +1 -1
  38. package/dist/core/AdmittedTurnExecutor.d.ts +4 -4
  39. package/dist/core/AdmittedTurnExecutor.d.ts.map +1 -1
  40. package/dist/core/AdmittedTurnExecutor.js +20 -18
  41. package/dist/core/AdmittedTurnExecutor.js.map +1 -1
  42. package/dist/core/AmbientMembers.d.ts +18 -0
  43. package/dist/core/AmbientMembers.d.ts.map +1 -0
  44. package/dist/core/AmbientMembers.js +84 -0
  45. package/dist/core/AmbientMembers.js.map +1 -0
  46. package/dist/core/BareBatchRunner.d.ts +1 -1
  47. package/dist/core/BareBatchRunner.d.ts.map +1 -1
  48. package/dist/core/BareBatchRunner.js +2 -2
  49. package/dist/core/BareBatchRunner.js.map +1 -1
  50. package/dist/core/CapabilityPolicies.js.map +1 -1
  51. package/dist/core/CapabilityResolver.d.ts +1 -2
  52. package/dist/core/CapabilityResolver.d.ts.map +1 -1
  53. package/dist/core/CapabilityResolver.js +11 -7
  54. package/dist/core/CapabilityResolver.js.map +1 -1
  55. package/dist/core/ChannelWrite.d.ts +2 -2
  56. package/dist/core/ChannelWrite.d.ts.map +1 -1
  57. package/dist/core/ChannelWrite.js.map +1 -1
  58. package/dist/core/ChannelWrite.sql +27 -0
  59. package/dist/core/ClientInteractions.js.map +1 -1
  60. package/dist/core/ContextFit.js +1 -1
  61. package/dist/core/ContextFit.js.map +1 -1
  62. package/dist/core/CoreSchemeServices.d.ts.map +1 -1
  63. package/dist/core/CoreSchemeServices.js +6 -4
  64. package/dist/core/CoreSchemeServices.js.map +1 -1
  65. package/dist/core/DataStatementRunner.d.ts.map +1 -1
  66. package/dist/core/DataStatementRunner.js +24 -15
  67. package/dist/core/DataStatementRunner.js.map +1 -1
  68. package/dist/core/Dispatcher.d.ts +29 -5
  69. package/dist/core/Dispatcher.d.ts.map +1 -1
  70. package/dist/core/Dispatcher.js +242 -132
  71. package/dist/core/Dispatcher.js.map +1 -1
  72. package/dist/core/EditMutations.d.ts.map +1 -1
  73. package/dist/core/EditMutations.js +12 -6
  74. package/dist/core/EditMutations.js.map +1 -1
  75. package/dist/core/EditSequence.js.map +1 -1
  76. package/dist/core/Engine.d.ts +12 -6
  77. package/dist/core/Engine.d.ts.map +1 -1
  78. package/dist/core/Engine.js +29 -7
  79. package/dist/core/Engine.js.map +1 -1
  80. package/dist/core/ExecutionOutputs.js.map +1 -1
  81. package/dist/core/ExecutorRegistry.d.ts +1 -2
  82. package/dist/core/ExecutorRegistry.d.ts.map +1 -1
  83. package/dist/core/ExecutorRegistry.js +2 -2
  84. package/dist/core/ExecutorRegistry.js.map +1 -1
  85. package/dist/core/FileAddress.d.ts +1 -0
  86. package/dist/core/FileAddress.d.ts.map +1 -1
  87. package/dist/core/FileAddress.js +8 -1
  88. package/dist/core/FileAddress.js.map +1 -1
  89. package/dist/core/FilePublication.d.ts.map +1 -1
  90. package/dist/core/FilePublication.js +6 -3
  91. package/dist/core/FilePublication.js.map +1 -1
  92. package/dist/core/FileSnapshot.d.ts.map +1 -1
  93. package/dist/core/FileSnapshot.js +8 -5
  94. package/dist/core/FileSnapshot.js.map +1 -1
  95. package/dist/core/KillHandler.d.ts.map +1 -1
  96. package/dist/core/KillHandler.js +7 -0
  97. package/dist/core/KillHandler.js.map +1 -1
  98. package/dist/core/LiveSubscription.d.ts +1 -0
  99. package/dist/core/LiveSubscription.d.ts.map +1 -1
  100. package/dist/core/LiveSubscription.js +3 -2
  101. package/dist/core/LiveSubscription.js.map +1 -1
  102. package/dist/core/LiveSubscriptions.d.ts +4 -1
  103. package/dist/core/LiveSubscriptions.d.ts.map +1 -1
  104. package/dist/core/LiveSubscriptions.js +42 -1
  105. package/dist/core/LiveSubscriptions.js.map +1 -1
  106. package/dist/core/LogBody.d.ts.map +1 -1
  107. package/dist/core/LogBody.js +22 -19
  108. package/dist/core/LogBody.js.map +1 -1
  109. package/dist/core/LogVisibility.d.ts +1 -1
  110. package/dist/core/LogVisibility.d.ts.map +1 -1
  111. package/dist/core/LogVisibility.js +4 -6
  112. package/dist/core/LogVisibility.js.map +1 -1
  113. package/dist/core/LogWriter.d.ts.map +1 -1
  114. package/dist/core/LogWriter.js +6 -9
  115. package/dist/core/LogWriter.js.map +1 -1
  116. package/dist/core/LoopDriver.d.ts +4 -4
  117. package/dist/core/LoopDriver.d.ts.map +1 -1
  118. package/dist/core/LoopDriver.js +4 -5
  119. package/dist/core/LoopDriver.js.map +1 -1
  120. package/dist/core/LoopLifecycle.d.ts +2 -0
  121. package/dist/core/LoopLifecycle.d.ts.map +1 -1
  122. package/dist/core/LoopLifecycle.js +13 -3
  123. package/dist/core/LoopLifecycle.js.map +1 -1
  124. package/dist/core/LoopLifecycle.sql +4 -4
  125. package/dist/core/LoopOutcome.d.ts.map +1 -1
  126. package/dist/core/LoopOutcome.js +2 -2
  127. package/dist/core/LoopOutcome.js.map +1 -1
  128. package/dist/core/MembershipMaterialization.d.ts.map +1 -1
  129. package/dist/core/MembershipMaterialization.js +29 -29
  130. package/dist/core/MembershipMaterialization.js.map +1 -1
  131. package/dist/core/MessageResources.d.ts +5 -1
  132. package/dist/core/MessageResources.d.ts.map +1 -1
  133. package/dist/core/MessageResources.js +12 -0
  134. package/dist/core/MessageResources.js.map +1 -1
  135. package/dist/core/MessageResources.sql +8 -0
  136. package/dist/core/MutationEffects.d.ts +1 -0
  137. package/dist/core/MutationEffects.d.ts.map +1 -1
  138. package/dist/core/MutationEffects.js +14 -10
  139. package/dist/core/MutationEffects.js.map +1 -1
  140. package/dist/core/OperationHistory.d.ts.map +1 -1
  141. package/dist/core/OperationHistory.js +4 -3
  142. package/dist/core/OperationHistory.js.map +1 -1
  143. package/dist/core/OperatorConfig.d.ts.map +1 -1
  144. package/dist/core/OperatorConfig.js +3 -2
  145. package/dist/core/OperatorConfig.js.map +1 -1
  146. package/dist/core/PacketBuilder.d.ts +1 -1
  147. package/dist/core/PacketBuilder.d.ts.map +1 -1
  148. package/dist/core/PacketBuilder.js +7 -5
  149. package/dist/core/PacketBuilder.js.map +1 -1
  150. package/dist/core/ProblemLog.d.ts +2 -5
  151. package/dist/core/ProblemLog.d.ts.map +1 -1
  152. package/dist/core/ProblemLog.js +2 -3
  153. package/dist/core/ProblemLog.js.map +1 -1
  154. package/dist/core/ProposalLifecycle.d.ts +12 -11
  155. package/dist/core/ProposalLifecycle.d.ts.map +1 -1
  156. package/dist/core/ProposalLifecycle.js +92 -84
  157. package/dist/core/ProposalLifecycle.js.map +1 -1
  158. package/dist/core/ReasoningEvent.d.ts +2 -0
  159. package/dist/core/ReasoningEvent.d.ts.map +1 -1
  160. package/dist/core/ReplyMetadata.d.ts.map +1 -1
  161. package/dist/core/ReplyMetadata.js +4 -3
  162. package/dist/core/ReplyMetadata.js.map +1 -1
  163. package/dist/core/ResourceBindings.d.ts +2 -2
  164. package/dist/core/ResourceBindings.d.ts.map +1 -1
  165. package/dist/core/ResourceBindings.js.map +1 -1
  166. package/dist/core/ResourceMutations.d.ts +1 -1
  167. package/dist/core/ResourceMutations.d.ts.map +1 -1
  168. package/dist/core/ResourceMutations.js +1 -2
  169. package/dist/core/ResourceMutations.js.map +1 -1
  170. package/dist/core/ResourceSelector.js +2 -2
  171. package/dist/core/ResourceSelector.js.map +1 -1
  172. package/dist/core/ResourceTransfers.d.ts.map +1 -1
  173. package/dist/core/ResourceTransfers.js +162 -120
  174. package/dist/core/ResourceTransfers.js.map +1 -1
  175. package/dist/core/SchemeRegistry.d.ts +6 -5
  176. package/dist/core/SchemeRegistry.d.ts.map +1 -1
  177. package/dist/core/SchemeRegistry.js +32 -26
  178. package/dist/core/SchemeRegistry.js.map +1 -1
  179. package/dist/core/ServiceHelp.d.ts.map +1 -1
  180. package/dist/core/ServiceHelp.js +2 -1
  181. package/dist/core/ServiceHelp.js.map +1 -1
  182. package/dist/core/StoredPacket.d.ts.map +1 -1
  183. package/dist/core/StoredPacket.js +26 -19
  184. package/dist/core/StoredPacket.js.map +1 -1
  185. package/dist/core/StrikeRail.d.ts +1 -2
  186. package/dist/core/StrikeRail.d.ts.map +1 -1
  187. package/dist/core/StrikeRail.js +4 -4
  188. package/dist/core/StrikeRail.js.map +1 -1
  189. package/dist/core/TerminalResult.d.ts +0 -2
  190. package/dist/core/TerminalResult.d.ts.map +1 -1
  191. package/dist/core/TerminalResult.js +0 -18
  192. package/dist/core/TerminalResult.js.map +1 -1
  193. package/dist/core/ToolInputSchema.d.ts.map +1 -1
  194. package/dist/core/ToolInputSchema.js +2 -2
  195. package/dist/core/ToolInputSchema.js.map +1 -1
  196. package/dist/core/ToolResources.d.ts +1 -0
  197. package/dist/core/ToolResources.d.ts.map +1 -1
  198. package/dist/core/ToolResources.js +7 -6
  199. package/dist/core/ToolResources.js.map +1 -1
  200. package/dist/core/TurnDispositionHandler.d.ts +1 -1
  201. package/dist/core/TurnDispositionHandler.d.ts.map +1 -1
  202. package/dist/core/TurnDispositionHandler.js +0 -1
  203. package/dist/core/TurnDispositionHandler.js.map +1 -1
  204. package/dist/core/TurnMaterialization.d.ts.map +1 -1
  205. package/dist/core/TurnMaterialization.js +3 -2
  206. package/dist/core/TurnMaterialization.js.map +1 -1
  207. package/dist/core/TurnRunner.d.ts +13 -12
  208. package/dist/core/TurnRunner.d.ts.map +1 -1
  209. package/dist/core/TurnRunner.js +197 -173
  210. package/dist/core/TurnRunner.js.map +1 -1
  211. package/dist/core/TurnRunner.sql +3 -3
  212. package/dist/core/WorkerOwners.js.map +1 -1
  213. package/dist/core/caps/DbEntryCaps.js.map +1 -1
  214. package/dist/core/caps/DbMessageCaps.d.ts +3 -3
  215. package/dist/core/caps/DbMessageCaps.d.ts.map +1 -1
  216. package/dist/core/caps/DbProjectionCaps.js +1 -1
  217. package/dist/core/caps/DbProjectionCaps.js.map +1 -1
  218. package/dist/core/caps/DbSubscriptionCaps.d.ts.map +1 -1
  219. package/dist/core/caps/DbSubscriptionCaps.js +1 -0
  220. package/dist/core/caps/DbSubscriptionCaps.js.map +1 -1
  221. package/dist/core/caps/SchemeCtxImpl.d.ts +1 -0
  222. package/dist/core/caps/SchemeCtxImpl.d.ts.map +1 -1
  223. package/dist/core/caps/SchemeCtxImpl.js +10 -1
  224. package/dist/core/caps/SchemeCtxImpl.js.map +1 -1
  225. package/dist/core/env-catalog.js.map +1 -1
  226. package/dist/core/env-defaults.d.ts.map +1 -1
  227. package/dist/core/env-defaults.js +5 -3
  228. package/dist/core/env-defaults.js.map +1 -1
  229. package/dist/core/file-creation-policy.d.ts.map +1 -1
  230. package/dist/core/file-creation-policy.js +2 -1
  231. package/dist/core/file-creation-policy.js.map +1 -1
  232. package/dist/core/file-materialization.d.ts.map +1 -1
  233. package/dist/core/file-materialization.js +9 -11
  234. package/dist/core/file-materialization.js.map +1 -1
  235. package/dist/core/git-env.d.ts +1 -0
  236. package/dist/core/git-env.d.ts.map +1 -1
  237. package/dist/core/git-env.js +34 -3
  238. package/dist/core/git-env.js.map +1 -1
  239. package/dist/core/git-membership.d.ts +8 -0
  240. package/dist/core/git-membership.d.ts.map +1 -1
  241. package/dist/core/git-membership.js +107 -21
  242. package/dist/core/git-membership.js.map +1 -1
  243. package/dist/core/git-state.d.ts.map +1 -1
  244. package/dist/core/git-state.js +1 -0
  245. package/dist/core/git-state.js.map +1 -1
  246. package/dist/core/notifications.d.ts +5 -0
  247. package/dist/core/notifications.d.ts.map +1 -1
  248. package/dist/core/packet-wire.d.ts +26 -21
  249. package/dist/core/packet-wire.d.ts.map +1 -1
  250. package/dist/core/packet-wire.js +150 -112
  251. package/dist/core/packet-wire.js.map +1 -1
  252. package/dist/core/plurnk-uri.d.ts +1 -1
  253. package/dist/core/plurnk-uri.d.ts.map +1 -1
  254. package/dist/core/plurnk-uri.js +6 -5
  255. package/dist/core/plurnk-uri.js.map +1 -1
  256. package/dist/core/results.d.ts +9 -4
  257. package/dist/core/results.d.ts.map +1 -1
  258. package/dist/core/results.js +14 -1
  259. package/dist/core/results.js.map +1 -1
  260. package/dist/core/runtime-floor.d.ts +8 -0
  261. package/dist/core/runtime-floor.d.ts.map +1 -0
  262. package/dist/core/runtime-floor.js +40 -0
  263. package/dist/core/runtime-floor.js.map +1 -0
  264. package/dist/core/runtime-guard.d.ts +2 -0
  265. package/dist/core/runtime-guard.d.ts.map +1 -0
  266. package/dist/core/runtime-guard.js +5 -0
  267. package/dist/core/runtime-guard.js.map +1 -0
  268. package/dist/core/scheme-types.d.ts +20 -0
  269. package/dist/core/scheme-types.d.ts.map +1 -1
  270. package/dist/core/sqlite-synchronous.d.ts +1 -1
  271. package/dist/core/sqlite-synchronous.d.ts.map +1 -1
  272. package/dist/core/sqlite-synchronous.js.map +1 -1
  273. package/dist/core/statement-primary.d.ts +2 -2
  274. package/dist/core/statement-primary.d.ts.map +1 -1
  275. package/dist/core/statement-primary.js.map +1 -1
  276. package/dist/core/workspace-settings.js +1 -1
  277. package/dist/core/workspace-settings.js.map +1 -1
  278. package/dist/evidence/EvidenceReader.d.ts.map +1 -1
  279. package/dist/evidence/EvidenceReader.js +20 -6
  280. package/dist/evidence/EvidenceReader.js.map +1 -1
  281. package/dist/launch/Launch.d.ts +1 -0
  282. package/dist/launch/Launch.d.ts.map +1 -1
  283. package/dist/launch/Launch.js +28 -12
  284. package/dist/launch/Launch.js.map +1 -1
  285. package/dist/man/plurnk-service.1 +12 -2
  286. package/dist/schemes/EffectPolicy.js +1 -1
  287. package/dist/schemes/EffectPolicy.js.map +1 -1
  288. package/dist/schemes/Env.d.ts +1 -1
  289. package/dist/schemes/Env.d.ts.map +1 -1
  290. package/dist/schemes/Env.js +7 -1
  291. package/dist/schemes/Env.js.map +1 -1
  292. package/dist/schemes/Exec.d.ts +10 -12
  293. package/dist/schemes/Exec.d.ts.map +1 -1
  294. package/dist/schemes/Exec.js +337 -437
  295. package/dist/schemes/Exec.js.map +1 -1
  296. package/dist/schemes/ExecOutputScheme.d.ts +4 -6
  297. package/dist/schemes/ExecOutputScheme.d.ts.map +1 -1
  298. package/dist/schemes/ExecOutputScheme.js +17 -17
  299. package/dist/schemes/ExecOutputScheme.js.map +1 -1
  300. package/dist/schemes/ExecScheduler.d.ts.map +1 -1
  301. package/dist/schemes/ExecScheduler.js +1 -2
  302. package/dist/schemes/ExecScheduler.js.map +1 -1
  303. package/dist/schemes/ExecutionInput.js +3 -3
  304. package/dist/schemes/ExecutionInput.js.map +1 -1
  305. package/dist/schemes/File.d.ts +3 -18
  306. package/dist/schemes/File.d.ts.map +1 -1
  307. package/dist/schemes/File.js +148 -84
  308. package/dist/schemes/File.js.map +1 -1
  309. package/dist/schemes/Log.d.ts.map +1 -1
  310. package/dist/schemes/Log.js +193 -161
  311. package/dist/schemes/Log.js.map +1 -1
  312. package/dist/schemes/QuestionTool.d.ts.map +1 -1
  313. package/dist/schemes/QuestionTool.js +6 -8
  314. package/dist/schemes/QuestionTool.js.map +1 -1
  315. package/dist/schemes/ResourceTreeScheme.d.ts.map +1 -1
  316. package/dist/schemes/ResourceTreeScheme.js +2 -2
  317. package/dist/schemes/ResourceTreeScheme.js.map +1 -1
  318. package/dist/schemes/TurnSource.js +3 -3
  319. package/dist/schemes/TurnSource.js.map +1 -1
  320. package/dist/schemes/Worker.js.map +1 -1
  321. package/dist/schemes/_entry-crud.d.ts.map +1 -1
  322. package/dist/schemes/_entry-crud.js +4 -2
  323. package/dist/schemes/_entry-crud.js.map +1 -1
  324. package/dist/schemes/_entry-find.d.ts +2 -1
  325. package/dist/schemes/_entry-find.d.ts.map +1 -1
  326. package/dist/schemes/_entry-find.js +241 -130
  327. package/dist/schemes/_entry-find.js.map +1 -1
  328. package/dist/schemes/_entry-manifest.js +1 -1
  329. package/dist/schemes/_entry-manifest.js.map +1 -1
  330. package/dist/schemes/_entry-ops.js.map +1 -1
  331. package/dist/schemes/_search-index.js.map +1 -1
  332. package/dist/schemes/exec-entry-sink.d.ts +30 -0
  333. package/dist/schemes/exec-entry-sink.d.ts.map +1 -0
  334. package/dist/schemes/exec-entry-sink.js +238 -0
  335. package/dist/schemes/exec-entry-sink.js.map +1 -0
  336. package/dist/schemes/exec-lifetime.d.ts.map +1 -1
  337. package/dist/schemes/exec-lifetime.js +5 -2
  338. package/dist/schemes/exec-lifetime.js.map +1 -1
  339. package/dist/server/ClientOperations.d.ts +45 -0
  340. package/dist/server/ClientOperations.d.ts.map +1 -0
  341. package/dist/server/ClientOperations.js +192 -0
  342. package/dist/server/ClientOperations.js.map +1 -0
  343. package/dist/server/ClientReads.d.ts +13 -5
  344. package/dist/server/ClientReads.d.ts.map +1 -1
  345. package/dist/server/ClientReads.js +108 -21
  346. package/dist/server/ClientReads.js.map +1 -1
  347. package/dist/server/Credentials.js +2 -2
  348. package/dist/server/Credentials.js.map +1 -1
  349. package/dist/server/Daemon.d.ts +40 -28
  350. package/dist/server/Daemon.d.ts.map +1 -1
  351. package/dist/server/Daemon.js +263 -839
  352. package/dist/server/Daemon.js.map +1 -1
  353. package/dist/server/DaemonLock.d.ts +2 -0
  354. package/dist/server/DaemonLock.d.ts.map +1 -1
  355. package/dist/server/DaemonLock.js +10 -1
  356. package/dist/server/DaemonLock.js.map +1 -1
  357. package/dist/server/DaemonModules.d.ts +39 -0
  358. package/dist/server/DaemonModules.d.ts.map +1 -0
  359. package/dist/server/DaemonModules.js +219 -0
  360. package/dist/server/DaemonModules.js.map +1 -0
  361. package/dist/server/DrainSupervisor.d.ts +4 -2
  362. package/dist/server/DrainSupervisor.d.ts.map +1 -1
  363. package/dist/server/DrainSupervisor.js +318 -290
  364. package/dist/server/DrainSupervisor.js.map +1 -1
  365. package/dist/server/EnvFunctionality.d.ts +10 -7
  366. package/dist/server/EnvFunctionality.d.ts.map +1 -1
  367. package/dist/server/EnvFunctionality.js +7 -5
  368. package/dist/server/EnvFunctionality.js.map +1 -1
  369. package/dist/server/Functionality.d.ts +4 -5
  370. package/dist/server/Functionality.d.ts.map +1 -1
  371. package/dist/server/Functionality.js +24 -15
  372. package/dist/server/Functionality.js.map +1 -1
  373. package/dist/server/HttpListener.d.ts.map +1 -1
  374. package/dist/server/HttpListener.js +28 -8
  375. package/dist/server/HttpListener.js.map +1 -1
  376. package/dist/server/MembersFunctionality.d.ts +19 -7
  377. package/dist/server/MembersFunctionality.d.ts.map +1 -1
  378. package/dist/server/MembersFunctionality.js +37 -17
  379. package/dist/server/MembersFunctionality.js.map +1 -1
  380. package/dist/server/MessageDelivery.d.ts +43 -0
  381. package/dist/server/MessageDelivery.d.ts.map +1 -0
  382. package/dist/server/MessageDelivery.js +186 -0
  383. package/dist/server/MessageDelivery.js.map +1 -0
  384. package/dist/server/ModuleHost.d.ts +3 -3
  385. package/dist/server/ModuleHost.d.ts.map +1 -1
  386. package/dist/server/Places.d.ts +19 -0
  387. package/dist/server/Places.d.ts.map +1 -0
  388. package/dist/server/Places.js +76 -0
  389. package/dist/server/Places.js.map +1 -0
  390. package/dist/server/PluginSources.d.ts.map +1 -1
  391. package/dist/server/PluginSources.js +2 -1
  392. package/dist/server/PluginSources.js.map +1 -1
  393. package/dist/server/PlurnkSkill.d.ts.map +1 -1
  394. package/dist/server/PlurnkSkill.js +5 -4
  395. package/dist/server/PlurnkSkill.js.map +1 -1
  396. package/dist/server/Rollback.d.ts.map +1 -1
  397. package/dist/server/Rollback.js +2 -1
  398. package/dist/server/Rollback.js.map +1 -1
  399. package/dist/server/WorkerModels.d.ts +83 -0
  400. package/dist/server/WorkerModels.d.ts.map +1 -0
  401. package/dist/server/WorkerModels.js +500 -0
  402. package/dist/server/WorkerModels.js.map +1 -0
  403. package/dist/server/WorkerOverview.d.ts +22 -0
  404. package/dist/server/WorkerOverview.d.ts.map +1 -0
  405. package/dist/server/WorkerOverview.js +42 -0
  406. package/dist/server/WorkerOverview.js.map +1 -0
  407. package/dist/server/WorkspacePlugins.d.ts +1 -1
  408. package/dist/server/WorkspacePlugins.d.ts.map +1 -1
  409. package/dist/server/WorkspacePlugins.js +0 -1
  410. package/dist/server/WorkspacePlugins.js.map +1 -1
  411. package/dist/server/WorkspaceResidency.d.ts +3 -3
  412. package/dist/server/WorkspaceResidency.d.ts.map +1 -1
  413. package/dist/server/WorkspaceResidency.js.map +1 -1
  414. package/dist/server/client-input.d.ts +2 -2
  415. package/dist/server/client-input.d.ts.map +1 -1
  416. package/dist/server/client-input.js +19 -12
  417. package/dist/server/client-input.js.map +1 -1
  418. package/dist/server/envelope.d.ts +4 -1
  419. package/dist/server/envelope.d.ts.map +1 -1
  420. package/dist/server/envelope.js +7 -3
  421. package/dist/server/envelope.js.map +1 -1
  422. package/dist/server/envelope.sql +10 -6
  423. package/dist/server/logEntry.d.ts +38 -1
  424. package/dist/server/logEntry.d.ts.map +1 -1
  425. package/dist/server/logEntry.js +9 -9
  426. package/dist/server/logEntry.js.map +1 -1
  427. package/dist/server/logEntry.sql +4 -2
  428. package/dist/server/loopDocs.d.ts.map +1 -1
  429. package/dist/server/loopDocs.js +11 -2
  430. package/dist/server/loopDocs.js.map +1 -1
  431. package/dist/server/module-discovery.d.ts +2 -3
  432. package/dist/server/module-discovery.d.ts.map +1 -1
  433. package/dist/server/module-discovery.js +6 -6
  434. package/dist/server/module-discovery.js.map +1 -1
  435. package/dist/server/places.sql +83 -0
  436. package/dist/server/seam-loop.sql +8 -0
  437. package/dist/server/worker-overview.sql +50 -0
  438. package/dist/service.d.ts +1 -0
  439. package/dist/service.d.ts.map +1 -1
  440. package/dist/service.js +35 -9
  441. package/dist/service.js.map +1 -1
  442. package/docs/members.md +31 -33
  443. package/migrations/033_hidden_places.sql +10 -0
  444. package/package.json +48 -57
  445. package/dist/observe/init.d.ts +0 -8
  446. package/dist/observe/init.d.ts.map +0 -1
  447. package/dist/observe/init.js +0 -163
  448. package/dist/observe/init.js.map +0 -1
  449. package/dist/server/WorkerModelResolver.d.ts +0 -20
  450. package/dist/server/WorkerModelResolver.d.ts.map +0 -1
  451. package/dist/server/WorkerModelResolver.js +0 -200
  452. package/dist/server/WorkerModelResolver.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exec-entry-sink.js","sourceRoot":"","sources":["../../src/schemes/exec-entry-sink.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"exec-lifetime.d.ts","sourceRoot":"","sources":["../../src/schemes/exec-lifetime.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,YAAY;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,eAAO,MAAM,eAAe,kFAAsE,CAAC;AAGnG,eAAO,MAAM,cAAc,YAAa,MAAM,KAAG,MACwD,CAAC;AAI1G,eAAO,MAAM,iBAAiB,QAAS,OAAO,KAAG,YAAY,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CASzF,CAAC"}
1
+ {"version":3,"file":"exec-lifetime.d.ts","sourceRoot":"","sources":["../../src/schemes/exec-lifetime.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,YAAY;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,eAAO,MAAM,eAAe,kFAAsE,CAAC;AAGnG,eAAO,MAAM,cAAc,YAAa,MAAM,KAAG,MACwD,CAAC;AAI1G,eAAO,MAAM,iBAAiB,QAAS,OAAO,KAAG,YAAY,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAWzF,CAAC"}
@@ -4,7 +4,7 @@
4
4
  // loop; `turn` ends it at the worker's next pre-turn; `detached` outlives the loop and is nobody's
5
5
  // obligation. WAIT bounds observation rather than execution ({§worker-wait-timing}).
6
6
  const DURATION = /^([1-9]\d*)(s|m|h)$/u;
7
- const PER_UNIT = { s: 1, m: 60, h: 3600 };
7
+ const PER_UNIT = new Map([["s", 1], ["m", 60], ["h", 3600]]);
8
8
  export const LIFETIME_SYNTAX = 'a duration ("30s", "30m", "2h"), or "loop", "turn", or "detached"';
9
9
  // The authored form of a bounded lifetime, for the deadline's own Problem.
10
10
  export const formatLifetime = (seconds) => seconds % 3600 === 0 ? `${seconds / 3600}h` : seconds % 60 === 0 ? `${seconds / 60}m` : `${seconds}s`;
@@ -24,6 +24,9 @@ export const parseExecLifetime = (raw) => {
24
24
  const duration = DURATION.exec(raw);
25
25
  if (duration === null)
26
26
  return { invalid: `'${raw}' is not a lifetime; state ${LIFETIME_SYNTAX}.` };
27
- return { timeoutSec: Number(duration[1]) * PER_UNIT[duration[2]] };
27
+ const perUnit = PER_UNIT.get(duration[2]);
28
+ if (perUnit === undefined)
29
+ return { invalid: `'${raw}' is not a lifetime; state ${LIFETIME_SYNTAX}.` };
30
+ return { timeoutSec: Number(duration[1]) * perUnit };
28
31
  };
29
32
  //# sourceMappingURL=exec-lifetime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"exec-lifetime.js","sourceRoot":"","sources":["../../src/schemes/exec-lifetime.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,iGAAiG;AACjG,mGAAmG;AACnG,mGAAmG;AACnG,qFAAqF;AACrF,MAAM,QAAQ,GAAG,sBAAsB,CAAC;AACxC,MAAM,QAAQ,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAW,CAAC;AAQnD,MAAM,CAAC,MAAM,eAAe,GAAG,mEAAmE,CAAC;AAEnG,2EAA2E;AAC3E,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,OAAe,EAAU,EAAE,CACtD,OAAO,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,CAAC;AAE1G,+FAA+F;AAC/F,4DAA4D;AAC5D,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,GAAY,EAA+C,EAAE;IAC3F,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACjC,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,EAAE,OAAO,EAAE,iBAAiB,eAAe,GAAG,EAAE,CAAC;IACrF,IAAI,GAAG,KAAK,MAAM;QAAE,OAAO,EAAE,CAAC;IAC9B,IAAI,GAAG,KAAK,MAAM;QAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IAChD,IAAI,GAAG,KAAK,UAAU;QAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAClD,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,EAAE,OAAO,EAAE,IAAI,GAAG,8BAA8B,eAAe,GAAG,EAAE,CAAC;IACnG,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAA0B,CAAC,EAAE,CAAC;AAChG,CAAC,CAAC"}
1
+ {"version":3,"file":"exec-lifetime.js","sourceRoot":"","sources":["../../src/schemes/exec-lifetime.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,iGAAiG;AACjG,mGAAmG;AACnG,mGAAmG;AACnG,qFAAqF;AACrF,MAAM,QAAQ,GAAG,sBAAsB,CAAC;AACxC,MAAM,QAAQ,GAAgC,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AAQ1F,MAAM,CAAC,MAAM,eAAe,GAAG,mEAAmE,CAAC;AAEnG,2EAA2E;AAC3E,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,OAAe,EAAU,EAAE,CACtD,OAAO,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,CAAC;AAE1G,+FAA+F;AAC/F,4DAA4D;AAC5D,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,GAAY,EAA+C,EAAE;IAC3F,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACjC,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,EAAE,OAAO,EAAE,iBAAiB,eAAe,GAAG,EAAE,CAAC;IACrF,IAAI,GAAG,KAAK,MAAM;QAAE,OAAO,EAAE,CAAC;IAC9B,IAAI,GAAG,KAAK,MAAM;QAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IAChD,IAAI,GAAG,KAAK,UAAU;QAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAClD,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,EAAE,OAAO,EAAE,IAAI,GAAG,8BAA8B,eAAe,GAAG,EAAE,CAAC;IACnG,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,EAAE,OAAO,EAAE,IAAI,GAAG,8BAA8B,eAAe,GAAG,EAAE,CAAC;IACvG,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC;AACzD,CAAC,CAAC"}
@@ -0,0 +1,45 @@
1
+ import { type PlurnkStatement, type RollbackReport } from "@plurnk/plurnk-contracts";
2
+ import type { Db } from "../core/Db.ts";
3
+ import type Engine from "../core/Engine.ts";
4
+ import type WorkspaceGate from "../core/WorkspaceGate.ts";
5
+ import type WorkspaceResidency from "./WorkspaceResidency.ts";
6
+ export default class ClientOperations {
7
+ #private;
8
+ constructor({ db, engine, residency, workspaceGate, assertModelWorker, assertWorkerOwned, emitLogEntry }: {
9
+ db: Db;
10
+ engine: Engine;
11
+ residency: WorkspaceResidency;
12
+ workspaceGate: WorkspaceGate;
13
+ assertModelWorker: (workspaceId: number, workerId: number) => Promise<void>;
14
+ assertWorkerOwned: (workspaceId: number, workerId: number) => Promise<void>;
15
+ emitLogEntry: (workspaceId: number, logEntryId: number) => Promise<void>;
16
+ });
17
+ start(): void;
18
+ beginStop(reason: string): void;
19
+ idle(): Promise<void>;
20
+ dispatchClientAction(args: {
21
+ workspaceId: number;
22
+ actor: string;
23
+ contextWorkerId?: number;
24
+ statements: PlurnkStatement[];
25
+ onLoop?: (loop: {
26
+ workerId: number;
27
+ loopId: number;
28
+ }) => void;
29
+ }): Promise<Array<{
30
+ status: number;
31
+ [key: string]: unknown;
32
+ }>>;
33
+ cancelLoop(args: {
34
+ workspaceId: number;
35
+ loopId: number;
36
+ reason?: string;
37
+ }): Promise<boolean>;
38
+ rollback(args: {
39
+ workspaceId: number;
40
+ workerId: number;
41
+ actor: string;
42
+ to: string;
43
+ }): Promise<RollbackReport>;
44
+ }
45
+ //# sourceMappingURL=ClientOperations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClientOperations.d.ts","sourceRoot":"","sources":["../../src/server/ClientOperations.ts"],"names":[],"mappings":"AAGA,OAAO,EAAa,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAEhG,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAG5C,OAAO,KAAK,aAAa,MAAM,0BAA0B,CAAC;AAM1D,OAAO,KAAK,kBAAkB,MAAM,yBAAyB,CAAC;AAyB9D,MAAM,CAAC,OAAO,OAAO,gBAAgB;;IAgBjC,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,YAAY,EAAE,EAAE;QACtG,EAAE,EAAE,EAAE,CAAC;QACP,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,kBAAkB,CAAC;QAC9B,aAAa,EAAE,aAAa,CAAC;QAC7B,iBAAiB,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5E,iBAAiB,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5E,YAAY,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;KAC5E,EAQA;IAGD,KAAK,IAAI,IAAI,CAEZ;IAED,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAE9B;IAGK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAE1B;IAKK,oBAAoB,CAAC,IAAI,EAAE;QAC7B,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,UAAU,EAAE,eAAe,EAAE,CAAC;QAC9B,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,KAAK,IAAI,CAAC;KACjE,GAAG,OAAO,CAAC,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC,CAAC,CAc7D;IAoDK,UAAU,CAAC,IAAI,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CASjG;IAyCK,QAAQ,CAAC,IAAI,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,cAAc,CAAC,CAalH;CACJ"}
@@ -0,0 +1,192 @@
1
+ // A person's client operations: each one an administrative loop in the workspace's runtime worker with its own
2
+ // cancellation scope, the statements it dispatches as client turns, its cancellation, and the rollback that runs as
3
+ // one such operation. Split out of Daemon, which keeps the delegating port entry points.
4
+ import { Validator } from "@plurnk/plurnk-contracts";
5
+ import ChannelWrite from "../core/ChannelWrite.js";
6
+ import RuntimeWorker from "../core/RuntimeWorker.js";
7
+ import Turn from "../core/Turn.js";
8
+ import Results, { OperationFailureError } from "../core/results.js";
9
+ import ClientInput from "./client-input.js";
10
+ import { daemonFailure } from "./daemon-results.js";
11
+ import Envelope from "./envelope.js";
12
+ import Rollback from "./Rollback.js";
13
+ // {§connection-lifecycle} A client operation cancelled mid-way settles its loop with what happened.
14
+ const clientOperationCancelled = (reason) => {
15
+ const said = typeof reason === "string" ? reason : "cancelled";
16
+ return Results.failure("daemon:client", "operation-cancelled", 499, `The client operation was cancelled: ${said}.`, {}, {
17
+ reason: said, stage: "client-action", retryable: false,
18
+ });
19
+ };
20
+ const clientActionFailure = (error) => {
21
+ if (error instanceof OperationFailureError)
22
+ return error.result;
23
+ console.error("Client action failed outside its operation result contract:", error);
24
+ return Results.failure("daemon:client", "action-threw", 500, "The client action failed outside its operation result contract.", {}, {
25
+ stage: "client-action",
26
+ retryable: false
27
+ });
28
+ };
29
+ export default class ClientOperations {
30
+ #db;
31
+ #engine;
32
+ #residency;
33
+ #workspaceGate;
34
+ #assertModelWorker;
35
+ #assertWorkerOwned;
36
+ #emitLogEntry;
37
+ // {§connection-lifecycle} Each running client operation's loop, its own cancellation scope and its settlement.
38
+ #loops = new Map();
39
+ // {§worker-lifecycle-total-reap} Every client operation's scope descends from this one, which shutdown aborts:
40
+ // an operation still dispatching, and every execution an operation started, ends with the daemon.
41
+ #scope = new AbortController();
42
+ constructor({ db, engine, residency, workspaceGate, assertModelWorker, assertWorkerOwned, emitLogEntry }) {
43
+ this.#db = db;
44
+ this.#engine = engine;
45
+ this.#residency = residency;
46
+ this.#workspaceGate = workspaceGate;
47
+ this.#assertModelWorker = assertModelWorker;
48
+ this.#assertWorkerOwned = assertWorkerOwned;
49
+ this.#emitLogEntry = emitLogEntry;
50
+ }
51
+ // A boot opens a fresh scope for the operations that follow; shutdown aborts it ({§worker-lifecycle-total-reap}).
52
+ start() {
53
+ this.#scope = new AbortController();
54
+ }
55
+ beginStop(reason) {
56
+ this.#scope.abort(reason);
57
+ }
58
+ // Every operation in flight has settled its loop.
59
+ async idle() {
60
+ await Promise.all([...this.#loops.values()].map(({ settled }) => settled));
61
+ }
62
+ // {§connection-lifecycle} A person's client operation: one administrative loop in the workspace's runtime
63
+ // worker, attributed to its actor, reading `log:///` in the worker that person acts for
64
+ // ({§actor-boundary-client-operations}).
65
+ async dispatchClientAction(args) {
66
+ const workspaceId = ClientInput.assertId("operation.dispatch-batch", "workspaceId", args.workspaceId);
67
+ const actor = ClientInput.assertActor("operation.dispatch-batch", args.actor);
68
+ const contextWorkerId = args.contextWorkerId === undefined
69
+ ? undefined
70
+ : ClientInput.assertId("operation.dispatch-batch", "contextWorkerId", args.contextWorkerId);
71
+ if (contextWorkerId !== undefined)
72
+ await this.#assertModelWorker(workspaceId, contextWorkerId);
73
+ const { statements } = args;
74
+ if (statements.length === 0)
75
+ return [];
76
+ return await this.#clientOperation({ workspaceId, actor, contextWorkerId, onLoop: args.onLoop }, async (dispatch) => {
77
+ const results = [];
78
+ for (const statement of statements)
79
+ results.push(await dispatch(statement));
80
+ return results;
81
+ });
82
+ }
83
+ // {§connection-lifecycle} One client operation: the runtime worker's administrative loop with its own
84
+ // cancellation scope, settled when the operation ends. Nothing else in the runtime worker shares the scope.
85
+ async #clientOperation(operation, body) {
86
+ const { workspaceId, actor, contextWorkerId } = operation;
87
+ const workerId = await RuntimeWorker.ensure(this.#db, workspaceId);
88
+ const releaseCapabilities = await this.#residency.acquire(workspaceId);
89
+ try {
90
+ const loopId = await Envelope.ensureClientLoop(this.#db, workerId, actor);
91
+ const scope = new AbortController();
92
+ const signal = AbortSignal.any([scope.signal, this.#scope.signal]);
93
+ const settled = Promise.withResolvers();
94
+ this.#loops.set(loopId, { workspaceId, scope, settled: settled.promise });
95
+ const unbind = this.#engine.bindLoopSignal(loopId, signal);
96
+ try {
97
+ operation.onLoop?.({ workerId, loopId });
98
+ const result = await body(async (statement) => {
99
+ signal.throwIfAborted();
100
+ return await this.#dispatchClientStatement({
101
+ workspaceId, workerId, loopId, statement,
102
+ contextWorkerId: contextWorkerId ?? null,
103
+ });
104
+ });
105
+ signal.throwIfAborted();
106
+ await Envelope.closeClientLoop(this.#db, loopId, { status: 200 });
107
+ return result;
108
+ }
109
+ catch (error) {
110
+ // A cancelled operation settles cancelled, however its statement in flight ended.
111
+ const failure = signal.aborted ? new OperationFailureError(clientOperationCancelled(signal.reason)) : error;
112
+ await Envelope.closeClientLoop(this.#db, loopId, clientActionFailure(failure));
113
+ throw failure;
114
+ }
115
+ finally {
116
+ unbind();
117
+ this.#loops.delete(loopId);
118
+ settled.resolve();
119
+ }
120
+ }
121
+ finally {
122
+ releaseCapabilities();
123
+ }
124
+ }
125
+ // {§connection-lifecycle} Cancel exactly one client operation: its dispatch while it runs, and every execution its
126
+ // rows started that still runs. The rest of the runtime worker runs on.
127
+ async cancelLoop(args) {
128
+ const workspaceId = ClientInput.assertId("operation.cancel", "workspaceId", args.workspaceId);
129
+ const loopId = ClientInput.assertId("operation.cancel", "loopId", args.loopId);
130
+ const operation = this.#loops.get(loopId);
131
+ const dispatching = operation !== undefined && operation.workspaceId === workspaceId && !operation.scope.signal.aborted;
132
+ if (dispatching)
133
+ operation.scope.abort(args.reason ?? "user_cancelled");
134
+ const executions = await ChannelWrite.findOpenSubscriptionsForClientLoop(this.#db, { workspaceId, loopId });
135
+ const reaped = await Promise.all(executions.map((subscriptionId) => this.#engine.cancelSubscription(subscriptionId)));
136
+ return dispatching || reaped.includes(true);
137
+ }
138
+ async #dispatchClientStatement(args) {
139
+ const { workspaceId, workerId, loopId, statement, contextWorkerId } = args;
140
+ return this.#workspaceGate.withTurn(workspaceId, workerId, async () => {
141
+ await this.#residency.reconcile(workspaceId);
142
+ const { id: turnId } = await Turn.open(this.#db, {
143
+ loopId,
144
+ producer: "client",
145
+ kind: "operation"
146
+ });
147
+ let turnOpen = true;
148
+ try {
149
+ const entryIds = [];
150
+ const result = await this.#engine.dispatch({
151
+ statement, workspaceId, workerId, loopId, turnId, sequence: 1,
152
+ origin: "client", client: { contextWorkerId },
153
+ onDispatch: (logEntryId) => { entryIds.push(logEntryId); }
154
+ });
155
+ await Turn.complete(this.#db, turnId, result.status);
156
+ turnOpen = false;
157
+ for (const logEntryId of entryIds)
158
+ await this.#emitLogEntry(workspaceId, logEntryId);
159
+ return result;
160
+ }
161
+ catch (cause) {
162
+ if (turnOpen) {
163
+ try {
164
+ await Turn.complete(this.#db, turnId, 500);
165
+ }
166
+ catch (completionCause) {
167
+ throw new AggregateError([cause, completionCause], `client operation turn ${turnId} failed and could not be completed`);
168
+ }
169
+ }
170
+ throw cause;
171
+ }
172
+ }, this.#loops.get(loopId)?.scope.signal);
173
+ }
174
+ // {§rollback} {§methods-workspace-rollback} — the compensations are one client operation of the acting person
175
+ // ({§connection-lifecycle}): attributed to that person and, being that person's decision, never routed for review.
176
+ async rollback(args) {
177
+ const workspaceId = ClientInput.assertId("workspace.rollback", "workspaceId", args.workspaceId);
178
+ const workerId = ClientInput.assertId("workspace.rollback", "workerId", args.workerId);
179
+ const actor = ClientInput.assertActor("workspace.rollback", args.actor);
180
+ if (typeof args.to !== "string")
181
+ throw daemonFailure("daemon:rollback", "coordinate-invalid", 400, "The rollback coordinate must be a string.", {});
182
+ await this.#assertWorkerOwned(workspaceId, workerId);
183
+ const report = await this.#clientOperation({ workspaceId, actor, contextWorkerId: workerId }, (dispatch) => Rollback.run({
184
+ db: this.#db,
185
+ projectRoot: async (id) => (await this.#db.envelope_get_workspace.get({ id }))?.project_root ?? null,
186
+ executorTags: (id) => this.#engine.executorTags(id),
187
+ apply: async (statement) => await dispatch(statement),
188
+ }, { workspaceId, workerId, to: args.to }));
189
+ return Validator.assertRollbackReport(report);
190
+ }
191
+ }
192
+ //# sourceMappingURL=ClientOperations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClientOperations.js","sourceRoot":"","sources":["../../src/server/ClientOperations.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,8 @@
1
1
  import type { Db } from "../core/Db.ts";
2
- import Engine from "../core/Engine.ts";
3
- import { type EntryReadResult } from "@plurnk/plurnk-contracts";
4
- import type { LogEntryWire } from "@plurnk/plurnk-contracts";
5
- import WorkspaceGate from "../core/WorkspaceGate.ts";
6
- import WorkspaceResidency from "./WorkspaceResidency.ts";
2
+ import type Engine from "../core/Engine.ts";
3
+ import { type ApplicationStream, type EntryReadResult, type LogEntryWire } from "@plurnk/plurnk-contracts";
4
+ import type WorkspaceGate from "../core/WorkspaceGate.ts";
5
+ import type WorkspaceResidency from "./WorkspaceResidency.ts";
7
6
  export default class ClientReads {
8
7
  #private;
9
8
  constructor({ db, engine, workspaceGate, residency }: {
@@ -19,6 +18,11 @@ export default class ClientReads {
19
18
  channel?: string;
20
19
  offset?: number;
21
20
  }): Promise<EntryReadResult>;
21
+ readEntryChannel(args: {
22
+ workspaceId: number;
23
+ workerId: number;
24
+ target: string;
25
+ }): Promise<EntryReadResult>;
22
26
  readLog(args: {
23
27
  workspaceId: number;
24
28
  workerId: number;
@@ -31,5 +35,9 @@ export default class ClientReads {
31
35
  turnSeq?: number;
32
36
  sequence?: number;
33
37
  }): Promise<LogEntryWire[]>;
38
+ readStreams(args: {
39
+ workspaceId: number;
40
+ workerId: number;
41
+ }): Promise<ApplicationStream[]>;
34
42
  }
35
43
  //# sourceMappingURL=ClientReads.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ClientReads.d.ts","sourceRoot":"","sources":["../../src/server/ClientReads.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,OAAO,EAAsC,KAAK,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAEpG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAG7D,OAAO,aAAa,MAAM,0BAA0B,CAAC;AACrD,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AAOzD,MAAM,CAAC,OAAO,OAAO,WAAW;;IAM5B,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,EAAE;QAClD,EAAE,EAAE,EAAE,CAAC;QACP,MAAM,EAAE,MAAM,CAAC;QACf,aAAa,EAAE,aAAa,CAAC;QAC7B,SAAS,EAAE,kBAAkB,CAAC;KACjC,EAKA;IAIK,SAAS,CAAC,IAAI,EAAE;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,eAAe,CAAC,CAsL3B;IAQK,OAAO,CAAC,IAAI,EAAE;QAChB,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QACtC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QACtF,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;KACzD,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAuE1B;CAEJ"}
1
+ {"version":3,"file":"ClientReads.d.ts","sourceRoot":"","sources":["../../src/server/ClientReads.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAa,KAAK,iBAAiB,EAA0D,KAAK,eAAe,EAAE,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAI9K,OAAO,KAAK,aAAa,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,kBAAkB,MAAM,yBAAyB,CAAC;AA0B9D,MAAM,CAAC,OAAO,OAAO,WAAW;;IAM5B,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,EAAE;QAClD,EAAE,EAAE,EAAE,CAAC;QACP,MAAM,EAAE,MAAM,CAAC;QACf,aAAa,EAAE,aAAa,CAAC;QAC7B,SAAS,EAAE,kBAAkB,CAAC;KACjC,EAKA;IAIK,SAAS,CAAC,IAAI,EAAE;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,eAAe,CAAC,CA2L3B;IAIK,gBAAgB,CAAC,IAAI,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,eAAe,CAAC,CAWhH;IAmDK,OAAO,CAAC,IAAI,EAAE;QAChB,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QACtC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QACtF,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;KACzD,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CA+C1B;IAGK,WAAW,CAAC,IAAI,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAmB/F;CA0CJ"}
@@ -1,13 +1,11 @@
1
1
  import { Knob } from "@plurnk/plurnk-meta";
2
- import Engine from "../core/Engine.js";
3
2
  import { parsePath } from "@plurnk/plurnk-parser";
4
3
  import { Validator } from "@plurnk/plurnk-contracts";
5
- import LogEntry from "./logEntry.js";
4
+ import LogEntry, {} from "./logEntry.js";
6
5
  import ClientInput from "./client-input.js";
7
6
  import Results from "../core/results.js";
8
- import WorkspaceGate from "../core/WorkspaceGate.js";
9
- import WorkspaceResidency from "./WorkspaceResidency.js";
10
7
  import { daemonFailure } from "./daemon-results.js";
8
+ import { renderAddress } from "../core/plurnk-uri.js";
11
9
  const entryReadResult = (result) => Validator.assertEntryReadResult(result);
12
10
  export default class ClientReads {
13
11
  #db;
@@ -90,14 +88,20 @@ export default class ClientReads {
90
88
  retryable: false
91
89
  }));
92
90
  }
93
- const location = await this.#engine.resolveEntryAddress({
91
+ const acquired = await this.#engine.readClientEntry({
94
92
  workspaceId,
95
93
  workerId,
96
94
  target: parsed
97
95
  });
98
- if (location === null) {
96
+ if (acquired === null) {
99
97
  return entryReadResult(Results.failure("daemon:entry", "entry-not-found", 404, "No visible entry exists at the requested target.", { entry: null }, { target: args.target }));
100
98
  }
99
+ if (acquired.kind === "refused") {
100
+ return entryReadResult({ status: acquired.result.status, problem: acquired.result.problem, entry: null });
101
+ }
102
+ if (acquired.kind === "computed")
103
+ return ClientReads.#computedRead(acquired.target, acquired.channels, channel, args.offset);
104
+ const location = acquired.address;
101
105
  const row = await this.#db.entry_read_lookup.get({
102
106
  workspace_id: workspaceId,
103
107
  scheme: location.scheme,
@@ -122,7 +126,7 @@ export default class ClientReads {
122
126
  availableChannels,
123
127
  ...(availableChannels.length === 0
124
128
  ? {}
125
- : { recovery: `Use one of the available channels: ${availableChannels.map((channel) => `#${channel}`).join(", ")}.` }),
129
+ : { recovery: `Use one of the available channels: ${availableChannels.map((available) => `#${available}`).join(", ")}.` }),
126
130
  retryable: false
127
131
  }));
128
132
  }
@@ -153,26 +157,60 @@ export default class ClientReads {
153
157
  releaseCapabilities();
154
158
  }
155
159
  }
160
+ // {§methods-entry-channel-read} The channel `target` selects, its fragment's or else its scheme's default, read as
161
+ // `readEntry` reads it, complete: the HTTP form of an address answers with it.
162
+ async readEntryChannel(args) {
163
+ let parsed;
164
+ try {
165
+ parsed = typeof args.target === "string" ? parsePath(args.target) : null;
166
+ }
167
+ catch {
168
+ parsed = null;
169
+ }
170
+ const channel = parsed?.kind === "url"
171
+ ? parsed.fragment ?? this.#engine.defaultChannelAt(parsed, args.workspaceId)
172
+ : undefined;
173
+ return this.readEntry({ ...args, ...(channel === undefined ? {} : { channel }) });
174
+ }
175
+ // {§client-entry-address} {§entry-read-result} A representation core computes, read as a stored entry is: every
176
+ // channel, or the selected one from its offset in Unicode code points. It is no stored entry, so it names none.
177
+ static #computedRead(target, computed, channel, offset) {
178
+ if (channel !== undefined && !Object.hasOwn(computed, channel)) {
179
+ // The unnamed default channel is the one an address without a fragment reads; it has no name to offer.
180
+ const availableChannels = Object.keys(computed).filter((name) => name.length > 0);
181
+ return entryReadResult(Results.failure("daemon:entry", "channel-not-found", 404, `Channel #${channel} does not exist at ${target}.`, { entry: null }, {
182
+ target,
183
+ requestedChannel: channel,
184
+ availableChannels,
185
+ ...(availableChannels.length === 0
186
+ ? {}
187
+ : { recovery: `Use one of the available channels: ${availableChannels.map((available) => `#${available}`).join(", ")}.` }),
188
+ retryable: false
189
+ }));
190
+ }
191
+ const selected = Object.entries(computed).filter(([name]) => channel === undefined || name === channel);
192
+ const channels = {};
193
+ for (const [name, { content, mimetype, state, weight }] of selected) {
194
+ const points = Array.from(content);
195
+ const from = Math.min(offset ?? 0, points.length);
196
+ channels[name] = {
197
+ content: from === 0 ? content : points.slice(from).join(""),
198
+ contentOffset: from,
199
+ contentLength: points.length,
200
+ mimetype,
201
+ weight,
202
+ state
203
+ };
204
+ }
205
+ return entryReadResult({ status: 200, entry: { entryId: null, target, channels } });
206
+ }
156
207
  // {§methods-log-read} — a workspace's journal, the module's primary render input. The worker is
157
208
  // ownership-verified against the workspace (a workspace reads only its own workers — the model worker included,
158
209
  // {§methods-log-coordinate}); entries filter by loop/turn/since-id or the full L/T/S display coordinate, newest first,
159
210
  // and `beforeId` pages back through older rows ({§methods-log-read}). Core owns the
160
211
  // journal + the invariant; the module shapes the entries into AG-UI messages at its edge.
161
212
  async readLog(args) {
162
- const workspaceId = ClientInput.assertId("log.read", "workspaceId", args.workspaceId);
163
- const workerId = ClientInput.assertId("log.read", "workerId", args.workerId);
164
- const target = await this.#db.envelope_get_worker_by_id.get({ id: workerId });
165
- if (target === undefined) {
166
- throw daemonFailure("daemon:worker", "worker-not-found", 404, `Worker ${workerId} does not exist.`, { workerId });
167
- }
168
- if (target.workspace_id !== workspaceId) {
169
- throw daemonFailure("daemon:worker", "workspace-mismatch", 409, `Worker ${workerId} does not belong to workspace ${workspaceId}.`, {
170
- workerId,
171
- workspaceId,
172
- actualWorkspaceId: target.workspace_id,
173
- retryable: false
174
- });
175
- }
213
+ const workerId = await this.#ownedWorker("log.read", args);
176
214
  const coordinateFields = {
177
215
  loopId: args.loopId,
178
216
  turnId: args.turnId,
@@ -211,5 +249,54 @@ export default class ClientReads {
211
249
  });
212
250
  return rows.map((row) => LogEntry.wire(row));
213
251
  }
252
+ // {§methods-worker-streams} The streams the worker holds open, in opening order, each with every channel of its entry.
253
+ async readStreams(args) {
254
+ const workerId = await this.#ownedWorker("streams.read", args);
255
+ const rows = await this.#db.worker_open_streams.all({ worker_id: workerId });
256
+ const opened = new Map();
257
+ for (const row of rows) {
258
+ const stream = opened.get(row.id) ?? { row, channels: [] };
259
+ opened.set(row.id, stream);
260
+ if (row.channel !== null && row.state !== null && row.mimetype !== null) {
261
+ stream.channels.push({ channel: row.channel, state: row.state, mimetype: row.mimetype });
262
+ }
263
+ }
264
+ return [...opened.values()].map(({ row, channels }) => ({
265
+ entryId: row.entry_id,
266
+ workerId: row.worker_id,
267
+ target: renderAddress({ scheme: row.scheme, authority: row.authority, pathname: row.pathname }),
268
+ lifetime: row.detached === 1 ? "detached" : row.turn_scoped === 1 ? "turn" : "loop",
269
+ ...ClientReads.#openedAt(row.source),
270
+ channels,
271
+ }));
272
+ }
273
+ // The operation a stream began at, from the `log:///<loop>/<turn>/<item>/<op>` source its spawn recorded when it
274
+ // began in a turn ({§subscriptions-causal-resource}); none otherwise.
275
+ static #openedAt(source) {
276
+ const match = source === null ? null : /^log:\/\/\/(\d+)\/(\d+)\/(\d+)\/[^/]+$/u.exec(source);
277
+ if (match === null)
278
+ return {};
279
+ const [loopSeq, turnSeq, sequence] = match.slice(1).map(Number);
280
+ return { loop_seq: loopSeq, turn_seq: turnSeq, sequence };
281
+ }
282
+ // A read names a worker of the workspace it reads (a workspace reads only its own workers — the model worker
283
+ // included, {§methods-log-coordinate}): the worker's id, or the Problem that refuses it.
284
+ async #ownedWorker(context, args) {
285
+ const workspaceId = ClientInput.assertId(context, "workspaceId", args.workspaceId);
286
+ const workerId = ClientInput.assertId(context, "workerId", args.workerId);
287
+ const target = await this.#db.envelope_get_worker_by_id.get({ id: workerId });
288
+ if (target === undefined) {
289
+ throw daemonFailure("daemon:worker", "worker-not-found", 404, `Worker ${workerId} does not exist.`, { workerId });
290
+ }
291
+ if (target.workspace_id !== workspaceId) {
292
+ throw daemonFailure("daemon:worker", "workspace-mismatch", 409, `Worker ${workerId} does not belong to workspace ${workspaceId}.`, {
293
+ workerId,
294
+ workspaceId,
295
+ actualWorkspaceId: target.workspace_id,
296
+ retryable: false
297
+ });
298
+ }
299
+ return workerId;
300
+ }
214
301
  }
215
302
  //# sourceMappingURL=ClientReads.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ClientReads.js","sourceRoot":"","sources":["../../src/server/ClientReads.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ClientReads.js","sourceRoot":"","sources":["../../src/server/ClientReads.ts"],"names":[],"mappings":"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"}
@@ -128,9 +128,9 @@ export default class Credentials {
128
128
  return Object.freeze([...families]
129
129
  .filter(([, family]) => family.signedIn)
130
130
  .map(([family, { expiresAt, clients }]) => Object.freeze({
131
- family, subject, createdAt: this.#established.get(family), expiresAt, clients: Object.freeze([...clients].sort()),
131
+ family, subject, createdAt: this.#established.get(family), expiresAt, clients: Object.freeze([...clients].toSorted()),
132
132
  }))
133
- .sort((a, b) => a.createdAt - b.createdAt || a.family.localeCompare(b.family)));
133
+ .toSorted((a, b) => a.createdAt - b.createdAt || a.family.localeCompare(b.family)));
134
134
  }
135
135
  registerClient({ id, redirectPaths, scopes, stylesheetPath }) {
136
136
  if (typeof id !== "string" || !/^[A-Za-z0-9._-]+$/u.test(id) || id === "operator") {