@plurnk/plurnk-service 1.29.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (385) hide show
  1. package/.env.defaults +14 -33
  2. package/INSTALL.md +68 -17
  3. package/README.md +9 -7
  4. package/SPEC.md +503 -741
  5. package/dist/build-info.json +1 -1
  6. package/dist/content/body-preview.d.ts.map +1 -1
  7. package/dist/content/body-preview.js +11 -2
  8. package/dist/content/body-preview.js.map +1 -1
  9. package/dist/content/edit-receipt.d.ts +1 -1
  10. package/dist/content/edit-receipt.d.ts.map +1 -1
  11. package/dist/content/edit-receipt.js +1 -1
  12. package/dist/content/edit-receipt.js.map +1 -1
  13. package/dist/content/line-marker.js +1 -1
  14. package/dist/content/line-marker.js.map +1 -1
  15. package/dist/content/path-mimetype.js +1 -1
  16. package/dist/content/path-mimetype.js.map +1 -1
  17. package/dist/content/read-projector.d.ts.map +1 -1
  18. package/dist/content/read-projector.js +3 -12
  19. package/dist/content/read-projector.js.map +1 -1
  20. package/dist/core/AdministrativeLoop.d.ts +1 -1
  21. package/dist/core/AdministrativeLoop.d.ts.map +1 -1
  22. package/dist/core/AdministrativeLoop.js +2 -6
  23. package/dist/core/AdministrativeLoop.js.map +1 -1
  24. package/dist/core/AdmittedTurnExecutor.d.ts +4 -3
  25. package/dist/core/AdmittedTurnExecutor.d.ts.map +1 -1
  26. package/dist/core/AdmittedTurnExecutor.js +19 -17
  27. package/dist/core/AdmittedTurnExecutor.js.map +1 -1
  28. package/dist/core/BareBatchRunner.d.ts +2 -2
  29. package/dist/core/BareBatchRunner.d.ts.map +1 -1
  30. package/dist/core/BareBatchRunner.js.map +1 -1
  31. package/dist/core/BudgetReadout.d.ts +1 -0
  32. package/dist/core/BudgetReadout.d.ts.map +1 -1
  33. package/dist/core/BudgetReadout.js +12 -0
  34. package/dist/core/BudgetReadout.js.map +1 -1
  35. package/dist/core/CapabilityPolicies.d.ts +2 -4
  36. package/dist/core/CapabilityPolicies.d.ts.map +1 -1
  37. package/dist/core/CapabilityPolicies.js +3 -23
  38. package/dist/core/CapabilityPolicies.js.map +1 -1
  39. package/dist/core/CapabilityResolver.d.ts +9 -2
  40. package/dist/core/CapabilityResolver.d.ts.map +1 -1
  41. package/dist/core/CapabilityResolver.js +34 -5
  42. package/dist/core/CapabilityResolver.js.map +1 -1
  43. package/dist/core/ChannelWrite.d.ts +0 -2
  44. package/dist/core/ChannelWrite.d.ts.map +1 -1
  45. package/dist/core/ChannelWrite.js.map +1 -1
  46. package/dist/core/ClientInteractions.d.ts +3 -2
  47. package/dist/core/ClientInteractions.d.ts.map +1 -1
  48. package/dist/core/ClientInteractions.js +21 -12
  49. package/dist/core/ClientInteractions.js.map +1 -1
  50. package/dist/core/ClientInteractions.sql +8 -2
  51. package/dist/core/CoreSchemeServices.d.ts +1 -0
  52. package/dist/core/CoreSchemeServices.d.ts.map +1 -1
  53. package/dist/core/CoreSchemeServices.js +1 -0
  54. package/dist/core/CoreSchemeServices.js.map +1 -1
  55. package/dist/core/DataStatementRunner.js +1 -1
  56. package/dist/core/DataStatementRunner.js.map +1 -1
  57. package/dist/core/Dispatcher.d.ts +3 -2
  58. package/dist/core/Dispatcher.d.ts.map +1 -1
  59. package/dist/core/Dispatcher.js +15 -21
  60. package/dist/core/Dispatcher.js.map +1 -1
  61. package/dist/core/Engine.d.ts +2 -2
  62. package/dist/core/Engine.d.ts.map +1 -1
  63. package/dist/core/Engine.js +4 -3
  64. package/dist/core/Engine.js.map +1 -1
  65. package/dist/core/EnvFlags.d.ts.map +1 -1
  66. package/dist/core/EnvFlags.js +4 -3
  67. package/dist/core/EnvFlags.js.map +1 -1
  68. package/dist/core/ExecutorRegistry.d.ts +3 -17
  69. package/dist/core/ExecutorRegistry.d.ts.map +1 -1
  70. package/dist/core/ExecutorRegistry.js +6 -6
  71. package/dist/core/ExecutorRegistry.js.map +1 -1
  72. package/dist/core/FabricatedLog.js +1 -1
  73. package/dist/core/FabricatedLog.js.map +1 -1
  74. package/dist/core/HostPaths.d.ts +2 -1
  75. package/dist/core/HostPaths.d.ts.map +1 -1
  76. package/dist/core/HostPaths.js +14 -2
  77. package/dist/core/HostPaths.js.map +1 -1
  78. package/dist/core/KillHandler.js +1 -1
  79. package/dist/core/KillHandler.js.map +1 -1
  80. package/dist/core/LogVisibility.d.ts.map +1 -1
  81. package/dist/core/LogVisibility.js +8 -17
  82. package/dist/core/LogVisibility.js.map +1 -1
  83. package/dist/core/LoopDriver.d.ts.map +1 -1
  84. package/dist/core/LoopDriver.js +4 -6
  85. package/dist/core/LoopDriver.js.map +1 -1
  86. package/dist/core/LoopLifecycle.d.ts.map +1 -1
  87. package/dist/core/LoopLifecycle.js +4 -9
  88. package/dist/core/LoopLifecycle.js.map +1 -1
  89. package/dist/core/LoopLifecycle.sql +6 -6
  90. package/dist/core/OperatorConfig.d.ts +1 -0
  91. package/dist/core/OperatorConfig.d.ts.map +1 -1
  92. package/dist/core/OperatorConfig.js +10 -2
  93. package/dist/core/OperatorConfig.js.map +1 -1
  94. package/dist/core/PacketBuilder.d.ts +5 -7
  95. package/dist/core/PacketBuilder.d.ts.map +1 -1
  96. package/dist/core/PacketBuilder.js +49 -119
  97. package/dist/core/PacketBuilder.js.map +1 -1
  98. package/dist/core/PacketBuilder.sql +15 -0
  99. package/dist/core/ProposalLifecycle.d.ts +1 -1
  100. package/dist/core/ProposalLifecycle.d.ts.map +1 -1
  101. package/dist/core/ProposalLifecycle.js +18 -20
  102. package/dist/core/ProposalLifecycle.js.map +1 -1
  103. package/dist/core/ProposalPolicies.d.ts +6 -0
  104. package/dist/core/ProposalPolicies.d.ts.map +1 -0
  105. package/dist/core/ProposalPolicies.js +28 -0
  106. package/dist/core/ProposalPolicies.js.map +1 -0
  107. package/dist/core/ProviderInstantiate.d.ts.map +1 -1
  108. package/dist/core/ProviderInstantiate.js +3 -4
  109. package/dist/core/ProviderInstantiate.js.map +1 -1
  110. package/dist/core/ResourceSelector.js +2 -2
  111. package/dist/core/ResourceSelector.js.map +1 -1
  112. package/dist/core/ResourceTransfers.js +3 -3
  113. package/dist/core/ResourceTransfers.js.map +1 -1
  114. package/dist/core/RuntimeWorker.sql +1 -2
  115. package/dist/core/SchemeRegistry.d.ts +5 -4
  116. package/dist/core/SchemeRegistry.d.ts.map +1 -1
  117. package/dist/core/SchemeRegistry.js +11 -12
  118. package/dist/core/SchemeRegistry.js.map +1 -1
  119. package/dist/core/ToolInputSchema.d.ts +1 -0
  120. package/dist/core/ToolInputSchema.d.ts.map +1 -1
  121. package/dist/core/ToolInputSchema.js +8 -2
  122. package/dist/core/ToolInputSchema.js.map +1 -1
  123. package/dist/core/ToolResources.d.ts +1 -0
  124. package/dist/core/ToolResources.d.ts.map +1 -1
  125. package/dist/core/ToolResources.js +12 -6
  126. package/dist/core/ToolResources.js.map +1 -1
  127. package/dist/core/Turn.js +1 -1
  128. package/dist/core/Turn.js.map +1 -1
  129. package/dist/core/TurnDispositionHandler.d.ts.map +1 -1
  130. package/dist/core/TurnDispositionHandler.js +1 -7
  131. package/dist/core/TurnDispositionHandler.js.map +1 -1
  132. package/dist/core/TurnMaterialization.js +1 -1
  133. package/dist/core/TurnMaterialization.js.map +1 -1
  134. package/dist/core/TurnOps.d.ts +1 -1
  135. package/dist/core/TurnOps.d.ts.map +1 -1
  136. package/dist/core/TurnOps.js +4 -12
  137. package/dist/core/TurnOps.js.map +1 -1
  138. package/dist/core/TurnRunner.d.ts +1 -2
  139. package/dist/core/TurnRunner.d.ts.map +1 -1
  140. package/dist/core/TurnRunner.js +85 -81
  141. package/dist/core/TurnRunner.js.map +1 -1
  142. package/dist/core/WorkerControlHandler.d.ts.map +1 -1
  143. package/dist/core/WorkerControlHandler.js +1 -8
  144. package/dist/core/WorkerControlHandler.js.map +1 -1
  145. package/dist/core/WorkerName.d.ts +1 -0
  146. package/dist/core/WorkerName.d.ts.map +1 -1
  147. package/dist/core/WorkerName.js +2 -0
  148. package/dist/core/WorkerName.js.map +1 -1
  149. package/dist/core/WorkerName.sql +2 -2
  150. package/dist/core/WorkerOwners.d.ts +13 -0
  151. package/dist/core/WorkerOwners.d.ts.map +1 -0
  152. package/dist/core/WorkerOwners.js +44 -0
  153. package/dist/core/WorkerOwners.js.map +1 -0
  154. package/dist/core/WorkerOwners.sql +55 -0
  155. package/dist/core/caps/DbNotifyCaps.js +2 -2
  156. package/dist/core/caps/DbNotifyCaps.js.map +1 -1
  157. package/dist/core/caps/DbProjectionCaps.js +1 -1
  158. package/dist/core/caps/DbProjectionCaps.js.map +1 -1
  159. package/dist/core/env-catalog.d.ts +3 -0
  160. package/dist/core/env-catalog.d.ts.map +1 -1
  161. package/dist/core/env-catalog.js +44 -9
  162. package/dist/core/env-catalog.js.map +1 -1
  163. package/dist/core/env-defaults.d.ts +2 -1
  164. package/dist/core/env-defaults.d.ts.map +1 -1
  165. package/dist/core/env-defaults.js +17 -9
  166. package/dist/core/env-defaults.js.map +1 -1
  167. package/dist/core/fork.sql +3 -4
  168. package/dist/core/packet-inject.js +0 -2
  169. package/dist/core/packet-inject.js.map +1 -1
  170. package/dist/core/packet-wire.d.ts +2 -11
  171. package/dist/core/packet-wire.d.ts.map +1 -1
  172. package/dist/core/packet-wire.js +31 -111
  173. package/dist/core/packet-wire.js.map +1 -1
  174. package/dist/core/plurnk-uri.d.ts +1 -1
  175. package/dist/core/plurnk-uri.d.ts.map +1 -1
  176. package/dist/core/plurnk-uri.js +4 -4
  177. package/dist/core/plurnk-uri.js.map +1 -1
  178. package/dist/core/scheme-types.d.ts +2 -1
  179. package/dist/core/scheme-types.d.ts.map +1 -1
  180. package/dist/core/types.d.ts +0 -1
  181. package/dist/core/types.d.ts.map +1 -1
  182. package/dist/core/unregistered-scheme.d.ts +1 -3
  183. package/dist/core/unregistered-scheme.d.ts.map +1 -1
  184. package/dist/core/unregistered-scheme.js +3 -11
  185. package/dist/core/unregistered-scheme.js.map +1 -1
  186. package/dist/evidence/EvidenceReader.d.ts +14 -0
  187. package/dist/evidence/EvidenceReader.d.ts.map +1 -0
  188. package/dist/evidence/EvidenceReader.js +137 -0
  189. package/dist/evidence/EvidenceReader.js.map +1 -0
  190. package/dist/{digest → evidence}/digest.sql +1 -2
  191. package/dist/schemes/EffectPolicy.d.ts.map +1 -1
  192. package/dist/schemes/EffectPolicy.js +1 -10
  193. package/dist/schemes/EffectPolicy.js.map +1 -1
  194. package/dist/schemes/Exec.d.ts.map +1 -1
  195. package/dist/schemes/Exec.js +19 -26
  196. package/dist/schemes/Exec.js.map +1 -1
  197. package/dist/schemes/ExecOutputScheme.d.ts +1 -1
  198. package/dist/schemes/ExecOutputScheme.d.ts.map +1 -1
  199. package/dist/schemes/File.d.ts.map +1 -1
  200. package/dist/schemes/File.js +11 -17
  201. package/dist/schemes/File.js.map +1 -1
  202. package/dist/schemes/Log.d.ts.map +1 -1
  203. package/dist/schemes/Log.js +14 -11
  204. package/dist/schemes/Log.js.map +1 -1
  205. package/dist/schemes/QuestionTool.d.ts.map +1 -1
  206. package/dist/schemes/QuestionTool.js +1 -3
  207. package/dist/schemes/QuestionTool.js.map +1 -1
  208. package/dist/schemes/{Skill.d.ts → ResourceTreeScheme.d.ts} +5 -6
  209. package/dist/schemes/ResourceTreeScheme.d.ts.map +1 -0
  210. package/dist/schemes/{Skill.js → ResourceTreeScheme.js} +63 -43
  211. package/dist/schemes/ResourceTreeScheme.js.map +1 -0
  212. package/dist/schemes/Worker.d.ts.map +1 -1
  213. package/dist/schemes/Worker.js +7 -9
  214. package/dist/schemes/Worker.js.map +1 -1
  215. package/dist/schemes/_entry-crud.sql +1 -1
  216. package/dist/schemes/_entry-find.js +2 -2
  217. package/dist/schemes/_entry-find.js.map +1 -1
  218. package/dist/schemes/_entry-find.sql +1 -1
  219. package/dist/schemes/_entry-fts.d.ts.map +1 -1
  220. package/dist/schemes/_entry-fts.js +3 -9
  221. package/dist/schemes/_entry-fts.js.map +1 -1
  222. package/dist/schemes/_entry-manifest.js +1 -1
  223. package/dist/schemes/_entry-manifest.js.map +1 -1
  224. package/dist/schemes/_entry-ops.js +1 -1
  225. package/dist/schemes/_entry-ops.js.map +1 -1
  226. package/dist/server/AgentRoots.d.ts +2 -1
  227. package/dist/server/AgentRoots.d.ts.map +1 -1
  228. package/dist/server/AgentRoots.js +13 -10
  229. package/dist/server/AgentRoots.js.map +1 -1
  230. package/dist/server/ConfigurationDiagnostics.d.ts +5 -3
  231. package/dist/server/ConfigurationDiagnostics.d.ts.map +1 -1
  232. package/dist/server/ConfigurationDiagnostics.js +24 -8
  233. package/dist/server/ConfigurationDiagnostics.js.map +1 -1
  234. package/dist/server/Daemon.d.ts +25 -16
  235. package/dist/server/Daemon.d.ts.map +1 -1
  236. package/dist/server/Daemon.js +137 -96
  237. package/dist/server/Daemon.js.map +1 -1
  238. package/dist/server/DrainSupervisor.d.ts +1 -4
  239. package/dist/server/DrainSupervisor.d.ts.map +1 -1
  240. package/dist/server/DrainSupervisor.js +1 -11
  241. package/dist/server/DrainSupervisor.js.map +1 -1
  242. package/dist/server/EnvFunctionality.d.ts +3 -5
  243. package/dist/server/EnvFunctionality.d.ts.map +1 -1
  244. package/dist/server/EnvFunctionality.js +5 -7
  245. package/dist/server/EnvFunctionality.js.map +1 -1
  246. package/dist/server/Functionality.d.ts +3 -2
  247. package/dist/server/Functionality.d.ts.map +1 -1
  248. package/dist/server/Functionality.js +43 -14
  249. package/dist/server/Functionality.js.map +1 -1
  250. package/dist/server/FunctionalityManager.d.ts +3 -4
  251. package/dist/server/FunctionalityManager.d.ts.map +1 -1
  252. package/dist/server/FunctionalityManager.js +17 -9
  253. package/dist/server/FunctionalityManager.js.map +1 -1
  254. package/dist/server/HttpListener.d.ts +2 -0
  255. package/dist/server/HttpListener.d.ts.map +1 -1
  256. package/dist/server/HttpListener.js +23 -9
  257. package/dist/server/HttpListener.js.map +1 -1
  258. package/dist/server/MembersFunctionality.d.ts +2 -5
  259. package/dist/server/MembersFunctionality.d.ts.map +1 -1
  260. package/dist/server/MembersFunctionality.js +5 -3
  261. package/dist/server/MembersFunctionality.js.map +1 -1
  262. package/dist/server/ModuleHost.d.ts +33 -0
  263. package/dist/server/ModuleHost.d.ts.map +1 -0
  264. package/dist/server/ModuleHost.js +2 -0
  265. package/dist/server/ModuleHost.js.map +1 -0
  266. package/dist/server/PlurnkSkill.d.ts.map +1 -1
  267. package/dist/server/PlurnkSkill.js +54 -6
  268. package/dist/server/PlurnkSkill.js.map +1 -1
  269. package/dist/server/ServiceModules.d.ts +0 -2
  270. package/dist/server/ServiceModules.d.ts.map +1 -1
  271. package/dist/server/ServiceModules.js +5 -9
  272. package/dist/server/ServiceModules.js.map +1 -1
  273. package/dist/server/WorkspacePlugins.d.ts +2 -11
  274. package/dist/server/WorkspacePlugins.d.ts.map +1 -1
  275. package/dist/server/WorkspacePlugins.js.map +1 -1
  276. package/dist/server/WorkspaceResidency.d.ts +2 -1
  277. package/dist/server/WorkspaceResidency.d.ts.map +1 -1
  278. package/dist/server/WorkspaceStorage.d.ts.map +1 -1
  279. package/dist/server/WorkspaceStorage.js +7 -4
  280. package/dist/server/WorkspaceStorage.js.map +1 -1
  281. package/dist/server/client-input.d.ts +1 -2
  282. package/dist/server/client-input.d.ts.map +1 -1
  283. package/dist/server/client-input.js +2 -13
  284. package/dist/server/client-input.js.map +1 -1
  285. package/dist/server/dispatch-as-plurnk.js +1 -1
  286. package/dist/server/dispatch-as-plurnk.js.map +1 -1
  287. package/dist/server/drain.sql +6 -6
  288. package/dist/server/envelope.d.ts +2 -1
  289. package/dist/server/envelope.d.ts.map +1 -1
  290. package/dist/server/envelope.js +7 -17
  291. package/dist/server/envelope.js.map +1 -1
  292. package/dist/server/envelope.sql +5 -5
  293. package/dist/server/module-discovery.d.ts +11 -3
  294. package/dist/server/module-discovery.d.ts.map +1 -1
  295. package/dist/server/module-discovery.js +32 -18
  296. package/dist/server/module-discovery.js.map +1 -1
  297. package/dist/server/seam-proposal-list.sql +6 -4
  298. package/dist/service.d.ts.map +1 -1
  299. package/dist/service.js +58 -65
  300. package/dist/service.js.map +1 -1
  301. package/migrations/003_loops.sql +2 -2
  302. package/migrations/006_log.sql +1 -1
  303. package/migrations/016_selection_statements.sql +44 -0
  304. package/migrations/017_skills_module.sql +6 -0
  305. package/migrations/018_worker_owners.sql +102 -0
  306. package/migrations/019_interactive_owners.sql +6 -0
  307. package/migrations/020_log_projection.sql +143 -0
  308. package/package.json +71 -76
  309. package/dist/core/EmissionHead.d.ts +0 -8
  310. package/dist/core/EmissionHead.d.ts.map +0 -1
  311. package/dist/core/EmissionHead.js +0 -29
  312. package/dist/core/EmissionHead.js.map +0 -1
  313. package/dist/core/LegacyHome.d.ts +0 -10
  314. package/dist/core/LegacyHome.d.ts.map +0 -1
  315. package/dist/core/LegacyHome.js +0 -170
  316. package/dist/core/LegacyHome.js.map +0 -1
  317. package/dist/core/LoopPolicies.d.ts +0 -7
  318. package/dist/core/LoopPolicies.d.ts.map +0 -1
  319. package/dist/core/LoopPolicies.js +0 -42
  320. package/dist/core/LoopPolicies.js.map +0 -1
  321. package/dist/core/LoopPolicyReader.d.ts +0 -7
  322. package/dist/core/LoopPolicyReader.d.ts.map +0 -1
  323. package/dist/core/LoopPolicyReader.js +0 -33
  324. package/dist/core/LoopPolicyReader.js.map +0 -1
  325. package/dist/core/LoopPolicyReader.sql +0 -6
  326. package/dist/core/operation-target-groups.d.ts +0 -3
  327. package/dist/core/operation-target-groups.d.ts.map +0 -1
  328. package/dist/core/operation-target-groups.js +0 -77
  329. package/dist/core/operation-target-groups.js.map +0 -1
  330. package/dist/digest/Digest.d.ts +0 -10
  331. package/dist/digest/Digest.d.ts.map +0 -1
  332. package/dist/digest/Digest.js +0 -252
  333. package/dist/digest/Digest.js.map +0 -1
  334. package/dist/digest/DigestEvidence.d.ts +0 -11
  335. package/dist/digest/DigestEvidence.d.ts.map +0 -1
  336. package/dist/digest/DigestEvidence.js +0 -66
  337. package/dist/digest/DigestEvidence.js.map +0 -1
  338. package/dist/digest/DigestRender.d.ts +0 -18
  339. package/dist/digest/DigestRender.d.ts.map +0 -1
  340. package/dist/digest/DigestRender.js +0 -1044
  341. package/dist/digest/DigestRender.js.map +0 -1
  342. package/dist/digest/DigestRequiem.d.ts +0 -13
  343. package/dist/digest/DigestRequiem.d.ts.map +0 -1
  344. package/dist/digest/DigestRequiem.js +0 -337
  345. package/dist/digest/DigestRequiem.js.map +0 -1
  346. package/dist/digest/digest-db.d.ts +0 -3
  347. package/dist/digest/digest-db.d.ts.map +0 -1
  348. package/dist/digest/digest-db.js +0 -68
  349. package/dist/digest/digest-db.js.map +0 -1
  350. package/dist/digest/digest-paths.d.ts +0 -6
  351. package/dist/digest/digest-paths.d.ts.map +0 -1
  352. package/dist/digest/digest-paths.js +0 -14
  353. package/dist/digest/digest-paths.js.map +0 -1
  354. package/dist/digest/digest-rows.d.ts +0 -346
  355. package/dist/digest/digest-rows.d.ts.map +0 -1
  356. package/dist/digest/digest-rows.js +0 -2
  357. package/dist/digest/digest-rows.js.map +0 -1
  358. package/dist/index.d.ts +0 -15
  359. package/dist/index.d.ts.map +0 -1
  360. package/dist/index.js +0 -23
  361. package/dist/index.js.map +0 -1
  362. package/dist/schemes/Skill.d.ts.map +0 -1
  363. package/dist/schemes/Skill.js.map +0 -1
  364. package/dist/server/DaemonModule.d.ts +0 -101
  365. package/dist/server/DaemonModule.d.ts.map +0 -1
  366. package/dist/server/DaemonModule.js +0 -2
  367. package/dist/server/DaemonModule.js.map +0 -1
  368. package/dist/server/SkillSource.d.ts +0 -37
  369. package/dist/server/SkillSource.d.ts.map +0 -1
  370. package/dist/server/SkillSource.js +0 -267
  371. package/dist/server/SkillSource.js.map +0 -1
  372. package/dist/server/SkillsFunctionality.d.ts +0 -45
  373. package/dist/server/SkillsFunctionality.d.ts.map +0 -1
  374. package/dist/server/SkillsFunctionality.js +0 -405
  375. package/dist/server/SkillsFunctionality.js.map +0 -1
  376. package/dist/server/skills-problems.d.ts +0 -8
  377. package/dist/server/skills-problems.d.ts.map +0 -1
  378. package/dist/server/skills-problems.js +0 -18
  379. package/dist/server/skills-problems.js.map +0 -1
  380. package/dist/share/Share.d.ts +0 -15
  381. package/dist/share/Share.d.ts.map +0 -1
  382. package/dist/share/Share.js +0 -106
  383. package/dist/share/Share.js.map +0 -1
  384. package/dist/share/share.sql +0 -6
  385. package/docs/skills.md +0 -73
