@plurnk/plurnk-service 1.16.4 → 1.17.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 (636) hide show
  1. package/.env.defaults +122 -246
  2. package/INSTALL.md +84 -138
  3. package/README.md +9 -5
  4. package/SPEC.md +1710 -1015
  5. package/dist/Paths.d.ts +2 -0
  6. package/dist/Paths.d.ts.map +1 -1
  7. package/dist/Paths.js +2 -0
  8. package/dist/Paths.js.map +1 -1
  9. package/dist/build-info.d.ts.map +1 -1
  10. package/dist/build-info.js +7 -1
  11. package/dist/build-info.js.map +1 -1
  12. package/dist/build-info.json +1 -1
  13. package/dist/content/body-preview.d.ts +8 -0
  14. package/dist/content/body-preview.d.ts.map +1 -0
  15. package/dist/content/body-preview.js +39 -0
  16. package/dist/content/body-preview.js.map +1 -0
  17. package/dist/content/byte-view.d.ts +1 -4
  18. package/dist/content/byte-view.d.ts.map +1 -1
  19. package/dist/content/byte-view.js.map +1 -1
  20. package/dist/content/edit-collision.d.ts.map +1 -1
  21. package/dist/content/edit-collision.js +3 -4
  22. package/dist/content/edit-collision.js.map +1 -1
  23. package/dist/content/line-anchors.d.ts +2 -2
  24. package/dist/content/line-anchors.d.ts.map +1 -1
  25. package/dist/content/line-anchors.js +4 -3
  26. package/dist/content/line-anchors.js.map +1 -1
  27. package/dist/content/line-selection.d.ts +9 -0
  28. package/dist/content/line-selection.d.ts.map +1 -0
  29. package/dist/content/line-selection.js +29 -0
  30. package/dist/content/line-selection.js.map +1 -0
  31. package/dist/content/matcher.d.ts +0 -1
  32. package/dist/content/matcher.d.ts.map +1 -1
  33. package/dist/content/matcher.js +2 -3
  34. package/dist/content/matcher.js.map +1 -1
  35. package/dist/content/pattern-edits.d.ts +39 -0
  36. package/dist/content/pattern-edits.d.ts.map +1 -0
  37. package/dist/content/pattern-edits.js +121 -0
  38. package/dist/content/pattern-edits.js.map +1 -0
  39. package/dist/content/read-projector.d.ts +18 -9
  40. package/dist/content/read-projector.d.ts.map +1 -1
  41. package/dist/content/read-projector.js +132 -35
  42. package/dist/content/read-projector.js.map +1 -1
  43. package/dist/content/read-resolve.d.ts +3 -1
  44. package/dist/content/read-resolve.d.ts.map +1 -1
  45. package/dist/content/read-resolve.js +39 -7
  46. package/dist/content/read-resolve.js.map +1 -1
  47. package/dist/core/AdmittedTurnExecutor.d.ts +3 -5
  48. package/dist/core/AdmittedTurnExecutor.d.ts.map +1 -1
  49. package/dist/core/AdmittedTurnExecutor.js +91 -83
  50. package/dist/core/AdmittedTurnExecutor.js.map +1 -1
  51. package/dist/core/BareBatchRunner.d.ts +6 -1
  52. package/dist/core/BareBatchRunner.d.ts.map +1 -1
  53. package/dist/core/BareBatchRunner.js +20 -5
  54. package/dist/core/BareBatchRunner.js.map +1 -1
  55. package/dist/core/BudgetReadout.d.ts +2 -3
  56. package/dist/core/BudgetReadout.d.ts.map +1 -1
  57. package/dist/core/BudgetReadout.js +23 -32
  58. package/dist/core/BudgetReadout.js.map +1 -1
  59. package/dist/core/CapabilityPolicies.d.ts +3 -8
  60. package/dist/core/CapabilityPolicies.d.ts.map +1 -1
  61. package/dist/core/CapabilityPolicies.js +2 -28
  62. package/dist/core/CapabilityPolicies.js.map +1 -1
  63. package/dist/core/CapabilityResolver.d.ts +10 -10
  64. package/dist/core/CapabilityResolver.d.ts.map +1 -1
  65. package/dist/core/CapabilityResolver.js +87 -65
  66. package/dist/core/CapabilityResolver.js.map +1 -1
  67. package/dist/core/ChannelWrite.d.ts +14 -11
  68. package/dist/core/ChannelWrite.d.ts.map +1 -1
  69. package/dist/core/ChannelWrite.js +11 -12
  70. package/dist/core/ChannelWrite.js.map +1 -1
  71. package/dist/core/ChannelWrite.sql +99 -9
  72. package/dist/core/ClientInteractions.d.ts.map +1 -1
  73. package/dist/core/ClientInteractions.js +7 -0
  74. package/dist/core/ClientInteractions.js.map +1 -1
  75. package/dist/core/CoreSchemeServices.d.ts +13 -10
  76. package/dist/core/CoreSchemeServices.d.ts.map +1 -1
  77. package/dist/core/CoreSchemeServices.js +13 -5
  78. package/dist/core/CoreSchemeServices.js.map +1 -1
  79. package/dist/core/DataStatementRunner.d.ts +2 -2
  80. package/dist/core/DataStatementRunner.d.ts.map +1 -1
  81. package/dist/core/DataStatementRunner.js +36 -39
  82. package/dist/core/DataStatementRunner.js.map +1 -1
  83. package/dist/core/Dispatcher.d.ts +19 -26
  84. package/dist/core/Dispatcher.d.ts.map +1 -1
  85. package/dist/core/Dispatcher.js +369 -219
  86. package/dist/core/Dispatcher.js.map +1 -1
  87. package/dist/core/Dispatcher.sql +66 -0
  88. package/dist/core/DurableStatement.d.ts.map +1 -1
  89. package/dist/core/DurableStatement.js +2 -1
  90. package/dist/core/DurableStatement.js.map +1 -1
  91. package/dist/core/EditMutations.d.ts +14 -18
  92. package/dist/core/EditMutations.d.ts.map +1 -1
  93. package/dist/core/EditMutations.js +211 -280
  94. package/dist/core/EditMutations.js.map +1 -1
  95. package/dist/core/EditMutations.sql +15 -0
  96. package/dist/core/EditSequence.d.ts +13 -0
  97. package/dist/core/EditSequence.d.ts.map +1 -0
  98. package/dist/core/EditSequence.js +73 -0
  99. package/dist/core/EditSequence.js.map +1 -0
  100. package/dist/core/Engine.d.ts +17 -23
  101. package/dist/core/Engine.d.ts.map +1 -1
  102. package/dist/core/Engine.js +73 -163
  103. package/dist/core/Engine.js.map +1 -1
  104. package/dist/core/Engine.sql +0 -724
  105. package/dist/core/EntryAddressBinding.d.ts +7 -17
  106. package/dist/core/EntryAddressBinding.d.ts.map +1 -1
  107. package/dist/core/EntryAddressBinding.js +12 -72
  108. package/dist/core/EntryAddressBinding.js.map +1 -1
  109. package/dist/core/ExecutionOutputs.d.ts +9 -0
  110. package/dist/core/ExecutionOutputs.d.ts.map +1 -0
  111. package/dist/core/ExecutionOutputs.js +36 -0
  112. package/dist/core/ExecutionOutputs.js.map +1 -0
  113. package/dist/core/ExecutionOutputs.sql +13 -0
  114. package/dist/core/ExecutorRegistry.d.ts +7 -5
  115. package/dist/core/ExecutorRegistry.d.ts.map +1 -1
  116. package/dist/core/ExecutorRegistry.js +36 -32
  117. package/dist/core/ExecutorRegistry.js.map +1 -1
  118. package/dist/core/HostPaths.d.ts +1 -0
  119. package/dist/core/HostPaths.d.ts.map +1 -1
  120. package/dist/core/HostPaths.js +4 -0
  121. package/dist/core/HostPaths.js.map +1 -1
  122. package/dist/core/InferenceCall.d.ts.map +1 -1
  123. package/dist/core/InferenceCall.js +1 -2
  124. package/dist/core/InferenceCall.js.map +1 -1
  125. package/dist/core/InferenceCall.sql +29 -0
  126. package/dist/core/KillHandler.d.ts +1 -0
  127. package/dist/core/KillHandler.d.ts.map +1 -1
  128. package/dist/core/KillHandler.js +24 -21
  129. package/dist/core/KillHandler.js.map +1 -1
  130. package/dist/core/LogBody.d.ts +8 -1
  131. package/dist/core/LogBody.d.ts.map +1 -1
  132. package/dist/core/LogBody.js +42 -11
  133. package/dist/core/LogBody.js.map +1 -1
  134. package/dist/core/LogEntryProjection.d.ts +1 -0
  135. package/dist/core/LogEntryProjection.d.ts.map +1 -1
  136. package/dist/core/LogEntryProjection.js +18 -10
  137. package/dist/core/LogEntryProjection.js.map +1 -1
  138. package/dist/core/LogVisibility.d.ts +1 -0
  139. package/dist/core/LogVisibility.d.ts.map +1 -1
  140. package/dist/core/LogVisibility.js +3 -0
  141. package/dist/core/LogVisibility.js.map +1 -1
  142. package/dist/core/LogWriter.d.ts +2 -3
  143. package/dist/core/LogWriter.d.ts.map +1 -1
  144. package/dist/core/LogWriter.js +25 -32
  145. package/dist/core/LogWriter.js.map +1 -1
  146. package/dist/core/LogWriter.sql +23 -0
  147. package/dist/core/LoopDriver.d.ts +11 -8
  148. package/dist/core/LoopDriver.d.ts.map +1 -1
  149. package/dist/core/LoopDriver.js +163 -189
  150. package/dist/core/LoopDriver.js.map +1 -1
  151. package/dist/core/LoopDriver.sql +11 -0
  152. package/dist/core/LoopLifecycle.d.ts +32 -2
  153. package/dist/core/LoopLifecycle.d.ts.map +1 -1
  154. package/dist/core/LoopLifecycle.js +88 -4
  155. package/dist/core/LoopLifecycle.js.map +1 -1
  156. package/dist/core/LoopLifecycle.sql +145 -28
  157. package/dist/core/LoopPolicyReader.sql +6 -0
  158. package/dist/core/MembershipMaterialization.d.ts.map +1 -1
  159. package/dist/core/MembershipMaterialization.js +6 -28
  160. package/dist/core/MembershipMaterialization.js.map +1 -1
  161. package/dist/core/ModelCall.sql +70 -0
  162. package/dist/core/MutationEffects.d.ts +5 -3
  163. package/dist/core/MutationEffects.d.ts.map +1 -1
  164. package/dist/core/MutationEffects.js +10 -28
  165. package/dist/core/MutationEffects.js.map +1 -1
  166. package/dist/core/NativeContent.d.ts +6 -0
  167. package/dist/core/NativeContent.d.ts.map +1 -0
  168. package/dist/core/NativeContent.js +16 -0
  169. package/dist/core/NativeContent.js.map +1 -0
  170. package/dist/core/NativeContent.sql +6 -0
  171. package/dist/core/NoticeChannel.js +1 -1
  172. package/dist/core/NoticeChannel.js.map +1 -1
  173. package/dist/core/OperatorConfig.js +5 -5
  174. package/dist/core/OperatorConfig.js.map +1 -1
  175. package/dist/core/PacketBuilder.d.ts +8 -5
  176. package/dist/core/PacketBuilder.d.ts.map +1 -1
  177. package/dist/core/PacketBuilder.js +117 -81
  178. package/dist/core/PacketBuilder.js.map +1 -1
  179. package/dist/core/PacketBuilder.sql +146 -0
  180. package/dist/core/PatternSelection.d.ts +28 -0
  181. package/dist/core/PatternSelection.d.ts.map +1 -0
  182. package/dist/core/PatternSelection.js +42 -0
  183. package/dist/core/PatternSelection.js.map +1 -0
  184. package/dist/core/ProblemLog.d.ts.map +1 -1
  185. package/dist/core/ProblemLog.js +0 -1
  186. package/dist/core/ProblemLog.js.map +1 -1
  187. package/dist/core/PromptFrames.d.ts +12 -0
  188. package/dist/core/PromptFrames.d.ts.map +1 -0
  189. package/dist/core/PromptFrames.js +28 -0
  190. package/dist/core/PromptFrames.js.map +1 -0
  191. package/dist/core/ProposalLifecycle.d.ts +0 -1
  192. package/dist/core/ProposalLifecycle.d.ts.map +1 -1
  193. package/dist/core/ProposalLifecycle.js +20 -19
  194. package/dist/core/ProposalLifecycle.js.map +1 -1
  195. package/dist/core/ProposalLifecycle.sql +33 -0
  196. package/dist/core/ProviderInstantiate.d.ts +1 -1
  197. package/dist/core/ProviderInstantiate.d.ts.map +1 -1
  198. package/dist/core/ProviderInstantiate.js +7 -14
  199. package/dist/core/ProviderInstantiate.js.map +1 -1
  200. package/dist/core/ReasoningView.d.ts +9 -0
  201. package/dist/core/ReasoningView.d.ts.map +1 -0
  202. package/dist/core/ReasoningView.js +47 -0
  203. package/dist/core/ReasoningView.js.map +1 -0
  204. package/dist/core/ResourceBindings.d.ts +16 -0
  205. package/dist/core/ResourceBindings.d.ts.map +1 -0
  206. package/dist/core/ResourceBindings.js +45 -0
  207. package/dist/core/ResourceBindings.js.map +1 -0
  208. package/dist/core/ResourceMutations.d.ts +5 -8
  209. package/dist/core/ResourceMutations.d.ts.map +1 -1
  210. package/dist/core/ResourceMutations.js +6 -7
  211. package/dist/core/ResourceMutations.js.map +1 -1
  212. package/dist/core/ResourceSelector.d.ts +2 -2
  213. package/dist/core/ResourceSelector.d.ts.map +1 -1
  214. package/dist/core/ResourceSelector.js +122 -62
  215. package/dist/core/ResourceSelector.js.map +1 -1
  216. package/dist/core/ResourceTransfers.d.ts +4 -2
  217. package/dist/core/ResourceTransfers.d.ts.map +1 -1
  218. package/dist/core/ResourceTransfers.js +95 -26
  219. package/dist/core/ResourceTransfers.js.map +1 -1
  220. package/dist/core/RuntimeWorker.d.ts +5 -0
  221. package/dist/core/RuntimeWorker.d.ts.map +1 -0
  222. package/dist/core/RuntimeWorker.js +10 -0
  223. package/dist/core/RuntimeWorker.js.map +1 -0
  224. package/dist/core/RuntimeWorker.sql +5 -0
  225. package/dist/core/SchemeRegistry.d.ts +12 -16
  226. package/dist/core/SchemeRegistry.d.ts.map +1 -1
  227. package/dist/core/SchemeRegistry.js +58 -84
  228. package/dist/core/SchemeRegistry.js.map +1 -1
  229. package/dist/core/StoredPacket.d.ts +6 -1
  230. package/dist/core/StoredPacket.d.ts.map +1 -1
  231. package/dist/core/StoredPacket.js +30 -10
  232. package/dist/core/StoredPacket.js.map +1 -1
  233. package/dist/core/StrikeRail.d.ts +9 -6
  234. package/dist/core/StrikeRail.d.ts.map +1 -1
  235. package/dist/core/StrikeRail.js +60 -113
  236. package/dist/core/StrikeRail.js.map +1 -1
  237. package/dist/core/StrikeRail.sql +12 -0
  238. package/dist/core/TerminalResult.d.ts +1 -1
  239. package/dist/core/TerminalResult.d.ts.map +1 -1
  240. package/dist/core/TerminalResult.js +2 -2
  241. package/dist/core/TerminalResult.js.map +1 -1
  242. package/dist/core/TokenCalibration.d.ts +1 -6
  243. package/dist/core/TokenCalibration.d.ts.map +1 -1
  244. package/dist/core/TokenCalibration.js +13 -9
  245. package/dist/core/TokenCalibration.js.map +1 -1
  246. package/dist/core/TokenCalibration.sql +15 -0
  247. package/dist/core/ToolInputSchema.d.ts +6 -0
  248. package/dist/core/ToolInputSchema.d.ts.map +1 -0
  249. package/dist/core/ToolInputSchema.js +43 -0
  250. package/dist/core/ToolInputSchema.js.map +1 -0
  251. package/dist/core/ToolResources.d.ts.map +1 -1
  252. package/dist/core/ToolResources.js +76 -52
  253. package/dist/core/ToolResources.js.map +1 -1
  254. package/dist/core/Turn.d.ts +5 -2
  255. package/dist/core/Turn.d.ts.map +1 -1
  256. package/dist/core/Turn.js +13 -11
  257. package/dist/core/Turn.js.map +1 -1
  258. package/dist/core/Turn.sql +25 -39
  259. package/dist/core/{SendBroadcastHandler.d.ts → TurnDispositionHandler.d.ts} +25 -17
  260. package/dist/core/TurnDispositionHandler.d.ts.map +1 -0
  261. package/dist/core/TurnDispositionHandler.js +198 -0
  262. package/dist/core/TurnDispositionHandler.js.map +1 -0
  263. package/dist/core/TurnMaterialization.d.ts +2 -3
  264. package/dist/core/TurnMaterialization.d.ts.map +1 -1
  265. package/dist/core/TurnMaterialization.js +40 -15
  266. package/dist/core/TurnMaterialization.js.map +1 -1
  267. package/dist/core/TurnMaterialization.sql +44 -0
  268. package/dist/core/TurnOps.d.ts.map +1 -1
  269. package/dist/core/TurnOps.js +8 -64
  270. package/dist/core/TurnOps.js.map +1 -1
  271. package/dist/core/TurnRunner.d.ts +9 -12
  272. package/dist/core/TurnRunner.d.ts.map +1 -1
  273. package/dist/core/TurnRunner.js +232 -408
  274. package/dist/core/TurnRunner.js.map +1 -1
  275. package/dist/core/TurnRunner.sql +74 -0
  276. package/dist/core/TurnSources.sql +39 -0
  277. package/dist/core/WorkerControlAddress.d.ts +1 -0
  278. package/dist/core/WorkerControlAddress.d.ts.map +1 -1
  279. package/dist/core/WorkerControlAddress.js +5 -0
  280. package/dist/core/WorkerControlAddress.js.map +1 -1
  281. package/dist/core/WorkerControlHandler.d.ts +1 -3
  282. package/dist/core/WorkerControlHandler.d.ts.map +1 -1
  283. package/dist/core/WorkerControlHandler.js +41 -48
  284. package/dist/core/WorkerControlHandler.js.map +1 -1
  285. package/dist/core/WorkerName.d.ts +8 -6
  286. package/dist/core/WorkerName.d.ts.map +1 -1
  287. package/dist/core/WorkerName.js +33 -24
  288. package/dist/core/WorkerName.js.map +1 -1
  289. package/dist/core/WorkerName.sql +7 -10
  290. package/dist/core/WorkspaceGate.d.ts +1 -1
  291. package/dist/core/WorkspaceGate.d.ts.map +1 -1
  292. package/dist/core/WorkspaceGate.js +29 -6
  293. package/dist/core/WorkspaceGate.js.map +1 -1
  294. package/dist/core/ambient.sql +236 -0
  295. package/dist/core/attachments.d.ts +2 -1
  296. package/dist/core/attachments.d.ts.map +1 -1
  297. package/dist/core/attachments.js +5 -4
  298. package/dist/core/attachments.js.map +1 -1
  299. package/dist/core/caps/CapsResolve.d.ts +2 -3
  300. package/dist/core/caps/CapsResolve.d.ts.map +1 -1
  301. package/dist/core/caps/CapsResolve.js +5 -5
  302. package/dist/core/caps/CapsResolve.js.map +1 -1
  303. package/dist/core/caps/DbChannelCaps.d.ts +1 -1
  304. package/dist/core/caps/DbChannelCaps.d.ts.map +1 -1
  305. package/dist/core/caps/DbChannelCaps.js +4 -6
  306. package/dist/core/caps/DbChannelCaps.js.map +1 -1
  307. package/dist/core/caps/DbEntryCaps.d.ts +2 -1
  308. package/dist/core/caps/DbEntryCaps.d.ts.map +1 -1
  309. package/dist/core/caps/DbEntryCaps.js +11 -17
  310. package/dist/core/caps/DbEntryCaps.js.map +1 -1
  311. package/dist/core/caps/DbNotifyCaps.d.ts +1 -1
  312. package/dist/core/caps/DbNotifyCaps.d.ts.map +1 -1
  313. package/dist/core/caps/DbNotifyCaps.js +3 -5
  314. package/dist/core/caps/DbNotifyCaps.js.map +1 -1
  315. package/dist/core/caps/DbProjectionCaps.js +1 -1
  316. package/dist/core/caps/DbProjectionCaps.js.map +1 -1
  317. package/dist/core/caps/DbSubscriptionCaps.d.ts +1 -1
  318. package/dist/core/caps/DbSubscriptionCaps.d.ts.map +1 -1
  319. package/dist/core/caps/DbSubscriptionCaps.js +5 -7
  320. package/dist/core/caps/DbSubscriptionCaps.js.map +1 -1
  321. package/dist/core/caps/SchemeCtxImpl.d.ts +0 -2
  322. package/dist/core/caps/SchemeCtxImpl.d.ts.map +1 -1
  323. package/dist/core/caps/SchemeCtxImpl.js +4 -20
  324. package/dist/core/caps/SchemeCtxImpl.js.map +1 -1
  325. package/dist/core/env-defaults.d.ts.map +1 -1
  326. package/dist/core/env-defaults.js +4 -2
  327. package/dist/core/env-defaults.js.map +1 -1
  328. package/dist/core/file-materialization.d.ts +4 -1
  329. package/dist/core/file-materialization.d.ts.map +1 -1
  330. package/dist/core/file-materialization.js +14 -0
  331. package/dist/core/file-materialization.js.map +1 -1
  332. package/dist/core/fork.d.ts +1 -6
  333. package/dist/core/fork.d.ts.map +1 -1
  334. package/dist/core/fork.js +9 -153
  335. package/dist/core/fork.js.map +1 -1
  336. package/dist/core/fork.sql +162 -185
  337. package/dist/core/git-env.d.ts +1 -0
  338. package/dist/core/git-env.d.ts.map +1 -1
  339. package/dist/core/git-env.js +39 -2
  340. package/dist/core/git-env.js.map +1 -1
  341. package/dist/core/git-membership.d.ts.map +1 -1
  342. package/dist/core/git-membership.js +64 -48
  343. package/dist/core/git-membership.js.map +1 -1
  344. package/dist/core/git-state.d.ts.map +1 -1
  345. package/dist/core/git-state.js +25 -19
  346. package/dist/core/git-state.js.map +1 -1
  347. package/dist/core/glob_match.d.ts +4 -0
  348. package/dist/core/glob_match.d.ts.map +1 -0
  349. package/dist/core/glob_match.js +7 -0
  350. package/dist/core/glob_match.js.map +1 -0
  351. package/dist/core/maintenance.sql +6 -0
  352. package/dist/core/mutation-types.d.ts +7 -28
  353. package/dist/core/mutation-types.d.ts.map +1 -1
  354. package/dist/core/packet-inject.d.ts.map +1 -1
  355. package/dist/core/packet-inject.js +2 -3
  356. package/dist/core/packet-inject.js.map +1 -1
  357. package/dist/core/packet-wire.d.ts +8 -6
  358. package/dist/core/packet-wire.d.ts.map +1 -1
  359. package/dist/core/packet-wire.js +131 -163
  360. package/dist/core/packet-wire.js.map +1 -1
  361. package/dist/core/plurnk-uri.d.ts +1 -1
  362. package/dist/core/plurnk-uri.d.ts.map +1 -1
  363. package/dist/core/plurnk-uri.js +5 -12
  364. package/dist/core/plurnk-uri.js.map +1 -1
  365. package/dist/core/scheme-types.d.ts +3 -3
  366. package/dist/core/scheme-types.d.ts.map +1 -1
  367. package/dist/core/scheme-types.js.map +1 -1
  368. package/dist/core/sha256.d.ts +4 -0
  369. package/dist/core/sha256.d.ts.map +1 -0
  370. package/dist/core/sha256.js +6 -0
  371. package/dist/core/sha256.js.map +1 -0
  372. package/dist/core/teaching.js +1 -1
  373. package/dist/core/teaching.js.map +1 -1
  374. package/dist/core/turn-scheduler.d.ts.map +1 -1
  375. package/dist/core/turn-scheduler.js +5 -18
  376. package/dist/core/turn-scheduler.js.map +1 -1
  377. package/dist/core/turn-signals.d.ts +0 -6
  378. package/dist/core/turn-signals.d.ts.map +1 -1
  379. package/dist/core/turn-signals.js +1 -7
  380. package/dist/core/turn-signals.js.map +1 -1
  381. package/dist/core/worker-ops.sql +15 -22
  382. package/dist/core/workspace-settings.d.ts.map +1 -1
  383. package/dist/core/workspace-settings.js +18 -2
  384. package/dist/core/workspace-settings.js.map +1 -1
  385. package/dist/core/workspace-settings.sql +6 -0
  386. package/dist/digest/Digest.d.ts.map +1 -1
  387. package/dist/digest/Digest.js +27 -90
  388. package/dist/digest/Digest.js.map +1 -1
  389. package/dist/digest/DigestRender.d.ts.map +1 -1
  390. package/dist/digest/DigestRender.js +14 -54
  391. package/dist/digest/DigestRender.js.map +1 -1
  392. package/dist/digest/digest-rows.d.ts +10 -32
  393. package/dist/digest/digest-rows.d.ts.map +1 -1
  394. package/dist/digest/digest.sql +43 -18
  395. package/dist/schemes/Exec.d.ts +6 -12
  396. package/dist/schemes/Exec.d.ts.map +1 -1
  397. package/dist/schemes/Exec.js +256 -188
  398. package/dist/schemes/Exec.js.map +1 -1
  399. package/dist/schemes/ExecOutputScheme.d.ts +8 -6
  400. package/dist/schemes/ExecOutputScheme.d.ts.map +1 -1
  401. package/dist/schemes/ExecOutputScheme.js +33 -61
  402. package/dist/schemes/ExecOutputScheme.js.map +1 -1
  403. package/dist/schemes/ExecutionInput.d.ts +12 -0
  404. package/dist/schemes/ExecutionInput.d.ts.map +1 -0
  405. package/dist/schemes/ExecutionInput.js +94 -0
  406. package/dist/schemes/ExecutionInput.js.map +1 -0
  407. package/dist/schemes/File.d.ts +5 -2
  408. package/dist/schemes/File.d.ts.map +1 -1
  409. package/dist/schemes/File.js +62 -92
  410. package/dist/schemes/File.js.map +1 -1
  411. package/dist/schemes/Log.d.ts.map +1 -1
  412. package/dist/schemes/Log.js +84 -79
  413. package/dist/schemes/Log.js.map +1 -1
  414. package/dist/schemes/Log.sql +183 -15
  415. package/dist/schemes/Prompt.d.ts.map +1 -1
  416. package/dist/schemes/Prompt.js +3 -12
  417. package/dist/schemes/Prompt.js.map +1 -1
  418. package/dist/schemes/QuestionTool.d.ts +5 -0
  419. package/dist/schemes/QuestionTool.d.ts.map +1 -1
  420. package/dist/schemes/QuestionTool.js +6 -14
  421. package/dist/schemes/QuestionTool.js.map +1 -1
  422. package/dist/schemes/Skill.d.ts +12 -7
  423. package/dist/schemes/Skill.d.ts.map +1 -1
  424. package/dist/schemes/Skill.js +149 -21
  425. package/dist/schemes/Skill.js.map +1 -1
  426. package/dist/schemes/TurnSource.d.ts +12 -0
  427. package/dist/schemes/TurnSource.d.ts.map +1 -0
  428. package/dist/schemes/TurnSource.js +116 -0
  429. package/dist/schemes/TurnSource.js.map +1 -0
  430. package/dist/schemes/Worker.d.ts +3 -3
  431. package/dist/schemes/Worker.d.ts.map +1 -1
  432. package/dist/schemes/Worker.js +61 -208
  433. package/dist/schemes/Worker.js.map +1 -1
  434. package/dist/schemes/_entry-crud.d.ts +12 -15
  435. package/dist/schemes/_entry-crud.d.ts.map +1 -1
  436. package/dist/schemes/_entry-crud.js +63 -63
  437. package/dist/schemes/_entry-crud.js.map +1 -1
  438. package/dist/schemes/_entry-crud.sql +142 -46
  439. package/dist/schemes/_entry-find.d.ts +1 -3
  440. package/dist/schemes/_entry-find.d.ts.map +1 -1
  441. package/dist/schemes/_entry-find.js +111 -112
  442. package/dist/schemes/_entry-find.js.map +1 -1
  443. package/dist/schemes/_entry-find.sql +22 -14
  444. package/dist/schemes/_entry-fts.d.ts +14 -0
  445. package/dist/schemes/_entry-fts.d.ts.map +1 -0
  446. package/dist/schemes/_entry-fts.js +82 -0
  447. package/dist/schemes/_entry-fts.js.map +1 -0
  448. package/dist/schemes/_entry-fts.sql +31 -0
  449. package/dist/schemes/_entry-graph.d.ts.map +1 -1
  450. package/dist/schemes/_entry-graph.js +6 -14
  451. package/dist/schemes/_entry-graph.js.map +1 -1
  452. package/dist/schemes/_entry-graph.sql +29 -44
  453. package/dist/schemes/_entry-manifest.d.ts +2 -1
  454. package/dist/schemes/_entry-manifest.d.ts.map +1 -1
  455. package/dist/schemes/_entry-manifest.js +15 -12
  456. package/dist/schemes/_entry-manifest.js.map +1 -1
  457. package/dist/schemes/_entry-manifest.sql +26 -0
  458. package/dist/schemes/_entry-ops.d.ts +3 -5
  459. package/dist/schemes/_entry-ops.d.ts.map +1 -1
  460. package/dist/schemes/_entry-ops.js +30 -43
  461. package/dist/schemes/_entry-ops.js.map +1 -1
  462. package/dist/schemes/_entry-ops.sql +5 -6
  463. package/dist/schemes/_entry-readable.d.ts +8 -0
  464. package/dist/schemes/_entry-readable.d.ts.map +1 -0
  465. package/dist/schemes/_entry-readable.js +38 -0
  466. package/dist/schemes/_entry-readable.js.map +1 -0
  467. package/dist/schemes/_entry-send.d.ts +1 -1
  468. package/dist/schemes/_entry-send.d.ts.map +1 -1
  469. package/dist/schemes/_entry-send.js +3 -3
  470. package/dist/schemes/_entry-send.js.map +1 -1
  471. package/dist/schemes/_search-index.d.ts +1 -3
  472. package/dist/schemes/_search-index.d.ts.map +1 -1
  473. package/dist/schemes/_search-index.js +79 -110
  474. package/dist/schemes/_search-index.js.map +1 -1
  475. package/dist/schemes/_search-index.sql +30 -0
  476. package/dist/schemes/exec-runtime.d.ts +1 -1
  477. package/dist/schemes/exec-runtime.d.ts.map +1 -1
  478. package/dist/schemes/exec-runtime.js.map +1 -1
  479. package/dist/server/ClientReads.d.ts +2 -2
  480. package/dist/server/ClientReads.d.ts.map +1 -1
  481. package/dist/server/ClientReads.js +5 -8
  482. package/dist/server/ClientReads.js.map +1 -1
  483. package/dist/server/Daemon.d.ts +14 -21
  484. package/dist/server/Daemon.d.ts.map +1 -1
  485. package/dist/server/Daemon.js +135 -156
  486. package/dist/server/Daemon.js.map +1 -1
  487. package/dist/server/DaemonModule.d.ts +23 -21
  488. package/dist/server/DaemonModule.d.ts.map +1 -1
  489. package/dist/server/DrainSupervisor.d.ts +8 -21
  490. package/dist/server/DrainSupervisor.d.ts.map +1 -1
  491. package/dist/server/DrainSupervisor.js +278 -306
  492. package/dist/server/DrainSupervisor.js.map +1 -1
  493. package/dist/server/Functionality.d.ts +11 -12
  494. package/dist/server/Functionality.d.ts.map +1 -1
  495. package/dist/server/Functionality.js +129 -101
  496. package/dist/server/Functionality.js.map +1 -1
  497. package/dist/server/FunctionalityManager.d.ts +3 -5
  498. package/dist/server/FunctionalityManager.d.ts.map +1 -1
  499. package/dist/server/FunctionalityManager.js +20 -58
  500. package/dist/server/FunctionalityManager.js.map +1 -1
  501. package/dist/server/MembersFunctionality.d.ts +5 -4
  502. package/dist/server/MembersFunctionality.d.ts.map +1 -1
  503. package/dist/server/MembersFunctionality.js +24 -37
  504. package/dist/server/MembersFunctionality.js.map +1 -1
  505. package/dist/server/PlurnkSkill.d.ts +11 -0
  506. package/dist/server/PlurnkSkill.d.ts.map +1 -0
  507. package/dist/server/PlurnkSkill.js +41 -0
  508. package/dist/server/PlurnkSkill.js.map +1 -0
  509. package/dist/server/Retention.d.ts +22 -0
  510. package/dist/server/Retention.d.ts.map +1 -0
  511. package/dist/server/Retention.js +54 -0
  512. package/dist/server/Retention.js.map +1 -0
  513. package/dist/server/Retention.sql +36 -0
  514. package/dist/server/ServiceModules.d.ts +5 -0
  515. package/dist/server/ServiceModules.d.ts.map +1 -0
  516. package/dist/server/ServiceModules.js +10 -0
  517. package/dist/server/ServiceModules.js.map +1 -0
  518. package/dist/server/SkillsFunctionality.d.ts +14 -19
  519. package/dist/server/SkillsFunctionality.d.ts.map +1 -1
  520. package/dist/server/SkillsFunctionality.js +97 -104
  521. package/dist/server/SkillsFunctionality.js.map +1 -1
  522. package/dist/server/WorkerModelResolver.d.ts +4 -0
  523. package/dist/server/WorkerModelResolver.d.ts.map +1 -1
  524. package/dist/server/WorkerModelResolver.js +72 -39
  525. package/dist/server/WorkerModelResolver.js.map +1 -1
  526. package/dist/server/WorkspaceCapabilities.d.ts +21 -0
  527. package/dist/server/WorkspaceCapabilities.d.ts.map +1 -0
  528. package/dist/server/{WorkerCapabilities.js → WorkspaceCapabilities.js} +40 -40
  529. package/dist/server/WorkspaceCapabilities.js.map +1 -0
  530. package/dist/server/WorkspaceResidency.d.ts +36 -0
  531. package/dist/server/WorkspaceResidency.d.ts.map +1 -0
  532. package/dist/server/WorkspaceResidency.js +199 -0
  533. package/dist/server/WorkspaceResidency.js.map +1 -0
  534. package/dist/server/client-input.d.ts +1 -4
  535. package/dist/server/client-input.d.ts.map +1 -1
  536. package/dist/server/client-input.js +4 -45
  537. package/dist/server/client-input.js.map +1 -1
  538. package/dist/server/dispatch-as-plurnk.d.ts.map +1 -1
  539. package/dist/server/dispatch-as-plurnk.js +4 -22
  540. package/dist/server/dispatch-as-plurnk.js.map +1 -1
  541. package/dist/server/drain.sql +65 -42
  542. package/dist/server/envelope.d.ts +8 -0
  543. package/dist/server/envelope.d.ts.map +1 -1
  544. package/dist/server/envelope.js +9 -7
  545. package/dist/server/envelope.js.map +1 -1
  546. package/dist/server/envelope.sql +49 -13
  547. package/dist/server/lifecycle-recovery.sql +14 -17
  548. package/dist/server/logEntry.d.ts +1 -1
  549. package/dist/server/logEntry.d.ts.map +1 -1
  550. package/dist/server/logEntry.js +4 -1
  551. package/dist/server/logEntry.js.map +1 -1
  552. package/dist/server/logEntry.sql +25 -1
  553. package/dist/server/loopDocs.d.ts +2 -2
  554. package/dist/server/loopDocs.d.ts.map +1 -1
  555. package/dist/server/loopDocs.js +38 -31
  556. package/dist/server/loopDocs.js.map +1 -1
  557. package/dist/server/loopDocs.sql +1 -3
  558. package/dist/server/model-catalog.d.ts.map +1 -1
  559. package/dist/server/model-catalog.js +2 -1
  560. package/dist/server/model-catalog.js.map +1 -1
  561. package/dist/server/model-route.d.ts +1 -1
  562. package/dist/server/model-route.d.ts.map +1 -1
  563. package/dist/server/model-route.js +4 -2
  564. package/dist/server/model-route.js.map +1 -1
  565. package/dist/server/seam-entry-read.sql +3 -4
  566. package/dist/server/seam-loop.sql +2 -9
  567. package/dist/server/workspace-capabilities.sql +19 -0
  568. package/dist/service.d.ts.map +1 -1
  569. package/dist/service.js +5 -17
  570. package/dist/service.js.map +1 -1
  571. package/docs/members.md +83 -0
  572. package/docs/skills.md +50 -0
  573. package/migrations/001_workspaces.sql +53 -0
  574. package/migrations/002_workers.sql +183 -0
  575. package/migrations/003_loops.sql +326 -0
  576. package/migrations/004_inference.sql +360 -0
  577. package/migrations/005_entries.sql +207 -0
  578. package/migrations/006_log.sql +578 -0
  579. package/migrations/007_subscriptions.sql +175 -0
  580. package/migrations/008_interactions.sql +29 -0
  581. package/package.json +33 -40
  582. package/digest-sql/channel-dispositions/dispositions.sql +0 -15
  583. package/digest-sql/channel-state/state.sql +0 -6
  584. package/digest-sql/curation/curation.sql +0 -6
  585. package/digest-sql/derivations/derivations.sql +0 -4
  586. package/digest-sql/embeddings/embeddings.sql +0 -4
  587. package/digest-sql/entry-dispositions/dispositions.sql +0 -15
  588. package/digest-sql/entry-state/state.sql +0 -6
  589. package/digest-sql/token-counts/token-counts.sql +0 -2
  590. package/dist/core/EmbeddingCall.d.ts +0 -23
  591. package/dist/core/EmbeddingCall.d.ts.map +0 -1
  592. package/dist/core/EmbeddingCall.js +0 -149
  593. package/dist/core/EmbeddingCall.js.map +0 -1
  594. package/dist/core/OverflowTurn.d.ts +0 -11
  595. package/dist/core/OverflowTurn.d.ts.map +0 -1
  596. package/dist/core/OverflowTurn.js +0 -80
  597. package/dist/core/OverflowTurn.js.map +0 -1
  598. package/dist/core/Owner.d.ts +0 -8
  599. package/dist/core/Owner.d.ts.map +0 -1
  600. package/dist/core/Owner.js +0 -46
  601. package/dist/core/Owner.js.map +0 -1
  602. package/dist/core/SendBroadcastHandler.d.ts.map +0 -1
  603. package/dist/core/SendBroadcastHandler.js +0 -159
  604. package/dist/core/SendBroadcastHandler.js.map +0 -1
  605. package/dist/core/VectorPump.d.ts +0 -28
  606. package/dist/core/VectorPump.d.ts.map +0 -1
  607. package/dist/core/VectorPump.js +0 -130
  608. package/dist/core/VectorPump.js.map +0 -1
  609. package/dist/core/owner.sql +0 -11
  610. package/dist/core/worker-settings.d.ts +0 -10
  611. package/dist/core/worker-settings.d.ts.map +0 -1
  612. package/dist/core/worker-settings.js +0 -53
  613. package/dist/core/worker-settings.js.map +0 -1
  614. package/dist/schemes/_entry-chunk.d.ts +0 -14
  615. package/dist/schemes/_entry-chunk.d.ts.map +0 -1
  616. package/dist/schemes/_entry-chunk.js +0 -165
  617. package/dist/schemes/_entry-chunk.js.map +0 -1
  618. package/dist/schemes/_entry-semantic.d.ts +0 -63
  619. package/dist/schemes/_entry-semantic.d.ts.map +0 -1
  620. package/dist/schemes/_entry-semantic.js +0 -299
  621. package/dist/schemes/_entry-semantic.js.map +0 -1
  622. package/dist/schemes/_entry-semantic.sql +0 -99
  623. package/dist/schemes/cosine.d.ts +0 -4
  624. package/dist/schemes/cosine.d.ts.map +0 -1
  625. package/dist/schemes/cosine.js +0 -9
  626. package/dist/schemes/cosine.js.map +0 -1
  627. package/dist/server/WorkerCapabilities.d.ts +0 -21
  628. package/dist/server/WorkerCapabilities.d.ts.map +0 -1
  629. package/dist/server/WorkerCapabilities.js.map +0 -1
  630. package/dist/server/WorkerResidency.d.ts +0 -40
  631. package/dist/server/WorkerResidency.d.ts.map +0 -1
  632. package/dist/server/WorkerResidency.js +0 -283
  633. package/dist/server/WorkerResidency.js.map +0 -1
  634. package/dist/server/seam-log-read.sql +0 -21
  635. package/dist/server/worker-capabilities.sql +0 -28
  636. package/migrations/001_schema.sql +0 -2207
