@withbuddi/buddi 0.1.0-pre.22 → 0.1.0-pre.24

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 (486) hide show
  1. package/README.md +10 -7
  2. package/node_modules/@buddi/cli/dist/.tsbuildinfo +1 -1
  3. package/node_modules/@buddi/cli/dist/commands.d.ts.map +1 -1
  4. package/node_modules/@buddi/cli/dist/commands.js +30 -1
  5. package/node_modules/@buddi/cli/dist/commands.js.map +1 -1
  6. package/node_modules/@buddi/cli/dist/doctor-probes.d.ts.map +1 -1
  7. package/node_modules/@buddi/cli/dist/doctor-probes.js +1 -0
  8. package/node_modules/@buddi/cli/dist/doctor-probes.js.map +1 -1
  9. package/node_modules/@buddi/cli/dist/doctor.d.ts +2 -0
  10. package/node_modules/@buddi/cli/dist/doctor.d.ts.map +1 -1
  11. package/node_modules/@buddi/cli/dist/doctor.js +7 -0
  12. package/node_modules/@buddi/cli/dist/doctor.js.map +1 -1
  13. package/node_modules/@buddi/cli/dist/main.d.ts.map +1 -1
  14. package/node_modules/@buddi/cli/dist/main.js +2 -1
  15. package/node_modules/@buddi/cli/dist/main.js.map +1 -1
  16. package/node_modules/@buddi/cli/dist/plugins-toggle.d.ts +9 -0
  17. package/node_modules/@buddi/cli/dist/plugins-toggle.d.ts.map +1 -0
  18. package/node_modules/@buddi/cli/dist/plugins-toggle.js +20 -0
  19. package/node_modules/@buddi/cli/dist/plugins-toggle.js.map +1 -0
  20. package/node_modules/@buddi/core/dist/.tsbuildinfo +1 -1
  21. package/node_modules/@buddi/core/dist/agents/catalog.d.ts +37 -2
  22. package/node_modules/@buddi/core/dist/agents/catalog.d.ts.map +1 -1
  23. package/node_modules/@buddi/core/dist/agents/catalog.js +49 -11
  24. package/node_modules/@buddi/core/dist/agents/catalog.js.map +1 -1
  25. package/node_modules/@buddi/core/dist/home.d.ts +30 -1
  26. package/node_modules/@buddi/core/dist/home.d.ts.map +1 -1
  27. package/node_modules/@buddi/core/dist/home.js +1 -1
  28. package/node_modules/@buddi/core/dist/home.js.map +1 -1
  29. package/node_modules/@buddi/core/dist/host/build.d.ts +7 -0
  30. package/node_modules/@buddi/core/dist/host/build.d.ts.map +1 -1
  31. package/node_modules/@buddi/core/dist/host/build.js +51 -4
  32. package/node_modules/@buddi/core/dist/host/build.js.map +1 -1
  33. package/node_modules/@buddi/core/dist/host/http.d.ts +32 -0
  34. package/node_modules/@buddi/core/dist/host/http.d.ts.map +1 -1
  35. package/node_modules/@buddi/core/dist/host/http.js +102 -2
  36. package/node_modules/@buddi/core/dist/host/http.js.map +1 -1
  37. package/node_modules/@buddi/core/dist/host/types.d.ts +8 -0
  38. package/node_modules/@buddi/core/dist/host/types.d.ts.map +1 -1
  39. package/node_modules/@buddi/core/dist/index.d.ts +1 -0
  40. package/node_modules/@buddi/core/dist/index.d.ts.map +1 -1
  41. package/node_modules/@buddi/core/dist/index.js +1 -0
  42. package/node_modules/@buddi/core/dist/index.js.map +1 -1
  43. package/node_modules/@buddi/core/dist/learning/announce.d.ts +1 -1
  44. package/node_modules/@buddi/core/dist/notifications/focus.d.ts +42 -0
  45. package/node_modules/@buddi/core/dist/notifications/focus.d.ts.map +1 -0
  46. package/node_modules/@buddi/core/dist/notifications/focus.js +150 -0
  47. package/node_modules/@buddi/core/dist/notifications/focus.js.map +1 -0
  48. package/node_modules/@buddi/core/dist/notifications/index.d.ts +1 -0
  49. package/node_modules/@buddi/core/dist/notifications/index.d.ts.map +1 -1
  50. package/node_modules/@buddi/core/dist/notifications/index.js +1 -0
  51. package/node_modules/@buddi/core/dist/notifications/index.js.map +1 -1
  52. package/node_modules/@buddi/core/dist/notifications/notify.d.ts +66 -7
  53. package/node_modules/@buddi/core/dist/notifications/notify.d.ts.map +1 -1
  54. package/node_modules/@buddi/core/dist/notifications/notify.js +123 -38
  55. package/node_modules/@buddi/core/dist/notifications/notify.js.map +1 -1
  56. package/node_modules/@buddi/core/dist/notifications/store.d.ts +6 -4
  57. package/node_modules/@buddi/core/dist/notifications/store.d.ts.map +1 -1
  58. package/node_modules/@buddi/core/dist/notifications/store.js +24 -23
  59. package/node_modules/@buddi/core/dist/notifications/store.js.map +1 -1
  60. package/node_modules/@buddi/core/dist/notifications/types.d.ts +46 -3
  61. package/node_modules/@buddi/core/dist/notifications/types.d.ts.map +1 -1
  62. package/node_modules/@buddi/core/dist/notifications/types.js +12 -0
  63. package/node_modules/@buddi/core/dist/notifications/types.js.map +1 -1
  64. package/node_modules/@buddi/core/dist/pages.d.ts +186 -6
  65. package/node_modules/@buddi/core/dist/pages.d.ts.map +1 -1
  66. package/node_modules/@buddi/core/dist/pages.js +232 -13
  67. package/node_modules/@buddi/core/dist/pages.js.map +1 -1
  68. package/node_modules/@buddi/core/dist/plugin/author.d.ts +42 -0
  69. package/node_modules/@buddi/core/dist/plugin/author.d.ts.map +1 -0
  70. package/node_modules/@buddi/core/dist/plugin/author.js +77 -0
  71. package/node_modules/@buddi/core/dist/plugin/author.js.map +1 -0
  72. package/node_modules/@buddi/core/dist/plugin/index.d.ts +7 -3
  73. package/node_modules/@buddi/core/dist/plugin/index.d.ts.map +1 -1
  74. package/node_modules/@buddi/core/dist/plugin/index.js +3 -0
  75. package/node_modules/@buddi/core/dist/plugin/index.js.map +1 -1
  76. package/node_modules/@buddi/core/dist/plugin/version.d.ts +1 -1
  77. package/node_modules/@buddi/core/dist/plugin/version.d.ts.map +1 -1
  78. package/node_modules/@buddi/core/dist/plugin/version.js +1 -1
  79. package/node_modules/@buddi/core/dist/plugin/version.js.map +1 -1
  80. package/node_modules/@buddi/core/dist/plugins/record.d.ts +8 -0
  81. package/node_modules/@buddi/core/dist/plugins/record.d.ts.map +1 -1
  82. package/node_modules/@buddi/core/dist/plugins/record.js +17 -0
  83. package/node_modules/@buddi/core/dist/plugins/record.js.map +1 -1
  84. package/node_modules/@buddi/core/dist/plugins/types.d.ts +7 -0
  85. package/node_modules/@buddi/core/dist/plugins/types.d.ts.map +1 -1
  86. package/node_modules/@buddi/core/dist/plugins/types.js.map +1 -1
  87. package/node_modules/@buddi/core/dist/registry.d.ts +11 -0
  88. package/node_modules/@buddi/core/dist/registry.d.ts.map +1 -1
  89. package/node_modules/@buddi/core/dist/registry.js +47 -6
  90. package/node_modules/@buddi/core/dist/registry.js.map +1 -1
  91. package/node_modules/@buddi/core/dist/scheduler/materialize.js +1 -1
  92. package/node_modules/@buddi/core/dist/scheduler/missions.d.ts +10 -0
  93. package/node_modules/@buddi/core/dist/scheduler/missions.d.ts.map +1 -1
  94. package/node_modules/@buddi/core/dist/scheduler/missions.js +29 -1
  95. package/node_modules/@buddi/core/dist/scheduler/missions.js.map +1 -1
  96. package/node_modules/@buddi/core/dist/scheduler/types.d.ts +7 -0
  97. package/node_modules/@buddi/core/dist/scheduler/types.d.ts.map +1 -1
  98. package/node_modules/@buddi/core/dist/scheduler/types.js +1 -0
  99. package/node_modules/@buddi/core/dist/scheduler/types.js.map +1 -1
  100. package/node_modules/@buddi/core/dist/secrets/destinations.d.ts +2 -0
  101. package/node_modules/@buddi/core/dist/secrets/destinations.d.ts.map +1 -1
  102. package/node_modules/@buddi/core/dist/secrets/destinations.js +6 -0
  103. package/node_modules/@buddi/core/dist/secrets/destinations.js.map +1 -1
  104. package/node_modules/@buddi/core/dist/tools.d.ts +8 -0
  105. package/node_modules/@buddi/core/dist/tools.d.ts.map +1 -1
  106. package/node_modules/@buddi/core/dist/tools.js.map +1 -1
  107. package/node_modules/@buddi/core/dist/views.d.ts +178 -3
  108. package/node_modules/@buddi/core/dist/views.d.ts.map +1 -1
  109. package/node_modules/@buddi/core/dist/views.js +56 -1
  110. package/node_modules/@buddi/core/dist/views.js.map +1 -1
  111. package/node_modules/@buddi/core/migrations/051_notification_focus.sql +20 -0
  112. package/node_modules/@buddi/core/migrations/052_mission_paused_reason.sql +6 -0
  113. package/node_modules/@buddi/gateway/dist/.tsbuildinfo +1 -1
  114. package/node_modules/@buddi/gateway/dist/agents/catalog.d.ts +7 -0
  115. package/node_modules/@buddi/gateway/dist/agents/catalog.d.ts.map +1 -1
  116. package/node_modules/@buddi/gateway/dist/agents/catalog.js +18 -1
  117. package/node_modules/@buddi/gateway/dist/agents/catalog.js.map +1 -1
  118. package/node_modules/@buddi/gateway/dist/agents/starter-team.d.ts +2 -0
  119. package/node_modules/@buddi/gateway/dist/agents/starter-team.d.ts.map +1 -1
  120. package/node_modules/@buddi/gateway/dist/agents/starter-team.js +8 -3
  121. package/node_modules/@buddi/gateway/dist/agents/starter-team.js.map +1 -1
  122. package/node_modules/@buddi/gateway/dist/index.d.ts +1 -1
  123. package/node_modules/@buddi/gateway/dist/index.d.ts.map +1 -1
  124. package/node_modules/@buddi/gateway/dist/index.js.map +1 -1
  125. package/node_modules/@buddi/gateway/dist/missions-cli.d.ts.map +1 -1
  126. package/node_modules/@buddi/gateway/dist/missions-cli.js +6 -3
  127. package/node_modules/@buddi/gateway/dist/missions-cli.js.map +1 -1
  128. package/node_modules/@buddi/gateway/dist/plugins/approve.d.ts.map +1 -1
  129. package/node_modules/@buddi/gateway/dist/plugins/approve.js +9 -2
  130. package/node_modules/@buddi/gateway/dist/plugins/approve.js.map +1 -1
  131. package/node_modules/@buddi/gateway/dist/plugins/index.d.ts +1 -0
  132. package/node_modules/@buddi/gateway/dist/plugins/index.d.ts.map +1 -1
  133. package/node_modules/@buddi/gateway/dist/plugins/index.js +1 -0
  134. package/node_modules/@buddi/gateway/dist/plugins/index.js.map +1 -1
  135. package/node_modules/@buddi/gateway/dist/plugins/live.d.ts +42 -0
  136. package/node_modules/@buddi/gateway/dist/plugins/live.d.ts.map +1 -0
  137. package/node_modules/@buddi/gateway/dist/plugins/live.js +81 -0
  138. package/node_modules/@buddi/gateway/dist/plugins/live.js.map +1 -0
  139. package/node_modules/@buddi/gateway/dist/plugins/load.d.ts +5 -0
  140. package/node_modules/@buddi/gateway/dist/plugins/load.d.ts.map +1 -1
  141. package/node_modules/@buddi/gateway/dist/plugins/load.js +10 -1
  142. package/node_modules/@buddi/gateway/dist/plugins/load.js.map +1 -1
  143. package/node_modules/@buddi/gateway/dist/plugins/provenance.d.ts.map +1 -1
  144. package/node_modules/@buddi/gateway/dist/plugins/provenance.js +10 -3
  145. package/node_modules/@buddi/gateway/dist/plugins/provenance.js.map +1 -1
  146. package/node_modules/@buddi/gateway/dist/plugins/scaffold.d.ts +8 -0
  147. package/node_modules/@buddi/gateway/dist/plugins/scaffold.d.ts.map +1 -1
  148. package/node_modules/@buddi/gateway/dist/plugins/scaffold.js +46 -7
  149. package/node_modules/@buddi/gateway/dist/plugins/scaffold.js.map +1 -1
  150. package/node_modules/@buddi/gateway/dist/plugins/stage.d.ts +6 -1
  151. package/node_modules/@buddi/gateway/dist/plugins/stage.d.ts.map +1 -1
  152. package/node_modules/@buddi/gateway/dist/plugins/stage.js +3 -1
  153. package/node_modules/@buddi/gateway/dist/plugins/stage.js.map +1 -1
  154. package/node_modules/@buddi/gateway/dist/plugins/toggle.d.ts +37 -0
  155. package/node_modules/@buddi/gateway/dist/plugins/toggle.d.ts.map +1 -0
  156. package/node_modules/@buddi/gateway/dist/plugins/toggle.js +110 -0
  157. package/node_modules/@buddi/gateway/dist/plugins/toggle.js.map +1 -0
  158. package/node_modules/@buddi/gateway/dist/plugins-cli.d.ts +61 -6
  159. package/node_modules/@buddi/gateway/dist/plugins-cli.d.ts.map +1 -1
  160. package/node_modules/@buddi/gateway/dist/plugins-cli.js +247 -20
  161. package/node_modules/@buddi/gateway/dist/plugins-cli.js.map +1 -1
  162. package/node_modules/@buddi/gateway/dist/serve.js +3 -3
  163. package/node_modules/@buddi/gateway/dist/serve.js.map +1 -1
  164. package/node_modules/@buddi/gateway/dist/speech-cli.d.ts +13 -0
  165. package/node_modules/@buddi/gateway/dist/speech-cli.d.ts.map +1 -1
  166. package/node_modules/@buddi/gateway/dist/speech-cli.js +40 -1
  167. package/node_modules/@buddi/gateway/dist/speech-cli.js.map +1 -1
  168. package/node_modules/@buddi/gateway/dist/telegram/focus.d.ts +27 -0
  169. package/node_modules/@buddi/gateway/dist/telegram/focus.d.ts.map +1 -0
  170. package/node_modules/@buddi/gateway/dist/telegram/focus.js +72 -0
  171. package/node_modules/@buddi/gateway/dist/telegram/focus.js.map +1 -0
  172. package/node_modules/@buddi/gateway/dist/telegram/main.d.ts.map +1 -1
  173. package/node_modules/@buddi/gateway/dist/telegram/main.js +1 -0
  174. package/node_modules/@buddi/gateway/dist/telegram/main.js.map +1 -1
  175. package/node_modules/@buddi/gateway/dist/telegram/surface.d.ts +2 -0
  176. package/node_modules/@buddi/gateway/dist/telegram/surface.d.ts.map +1 -1
  177. package/node_modules/@buddi/gateway/dist/telegram/surface.js +24 -1
  178. package/node_modules/@buddi/gateway/dist/telegram/surface.js.map +1 -1
  179. package/node_modules/@buddi/gateway/dist/tips/rules.d.ts +2 -0
  180. package/node_modules/@buddi/gateway/dist/tips/rules.d.ts.map +1 -1
  181. package/node_modules/@buddi/gateway/dist/tips/rules.js +10 -0
  182. package/node_modules/@buddi/gateway/dist/tips/rules.js.map +1 -1
  183. package/node_modules/@buddi/gateway/dist/web/agent-offers.js +1 -1
  184. package/node_modules/@buddi/gateway/dist/web/agent-offers.js.map +1 -1
  185. package/node_modules/@buddi/gateway/dist/web/folders.d.ts +23 -0
  186. package/node_modules/@buddi/gateway/dist/web/folders.d.ts.map +1 -0
  187. package/node_modules/@buddi/gateway/dist/web/folders.js +100 -0
  188. package/node_modules/@buddi/gateway/dist/web/folders.js.map +1 -0
  189. package/node_modules/@buddi/gateway/dist/web/market.d.ts +111 -0
  190. package/node_modules/@buddi/gateway/dist/web/market.d.ts.map +1 -0
  191. package/node_modules/@buddi/gateway/dist/web/market.js +347 -0
  192. package/node_modules/@buddi/gateway/dist/web/market.js.map +1 -0
  193. package/node_modules/@buddi/gateway/dist/web/notifications.d.ts +8 -1
  194. package/node_modules/@buddi/gateway/dist/web/notifications.d.ts.map +1 -1
  195. package/node_modules/@buddi/gateway/dist/web/notifications.js +23 -1
  196. package/node_modules/@buddi/gateway/dist/web/notifications.js.map +1 -1
  197. package/node_modules/@buddi/gateway/dist/web/plugins.d.ts +38 -3
  198. package/node_modules/@buddi/gateway/dist/web/plugins.d.ts.map +1 -1
  199. package/node_modules/@buddi/gateway/dist/web/plugins.js +73 -5
  200. package/node_modules/@buddi/gateway/dist/web/plugins.js.map +1 -1
  201. package/node_modules/@buddi/gateway/dist/web/profile.d.ts +2 -0
  202. package/node_modules/@buddi/gateway/dist/web/profile.d.ts.map +1 -1
  203. package/node_modules/@buddi/gateway/dist/web/profile.js +2 -1
  204. package/node_modules/@buddi/gateway/dist/web/profile.js.map +1 -1
  205. package/node_modules/@buddi/gateway/dist/web/rail.d.ts +33 -0
  206. package/node_modules/@buddi/gateway/dist/web/rail.d.ts.map +1 -0
  207. package/node_modules/@buddi/gateway/dist/web/rail.js +45 -0
  208. package/node_modules/@buddi/gateway/dist/web/rail.js.map +1 -0
  209. package/node_modules/@buddi/gateway/dist/web/read.d.ts +46 -0
  210. package/node_modules/@buddi/gateway/dist/web/read.d.ts.map +1 -1
  211. package/node_modules/@buddi/gateway/dist/web/read.js +78 -2
  212. package/node_modules/@buddi/gateway/dist/web/read.js.map +1 -1
  213. package/node_modules/@buddi/gateway/dist/web/server.d.ts.map +1 -1
  214. package/node_modules/@buddi/gateway/dist/web/server.js +68 -6
  215. package/node_modules/@buddi/gateway/dist/web/server.js.map +1 -1
  216. package/node_modules/@buddi/gateway/dist/web/svg.d.ts +23 -0
  217. package/node_modules/@buddi/gateway/dist/web/svg.d.ts.map +1 -0
  218. package/node_modules/@buddi/gateway/dist/web/svg.js +125 -0
  219. package/node_modules/@buddi/gateway/dist/web/svg.js.map +1 -0
  220. package/node_modules/@buddi/gateway/src/agents/starter/planner/agent.md +2 -2
  221. package/node_modules/@buddi/gateway/src/agents/starter/planner/skills/writing-the-morning-brief.md +18 -11
  222. package/node_modules/@buddi/install/dist/.tsbuildinfo +1 -1
  223. package/node_modules/@buddi/runtime/dist/.tsbuildinfo +1 -1
  224. package/node_modules/@buddi/tool-artifacts/dist/.tsbuildinfo +1 -1
  225. package/node_modules/@buddi/tool-browser/dist/.tsbuildinfo +1 -1
  226. package/node_modules/@buddi/tool-email/dist/.tsbuildinfo +1 -1
  227. package/node_modules/@buddi/tool-host/dist/.tsbuildinfo +1 -1
  228. package/node_modules/@buddi/tool-mcp/dist/.tsbuildinfo +1 -1
  229. package/node_modules/@buddi/tool-memory/dist/.tsbuildinfo +1 -1
  230. package/node_modules/@buddi/tool-web/dist/.tsbuildinfo +1 -1
  231. package/node_modules/@hono/node-server/README.md +21 -10
  232. package/node_modules/@hono/node-server/dist/early-hints.cjs +1 -1
  233. package/node_modules/@hono/node-server/dist/early-hints.mjs +1 -1
  234. package/node_modules/@hono/node-server/dist/index.cjs +41 -19
  235. package/node_modules/@hono/node-server/dist/index.mjs +42 -20
  236. package/node_modules/@hono/node-server/dist/serve-static.cjs +1 -0
  237. package/node_modules/@hono/node-server/dist/serve-static.d.cts +2 -1
  238. package/node_modules/@hono/node-server/dist/serve-static.d.mts +2 -1
  239. package/node_modules/@hono/node-server/dist/serve-static.mjs +1 -0
  240. package/node_modules/@hono/node-server/package.json +3 -2
  241. package/node_modules/hono/dist/cjs/adapter/bun/websocket.js +1 -1
  242. package/node_modules/hono/dist/cjs/middleware/language/language.js +1 -1
  243. package/node_modules/hono/dist/cjs/middleware/serve-static/index.js +1 -0
  244. package/node_modules/hono/dist/middleware/language/language.js +1 -1
  245. package/node_modules/hono/dist/middleware/serve-static/index.js +1 -0
  246. package/node_modules/hono/dist/types/middleware/serve-static/index.d.ts +2 -0
  247. package/node_modules/hono/package.json +1 -1
  248. package/package.json +2 -2
  249. package/packages/cli/dist/.tsbuildinfo +1 -1
  250. package/packages/cli/dist/commands.d.ts.map +1 -1
  251. package/packages/cli/dist/commands.js +30 -1
  252. package/packages/cli/dist/commands.js.map +1 -1
  253. package/packages/cli/dist/doctor-probes.d.ts.map +1 -1
  254. package/packages/cli/dist/doctor-probes.js +1 -0
  255. package/packages/cli/dist/doctor-probes.js.map +1 -1
  256. package/packages/cli/dist/doctor.d.ts +2 -0
  257. package/packages/cli/dist/doctor.d.ts.map +1 -1
  258. package/packages/cli/dist/doctor.js +7 -0
  259. package/packages/cli/dist/doctor.js.map +1 -1
  260. package/packages/cli/dist/main.d.ts.map +1 -1
  261. package/packages/cli/dist/main.js +2 -1
  262. package/packages/cli/dist/main.js.map +1 -1
  263. package/packages/cli/dist/plugins-toggle.d.ts +9 -0
  264. package/packages/cli/dist/plugins-toggle.d.ts.map +1 -0
  265. package/packages/cli/dist/plugins-toggle.js +20 -0
  266. package/packages/cli/dist/plugins-toggle.js.map +1 -0
  267. package/packages/core/dist/.tsbuildinfo +1 -1
  268. package/packages/core/dist/agents/catalog.d.ts +37 -2
  269. package/packages/core/dist/agents/catalog.d.ts.map +1 -1
  270. package/packages/core/dist/agents/catalog.js +49 -11
  271. package/packages/core/dist/agents/catalog.js.map +1 -1
  272. package/packages/core/dist/home.d.ts +30 -1
  273. package/packages/core/dist/home.d.ts.map +1 -1
  274. package/packages/core/dist/home.js +1 -1
  275. package/packages/core/dist/home.js.map +1 -1
  276. package/packages/core/dist/host/build.d.ts +7 -0
  277. package/packages/core/dist/host/build.d.ts.map +1 -1
  278. package/packages/core/dist/host/build.js +51 -4
  279. package/packages/core/dist/host/build.js.map +1 -1
  280. package/packages/core/dist/host/http.d.ts +32 -0
  281. package/packages/core/dist/host/http.d.ts.map +1 -1
  282. package/packages/core/dist/host/http.js +102 -2
  283. package/packages/core/dist/host/http.js.map +1 -1
  284. package/packages/core/dist/host/types.d.ts +8 -0
  285. package/packages/core/dist/host/types.d.ts.map +1 -1
  286. package/packages/core/dist/index.d.ts +1 -0
  287. package/packages/core/dist/index.d.ts.map +1 -1
  288. package/packages/core/dist/index.js +1 -0
  289. package/packages/core/dist/index.js.map +1 -1
  290. package/packages/core/dist/learning/announce.d.ts +1 -1
  291. package/packages/core/dist/notifications/focus.d.ts +42 -0
  292. package/packages/core/dist/notifications/focus.d.ts.map +1 -0
  293. package/packages/core/dist/notifications/focus.js +150 -0
  294. package/packages/core/dist/notifications/focus.js.map +1 -0
  295. package/packages/core/dist/notifications/index.d.ts +1 -0
  296. package/packages/core/dist/notifications/index.d.ts.map +1 -1
  297. package/packages/core/dist/notifications/index.js +1 -0
  298. package/packages/core/dist/notifications/index.js.map +1 -1
  299. package/packages/core/dist/notifications/notify.d.ts +66 -7
  300. package/packages/core/dist/notifications/notify.d.ts.map +1 -1
  301. package/packages/core/dist/notifications/notify.js +123 -38
  302. package/packages/core/dist/notifications/notify.js.map +1 -1
  303. package/packages/core/dist/notifications/store.d.ts +6 -4
  304. package/packages/core/dist/notifications/store.d.ts.map +1 -1
  305. package/packages/core/dist/notifications/store.js +24 -23
  306. package/packages/core/dist/notifications/store.js.map +1 -1
  307. package/packages/core/dist/notifications/types.d.ts +46 -3
  308. package/packages/core/dist/notifications/types.d.ts.map +1 -1
  309. package/packages/core/dist/notifications/types.js +12 -0
  310. package/packages/core/dist/notifications/types.js.map +1 -1
  311. package/packages/core/dist/pages.d.ts +186 -6
  312. package/packages/core/dist/pages.d.ts.map +1 -1
  313. package/packages/core/dist/pages.js +232 -13
  314. package/packages/core/dist/pages.js.map +1 -1
  315. package/packages/core/dist/plugin/author.d.ts +42 -0
  316. package/packages/core/dist/plugin/author.d.ts.map +1 -0
  317. package/packages/core/dist/plugin/author.js +77 -0
  318. package/packages/core/dist/plugin/author.js.map +1 -0
  319. package/packages/core/dist/plugin/index.d.ts +7 -3
  320. package/packages/core/dist/plugin/index.d.ts.map +1 -1
  321. package/packages/core/dist/plugin/index.js +3 -0
  322. package/packages/core/dist/plugin/index.js.map +1 -1
  323. package/packages/core/dist/plugin/version.d.ts +1 -1
  324. package/packages/core/dist/plugin/version.d.ts.map +1 -1
  325. package/packages/core/dist/plugin/version.js +1 -1
  326. package/packages/core/dist/plugin/version.js.map +1 -1
  327. package/packages/core/dist/plugins/record.d.ts +8 -0
  328. package/packages/core/dist/plugins/record.d.ts.map +1 -1
  329. package/packages/core/dist/plugins/record.js +17 -0
  330. package/packages/core/dist/plugins/record.js.map +1 -1
  331. package/packages/core/dist/plugins/types.d.ts +7 -0
  332. package/packages/core/dist/plugins/types.d.ts.map +1 -1
  333. package/packages/core/dist/plugins/types.js.map +1 -1
  334. package/packages/core/dist/registry.d.ts +11 -0
  335. package/packages/core/dist/registry.d.ts.map +1 -1
  336. package/packages/core/dist/registry.js +47 -6
  337. package/packages/core/dist/registry.js.map +1 -1
  338. package/packages/core/dist/scheduler/materialize.js +1 -1
  339. package/packages/core/dist/scheduler/missions.d.ts +10 -0
  340. package/packages/core/dist/scheduler/missions.d.ts.map +1 -1
  341. package/packages/core/dist/scheduler/missions.js +29 -1
  342. package/packages/core/dist/scheduler/missions.js.map +1 -1
  343. package/packages/core/dist/scheduler/types.d.ts +7 -0
  344. package/packages/core/dist/scheduler/types.d.ts.map +1 -1
  345. package/packages/core/dist/scheduler/types.js +1 -0
  346. package/packages/core/dist/scheduler/types.js.map +1 -1
  347. package/packages/core/dist/secrets/destinations.d.ts +2 -0
  348. package/packages/core/dist/secrets/destinations.d.ts.map +1 -1
  349. package/packages/core/dist/secrets/destinations.js +6 -0
  350. package/packages/core/dist/secrets/destinations.js.map +1 -1
  351. package/packages/core/dist/tools.d.ts +8 -0
  352. package/packages/core/dist/tools.d.ts.map +1 -1
  353. package/packages/core/dist/tools.js.map +1 -1
  354. package/packages/core/dist/views.d.ts +178 -3
  355. package/packages/core/dist/views.d.ts.map +1 -1
  356. package/packages/core/dist/views.js +56 -1
  357. package/packages/core/dist/views.js.map +1 -1
  358. package/packages/core/migrations/051_notification_focus.sql +20 -0
  359. package/packages/core/migrations/052_mission_paused_reason.sql +6 -0
  360. package/packages/gateway/dist/.tsbuildinfo +1 -1
  361. package/packages/gateway/dist/agents/catalog.d.ts +7 -0
  362. package/packages/gateway/dist/agents/catalog.d.ts.map +1 -1
  363. package/packages/gateway/dist/agents/catalog.js +18 -1
  364. package/packages/gateway/dist/agents/catalog.js.map +1 -1
  365. package/packages/gateway/dist/agents/starter-team.d.ts +2 -0
  366. package/packages/gateway/dist/agents/starter-team.d.ts.map +1 -1
  367. package/packages/gateway/dist/agents/starter-team.js +8 -3
  368. package/packages/gateway/dist/agents/starter-team.js.map +1 -1
  369. package/packages/gateway/dist/index.d.ts +1 -1
  370. package/packages/gateway/dist/index.d.ts.map +1 -1
  371. package/packages/gateway/dist/index.js.map +1 -1
  372. package/packages/gateway/dist/missions-cli.d.ts.map +1 -1
  373. package/packages/gateway/dist/missions-cli.js +6 -3
  374. package/packages/gateway/dist/missions-cli.js.map +1 -1
  375. package/packages/gateway/dist/plugins/approve.d.ts.map +1 -1
  376. package/packages/gateway/dist/plugins/approve.js +9 -2
  377. package/packages/gateway/dist/plugins/approve.js.map +1 -1
  378. package/packages/gateway/dist/plugins/index.d.ts +1 -0
  379. package/packages/gateway/dist/plugins/index.d.ts.map +1 -1
  380. package/packages/gateway/dist/plugins/index.js +1 -0
  381. package/packages/gateway/dist/plugins/index.js.map +1 -1
  382. package/packages/gateway/dist/plugins/live.d.ts +42 -0
  383. package/packages/gateway/dist/plugins/live.d.ts.map +1 -0
  384. package/packages/gateway/dist/plugins/live.js +81 -0
  385. package/packages/gateway/dist/plugins/live.js.map +1 -0
  386. package/packages/gateway/dist/plugins/load.d.ts +5 -0
  387. package/packages/gateway/dist/plugins/load.d.ts.map +1 -1
  388. package/packages/gateway/dist/plugins/load.js +10 -1
  389. package/packages/gateway/dist/plugins/load.js.map +1 -1
  390. package/packages/gateway/dist/plugins/provenance.d.ts.map +1 -1
  391. package/packages/gateway/dist/plugins/provenance.js +10 -3
  392. package/packages/gateway/dist/plugins/provenance.js.map +1 -1
  393. package/packages/gateway/dist/plugins/scaffold.d.ts +8 -0
  394. package/packages/gateway/dist/plugins/scaffold.d.ts.map +1 -1
  395. package/packages/gateway/dist/plugins/scaffold.js +46 -7
  396. package/packages/gateway/dist/plugins/scaffold.js.map +1 -1
  397. package/packages/gateway/dist/plugins/stage.d.ts +6 -1
  398. package/packages/gateway/dist/plugins/stage.d.ts.map +1 -1
  399. package/packages/gateway/dist/plugins/stage.js +3 -1
  400. package/packages/gateway/dist/plugins/stage.js.map +1 -1
  401. package/packages/gateway/dist/plugins/toggle.d.ts +37 -0
  402. package/packages/gateway/dist/plugins/toggle.d.ts.map +1 -0
  403. package/packages/gateway/dist/plugins/toggle.js +110 -0
  404. package/packages/gateway/dist/plugins/toggle.js.map +1 -0
  405. package/packages/gateway/dist/plugins-cli.d.ts +61 -6
  406. package/packages/gateway/dist/plugins-cli.d.ts.map +1 -1
  407. package/packages/gateway/dist/plugins-cli.js +247 -20
  408. package/packages/gateway/dist/plugins-cli.js.map +1 -1
  409. package/packages/gateway/dist/serve.js +3 -3
  410. package/packages/gateway/dist/serve.js.map +1 -1
  411. package/packages/gateway/dist/speech-cli.d.ts +13 -0
  412. package/packages/gateway/dist/speech-cli.d.ts.map +1 -1
  413. package/packages/gateway/dist/speech-cli.js +40 -1
  414. package/packages/gateway/dist/speech-cli.js.map +1 -1
  415. package/packages/gateway/dist/telegram/focus.d.ts +27 -0
  416. package/packages/gateway/dist/telegram/focus.d.ts.map +1 -0
  417. package/packages/gateway/dist/telegram/focus.js +72 -0
  418. package/packages/gateway/dist/telegram/focus.js.map +1 -0
  419. package/packages/gateway/dist/telegram/main.d.ts.map +1 -1
  420. package/packages/gateway/dist/telegram/main.js +1 -0
  421. package/packages/gateway/dist/telegram/main.js.map +1 -1
  422. package/packages/gateway/dist/telegram/surface.d.ts +2 -0
  423. package/packages/gateway/dist/telegram/surface.d.ts.map +1 -1
  424. package/packages/gateway/dist/telegram/surface.js +24 -1
  425. package/packages/gateway/dist/telegram/surface.js.map +1 -1
  426. package/packages/gateway/dist/tips/rules.d.ts +2 -0
  427. package/packages/gateway/dist/tips/rules.d.ts.map +1 -1
  428. package/packages/gateway/dist/tips/rules.js +10 -0
  429. package/packages/gateway/dist/tips/rules.js.map +1 -1
  430. package/packages/gateway/dist/web/agent-offers.js +1 -1
  431. package/packages/gateway/dist/web/agent-offers.js.map +1 -1
  432. package/packages/gateway/dist/web/folders.d.ts +23 -0
  433. package/packages/gateway/dist/web/folders.d.ts.map +1 -0
  434. package/packages/gateway/dist/web/folders.js +100 -0
  435. package/packages/gateway/dist/web/folders.js.map +1 -0
  436. package/packages/gateway/dist/web/market.d.ts +111 -0
  437. package/packages/gateway/dist/web/market.d.ts.map +1 -0
  438. package/packages/gateway/dist/web/market.js +347 -0
  439. package/packages/gateway/dist/web/market.js.map +1 -0
  440. package/packages/gateway/dist/web/notifications.d.ts +8 -1
  441. package/packages/gateway/dist/web/notifications.d.ts.map +1 -1
  442. package/packages/gateway/dist/web/notifications.js +23 -1
  443. package/packages/gateway/dist/web/notifications.js.map +1 -1
  444. package/packages/gateway/dist/web/plugins.d.ts +38 -3
  445. package/packages/gateway/dist/web/plugins.d.ts.map +1 -1
  446. package/packages/gateway/dist/web/plugins.js +73 -5
  447. package/packages/gateway/dist/web/plugins.js.map +1 -1
  448. package/packages/gateway/dist/web/profile.d.ts +2 -0
  449. package/packages/gateway/dist/web/profile.d.ts.map +1 -1
  450. package/packages/gateway/dist/web/profile.js +2 -1
  451. package/packages/gateway/dist/web/profile.js.map +1 -1
  452. package/packages/gateway/dist/web/rail.d.ts +33 -0
  453. package/packages/gateway/dist/web/rail.d.ts.map +1 -0
  454. package/packages/gateway/dist/web/rail.js +45 -0
  455. package/packages/gateway/dist/web/rail.js.map +1 -0
  456. package/packages/gateway/dist/web/read.d.ts +46 -0
  457. package/packages/gateway/dist/web/read.d.ts.map +1 -1
  458. package/packages/gateway/dist/web/read.js +78 -2
  459. package/packages/gateway/dist/web/read.js.map +1 -1
  460. package/packages/gateway/dist/web/server.d.ts.map +1 -1
  461. package/packages/gateway/dist/web/server.js +68 -6
  462. package/packages/gateway/dist/web/server.js.map +1 -1
  463. package/packages/gateway/dist/web/svg.d.ts +23 -0
  464. package/packages/gateway/dist/web/svg.d.ts.map +1 -0
  465. package/packages/gateway/dist/web/svg.js +125 -0
  466. package/packages/gateway/dist/web/svg.js.map +1 -0
  467. package/packages/gateway/src/agents/starter/planner/agent.md +2 -2
  468. package/packages/gateway/src/agents/starter/planner/skills/writing-the-morning-brief.md +18 -11
  469. package/packages/install/dist/.tsbuildinfo +1 -1
  470. package/packages/runtime/dist/.tsbuildinfo +1 -1
  471. package/packages/tools/artifacts/dist/.tsbuildinfo +1 -1
  472. package/packages/tools/browser/dist/.tsbuildinfo +1 -1
  473. package/packages/tools/email/dist/.tsbuildinfo +1 -1
  474. package/packages/tools/host/dist/.tsbuildinfo +1 -1
  475. package/packages/tools/mcp/dist/.tsbuildinfo +1 -1
  476. package/packages/tools/memory/dist/.tsbuildinfo +1 -1
  477. package/packages/tools/web/dist/.tsbuildinfo +1 -1
  478. package/packages/web/dist/assets/index-C-NAQ_MT.css +1 -0
  479. package/packages/web/dist/assets/index-DzFS39N3.js +125 -0
  480. package/packages/web/dist/assets/{lottie_light-BCNsQpt8.js → lottie_light-D7STH9tF.js} +1 -1
  481. package/packages/web/dist/build.json +1 -1
  482. package/packages/web/dist/index.html +2 -2
  483. package/packages/web/dist/precache.json +4 -4
  484. package/packages/web/dist/sw.js +8 -1
  485. package/packages/web/dist/assets/index-CBEdA2dN.js +0 -125
  486. package/packages/web/dist/assets/index-Ddp9egOQ.css +0 -1