@@ -1,267 +0,0 @@
1
- // {§skills-sources} — where an added Agent Skill comes from: a git remote on any forge, a folder, a
2
- // lone SKILL.md, or a zip or tar archive, read with git, tar and unzip. Fetching runs nothing it
3
- // fetched, and an installed skill holds nothing that points out of it.
4
- import { execFile } from "node:child_process";
5
- import { cp, mkdir, mkdtemp, readdir, readFile, readlink, realpath, rename, rm, stat } from "node:fs/promises";
6
- import { tmpdir } from "node:os";
7
- import { basename, dirname, isAbsolute, join, relative, resolve, sep } from "node:path";
8
- import { promisify } from "node:util";
9
- import { parseSkill, skillName } from "@plurnk/plurnk-agent-skills";
10
- import { Knob } from "@plurnk/plurnk-meta";
11
- import ExecEnv from "../schemes/exec-env.js";
12
- import { actionError, messageOf } from "./skills-problems.js";
13
- const execFileP = promisify(execFile);
14
- // The ceiling of one tool run's captured output: a bound on a child process, not a choice.
15
- const TOOL_OUTPUT_BYTES = 8 * 1024 * 1024;
16
- const ARCHIVE = /\.(?:zip|tar|tgz|tbz2|txz|tar\.(?:gz|bz2|xz|zst))$/iu;
17
- const SCP_REMOTE = /^[\w.~-]+@[\w.-]+:(?!\/\/)\S/u;
18
- const URL_SCHEME = /^[a-z][a-z0-9+.-]*:\/\//iu;
19
- const SHORTHAND = /^[\w.-]+\/[\w.-]+$/u;
20
- const inside = (root, candidate) => {
21
- const path = relative(root, candidate);
22
- return path !== ".." && !path.startsWith(`..${sep}`) && !isAbsolute(path);
23
- };
24
- const isFile = (path) => stat(path).then((info) => info.isFile(), (cause) => {
25
- if (cause.code === "ENOENT" || cause.code === "ENOTDIR")
26
- return false;
27
- throw cause;
28
- });
29
- // The reason a tool gave: its last stderr line, or that it outran its deadline.
30
- const reason = (cause) => {
31
- const failure = cause;
32
- if (failure.killed === true)
33
- return "it outran PLURNK_SERVICE_SKILLS_FETCH_TIMEOUT_MS";
34
- const text = typeof failure.stderr === "string" && failure.stderr.trim().length > 0 ? failure.stderr : messageOf(cause);
35
- return text.split(/\r?\n/u).map((line) => line.trim()).filter((line) => line.length > 0).at(-1) ?? messageOf(cause);
36
- };
37
- const tool = async (command, args) => {
38
- const env = ExecEnv.withoutOwnSecrets();
39
- const { stdout } = await execFileP(command, [...args], {
40
- // {§exec-env-scoped} — the operator's git configuration, credentials and SSH agent reach the
41
- // fetch; plurnk's own secrets never do, and neither git nor ssh ever prompts.
42
- env: {
43
- ...env,
44
- GIT_TERMINAL_PROMPT: "0",
45
- ...(env.GIT_SSH_COMMAND === undefined && env.GIT_SSH === undefined ? { GIT_SSH_COMMAND: "ssh -o BatchMode=yes" } : {}),
46
- },
47
- timeout: Knob.integer("PLURNK_SERVICE_SKILLS_FETCH_TIMEOUT_MS", 1),
48
- maxBuffer: TOOL_OUTPUT_BYTES,
49
- });
50
- return stdout;
51
- };
52
- export default class SkillSource {
53
- // URL admission is independent of filesystem and network availability.
54
- static remote(source) {
55
- if (/^(?:https|ssh):\/\//iu.test(source)) {
56
- let url = null;
57
- try {
58
- url = new URL(source);
59
- }
60
- catch { /* reported below */ }
61
- if (url === null || url.hostname.length === 0) {
62
- throw actionError("source-invalid", 400, `'${source}' is not a valid git remote URL.`, { source, retryable: false });
63
- }
64
- // A recorded source is listed to every client: credentials belong to git's credential helper.
65
- if (url.protocol === "https:" && (url.username.length > 0 || url.password.length > 0)) {
66
- throw actionError("source-invalid", 400, "An https source carries no credentials; git's credential helper supplies them.", { retryable: false });
67
- }
68
- return { kind: "git", location: source };
69
- }
70
- if (SCP_REMOTE.test(source))
71
- return { kind: "git", location: source };
72
- if (URL_SCHEME.test(source)) {
73
- throw actionError("source-invalid", 400, `'${source}' is not a source: a git remote is a full https or ssh URL.`, { source, retryable: false });
74
- }
75
- return null;
76
- }
77
- // Reads a source's form without fetching it. A relative path is the project's.
78
- static async locate(source, context) {
79
- const remote = SkillSource.remote(source);
80
- if (remote !== null)
81
- return remote;
82
- const expanded = source === "~" || source.startsWith("~/") ? join(context.home, source.slice(1)) : source;
83
- if (!isAbsolute(expanded) && context.projectRoot === null) {
84
- throw actionError("source-invalid", 400, `'${source}' is relative, and this workspace has no project root to resolve it against.`, { source, retryable: false });
85
- }
86
- const location = resolve(context.projectRoot ?? "/", expanded);
87
- let info;
88
- try {
89
- info = await stat(location);
90
- }
91
- catch (cause) {
92
- if (cause.code === "ENOENT") {
93
- const hint = SHORTHAND.test(source) ? "; owner/repo shorthand names no forge, so give the repository's full https or ssh URL" : "";
94
- throw actionError("source-missing", 404, `No folder or file is at '${source}'${hint}.`, { source, path: location, retryable: false });
95
- }
96
- throw actionError("source-unreadable", 422, `'${source}' cannot be read: ${messageOf(cause)}`, { source, path: location, retryable: false }, cause);
97
- }
98
- if (info.isDirectory())
99
- return { kind: "folder", location };
100
- if (info.isFile() && basename(location) === "SKILL.md")
101
- return { kind: "skill-file", location };
102
- if (info.isFile() && ARCHIVE.test(location))
103
- return { kind: "archive", location };
104
- throw actionError("source-invalid", 400, `'${source}' is neither a folder, a SKILL.md, nor a zip or tar archive.`, { source, path: location, retryable: false });
105
- }
106
- // The commit a git remote's branch or tag names now; its default branch when no ref is given.
107
- static async resolveCommit(remote, ref) {
108
- let listing;
109
- try {
110
- // Exact refnames: a bare pattern tail-matches (`v1` finds `feature/v1`) and omits a tag's peeled commit.
111
- listing = await tool("git", ref === undefined
112
- ? ["ls-remote", "--", remote, "HEAD"]
113
- : ["ls-remote", "--", remote, `refs/heads/${ref}`, `refs/tags/${ref}`, `refs/tags/${ref}^{}`]);
114
- }
115
- catch (cause) {
116
- throw actionError("source-unreachable", 502, `git could not reach '${remote}': ${reason(cause)}`, { source: remote, retryable: true }, cause);
117
- }
118
- const refs = new Map(listing.split("\n").filter((line) => line.includes("\t")).map((line) => {
119
- const [commit, name] = line.split("\t");
120
- return [name, commit];
121
- }));
122
- const commit = ref === undefined
123
- ? refs.get("HEAD")
124
- : refs.get(`refs/heads/${ref}`) ?? refs.get(`refs/tags/${ref}^{}`) ?? refs.get(`refs/tags/${ref}`);
125
- if (commit === undefined) {
126
- throw actionError("ref-missing", 404, ref === undefined ? `'${remote}' names no default branch.` : `'${remote}' has no branch or tag '${ref}'.`, {
127
- source: remote, ...(ref === undefined ? {} : { ref }), retryable: false,
128
- });
129
- }
130
- return commit;
131
- }
132
- // Local trees stay in place; fetched sources own private staging released by close().
133
- static async open(located, pin = {}) {
134
- if (located.kind === "folder" || located.kind === "skill-file") {
135
- const root = located.kind === "folder" ? located.location : dirname(located.location);
136
- await SkillSource.#assertSkillSource(root, located.location);
137
- return { ...await SkillSource.#find(root, false), close: async () => { } };
138
- }
139
- const staging = await mkdtemp(join(tmpdir(), "plurnk-skill-source-"));
140
- const close = () => rm(staging, { recursive: true, force: true });
141
- try {
142
- let root;
143
- let commit;
144
- switch (located.kind) {
145
- case "git": {
146
- root = join(staging, "checkout");
147
- try {
148
- // No hook runs on the checkout: an operator's global post-checkout would run fetched content.
149
- await tool("git", ["-c", "core.hooksPath=/dev/null", "clone", "--depth", "1", "--single-branch", "--no-recurse-submodules",
150
- ...(pin.ref === undefined ? [] : ["--branch", pin.ref]), "--", located.location, root]);
151
- commit = (await tool("git", ["-C", root, "rev-parse", "HEAD"])).trim();
152
- }
153
- catch (cause) {
154
- const at = pin.ref === undefined ? "" : ` at '${pin.ref}'`;
155
- throw actionError("source-unreachable", 502, `git could not fetch '${located.location}'${at}: ${reason(cause)}`, {
156
- source: located.location, ...(pin.ref === undefined ? {} : { ref: pin.ref }), retryable: true,
157
- }, cause);
158
- }
159
- if (pin.commit !== undefined && commit !== pin.commit) {
160
- throw actionError("source-moved", 409, `'${located.location}' ${pin.ref ?? "HEAD"} now names ${commit}; this skill was added at ${pin.commit}.`, {
161
- source: located.location, ...(pin.ref === undefined ? {} : { ref: pin.ref }), commit: pin.commit, current: commit,
162
- recovery: "Remove the skill and add it again to take the current commit.", retryable: false,
163
- });
164
- }
165
- break;
166
- }
167
- case "archive": {
168
- const into = join(staging, "archive");
169
- await mkdir(into);
170
- try {
171
- // Both tools strip absolute and parent-relative member names and create an
172
- // archive's links only after its files, so no member lands outside staging.
173
- if (/\.zip$/iu.test(located.location))
174
- await tool("unzip", ["-qq", "-n", located.location, "-d", into]);
175
- else
176
- await tool("tar", ["-x", "-f", located.location, "-C", into]);
177
- }
178
- catch (cause) {
179
- throw actionError("source-unreadable", 422, `'${located.location}' could not be unpacked: ${reason(cause)}`, { path: located.location, retryable: false }, cause);
180
- }
181
- const entries = await readdir(into, { withFileTypes: true });
182
- root = entries.length === 1 && entries[0].isDirectory() ? join(into, entries[0].name) : into;
183
- break;
184
- }
185
- }
186
- await SkillSource.#assertSkillSource(root, located.location);
187
- const { skills, invalid } = await SkillSource.#find(root, true);
188
- return { skills, invalid, ...(commit === undefined ? {} : { commit }), close };
189
- }
190
- catch (error) {
191
- await close();
192
- throw error;
193
- }
194
- }
195
- static async #assertSkillSource(root, source) {
196
- if (await isFile(join(root, "plugin.json"))) {
197
- throw actionError("source-is-plugin", 422, `'${source}' is an Agent Plugin; install it as a plugin, so its skills keep the plugin's identity and servers.`, {
198
- source, retryable: false,
199
- });
200
- }
201
- }
202
- // Every directory holding a SKILL.md, not descending into a skill or into .git. A skill at the
203
- // fetched root is named by its frontmatter; live folders retain the standard folder rule.
204
- static async #find(root, fetched) {
205
- const canonicalRoot = await realpath(root);
206
- const skills = [];
207
- const invalid = [];
208
- const visit = async (dir, atRoot) => {
209
- const file = join(dir, "SKILL.md");
210
- if (await isFile(file)) {
211
- try {
212
- if (!inside(canonicalRoot, await realpath(file)))
213
- throw new Error(`${file} resolves outside the source`);
214
- const document = await readFile(file, "utf8");
215
- const parsed = parseSkill(file, atRoot && fetched ? skillName(file, document) : basename(dir), document);
216
- skills.push({ name: parsed.name, description: parsed.description, dir });
217
- }
218
- catch (cause) {
219
- invalid.push({ dir, reason: messageOf(cause) });
220
- }
221
- return;
222
- }
223
- for (const entry of await readdir(dir, { withFileTypes: true })) {
224
- if (entry.isDirectory() && entry.name !== ".git")
225
- await visit(join(dir, entry.name), false);
226
- }
227
- };
228
- await visit(root, true);
229
- return { skills: skills.toSorted((left, right) => left.name.localeCompare(right.name) || left.dir.localeCompare(right.dir)), invalid };
230
- }
231
- // Copies one found skill to <root>/<name>: staged beside its destination, refused when it holds
232
- // a link out of itself or anything but files, directories and inward links, then renamed in.
233
- static async install(skill, root) {
234
- await mkdir(root, { recursive: true });
235
- const holding = await mkdtemp(join(root, ".plurnk-install-"));
236
- try {
237
- const staged = join(holding, skill.name);
238
- await cp(skill.dir, staged, { recursive: true, verbatimSymlinks: true, errorOnExist: true, force: false, filter: (path) => basename(path) !== ".git" });
239
- await SkillSource.assertInward(staged);
240
- const target = join(root, skill.name);
241
- await rename(staged, target);
242
- return target;
243
- }
244
- finally {
245
- await rm(holding, { recursive: true, force: true });
246
- }
247
- }
248
- static async assertInward(root) {
249
- const walk = async (dir) => {
250
- for (const entry of await readdir(dir, { withFileTypes: true })) {
251
- const path = join(dir, entry.name);
252
- if (entry.isDirectory()) {
253
- await walk(path);
254
- continue;
255
- }
256
- if (entry.isFile())
257
- continue;
258
- if (entry.isSymbolicLink() && inside(root, resolve(dir, await readlink(path))))
259
- continue;
260
- const what = entry.isSymbolicLink() ? "links outside its skill" : "is neither a file, a directory, nor an inward link";
261
- throw actionError("source-unsafe", 422, `'${relative(root, path)}' ${what}.`, { path: relative(root, path), retryable: false });
262
- }
263
- };
264
- await walk(root);
265
- }
266
- }
267
- //# sourceMappingURL=SkillSource.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SkillSource.js","sourceRoot":"","sources":["../../src/server/SkillSource.ts"],"names":[],"mappings":"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"}
@@ -1,45 +0,0 @@
1
- import { type SkillTree } from "@plurnk/plurnk-agent-skills";
2
- import { type FunctionalityCandidate, type FunctionalityDiscoverQuery, type JsonSchema, type SkillDefinition } from "@plurnk/plurnk-contracts";
3
- import type { Db } from "../core/Db.ts";
4
- import HostPaths from "../core/HostPaths.ts";
5
- import type { FunctionalityDefinitionSource, FunctionalityFamilyHandle, FunctionalityPreparation, FunctionalityPrepared, FunctionalityServiceDefinition, WorkspaceCapabilityIdentity } from "@plurnk/plurnk-contracts";
6
- import type { FunctionalityAdapter } from "./DaemonModule.ts";
7
- import type WorkspaceStorage from "./WorkspaceStorage.ts";
8
- import WorkspacePlugins from "./WorkspacePlugins.ts";
9
- export declare const serviceSkills: (env?: NodeJS.ProcessEnv) => ReadonlyMap<string, SkillDefinition>;
10
- export default class SkillsFunctionality implements FunctionalityAdapter {
11
- #private;
12
- readonly family = "skills";
13
- readonly aliasPattern: RegExp;
14
- readonly namespaceOwner = "@plurnk/plurnk-core/skills";
15
- readonly summary = "Manage Agent Skills";
16
- readonly definitionSchema: JsonSchema;
17
- readonly example: {
18
- alias: string;
19
- definition: {
20
- name: string;
21
- source: string;
22
- };
23
- };
24
- readonly docsDir: string;
25
- readonly discovery: {
26
- details: string;
27
- };
28
- constructor({ db, storage, hostPaths, provided, plugins }: {
29
- readonly db: Db;
30
- readonly storage: WorkspaceStorage;
31
- readonly hostPaths?: HostPaths;
32
- readonly provided?: () => Promise<ReadonlyMap<string, SkillTree>>;
33
- readonly plugins?: WorkspacePlugins;
34
- });
35
- static validateConfiguration(): void;
36
- attach(handle: FunctionalityFamilyHandle): void;
37
- trees(workspaceId: number): ReadonlyMap<string, SkillTree>;
38
- refreshIfChanged(identity: WorkspaceCapabilityIdentity): Promise<void>;
39
- available(identity: WorkspaceCapabilityIdentity): Promise<readonly FunctionalityServiceDefinition[]>;
40
- discover(query: FunctionalityDiscoverQuery, identity: WorkspaceCapabilityIdentity): Promise<readonly FunctionalityCandidate[]>;
41
- admit(input: unknown, identity: WorkspaceCapabilityIdentity): Promise<FunctionalityDefinitionSource>;
42
- prepare(preparation: FunctionalityPreparation): Promise<FunctionalityPrepared>;
43
- teardown(_snapshot: unknown, identity: WorkspaceCapabilityIdentity): Promise<void>;
44
- }
45
- //# sourceMappingURL=SkillsFunctionality.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SkillsFunctionality.d.ts","sourceRoot":"","sources":["../../src/server/SkillsFunctionality.ts"],"names":[],"mappings":"AAMA,OAAO,EAAkB,KAAK,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAC7E,OAAO,EAGH,KAAK,sBAAsB,EAC3B,KAAK,0BAA0B,EAC/B,KAAK,UAAU,EACf,KAAK,eAAe,EACvB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAG7C,OAAO,KAAK,EACR,6BAA6B,EAC7B,yBAAyB,EAEzB,wBAAwB,EACxB,qBAAqB,EACrB,8BAA8B,EAC9B,2BAA2B,EAC9B,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EACR,oBAAoB,EACvB,MAAM,mBAAmB,CAAC;AAI3B,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAC;AAC1D,OAAO,gBAAgB,MAAM,uBAAuB,CAAC;AA6CrD,eAAO,MAAM,aAAa,SAAS,MAAM,CAAC,UAAU,KAAiB,WAAW,CAAC,MAAM,EAAE,eAAe,CAqBvG,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,mBAAoB,YAAW,oBAAoB;;IACpE,QAAQ,CAAC,MAAM,YAAiB;IAChC,QAAQ,CAAC,YAAY,SAAc;IACnC,QAAQ,CAAC,cAAc,gCAAgB;IACvC,QAAQ,CAAC,OAAO,yBAAyB;IACzC,QAAQ,CAAC,gBAAgB,EAAE,UAAU,CAAc;IACnD,QAAQ,CAAC,OAAO;QAAK,KAAK;QAAmB,UAAU;YAAI,IAAI;YAAmB,MAAM;;MAA4C;IACpI,QAAQ,CAAC,OAAO,SAAqB;IACrC,QAAQ,CAAC,SAAS;QACd,OAAO;MACT;IAUF,YAAY,EAAE,EAAE,EAAE,OAAO,EAAE,SAA2B,EAAE,QAAgC,EAAE,OAAO,EAAE,EAAE;QACjG,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC;QAChB,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC;QACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;QAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;QAClE,QAAQ,CAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC;KACvC,EAMA;IAGD,MAAM,CAAC,qBAAqB,IAAI,IAAI,CAOnC;IAED,MAAM,CAAC,MAAM,EAAE,yBAAyB,GAAG,IAAI,CAE9C;IAED,KAAK,CAAC,WAAW,EAAE,MAAM,GAAG,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAEzD;IA4FK,gBAAgB,CAAC,QAAQ,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CAM3E;IAEK,SAAS,CAAC,QAAQ,EAAE,2BAA2B,GAAG,OAAO,CAAC,SAAS,8BAA8B,EAAE,CAAC,CAqBzG;IAEK,QAAQ,CAAC,KAAK,EAAE,0BAA0B,EAAE,QAAQ,EAAE,2BAA2B,GAAG,OAAO,CAAC,SAAS,sBAAsB,EAAE,CAAC,CAqBnI;IAEK,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,2BAA2B,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAyBzG;IA6DK,OAAO,CAAC,WAAW,EAAE,wBAAwB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CA4CnF;IAEK,QAAQ,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CAEvF;CACJ"}