@@ -0,0 +1,36 @@
1
+ -- Retention ({§retention-policy}): the operator's policy over what the database keeps, as set
2
+ -- statements run by Retention on the daemon's cadence and at shutdown. Under the defaults nothing
3
+ -- that is information leaves; only what no row references.
4
+
5
+ -- PREP: retention_retire_packets
6
+ -- A completed turn older than the policy — beyond the newest $keep_turns packet-bearing turns of
7
+ -- its loop, or completed more than $keep_ms before $now_ms — loses its packet composition. The
8
+ -- turn, its bag, its log rows and its accounting stay; -1 on both disables the statement.
9
+ DELETE FROM turn_sections
10
+ WHERE ($keep_turns >= 0 OR $keep_ms >= 0)
11
+ AND turn_id IN (
12
+ SELECT t.id FROM turns t
13
+ WHERE t.completed_at IS NOT NULL AND t.packet IS NOT NULL
14
+ AND (
15
+ ($keep_turns >= 0 AND (
16
+ SELECT COUNT(*) FROM turns newer
17
+ WHERE newer.loop_id = t.loop_id AND newer.packet IS NOT NULL AND newer.sequence > t.sequence
18
+ ) >= $keep_turns)
19
+ OR ($keep_ms >= 0 AND unixepoch(t.completed_at) * 1000 < $now_ms - $keep_ms)
20
+ )
21
+ );
22
+
23
+ -- PREP: retention_collect_packet_items
24
+ -- {§packet-items}: an item no turn's composition references is transient data.
25
+ DELETE FROM packet_items
26
+ WHERE $collect = 1
27
+ AND NOT EXISTS (SELECT 1 FROM turn_section_items tsi WHERE tsi.item_hash = packet_items.hash);
28
+
29
+ -- PREP: retention_collect_derivations
30
+ -- A derivation no channel, turn source, or log row cites is transient data; its symbols cascade
31
+ -- and derivations_delete_fts drops its full-text shadow.
32
+ DELETE FROM derivations
33
+ WHERE $collect = 1
34
+ AND NOT EXISTS (SELECT 1 FROM entry_channels c WHERE c.deep_hash = derivations.deep_hash)
35
+ AND NOT EXISTS (SELECT 1 FROM turn_sources s WHERE s.deep_hash = derivations.deep_hash)
36
+ AND NOT EXISTS (SELECT 1 FROM log_entries le WHERE le.deep_hash = derivations.deep_hash);
@@ -0,0 +1,5 @@
1
+ import type Daemon from "./Daemon.ts";
2
+ export default class ServiceModules {
3
+ static registerWorkspaceCapabilities(daemon: Pick<Daemon, "registerModule">): void;
4
+ }
5
+ //# sourceMappingURL=ServiceModules.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServiceModules.d.ts","sourceRoot":"","sources":["../../src/server/ServiceModules.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AAGtC,MAAM,CAAC,OAAO,OAAO,cAAc;IAC/B,MAAM,CAAC,6BAA6B,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAAG,IAAI,CAGjF;CACJ"}
@@ -0,0 +1,10 @@
1
+ import { OutboundModule as A2aOutboundModule } from "@plurnk/plurnk-a2a";
2
+ import { Module as McpModule } from "@plurnk/plurnk-mcp";
3
+ // {§service-worker-composition} — listeners and host hooks remain launcher-owned.
4
+ export default class ServiceModules {
5
+ static registerWorkspaceCapabilities(daemon) {
6
+ daemon.registerModule(McpModule.init());
7
+ daemon.registerModule(A2aOutboundModule.init());
8
+ }
9
+ }
10
+ //# sourceMappingURL=ServiceModules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServiceModules.js","sourceRoot":"","sources":["../../src/server/ServiceModules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,IAAI,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAGzD,kFAAkF;AAClF,MAAM,CAAC,OAAO,OAAO,cAAc;IAC/B,MAAM,CAAC,6BAA6B,CAAC,MAAsC;QACvE,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QACxC,MAAM,CAAC,cAAc,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC;IACpD,CAAC;CACJ"}
@@ -1,12 +1,8 @@
1
+ import { type SkillTree } from "@plurnk/plurnk-agent-skills";
1
2
  import { type FunctionalityCandidate, type FunctionalityDiscoverQuery, type JsonSchema } from "@plurnk/plurnk-contracts";