@@ -0,0 +1,110 @@
1
+ /**
2
+ * Disabling a plugin without removing it, and enabling it again.
3
+ *
4
+ * The record says `enabled: false`; nothing else about the installation moves.
5
+ * The package stays where it is, its schema and data stay, and agents granted
6
+ * its family keep their files. In the running gateway it takes effect at once
7
+ * (`live.ts`): the plugin leaves the registry, so its tools leave the agents,
8
+ * its pages leave the rail and Settings, and its sources and sentinels stop;
9
+ * enabling loads it back the way boot does. A process with no registry (the
10
+ * CLI when buddi is not running) only writes the record, which the next start
11
+ * reads, so there is nothing to restart there either.
12
+ *
13
+ * The missions it suggested are paused with a reason ("paused: finance is
14
+ * disabled"), and enabling resumes exactly those — a mission the owner
15
+ * switched off stays off.
16
+ */
17
+ import { pausePluginMissions, pluginPausedReason, readPluginsFile, resumePluginMissions, setInstalledPluginEnabled, writePluginsFile, } from '@buddi/core';
18
+ import { adoptedPlugins, loadManifest, recordFile } from './load.js';
19
+ import { loadPluginLive, unloadPluginLive } from './live.js';
20
+ import { InstallRefusal } from './refusals.js';
21
+ /** The mission ids a plugin suggests: from this process's load, or its entry point. */
22
+ async function suggestedMissionIds(name, entry, env) {
23
+ let manifest = adoptedPlugins(env)?.loaded.find((p) => p.record.name === name)?.manifest;
24
+ if (manifest === undefined) {
25
+ const loaded = await loadManifest(entry, { name }, env);
26
+ if (loaded.ok)
27
+ manifest = loaded.manifest;
28
+ }
29
+ return (manifest?.missions ?? []).map((m) => m.id);
30
+ }
31
+ export async function setPluginEnabled(name, enabled, opts = {}) {
32
+ const env = opts.env ?? process.env;
33
+ const file = recordFile(env);
34
+ const before = readPluginsFile(file);
35
+ const record = before.plugins.find((p) => p.name === name);
36
+ if (record === undefined) {
37
+ throw new InstallRefusal('not-installed', `"${name}" is not an installed plugin, so there is nothing to ${enabled ? 'enable' : 'disable'}.`);
38
+ }
39
+ const wasEnabled = record.enabled !== false;
40
+ const changed = wasEnabled !== enabled;
41
+ if (changed)
42
+ writePluginsFile(file, setInstalledPluginEnabled(before, name, enabled).contents);
43
+ let missions = [];
44
+ let missionsProblem;
45
+ if (opts.pool === undefined) {
46
+ missionsProblem = 'the database was not reachable, so its missions were not ' + (enabled ? 'resumed' : 'paused');
47
+ }
48
+ else {
49
+ try {
50
+ missions = enabled
51
+ ? await resumePluginMissions(opts.pool, name)
52
+ : await pausePluginMissions(opts.pool, name, await suggestedMissionIds(name, record.entry, env));
53
+ }
54
+ catch (err) {
55
+ missionsProblem = `its missions were not ${enabled ? 'resumed' : 'paused'}: ${err instanceof Error ? err.message : String(err)}`;
56
+ }
57
+ }
58
+ // The running gateway, now: whenever a registry is here, even when the
59
+ // record already said so, so a second click finishes what a first one left.
60
+ let restartFor;
61
+ let loadProblem;
62
+ if (opts.registry !== undefined) {
63
+ const liveDeps = { registry: opts.registry, env, pool: opts.pool, ...(opts.log ? { log: opts.log } : {}) };
64
+ const live = enabled ? await loadPluginLive(record, liveDeps) : unloadPluginLive(record, liveDeps);
65
+ restartFor = live.restartFor;
66
+ loadProblem = live.problem;
67
+ }
68
+ else if (changed && opts.gatewayRunning !== false) {
69
+ restartFor = enabled
70
+ ? 'the running buddi loads its tools, pages and watchers when it restarts'
71
+ : 'its tools, pages and watchers stay on in the running buddi until it restarts';
72
+ }
73
+ return {
74
+ name,
75
+ enabled,
76
+ changed,
77
+ missions,
78
+ ...(missionsProblem === undefined ? {} : { missionsProblem }),
79
+ restartNeeded: restartFor !== undefined,
80
+ ...(restartFor === undefined ? {} : { restartFor }),
81
+ ...(loadProblem === undefined ? {} : { loadProblem }),
82
+ };
83
+ }
84
+ /** What happened, one finished sentence each, for the CLI and the card. */
85
+ export function toggleNotes(outcome) {
86
+ const { name, enabled } = outcome;
87
+ const notes = [];
88
+ if (!outcome.changed && outcome.loadProblem === undefined && !outcome.restartNeeded) {
89
+ notes.push(`${name} is already ${enabled ? 'enabled' : 'disabled'}.`);
90
+ }
91
+ else if (enabled) {
92
+ notes.push(outcome.loadProblem === undefined ? 'Enabled.' : `Enabled, but it did not load: ${outcome.loadProblem}.`);
93
+ }
94
+ else {
95
+ notes.push(outcome.restartNeeded
96
+ ? 'Disabled. Its data is kept.'
97
+ : 'Disabled. Its tools, pages and watchers are off now; its data is kept.');
98
+ }
99
+ if (outcome.restartFor !== undefined)
100
+ notes.push(`Restart buddi to finish: ${outcome.restartFor}.`);
101
+ if (outcome.missions.length > 0) {
102
+ notes.push(enabled
103
+ ? `Resumed ${outcome.missions.length === 1 ? 'the mission' : 'the missions'} ${outcome.missions.join(', ')}.`
104
+ : `Paused ${outcome.missions.length === 1 ? 'the mission' : 'the missions'} ${outcome.missions.join(', ')} (${pluginPausedReason(name)}).`);
105
+ }
106
+ if (outcome.missionsProblem !== undefined)
107
+ notes.push(`Note: ${outcome.missionsProblem}.`);
108
+ return notes;
109
+ }
110
+ //# sourceMappingURL=toggle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toggle.js","sourceRoot":"","sources":["../../src/plugins/toggle.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,15 @@
1
1
  #!/usr/bin/env node
