@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
@@ -8,7 +8,8 @@ type ServeStaticOptions<E extends Env = Env> = {
8
8
  root?: string;
9
9
  path?: string;
10
10
  index?: string;
11
- precompressed?: boolean;
11
+ precompressed?: boolean; /** Allow percent signs in the routed request path. Defaults to false. */
12
+ allowPercentInPath?: boolean;
12
13
  rewriteRequestPath?: (path: string, c: Context<E>) => string;
13
14
  onFound?: (path: string, c: Context<E>) => void | Promise<void>;
14
15
  onNotFound?: (path: string, c: Context<E>) => void | Promise<void>;
@@ -8,7 +8,8 @@ type ServeStaticOptions<E extends Env = Env> = {
8
8
  root?: string;
9
9
  path?: string;
10
10
  index?: string;
11
- precompressed?: boolean;
11
+ precompressed?: boolean; /** Allow percent signs in the routed request path. Defaults to false. */
12
+ allowPercentInPath?: boolean;
12
13
  rewriteRequestPath?: (path: string, c: Context<E>) => string;
13
14
  onFound?: (path: string, c: Context<E>) => void | Promise<void>;
14
15
  onNotFound?: (path: string, c: Context<E>) => void | Promise<void>;
@@ -76,6 +76,7 @@ const serveStatic = (options = { root: "" }) => {
76
76
  let filename;
77
77
  if (optionPath) filename = optionPath;
78
78
  else try {
79
+ if (!options.allowPercentInPath && c.req.path.includes("%")) throw new Error();
79
80
  filename = tryDecodeURI(c.req.path);
80
81
  if (/(?:^|[\/\\])\.{1,2}(?:$|[\/\\])|[\/\\]{2,}|\\/.test(filename)) throw new Error();
81
82
  } catch {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hono/node-server",
3
- "version": "2.1.1",
3
+ "version": "2.1.3",
4
4
  "description": "Node.js Adapter for Hono",
5
5
  "main": "dist/index.mjs",
6
6
  "type": "module",
@@ -100,7 +100,7 @@
100
100
  "@types/ws": "^8.18.1",
101
101
  "@whatwg-node/fetch": "^0.9.14",
102
102
  "eslint": "^9.10.0",
103
- "hono": "^4.12.8",
103
+ "hono": "^4.13.9",
104
104
  "np": "^11.2.1",
105
105
  "prettier": "^3.2.4",
106
106
  "publint": "^0.3.18",
@@ -119,6 +119,7 @@
119
119
  "postbuild": "publint",
120
120
  "prerelease": "pnpm run build && pnpm run test --run",
121
121
  "release": "np --no-publish",
122
+ "typecheck": "tsc --noEmit",
122
123
  "lint": "eslint src test",
123
124
  "lint:fix": "eslint src test --fix",
124
125
  "format": "prettier --check \"src/**/*.{js,ts}\" \"test/**/*.{js,ts}\"",
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_helper_websocket_index = require("../../helper/websocket/index.js");
3
2
  const require_adapter_bun_server = require("./server.js");
3
+ const require_helper_websocket_index = require("../../helper/websocket/index.js");
4
4
  //#region src/adapter/bun/websocket.ts
5
5
  /**
6
6
  * @internal
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_utils_accept = require("../../utils/accept.js");
3
2
  const require_helper_cookie_index = require("../../helper/cookie/index.js");
3
+ const require_utils_accept = require("../../utils/accept.js");
4
4
  //#region src/middleware/language/language.ts
5
5
  const DEFAULT_OPTIONS = {
6
6
  order: [
@@ -23,6 +23,7 @@ const serveStatic = (options) => {
23
23
  let filename;
24
24
  if (options.path) filename = options.path;
25
25
  else try {
26
+ if (!options.allowPercentInPath && c.req.path.includes("%")) throw new Error();
26
27
  filename = require_utils_url.tryDecodeURI(c.req.path);
27
28
  if (/(?:^|[\/\\])\.{1,2}(?:$|[\/\\])|[\/\\]{2,}|\\/.test(filename)) throw new Error();
28
29
  } catch {
@@ -1,5 +1,5 @@
1
- import { getCookie, setCookie } from "../../helper/cookie/index.js";
2
1
  import { parseAccept } from "../../utils/accept.js";
2
+ import { getCookie, setCookie } from "../../helper/cookie/index.js";
3
3
  //#region src/middleware/language/language.ts
4
4
  const DEFAULT_OPTIONS = {
5
5
  order: [
@@ -22,6 +22,7 @@ const serveStatic = (options) => {
22
22
  let filename;
23
23
  if (options.path) filename = options.path;
24
24
  else try {
25
+ if (!options.allowPercentInPath && c.req.path.includes("%")) throw new Error();
25
26
  filename = tryDecodeURI(c.req.path);
26
27
  if (/(?:^|[\/\\])\.{1,2}(?:$|[\/\\])|[\/\\]{2,}|\\/.test(filename)) throw new Error();
27
28
  } catch {
@@ -5,6 +5,8 @@ export type ServeStaticOptions<E extends Env = Env> = {
5
5
  root?: string;
6
6
  path?: string;
7
7
  precompressed?: boolean;
8
+ /** Allow percent signs in the routed request path. Defaults to false. */
9
+ allowPercentInPath?: boolean;
8
10
  mimes?: Record<string, string>;
9
11
  rewriteRequestPath?: (path: string) => string;
10
12
  onFound?: (path: string, c: Context<E>) => void | Promise<void>;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hono",
3
- "version": "4.13.10",
3
+ "version": "4.13.11",
4
4
  "description": "Web framework built on Web Standards",
5
5
  "main": "dist/cjs/index.js",
6
6
  "type": "module",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@withbuddi/buddi",
3
- "version": "0.1.0-pre.22",
3
+ "version": "0.1.0-pre.24",
4
4
  "type": "module",
5
5
  "description": "Your personal agents, on your computer",
6
6
  "repository": {
@@ -17,7 +17,7 @@
17
17
  "buddi": "packages/install/dist/launcher.js"
18
18
  },
19
19
  "buddi": {
20
- "notes": "### Added\n\n- Installed as an app, buddi opens even when the gateway is out of reach and says what to check, Tailscale or the Mac, then comes back on its own when it answers.\n- A lightbulb on the greeting row opens a section of tip cards on Home: what is due, what was dismissed with a way back, and the switch.\n- Running as an installed app, the owner menu has Reload; after an upgrade it reads Reload to update in any mode.\n- A tip can be previewed on Home with `#/?tip=<id>` (the ids are in the tips rules), touching nothing, so its copy and layout can be checked before its day comes.\n- Home may show one tip a day when something in buddi has gone unused, a second agent, a group, a mission, voice; each is one sentence with one action, 'Not this again' removes it for good, and Settings → Notifications turns tips off.\n- First run has Start over at the foot of every step; what you already connected stays in Settings.\n- Install buddi as an app: browsers offer it, Home suggests it once, and the dashboard opens in its own window with the Blob as its icon.\n- buddi's Blob moves: it breathes on Home and the first-run page, thinks while an agent works in the chat and in the corner button, and on Telegram a thinking-Blob sticker replaces the hourglass until the answer arrives. Reduced-motion settings keep the still.\n- Add a teammate: the Agents page and Home offer a starter team, Scout for research, Planner for your day with a morning brief, Keeper for one domain's history, plus the plugin agents when their plugin is there, each added in one tap through Agent Father. The Groups heading now says what it needs instead of hiding.\n- Settings → Speech: with no language listed, listening and speaking take the one your profile answers in, and the page says \"From your profile: French.\" Plugins read it with `ctx.buddi.owner.language()` (host API 1.5).\n- Settings → Speech: Off as the service for listening or speaking, which keeps that side off even with Whisper or Kokoro installed on this computer.\n- A buddi button in the corner of every page opens a small chat with your front desk over what you are doing, so a quick question needs no page change; `/` opens it too.\n- Plugin pages can draw a small chart, a line or bars with a dashed target line, and a screen reader hears it as a sentence.\n- Goals page: each goal with recorded values shows a chart under its figures, a line over its window or a bar per week for a goal counted per week, with the target dashed.\n- Home: a message folded across agents says who else sent it, \"Finance Advisor · also Mail Triage\".\n- The finance plugin proposes Ledger, a cash-flow advisor with the plugin's tools, skills and its daily check and Friday recap, so installing finance comes with someone to use it; the Add-a-teammate card lights up.\n- Connections: connect a service that speaks MCP, GitHub, Notion, Linear or any remote server, sign in with its own consent page, read every tool it brings and its tier, and give those tools to your agents; each call runs under the same approval cards as everything else.\n- Plugins can add and remove tools while buddi runs (host API 1.6), and a tool may describe its input with JSON Schema; the first user is the coming Connections feature.\n- Connections: when a service changes its tools after your review, the new and changed ones wait while the rest keep working, and Review again shows what changed; a connection that needs a sign-in or a review says so on Home and with the dot on Settings; an unreachable one is retried in the background and says since when.\n- Connections: a tool that asks you first can have its approval remembered for one agent, on the Give screen or the agent's Access page; one the service says destroys something shows why it cannot.\n- Plugins can ask for one picture from a ChatGPT subscription account without seeing its sign-in (host API 1.8, `ctx.buddi.accounts.generateCodexImage`); `withCodexProfile` stays for compatibility and is deprecated. The account listing now carries an HTTP account's address.\n\n### Changed\n\n- The image plugin makes pictures with a ChatGPT subscription directly, without the codex command, and draws with Gemini's Imagen or any service that offers an OpenAI-compatible images endpoint.\n- Your front desk and Agent Father may ask any agent, new ones included, without being added to a list; other agents keep their explicit 'Can ask' list. The Access page shows it and lets you narrow it.\n- The Agents page always shows the starter team under your agents, not behind a button.\n- First run: after your assistant says hello, buddi introduces the phone step before offering Telegram, and the hello no longer ends with a question you cannot answer there.\n- Agent replies share one layout with the moment before them: the agent's mark on the left, then the name and the text; while it works, the mark moves and the text says so in place.\n- Home: what needs you is a deck of cards you read in full and move through with Done, with the list one toggle away; the conversations to continue sit as chips under the composer.\n- The install guide and the computer-control part of the browser guide now say what buddi does, how to set it up, what leaves your machine and where the limits are, instead of reading like a plan.\n- The agent's face in a reply's label is 32 px, per the design kit, so the working Blob is seen in the chat.\n- The Claude and ChatGPT sign-ins share one OAuth module with the refresh discipline written once.\n- Connections declare their service's host like a plugin's network (host API 1.7, `ctx.buddi.network`), so Settings → Plugins lists the services you connected under what leaves your machine. The GitHub card asks for a client id up front, and every card's address was checked; an agent held back for a missing connection says to reconnect it in Settings → Connections.\n\n### Fixed\n\n- A plugin packed with npm installs: buddi no longer lets npm fetch its core package or read a plugin's development links, and the plugin template packs cleanly. Installing never asks npm for a package named @buddi/core.\n- The Connections page in the docs has its title, so withbuddi.com builds again; a test now refuses a docs page without one.\n- A pasted key is tried with one small call before buddi offers the model list, so a wrong Ollama Cloud or compatible key is refused where you typed it, not on the first chat.\n- First run: the Claude sign-in step has a Back button while it waits for the code, so changing your mind is one click.\n- Notifications no longer cover the corner buddi button or its chat: they stack above it, and on a phone they drop from the top.\n- A delegation that came back after you approved something now opens on who was asked, the question, the answer, the files and how long it took, with the raw JSON folded under Details.\n- The same reminder from two agents is one line on Home: a message about the same thing as one from the last two days is folded into it, says \"also from\" the other agent, and reaches your phone once.\n- The queue test for retries past the sixth minute no longer fails now and then on CI: it waits for each failure to be recorded before pulling the retry forward.\n- The chat test for an agent holding a question no longer fails now and then: it waits for the question to be recorded, which happens after the run reports finished.\n- Finance: a statement line that is a pending charge now posting is no longer skipped as a duplicate; it settles the pending row, also when the posted line reads differently or is dated up to two days earlier. A deleted row never counts as already imported.\n- Home's update notice reads on one line.\n- The Gemini card starts a free Google AI key on the newest Flash when Google refuses Pro, and says why in plain words; a rate-limit answer from any provider now reads as a sentence about the key and the model, not about responses.\n- The moving Blob is drawn at a size where the motion shows: avatar-sized in the chat's thinking line and on first run, larger in the corner button."
20
+ "notes": "### Added\n\n- Settings → Plugins has a Browse tab: the plugin list from withbuddi.com, fetched only when you open it and kept a day, as one grid of cards with each listing's icon behind a search and filter chips (All, Recommended — what buddi publishes that you do not have — and each category). A card opens a sheet with its screenshot, its tools, the hosts it talks to, what it reaches in buddi, its dependencies and its licence; the icons and screenshots come through buddi, never straight from the page. Install stages the listed version onto the usual card.\n- A newer version listed on withbuddi.com shows as \"Update to <version>\" in Browse and on the installed plugin's row, once Browse has been opened.\n- \"A directory I built\" has a Browse… button: it lists the folders under your home directory on the computer buddi runs on, marks the ones with a package.json, and fills the field with the one you choose.\n- A link to `#/settings/plugins?install=<npm name>@<version>`, which withbuddi.com's \"Install in buddi\" opens, stages that version at once.\n- `buddi plugins describe <spec> [--json]` stages a plugin, reads its manifest, prints what it brings and deletes the stage; `--json` is what a market listing's claims are made of.\n- A Home tip points at Browse on an installation with none of the recommended plugins.\n\n### Changed\n\n- Settings → Plugins is redrawn from the design kit: one \"Add a plugin\" panel with the trust sentence under the field, the staged card with its facts beside what the package says about itself, installed plugins as compact rows (status, Update, Open and a ⋯ menu) that open a detail sheet, and \"Ships with buddi\" folded. Disable and Remove ask in a small dialog; Remove offers \"Disable instead\".\n- An installed plugin's row offers an Update only when withbuddi.com lists a newer version; its detail sheet has \"Check for an update\" otherwise.\n\n### Fixed\n\n- Disabling or enabling a plugin takes effect at once, no restart: its pages leave the rail, its tools leave the agents, its watchers stop."
21
21
  },
22
22
  "files": [
23
23
  "packages",