2
3
  import type { Db } from "../core/Db.ts";
3
4
  import HostPaths from "../core/HostPaths.ts";
4
- import type { FunctionalityAdapter, FunctionalityDefinitionSource, FunctionalityFamilyHandle, FunctionalityPreparation, FunctionalityPrepared, FunctionalityServiceDefinition, WorkerCapabilityIdentity } from "./DaemonModule.ts";
5
- interface SkillDoc {
6
- readonly name: string;
7
- readonly description: string;
8
- readonly body: string;
9
- }
5
+ import type { FunctionalityAdapter, FunctionalityDefinitionSource, FunctionalityFamilyHandle, FunctionalityPreparation, FunctionalityPrepared, FunctionalityServiceDefinition, WorkspaceCapabilityIdentity } from "./DaemonModule.ts";
10
6
  export interface RegistrySkill {
11
7
  readonly name: string;
12
8
  readonly id: string;
@@ -17,9 +13,6 @@ export interface SkillsToolchain {
17
13
  run(args: readonly string[], cwd: string, home: string): Promise<string>;
18
14
  search(query: string): Promise<readonly RegistrySkill[]>;
19
15
  }
20
- export declare const parseSkill: (file: string, folder: string, raw: string) => SkillDoc;
21
- export declare const renderSkill: (doc: SkillDoc) => string;
22
- export declare const renderIndex: (skills: readonly SkillDoc[]) => string;
23
16
  export declare const parseListing: (output: string) => Array<{
24
17
  name: string;
25
18
  description: string;
@@ -35,32 +28,34 @@ export default class SkillsFunctionality implements FunctionalityAdapter {
35
28
  #private;
36
29
  readonly family = "skills";
37
30
  readonly namespaceOwner = "@plurnk/plurnk-core/skills";
38
- readonly summary = "Manage this Worker's Agent Skills: list, discover, add, enable, disable, remove.";
31
+ readonly summary = "Manage Agent Skills";
39
32
  readonly definitionSchema: JsonSchema;
40
33
  readonly example: {
41
34
  alias: string;
42
35
  definition: {
43
36
  name: string;
44
37
  scope: string;
38
+ source: string;
45
39
  };
46
40
  };
41
+ readonly docsDir: string;
47
42
  readonly discovery: {
48
- signature: string;
49
43
  details: string;
50
44
  };
51
- constructor({ db, hostPaths, toolchain }: {
45
+ constructor({ db, hostPaths, toolchain, provided }: {
52
46
  readonly db: Db;
53
47
  readonly hostPaths?: HostPaths;
54
48
  readonly toolchain?: SkillsToolchain;
49
+ readonly provided?: () => Promise<ReadonlyMap<string, SkillTree>>;
55
50
  });
56
51
  attach(handle: FunctionalityFamilyHandle): void;
57
- refreshIfChanged(identity: WorkerCapabilityIdentity): Promise<void>;
58
- available(identity: WorkerCapabilityIdentity): Promise<readonly FunctionalityServiceDefinition[]>;
59
- discover(query: FunctionalityDiscoverQuery, identity: WorkerCapabilityIdentity): Promise<readonly FunctionalityCandidate[]>;
60
- admit(input: unknown, identity: WorkerCapabilityIdentity): Promise<FunctionalityDefinitionSource>;
61
- forget(source: FunctionalityDefinitionSource, identity: WorkerCapabilityIdentity): Promise<void>;
52
+ trees(workspaceId: number): ReadonlyMap<string, SkillTree>;
53
+ refreshIfChanged(identity: WorkspaceCapabilityIdentity): Promise<void>;
54
+ available(identity: WorkspaceCapabilityIdentity): Promise<readonly FunctionalityServiceDefinition[]>;
55
+ discover(query: FunctionalityDiscoverQuery, identity: WorkspaceCapabilityIdentity): Promise<readonly FunctionalityCandidate[]>;
56
+ admit(input: unknown, identity: WorkspaceCapabilityIdentity): Promise<FunctionalityDefinitionSource>;
57
+ forget(source: FunctionalityDefinitionSource, identity: WorkspaceCapabilityIdentity): Promise<void>;
62
58
  prepare(preparation: FunctionalityPreparation): Promise<FunctionalityPrepared>;
63
- teardown(_snapshot: unknown, identity: WorkerCapabilityIdentity): Promise<void>;
59
+ teardown(_snapshot: unknown, identity: WorkspaceCapabilityIdentity): Promise<void>;
64
60
  }
65
- export {};
66
61
  //# sourceMappingURL=SkillsFunctionality.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SkillsFunctionality.d.ts","sourceRoot":"","sources":["../../src/server/SkillsFunctionality.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SkillsFunctionality.d.ts","sourceRoot":"","sources":["../../src/server/SkillsFunctionality.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,17 @@
1
- // {§skills-functionality} — standard Agent Skills as one Worker Functionality
2
- // family. The filesystem under the universal roots is the only truth about
3
- // installation; the Worker's durable state owns enablement; the standard
1
+ // {§skills-functionality} — standard Agent Skills as one workspace Functionality
2
+ // family. Universal roots and host-provided trees own resources;
3
+ // workspace state owns enablement; the standard
4
4
  // `skills` CLI is the deterministic installer beneath `add`/`remove` and the
5
5
  // registry behind `discover`, and neither is the model's or a client's contract.
6
6
  import { execFile } from "node:child_process";
7
7
  import { createHash } from "node:crypto";
8
- import { readdir, readFile, stat } from "node:fs/promises";
8
+ import { readdir, readFile, realpath, stat } from "node:fs/promises";
9
9
  import { join } from "node:path";
10
10
  import { promisify, stripVTControlCharacters } from "node:util";
11
- import { parse as parseYaml } from "yaml";
11
+ import { SkillDirectory } from "@plurnk/plurnk-agent-skills";
12
12
  import { Problems, Validator, } from "@plurnk/plurnk-contracts";
13
13
  import HostPaths from "../core/HostPaths.js";
14
+ import Paths from "../Paths.js";
14
15
  const execFileP = promisify(execFile);
15
16
  const SKILLS_FAMILY = "skills";
16
17
  const SKILLS_OWNER = "@plurnk/plurnk-core/skills";
@@ -36,57 +37,13 @@ const problem = (code, status, detail, extensions = {}) => Problems.create("skil
36
37
  const actionError = (code, status, detail, extensions = {}, cause) => new SkillsActionError(problem(code, status, detail, extensions), cause);
37
38
  const isRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
38
39
  const messageOf = (cause) => cause instanceof Error ? cause.message : String(cause);
39
- const isFile = (path) => stat(path).then((info) => info.isFile(), () => false);
40
- const exists = (path) => stat(path).then(() => true, () => false);
41
- // Agent Skills requires YAML frontmatter with name and description. Admission
42
- // consumes those two discovery keys and preserves the instruction body.
43
- export const parseSkill = (file, folder, raw) => {
44
- const lines = raw.replace(/\r\n/gu, "\n").split("\n");
45
- if (lines[0] !== "---")
46
- throw new Error(`${file}: Agent Skill requires YAML frontmatter`);
47
- const close = lines.indexOf("---", 1);
48
- if (close === -1)
49
- throw new Error(`${file}: Agent Skill frontmatter is not closed`);
50
- let metadata;
51
- try {
52
- metadata = parseYaml(lines.slice(1, close).join("\n"), { maxAliasCount: 0, uniqueKeys: true });
53
- }
54
- catch (cause) {
55
- throw new Error(`${file}: Agent Skill frontmatter is invalid YAML`, { cause });
56
- }
57
- if (!isRecord(metadata))
58
- throw new Error(`${file}: Agent Skill frontmatter must be a mapping`);
59
- const { name, description } = metadata;
60
- if (typeof name !== "string" || name.length === 0)
61
- throw new Error(`${file}: Agent Skill frontmatter requires name`);
62
- if (!SKILL_NAME.test(name))
63
- throw new Error(`${file}: Agent Skill name ${JSON.stringify(name)} is invalid`);
64
- if (name.length > 64)
65
- throw new Error(`${file}: Agent Skill name exceeds 64 characters`);
66
- if (name !== folder)
67
- throw new Error(`${file}: Agent Skill name ${JSON.stringify(name)} must match folder ${JSON.stringify(folder)}`);
68
- if (typeof description !== "string" || description.length === 0)
69
- throw new Error(`${file}: Agent Skill frontmatter requires description`);
70
- if (description.length > 1024)
71
- throw new Error(`${file}: Agent Skill description exceeds 1024 characters`);
72
- return { name, description, body: lines.slice(close + 1).join("\n").trim() };
40
+ const missing = (cause) => {
41
+ if (cause?.code === "ENOENT")
42
+ return false;
43
+ throw cause;
73
44
  };
74
- export const renderSkill = (doc) => [
75
- `# ${doc.name}`,
76
- "",
77
- "## Summary",
78
- "",
79
- doc.description,
80
- ...(doc.body.length === 0 ? [] : ["", doc.body]),
81
- ].join("\n");
82
- export const renderIndex = (skills) => [
83
- "# Skills",
84
- "",
85
- "## Summary",
86
- "",
87
- "Agent Skills enabled for this worker.",
88
- ...skills.flatMap((skill) => ["", `- **${skill.name}** — ${skill.description}`]),
89
- ].join("\n");
45
+ const isFile = (path) => stat(path).then((info) => info.isFile(), missing);
46
+ const exists = (path) => stat(path).then(() => true, missing);
90
47
  // `skills add <source> --list` prints, after an "Available Skills" heading,
91
48
  // each skill name at one indentation and its description at a deeper one,
92
49
  // behind the CLI's box-drawing gutter. Only that structure is read.
@@ -168,31 +125,38 @@ export class StandardSkillsToolchain {
168
125
  export default class SkillsFunctionality {
169
126
  family = SKILLS_FAMILY;
170
127
  namespaceOwner = SKILLS_OWNER;
171
- summary = "Manage this Worker's Agent Skills: list, discover, add, enable, disable, remove.";
128
+ summary = "Manage Agent Skills";
172
129
  definitionSchema = DEFINITION;
173
- example = { alias: "grep", definition: { name: "grep", scope: "project" } };
130
+ example = { alias: "sql-formatter", definition: { name: "sql-formatter", scope: "project", source: "example/skills" } };
131
+ docsDir = Paths.packageRoot;
174
132
  discovery = {
175
- signature: '{"query"?: string, "source"?: string}',
176
133
  details: "`query` searches the standard skills registry; `source` inspects one installer package reference (`owner/repo`, a git URL, or a local path). A candidate carries the exact definition to add.",
177
134
  };
178
135
  #db;
179
136
  #hostPaths;
180
137
  #toolchain;
181
- #signatures = new Map();
138
+ #provided;
139
+ #snapshots = new Map();
182
140
  #handle = null;
183
- constructor({ db, hostPaths = new HostPaths(), toolchain = new StandardSkillsToolchain() }) {
141
+ constructor({ db, hostPaths = new HostPaths(), toolchain = new StandardSkillsToolchain(), provided = async () => new Map() }) {
184
142
  this.#db = db;
185
143
  this.#hostPaths = hostPaths;
186
144
  this.#toolchain = toolchain;
145
+ this.#provided = provided;
187
146
  }
188
147
  attach(handle) {
189
148
  this.#handle = handle;
190
149
  }
150
+ trees(workspaceId) {
151
+ return this.#snapshots.get(workspaceId)?.trees ?? new Map();
152
+ }
191
153
  async #projectRoot(workspaceId) {
192
154
  const workspace = await this.#db.envelope_get_workspace.get({ id: workspaceId });
193
155
  return workspace?.project_root ?? null;
194
156
  }
195
157
  #rootFor(scope, projectRoot) {
158
+ if (scope === "service")
159
+ throw new TypeError("A service-provided skill has no installer root.");
196
160
  if (scope === "global")
197
161
  return this.#hostPaths.globalSkillsDir;
198
162
  return projectRoot === null ? null : this.#hostPaths.projectSkillsDir(projectRoot);
@@ -235,37 +199,52 @@ export default class SkillsFunctionality {
235
199
  // The standard installer's lock files record each installed skill's source.
236
200
  async #lockSources(projectRoot) {
237
201
  const sources = new Map();
238
- for (const dir of [projectRoot, this.#hostPaths.home]) {
239
- if (dir === null)
202
+ for (const [scope, file] of [
203
+ ["project", projectRoot === null ? null : join(projectRoot, "skills-lock.json")],
204
+ ["global", this.#hostPaths.globalSkillsLockFile],
205
+ ]) {
206
+ if (file === null)
240
207
  continue;
241
208
  let lock;
242
209
  try {
243
- lock = JSON.parse(await readFile(join(dir, "skills-lock.json"), "utf8"));
210
+ lock = JSON.parse(await readFile(file, "utf8"));
244
211
  }
245
- catch {
246
- continue;
212
+ catch (cause) {
213
+ if (cause?.code === "ENOENT")
214
+ continue;
215
+ throw new Error(`Cannot read Agent Skills lock ${file}.`, { cause });
247
216
  }
248
217
  if (!isRecord(lock) || !isRecord(lock.skills))
249
- continue;
218
+ throw new TypeError(`Invalid Agent Skills lock ${file}: expected a skills object.`);
250
219
  for (const [name, entry] of Object.entries(lock.skills)) {
251
- if (isRecord(entry) && typeof entry.source === "string" && !sources.has(name))
252
- sources.set(name, entry.source);
220
+ if (isRecord(entry) && typeof entry.source === "string")
221
+ sources.set(`${scope}:${name}`, entry.source);
253
222
  }
254
223
  }
255
224
  return sources;
256
225
  }
257
226
  async #signature(projectRoot) {
258
227
  const hash = createHash("sha256");
259
- for (const installed of (await this.#scan(projectRoot)).values()) {
260
- const content = await readFile(installed.file, "utf8").catch((cause) => `!${messageOf(cause)}`);
261
- hash.update(`${installed.name}${installed.scope}${content}`);
228
+ for (const [name, tree] of await this.#provided()) {
229
+ hash.update(JSON.stringify([name, "service", tree.document.source]));
230
+ }
231
+ for (const scope of ["project", "global"]) {
232
+ const root = this.#rootFor(scope, projectRoot);
233
+ if (root === null)
234
+ continue;
235
+ for (const installed of await this.#installedIn(scope, root)) {
236
+ const identity = await Promise.all([realpath(installed.dir), readFile(installed.file, "utf8")])
237
+ .catch((cause) => [messageOf(cause)]);
238
+ hash.update(JSON.stringify([installed.name, scope, ...identity]));
239
+ }
262
240
  }
241
+ hash.update(JSON.stringify([...(await this.#lockSources(projectRoot))]));
263
242
  return hash.digest("hex");
264
243
  }
265
244
  // {§skills-hotload} — filesystem installers operate out of band; before a
266
245
  // turn assembles its packet the family republishes when the roots changed.
267
246
  async refreshIfChanged(identity) {
268
- const published = this.#signatures.get(identity.workerId);
247
+ const published = this.#snapshots.get(identity.workspaceId)?.signature;
269
248
  if (published === undefined)
270
249
  return;
271
250
  const current = await this.#signature(await this.#projectRoot(identity.workspaceId));
@@ -278,11 +257,16 @@ export default class SkillsFunctionality {
278
257
  async available(identity) {
279
258
  const projectRoot = await this.#projectRoot(identity.workspaceId);
280
259
  const sources = await this.#lockSources(projectRoot);
281
- return [...(await this.#scan(projectRoot)).values()].map((installed) => {
282
- const source = sources.get(installed.name);
260
+ const installedSkills = await this.#scan(projectRoot);
261
+ const native = [...installedSkills.values()].map((installed) => {
262
+ const source = sources.get(`${installed.scope}:${installed.name}`);
283
263
  const definition = { name: installed.name, scope: installed.scope, ...(source === undefined ? {} : { source }) };
284
264
  return { alias: installed.name, definition, enabled: true };
285
265
  });
266
+ const provided = [...(await this.#provided()).keys()]
267
+ .filter((name) => !installedSkills.has(name))
268
+ .map((name) => ({ alias: name, definition: { name, scope: "service" }, enabled: true }));
269
+ return [...native, ...provided];
286
270
  }
287
271
  async discover(query, identity) {
288
272
  if (query.configuration !== undefined) {
@@ -332,6 +316,9 @@ export default class SkillsFunctionality {
332
316
  if (alias !== definition.name) {
333
317
  throw actionError("alias-mismatch", 400, `Alias '${alias}' must equal the skill name '${definition.name}'.`, { alias, name: definition.name, retryable: false });
334
318
  }
319
+ if (definition.scope === "service") {
320
+ throw actionError("scope-not-installable", 400, "Service-provided skills can be enabled or disabled; adding a skill requires project or global scope.", { alias, retryable: false });
321
+ }
335
322
  if (definition.source === undefined) {
336
323
  throw actionError("source-required", 400, `Adding '${alias}' requires the standard installer source that provides it.`, { alias, retryable: false });
337
324
  }
@@ -355,7 +342,7 @@ export default class SkillsFunctionality {
355
342
  }
356
343
  return { name: definition.name, scope: definition.scope, dir: join(root, definition.name), file };
357
344
  }
358
- // {§skills-remove} — the coordinator forgets the Worker's own definition;
345
+ // {§skills-remove} — the coordinator forgets the workspace definition;
359
346
  // the adapter uninstalls what that definition installed at its scope.
360
347
  async forget(source, identity) {
361
348
  const definition = source.definition;
@@ -379,7 +366,7 @@ export default class SkillsFunctionality {
379
366
  const shadowing = installed.get(alias);
380
367
  if (shadowing === undefined || shadowing.scope === definition.scope)
381
368
  return shadowing;
382
- // The Worker's own definition names a root below the one currently
369
+ // The workspace definition names a root below the one currently
383
370
  // shadowing that name; the definition's scope is truth.
384
371
  const root = this.#rootFor(definition.scope, projectRoot);
385
372
  if (root === null)
@@ -387,34 +374,44 @@ export default class SkillsFunctionality {
387
374
  const file = join(root, alias, "SKILL.md");
388
375
  return (await isFile(file)) ? { name: alias, scope: definition.scope, dir: join(root, alias), file } : undefined;
389
376
  }
377
+ async #loadInstalled(alias, definition, installed, projectRoot) {
378
+ let located = await this.#locate(alias, definition, installed, projectRoot);
379
+ if (located === undefined) {
380
+ const root = this.#rootFor(definition.scope, projectRoot);
381
+ if (root === null)
382
+ throw actionError("project-root-required", 409, `'${alias}' targets the project scope, but this workspace has no project root.`, { name: alias, retryable: false });
383
+ if (definition.source === undefined)
384
+ throw actionError("skill-missing", 404, `Agent Skill '${alias}' is not installed under its ${definition.scope} root.`, { name: alias, scope: definition.scope, root, retryable: false });
385
+ located = await this.#install(definition, root, this.#cwdFor(definition.scope, projectRoot));
386
+ }
387
+ try {
388
+ return await SkillDirectory.load(located.dir);
389
+ }
390
+ catch (cause) {
391
+ throw actionError("skill-invalid", 422, `Agent Skill '${alias}' is not a valid standard skill: ${messageOf(cause)}`, { name: alias, scope: located.scope, path: located.file, retryable: false }, cause);
392
+ }
393
+ }
390
394
  async prepare(preparation) {
391
395
  const projectRoot = await this.#projectRoot(preparation.workspaceId);
392
396
  const installed = await this.#scan(projectRoot);
397
+ const provided = await this.#provided();
393
398
  const previous = preparation.previous;
394
399
  const carried = new Set(previous?.unavailable ?? []);
395
400
  const outcomes = new Map();
396
- const docs = [];
401
+ const trees = new Map();
397
402
  for (const [alias, raw] of preparation.enabled) {
398
403
  const definition = raw;
399
404
  try {
400
- let located = await this.#locate(alias, definition, installed, projectRoot);
401
- if (located === undefined) {
402
- const root = this.#rootFor(definition.scope, projectRoot);
403
- if (root === null)
404
- throw actionError("project-root-required", 409, `'${alias}' targets the project scope, but this workspace has no project root.`, { name: alias, retryable: false });
405
- if (definition.source === undefined)
406
- throw actionError("skill-missing", 404, `Agent Skill '${alias}' is not installed under its ${definition.scope} root.`, { name: alias, scope: definition.scope, root, retryable: false });
407
- located = await this.#install(definition, root, this.#cwdFor(definition.scope, projectRoot));
408
- }
409
- let doc;
410
- try {
411
- doc = parseSkill(located.file, located.name, await readFile(located.file, "utf8"));
412
- }
413
- catch (cause) {
414
- throw actionError("skill-invalid", 422, `Agent Skill '${alias}' is not a valid standard skill: ${messageOf(cause)}`, { name: alias, scope: located.scope, path: located.file, retryable: false }, cause);
415
- }
416
- docs.push(doc);
417
- outcomes.set(alias, { state: "active", detail: { scope: located.scope, path: located.dir, description: doc.description } });
405
+ const tree = definition.scope === "service" ? provided.get(alias)
406
+ : await this.#loadInstalled(alias, definition, installed, projectRoot);
407
+ if (tree === undefined)
408
+ throw actionError("skill-missing", 404, `Agent Skill '${alias}' is not provided by this service.`, { name: alias, retryable: false });
409
+ trees.set(alias, tree);
410
+ outcomes.set(alias, { state: "active", detail: {
411
+ scope: definition.scope,
412
+ ...(tree instanceof SkillDirectory ? { path: tree.directory } : {}),
413
+ description: tree.document.description,
414
+ } });
418
415
  }
419
416
  catch (cause) {
420
417
  if (!(cause instanceof SkillsActionError))
@@ -427,28 +424,24 @@ export default class SkillsFunctionality {
427
424
  outcomes.set(alias, { state: "unavailable", problem: structuredClone(cause.problem) });
428
425
  }
429
426
  }
430
- docs.sort((left, right) => left.name.localeCompare(right.name));
431
- const documents = [
432
- { pathname: "skills/index.md", content: renderIndex(docs) },
433
- ...docs.map((doc) => ({ pathname: `skills/${encodeURIComponent(doc.name)}.md`, content: renderSkill(doc) })),
434
- ];
435
427
  const signature = await this.#signature(projectRoot);
436
428
  const snapshot = {
437
429
  signature,
430
+ trees,
438
431
  unavailable: [...outcomes].filter(([, outcome]) => outcome.state === "unavailable").map(([alias]) => alias),
439
432
  };
440
- const { workerId } = preparation;
433
+ const { workspaceId } = preparation;
441
434
  return {
442
435
  runtimes: [],
443
- documents,
436
+ documents: [],
444
437
  outcomes,
445
438
  snapshot,
446
- commit: async () => { this.#signatures.set(workerId, signature); },
439
+ commit: async () => { this.#snapshots.set(workspaceId, snapshot); },
447
440
  abort: async () => { },
448
441
  };
449
442
  }
450
443
  async teardown(_snapshot, identity) {
451
- this.#signatures.delete(identity.workerId);
444
+ this.#snapshots.delete(identity.workspaceId);
452
445
  }
453
446
  }
454
447
  //# sourceMappingURL=SkillsFunctionality.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SkillsFunctionality.js","sourceRoot":"","sources":["../../src/server/SkillsFunctionality.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SkillsFunctionality.js","sourceRoot":"","sources":["../../src/server/SkillsFunctionality.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,19 @@
1
1
  import type { Db } from "../core/Db.ts";
2
2
  import type { Provider, ProviderSpec } from "@plurnk/plurnk-providers";
3
3
  import { type ReasoningPolicy } from "@plurnk/plurnk-contracts";
4
+ import type { ReasoningSource, WorkerGenerationPolicyRow } from "./Daemon.ts";
4
5
  export default class WorkerModelResolver {
5
6
  #private;
6
7
  constructor({ db, provider }: {
7
8
  db: Db;
8
9
  provider: Provider | null;
9
10
  });
11
+ persistGenerationPolicy(workerId: number, policy: WorkerGenerationPolicyRow): Promise<readonly ReasoningPolicy[]>;
12
+ supportedPolicies(policy: WorkerGenerationPolicyRow): Promise<readonly ReasoningPolicy[]>;
10
13
  resolveWorkerModel(workerId: number, selector: string | undefined): Promise<{
11
14
  providerSpec: ProviderSpec;
12
15
  reasoningPolicy: ReasoningPolicy;
16
+ reasoningSource: ReasoningSource;
13
17
  } | null>;
14
18
  resolveWorkerSpawnModel(workerId: number, childSelector: string | null | undefined): Promise<ProviderSpec | null>;
15
19
  providerForPolicy(spec: ProviderSpec, reasoningPolicy?: ReasoningPolicy): Promise<Provider>;
@@ -1 +1 @@
1
- {"version":3,"file":"WorkerModelResolver.d.ts","sourceRoot":"","sources":["../../src/server/WorkerModelResolver.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAEvE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAQhE,MAAM,CAAC,OAAO,OAAO,mBAAmB;;IAIpC,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE;QAC1B,EAAE,EAAE,EAAE,CAAC;QACP,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;KAC7B,EAGA;IAMK,kBAAkB,CACpB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC7B,OAAO,CAAC;QAAE,YAAY,EAAE,YAAY,CAAC;QAAC,eAAe,EAAE,eAAe,CAAA;KAAE,GAAG,IAAI,CAAC,CAkDlF;IAOK,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAuCtH;IAMK,iBAAiB,CACnB,IAAI,EAAE,YAAY,EAClB,eAAe,CAAC,EAAE,eAAe,GAClC,OAAO,CAAC,QAAQ,CAAC,CA8CnB;CA0BJ"}
1
+ {"version":3,"file":"WorkerModelResolver.d.ts","sourceRoot":"","sources":["../../src/server/WorkerModelResolver.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAEvE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAMhE,OAAO,KAAK,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAE9E,MAAM,CAAC,OAAO,OAAO,mBAAmB;;IAIpC,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE;QAC1B,EAAE,EAAE,EAAE,CAAC;QACP,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;KAC7B,EAGA;IAEK,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,yBAAyB,GAAG,OAAO,CAAC,SAAS,eAAe,EAAE,CAAC,CAatH;IAEK,iBAAiB,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO,CAAC,SAAS,eAAe,EAAE,CAAC,CAY9F;IAyBK,kBAAkB,CACpB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC7B,OAAO,CAAC;QAAE,YAAY,EAAE,YAAY,CAAC;QAAC,eAAe,EAAE,eAAe,CAAC;QAAC,eAAe,EAAE,eAAe,CAAA;KAAE,GAAG,IAAI,CAAC,CAyCpH;IAOK,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAiCtH;IAMK,iBAAiB,CACnB,IAAI,EAAE,YAAY,EAClB,eAAe,CAAC,EAAE,eAAe,GAClC,OAAO,CAAC,QAAQ,CAAC,CA0CnB;CAoBJ"}