2
+ import { type PluginManifest } from '@buddi/core';
2
3
  import { type StagedPlugin } from './plugins/stage.js';
3
- export declare const USAGE = "buddi plugins \u2014 what this installation has installed\n\n buddi plugins init <name> [--dir <path>] [--license <spdx>]\n write a new plugin: manifest, one auto tool, one gated\n tool, a migration, a buddi.md and a test. Refuses a\n directory that already exists. License: Apache-2.0\n unless --license names another.\n buddi plugins dev <dir> watch <dir>/dist and, when it changes, restart the\n service (or say to restart buddi): plugins load at start\n buddi plugins list [--json] what is installed, its version, and whether it is healthy\n buddi plugins info <name> what it is, what it brought, and what it proposes\n buddi plugins install <spec> STAGE it and read what it claims (imports nothing)\n buddi plugins install <spec> --yes --integrity <hash>\n approve it: import it, plan it, install it.\n The hash is the one the staged card printed; a\n package that came from a registry or a .tgz is\n never approved without it, not even with --yes.\n Without it the command stages, prints the card and\n exits 3: staged, not installed.\n buddi plugins update <name> [--version] stage the next version; --yes --integrity approves it\n buddi plugins staged what is staged and waiting for you\n buddi plugins approve <id> [--integrity <hash>] [--acknowledge-drift]\n buddi plugins reject <id> delete a stage and everything it fetched\n buddi plugins uninstall <name> what removing it would do (removes nothing)\n buddi plugins uninstall <name> --yes remove it; its database schema is KEPT\n --detach-agents also take its tools out of agents that were granted them\n --purge --confirm <name> ALSO DROP its schema and everything in it. Irreversible,\n and the plugin's own name has to be typed back.\n\nA <spec> is a directory that exists, a .tgz on disk, or an npm package:\n`finance`, `@you/buddi-plugin-finance@1.2.3`. Installing one runs its code inside buddi.";
4
+ export declare const USAGE = "buddi plugins \u2014 what this installation has installed\n\n buddi plugins init <name> [--dir <path>] [--license <spdx>] [--author <name>]\n write a new plugin: manifest, one auto tool, one gated\n tool, a migration, a buddi.md and a test. Refuses a\n directory that already exists. License: Apache-2.0\n unless --license names another. Author: asked, with\n git config user.name as the default.\n buddi plugins dev <dir> watch <dir>/dist and, when it changes, restart the\n service (or say to restart buddi): plugins load at start\n buddi plugins list [--json] what is installed, its version, and whether it is healthy\n buddi plugins info <name> what it is, what it brought, and what it proposes\n buddi plugins describe <spec> [--json] stage it, read its manifest, print what it brings, delete\n the stage. Installs nothing: no record, no schema, no\n tools. --json is what a market listing's claims are.\n buddi plugins install <spec> STAGE it and read what it claims (imports nothing)\n buddi plugins install <spec> --yes --integrity <hash>\n approve it: import it, plan it, install it.\n The hash is the one the staged card printed; a\n package that came from a registry or a .tgz is\n never approved without it, not even with --yes.\n Without it the command stages, prints the card and\n exits 3: staged, not installed.\n buddi plugins update <name> [--version] stage the next version; --yes --integrity approves it\n buddi plugins staged what is staged and waiting for you\n buddi plugins approve <id> [--integrity <hash>] [--acknowledge-drift]\n buddi plugins reject <id> delete a stage and everything it fetched\n buddi plugins disable <name> turn it off now: its tools, pages and watchers stop, its\n data stays, its missions pause\n buddi plugins enable <name> turn it back on now and resume its missions\n buddi plugins uninstall <name> what removing it would do (removes nothing)\n buddi plugins uninstall <name> --yes remove it; its database schema is KEPT\n --detach-agents also take its tools out of agents that were granted them\n --purge --confirm <name> ALSO DROP its schema and everything in it. Irreversible,\n and the plugin's own name has to be typed back.\n\nA <spec> is a directory that exists, a .tgz on disk, or an npm package:\n`finance`, `@you/buddi-plugin-finance@1.2.3`. Installing one runs its code inside buddi.";
4
5
  export interface ParsedPluginsArgs {
5
- command: 'help' | 'list' | 'info' | 'init' | 'dev' | 'install' | 'update' | 'staged' | 'approve' | 'reject' | 'uninstall';
6
+ command: 'help' | 'list' | 'info' | 'describe' | 'init' | 'dev' | 'install' | 'update' | 'staged' | 'approve' | 'reject' | 'disable' | 'enable' | 'uninstall';
6
7
  target?: string;
7
8
  yes: boolean;
8
9
  detachAgents: boolean;
9
10
  purge: boolean;
10
11
  acknowledgeDrift: boolean;
11
- /** `list --json`. */
12
+ /** `list --json`, `describe --json`. */
12
13
  json?: boolean;
13
14
  /** Passed back at approval. Absent means "the hash this run just showed me". */
14
15
  integrity?: string;
@@ -20,9 +21,12 @@ export interface ParsedPluginsArgs {
20
21
  dir?: string;
21
22
  /** The SPDX license `init` writes. Default: Apache-2.0. */
22
23
  license?: string;
24
+ /** The author `init` writes. Default: asked, then `git config user.name`. */
25
+ author?: string;
23
26
  }
24
27
  export declare function parsePluginsArgs(argv: string[]): ParsedPluginsArgs;
25
- export type Health = 'ok' | 'warn' | 'fail';
28
+ /** `off`: installed and disabled by the owner, not loaded. */
29
+ export type Health = 'ok' | 'warn' | 'fail' | 'off';
26
30
  export interface PluginRow {
27
31
  name: string;
28
32
  version: string;
@@ -32,6 +36,10 @@ export interface PluginRow {
32
36
  }
33
37
  /** The table `plugins list` prints. Pure over what it is handed. */
34
38
  export declare function renderRows(rows: readonly PluginRow[]): string;
39
+ /** "by <name> (<url>)", from package.json's author; nothing when it names none. */
40
+ export declare function authorLine(author: StagedPlugin['author']): string | undefined;
41
+ /** Everything the owner reads before the plugin has ever been imported. */
42
+ export declare function renderStaged(staged: StagedPlugin): string[];
35
43
  /** Which name it installs under, and a word about a core it asked npm for. */
36
44
  export declare function renderStagedName(staged: Pick<StagedPlugin, 'declaredName' | 'nameFromManifest' | 'coreAsDependency' | 'source'>): string[];
37
45
  /**
@@ -60,8 +68,55 @@ export declare function needsIntegrityFirst(staged: StagedPlugin, args: ParsedPl
60
68
  * wrong) so a script can tell the two apart and go on to `plugins approve`.
61
69
  */
62
70
  export declare const STAGED_NOT_INSTALLED = 3;
71
+ /**
72
+ * The shape `describe --json` prints: what the market's check job writes into
73
+ * an entry's `claims`, so the listing can never claim less than the code does.
74
+ * Pure over the stage and the imported manifest.
75
+ */
76
+ export declare function describeJson(staged: StagedPlugin, manifest: PluginManifest): Record<string, unknown>;
77
+ /**
78
+ * Stage, import the manifest, print, delete the stage.
79
+ *
80
+ * The manifest is imported, so the plugin's top-level code runs in this
81
+ * process, and the command says so. What never happens: the record is not
82
+ * written, no migration runs, no tool is registered and nothing is moved out
83
+ * of staging.
84
+ */
85
+ export declare function describeSpec(spec: string, opts?: {
86
+ env?: NodeJS.ProcessEnv;
87
+ registry?: string;
88
+ json?: boolean;
89
+ log?: (line: string) => void;
90
+ }): Promise<number>;
63
91
  /** The version of `@buddi/core` this process is running, for the peer range. */
64
92
  export declare function runningCoreVersion(): string;
65
- export declare function main(argv?: string[]): Promise<number>;
66
- export declare function runPluginsCli(argv: string[]): Promise<number>;
93
+ /**
94
+ * How `disable` / `enable` reach the running gateway: its own route, so the
95
+ * change applies there at once. `notRunning` when nothing answered (the next
96
+ * start reads the record), `unreachable` when one may be running but could
97
+ * not be asked, `refused` with the gateway's own sentence.
98
+ */
99
+ export type ToggleInGateway = (name: string, enabled: boolean) => Promise<{
100
+ notes: string[];
101
+ } | {
102
+ notRunning: true;
103
+ } | {
104
+ unreachable: string;
105
+ } | {
106
+ refused: string;
107
+ }>;
108
+ export interface PluginsCliHooks {
109
+ toggleInGateway?: ToggleInGateway;
110
+ }
111
+ /**
112
+ * `init` — the first ten minutes.
113
+ *
114
+ * It writes and nothing else: no database, no record, no import. The scaffold
115
+ * is already installable, so the sentence at the end is the whole rest of the
116
+ * path and the owner can paste it.
117
+ */
118
+ /** `git config user.name`, or nothing when git has none (or is not there). */
119
+ export declare function gitUserName(): string | undefined;
120
+ export declare function main(argv?: string[], hooks?: PluginsCliHooks): Promise<number>;
121
+ export declare function runPluginsCli(argv: string[], hooks?: PluginsCliHooks): Promise<number>;
67
122
  //# sourceMappingURL=plugins-cli.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugins-cli.d.ts","sourceRoot":"","sources":["../src/plugins-cli.ts"],"names":[],"mappings":";AAsDA,OAAO,EASL,KAAK,YAAY,EAClB,MAAM,oBAAoB,CAAC;AAM5B,eAAO,MAAM,KAAK,g9EA8B2E,CAAC;AAE9F,MAAM,WAAW,iBAAiB;IAChC,OAAO,EACH,MAAM,GACN,MAAM,GACN,MAAM,GACN,MAAM,GACN,KAAK,GACL,SAAS,GACT,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,WAAW,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,OAAO,CAAC;IACb,YAAY,EAAE,OAAO,CAAC;IACtB,KAAK,EAAE,OAAO,CAAC;IACf,gBAAgB,EAAE,OAAO,CAAC;IAC1B,qBAAqB;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,gFAAgF;IAChF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6DAA6D;IAC7D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAKD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,iBAAiB,CAsDlE;AAMD,MAAM,MAAM,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;AAE5C,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,UAAU,GAAG,WAAW,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AA0CD,oEAAoE;AACpE,wBAAgB,UAAU,CAAC,IAAI,EAAE,SAAS,SAAS,EAAE,GAAG,MAAM,CAQ7D;AA2KD,8EAA8E;AAC9E,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,cAAc,GAAG,kBAAkB,GAAG,kBAAkB,GAAG,QAAQ,CAAC,GAC9F,MAAM,EAAE,CAaV;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,UAAU,GAAG,cAAc,CAAC,GAAG,MAAM,EAAE,CAO3G;AA4ED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAE1F;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,IAAI,CAAC;AA0LtC,gFAAgF;AAChF,wBAAgB,kBAAkB,IAAI,MAAM,CAc3C;AAgFD,wBAAsB,IAAI,CAAC,IAAI,GAAE,MAAM,EAA0B,GAAG,OAAO,CAAC,MAAM,CAAC,CA2DlF;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAEnE"}
1
+ {"version":3,"file":"plugins-cli.d.ts","sourceRoot":"","sources":["../src/plugins-cli.ts"],"names":[],"mappings":"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"}