@withbuddi/buddi 0.1.0-pre.26 → 0.1.0-pre.28

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 (818) hide show
  1. package/extension/manifest.json +2 -2
  2. package/node_modules/@buddi/cli/dist/.tsbuildinfo +1 -1
  3. package/node_modules/@buddi/cli/dist/commands.d.ts +10 -0
  4. package/node_modules/@buddi/cli/dist/commands.d.ts.map +1 -1
  5. package/node_modules/@buddi/cli/dist/commands.js +237 -18
  6. package/node_modules/@buddi/cli/dist/commands.js.map +1 -1
  7. package/node_modules/@buddi/cli/dist/doctor-probes.d.ts.map +1 -1
  8. package/node_modules/@buddi/cli/dist/doctor-probes.js +10 -8
  9. package/node_modules/@buddi/cli/dist/doctor-probes.js.map +1 -1
  10. package/node_modules/@buddi/cli/dist/doctor.d.ts +28 -0
  11. package/node_modules/@buddi/cli/dist/doctor.d.ts.map +1 -1
  12. package/node_modules/@buddi/cli/dist/doctor.js +36 -0
  13. package/node_modules/@buddi/cli/dist/doctor.js.map +1 -1
  14. package/node_modules/@buddi/cli/dist/mcp/tools.d.ts.map +1 -1
  15. package/node_modules/@buddi/cli/dist/mcp/tools.js +3 -2
  16. package/node_modules/@buddi/cli/dist/mcp/tools.js.map +1 -1
  17. package/node_modules/@buddi/core/dist/.tsbuildinfo +1 -1
  18. package/node_modules/@buddi/core/dist/agents/catalog.d.ts +3 -0
  19. package/node_modules/@buddi/core/dist/agents/catalog.d.ts.map +1 -1
  20. package/node_modules/@buddi/core/dist/agents/catalog.js +1 -0
  21. package/node_modules/@buddi/core/dist/agents/catalog.js.map +1 -1
  22. package/node_modules/@buddi/core/dist/agents/edit.d.ts +3 -0
  23. package/node_modules/@buddi/core/dist/agents/edit.d.ts.map +1 -1
  24. package/node_modules/@buddi/core/dist/agents/edit.js +3 -1
  25. package/node_modules/@buddi/core/dist/agents/edit.js.map +1 -1
  26. package/node_modules/@buddi/core/dist/agents/frontmatter.d.ts +10 -0
  27. package/node_modules/@buddi/core/dist/agents/frontmatter.d.ts.map +1 -1
  28. package/node_modules/@buddi/core/dist/agents/frontmatter.js +7 -0
  29. package/node_modules/@buddi/core/dist/agents/frontmatter.js.map +1 -1
  30. package/node_modules/@buddi/core/dist/agents/idle-rollover.d.ts +20 -0
  31. package/node_modules/@buddi/core/dist/agents/idle-rollover.d.ts.map +1 -0
  32. package/node_modules/@buddi/core/dist/agents/idle-rollover.js +30 -0
  33. package/node_modules/@buddi/core/dist/agents/idle-rollover.js.map +1 -0
  34. package/node_modules/@buddi/core/dist/agents/index.d.ts +1 -0
  35. package/node_modules/@buddi/core/dist/agents/index.d.ts.map +1 -1
  36. package/node_modules/@buddi/core/dist/agents/index.js +1 -0
  37. package/node_modules/@buddi/core/dist/agents/index.js.map +1 -1
  38. package/node_modules/@buddi/core/dist/backup/dump.d.ts +9 -0
  39. package/node_modules/@buddi/core/dist/backup/dump.d.ts.map +1 -1
  40. package/node_modules/@buddi/core/dist/backup/dump.js +10 -1
  41. package/node_modules/@buddi/core/dist/backup/dump.js.map +1 -1
  42. package/node_modules/@buddi/core/dist/backup/index.d.ts +1 -0
  43. package/node_modules/@buddi/core/dist/backup/index.d.ts.map +1 -1
  44. package/node_modules/@buddi/core/dist/backup/index.js +1 -0
  45. package/node_modules/@buddi/core/dist/backup/index.js.map +1 -1
  46. package/node_modules/@buddi/core/dist/backup/load.d.ts +18 -0
  47. package/node_modules/@buddi/core/dist/backup/load.d.ts.map +1 -1
  48. package/node_modules/@buddi/core/dist/backup/load.js +3 -2
  49. package/node_modules/@buddi/core/dist/backup/load.js.map +1 -1
  50. package/node_modules/@buddi/core/dist/backup/pending.d.ts +114 -0
  51. package/node_modules/@buddi/core/dist/backup/pending.d.ts.map +1 -0
  52. package/node_modules/@buddi/core/dist/backup/pending.js +392 -0
  53. package/node_modules/@buddi/core/dist/backup/pending.js.map +1 -0
  54. package/node_modules/@buddi/core/dist/backup/restore.d.ts +3 -1
  55. package/node_modules/@buddi/core/dist/backup/restore.d.ts.map +1 -1
  56. package/node_modules/@buddi/core/dist/backup/restore.js +55 -2
  57. package/node_modules/@buddi/core/dist/backup/restore.js.map +1 -1
  58. package/node_modules/@buddi/core/dist/feedback/index.d.ts +108 -0
  59. package/node_modules/@buddi/core/dist/feedback/index.d.ts.map +1 -0
  60. package/node_modules/@buddi/core/dist/feedback/index.js +160 -0
  61. package/node_modules/@buddi/core/dist/feedback/index.js.map +1 -0
  62. package/node_modules/@buddi/core/dist/home.d.ts +24 -0
  63. package/node_modules/@buddi/core/dist/home.d.ts.map +1 -1
  64. package/node_modules/@buddi/core/dist/home.js +3 -0
  65. package/node_modules/@buddi/core/dist/home.js.map +1 -1
  66. package/node_modules/@buddi/core/dist/host/build.d.ts.map +1 -1
  67. package/node_modules/@buddi/core/dist/host/build.js +28 -1
  68. package/node_modules/@buddi/core/dist/host/build.js.map +1 -1
  69. package/node_modules/@buddi/core/dist/host/types.d.ts +29 -2
  70. package/node_modules/@buddi/core/dist/host/types.d.ts.map +1 -1
  71. package/node_modules/@buddi/core/dist/index.d.ts +1 -0
  72. package/node_modules/@buddi/core/dist/index.d.ts.map +1 -1
  73. package/node_modules/@buddi/core/dist/index.js +1 -0
  74. package/node_modules/@buddi/core/dist/index.js.map +1 -1
  75. package/node_modules/@buddi/core/dist/learning/policies.d.ts +7 -1
  76. package/node_modules/@buddi/core/dist/learning/policies.d.ts.map +1 -1
  77. package/node_modules/@buddi/core/dist/learning/policies.js +4 -1
  78. package/node_modules/@buddi/core/dist/learning/policies.js.map +1 -1
  79. package/node_modules/@buddi/core/dist/learning/store.d.ts +29 -1
  80. package/node_modules/@buddi/core/dist/learning/store.d.ts.map +1 -1
  81. package/node_modules/@buddi/core/dist/learning/store.js +33 -8
  82. package/node_modules/@buddi/core/dist/learning/store.js.map +1 -1
  83. package/node_modules/@buddi/core/dist/learning/types.d.ts +24 -1
  84. package/node_modules/@buddi/core/dist/learning/types.d.ts.map +1 -1
  85. package/node_modules/@buddi/core/dist/learning/types.js +6 -0
  86. package/node_modules/@buddi/core/dist/learning/types.js.map +1 -1
  87. package/node_modules/@buddi/core/dist/owner.d.ts +2 -1
  88. package/node_modules/@buddi/core/dist/owner.d.ts.map +1 -1
  89. package/node_modules/@buddi/core/dist/owner.js.map +1 -1
  90. package/node_modules/@buddi/core/dist/pages.d.ts +27 -0
  91. package/node_modules/@buddi/core/dist/pages.d.ts.map +1 -1
  92. package/node_modules/@buddi/core/dist/pages.js +24 -3
  93. package/node_modules/@buddi/core/dist/pages.js.map +1 -1
  94. package/node_modules/@buddi/core/dist/plugin/index.d.ts +7 -6
  95. package/node_modules/@buddi/core/dist/plugin/index.d.ts.map +1 -1
  96. package/node_modules/@buddi/core/dist/plugin/index.js +1 -1
  97. package/node_modules/@buddi/core/dist/plugin/index.js.map +1 -1
  98. package/node_modules/@buddi/core/dist/plugin/version.d.ts +1 -1
  99. package/node_modules/@buddi/core/dist/plugin/version.js +1 -1
  100. package/node_modules/@buddi/core/dist/postgres/binaries.d.ts +3 -1
  101. package/node_modules/@buddi/core/dist/postgres/binaries.d.ts.map +1 -1
  102. package/node_modules/@buddi/core/dist/postgres/binaries.js +15 -23
  103. package/node_modules/@buddi/core/dist/postgres/binaries.js.map +1 -1
  104. package/node_modules/@buddi/core/dist/postgres/cluster.js +1 -1
  105. package/node_modules/@buddi/core/dist/postgres/cluster.js.map +1 -1
  106. package/node_modules/@buddi/core/dist/postgres/index.d.ts +1 -0
  107. package/node_modules/@buddi/core/dist/postgres/index.d.ts.map +1 -1
  108. package/node_modules/@buddi/core/dist/postgres/index.js +1 -0
  109. package/node_modules/@buddi/core/dist/postgres/index.js.map +1 -1
  110. package/node_modules/@buddi/core/dist/postgres/links.d.ts +15 -0
  111. package/node_modules/@buddi/core/dist/postgres/links.d.ts.map +1 -0
  112. package/node_modules/@buddi/core/dist/postgres/links.js +98 -0
  113. package/node_modules/@buddi/core/dist/postgres/links.js.map +1 -0
  114. package/node_modules/@buddi/core/dist/registry.d.ts +10 -1
  115. package/node_modules/@buddi/core/dist/registry.d.ts.map +1 -1
  116. package/node_modules/@buddi/core/dist/registry.js +13 -0
  117. package/node_modules/@buddi/core/dist/registry.js.map +1 -1
  118. package/node_modules/@buddi/core/dist/sources/index.d.ts +1 -0
  119. package/node_modules/@buddi/core/dist/sources/index.d.ts.map +1 -1
  120. package/node_modules/@buddi/core/dist/sources/index.js +1 -0
  121. package/node_modules/@buddi/core/dist/sources/index.js.map +1 -1
  122. package/node_modules/@buddi/core/dist/sources/watch.d.ts +37 -0
  123. package/node_modules/@buddi/core/dist/sources/watch.d.ts.map +1 -0
  124. package/node_modules/@buddi/core/dist/sources/watch.js +81 -0
  125. package/node_modules/@buddi/core/dist/sources/watch.js.map +1 -0
  126. package/node_modules/@buddi/core/dist/tools.d.ts +47 -0
  127. package/node_modules/@buddi/core/dist/tools.d.ts.map +1 -1
  128. package/node_modules/@buddi/core/dist/tools.js.map +1 -1
  129. package/node_modules/@buddi/core/migrations/055_pending_plugin_data.sql +24 -0
  130. package/node_modules/@buddi/core/migrations/056_dashboard_sessions.sql +37 -0
  131. package/node_modules/@buddi/core/migrations/057_proposal_decided_by.sql +34 -0
  132. package/node_modules/@buddi/core/migrations/058_message_feedback.sql +50 -0
  133. package/node_modules/@buddi/core/package.json +4 -0
  134. package/node_modules/@buddi/gateway/dist/.tsbuildinfo +1 -1
  135. package/node_modules/@buddi/gateway/dist/agents/learning-digest.d.ts +7 -1
  136. package/node_modules/@buddi/gateway/dist/agents/learning-digest.d.ts.map +1 -1
  137. package/node_modules/@buddi/gateway/dist/agents/learning-digest.js +29 -3
  138. package/node_modules/@buddi/gateway/dist/agents/learning-digest.js.map +1 -1
  139. package/node_modules/@buddi/gateway/dist/agents/platform-files.d.ts +2 -0
  140. package/node_modules/@buddi/gateway/dist/agents/platform-files.d.ts.map +1 -1
  141. package/node_modules/@buddi/gateway/dist/agents/platform-files.js +2 -0
  142. package/node_modules/@buddi/gateway/dist/agents/platform-files.js.map +1 -1
  143. package/node_modules/@buddi/gateway/dist/agents/platform.d.ts +20 -0
  144. package/node_modules/@buddi/gateway/dist/agents/platform.d.ts.map +1 -1
  145. package/node_modules/@buddi/gateway/dist/agents/platform.js +46 -3
  146. package/node_modules/@buddi/gateway/dist/agents/platform.js.map +1 -1
  147. package/node_modules/@buddi/gateway/dist/agents-cli.d.ts +1 -1
  148. package/node_modules/@buddi/gateway/dist/agents-cli.d.ts.map +1 -1
  149. package/node_modules/@buddi/gateway/dist/agents-cli.js +12 -2
  150. package/node_modules/@buddi/gateway/dist/agents-cli.js.map +1 -1
  151. package/node_modules/@buddi/gateway/dist/chat/session.d.ts.map +1 -1
  152. package/node_modules/@buddi/gateway/dist/chat/session.js +2 -1
  153. package/node_modules/@buddi/gateway/dist/chat/session.js.map +1 -1
  154. package/node_modules/@buddi/gateway/dist/mcp/requests.d.ts.map +1 -1
  155. package/node_modules/@buddi/gateway/dist/mcp/requests.js +1 -0
  156. package/node_modules/@buddi/gateway/dist/mcp/requests.js.map +1 -1
  157. package/node_modules/@buddi/gateway/dist/plugins/approve.d.ts.map +1 -1
  158. package/node_modules/@buddi/gateway/dist/plugins/approve.js +13 -2
  159. package/node_modules/@buddi/gateway/dist/plugins/approve.js.map +1 -1
  160. package/node_modules/@buddi/gateway/dist/plugins/migrate.d.ts.map +1 -1
  161. package/node_modules/@buddi/gateway/dist/plugins/migrate.js +11 -1
  162. package/node_modules/@buddi/gateway/dist/plugins/migrate.js.map +1 -1
  163. package/node_modules/@buddi/gateway/dist/plugins/paths.d.ts +14 -0
  164. package/node_modules/@buddi/gateway/dist/plugins/paths.d.ts.map +1 -1
  165. package/node_modules/@buddi/gateway/dist/plugins/paths.js +27 -1
  166. package/node_modules/@buddi/gateway/dist/plugins/paths.js.map +1 -1
  167. package/node_modules/@buddi/gateway/dist/plugins/stage.d.ts +27 -3
  168. package/node_modules/@buddi/gateway/dist/plugins/stage.d.ts.map +1 -1
  169. package/node_modules/@buddi/gateway/dist/plugins/stage.js +35 -5
  170. package/node_modules/@buddi/gateway/dist/plugins/stage.js.map +1 -1
  171. package/node_modules/@buddi/gateway/dist/plugins-cli.d.ts +4 -0
  172. package/node_modules/@buddi/gateway/dist/plugins-cli.d.ts.map +1 -1
  173. package/node_modules/@buddi/gateway/dist/plugins-cli.js +42 -9
  174. package/node_modules/@buddi/gateway/dist/plugins-cli.js.map +1 -1
  175. package/node_modules/@buddi/gateway/dist/serve.d.ts.map +1 -1
  176. package/node_modules/@buddi/gateway/dist/serve.js +14 -2
  177. package/node_modules/@buddi/gateway/dist/serve.js.map +1 -1
  178. package/node_modules/@buddi/gateway/dist/surfaces/browser-continuation.d.ts +2 -1
  179. package/node_modules/@buddi/gateway/dist/surfaces/browser-continuation.d.ts.map +1 -1
  180. package/node_modules/@buddi/gateway/dist/surfaces/browser-continuation.js +8 -5
  181. package/node_modules/@buddi/gateway/dist/surfaces/browser-continuation.js.map +1 -1
  182. package/node_modules/@buddi/gateway/dist/surfaces/browser-handoff.d.ts +27 -4
  183. package/node_modules/@buddi/gateway/dist/surfaces/browser-handoff.d.ts.map +1 -1
  184. package/node_modules/@buddi/gateway/dist/surfaces/browser-handoff.js +57 -7
  185. package/node_modules/@buddi/gateway/dist/surfaces/browser-handoff.js.map +1 -1
  186. package/node_modules/@buddi/gateway/dist/surfaces/carry-over.d.ts +89 -0
  187. package/node_modules/@buddi/gateway/dist/surfaces/carry-over.d.ts.map +1 -0
  188. package/node_modules/@buddi/gateway/dist/surfaces/carry-over.js +172 -0
  189. package/node_modules/@buddi/gateway/dist/surfaces/carry-over.js.map +1 -0
  190. package/node_modules/@buddi/gateway/dist/surfaces/conversation-lifetime.d.ts +5 -2
  191. package/node_modules/@buddi/gateway/dist/surfaces/conversation-lifetime.d.ts.map +1 -1
  192. package/node_modules/@buddi/gateway/dist/surfaces/conversation-lifetime.js +5 -2
  193. package/node_modules/@buddi/gateway/dist/surfaces/conversation-lifetime.js.map +1 -1
  194. package/node_modules/@buddi/gateway/dist/telegram/api.d.ts +34 -2
  195. package/node_modules/@buddi/gateway/dist/telegram/api.d.ts.map +1 -1
  196. package/node_modules/@buddi/gateway/dist/telegram/api.js +15 -2
  197. package/node_modules/@buddi/gateway/dist/telegram/api.js.map +1 -1
  198. package/node_modules/@buddi/gateway/dist/telegram/env-owner.d.ts +30 -0
  199. package/node_modules/@buddi/gateway/dist/telegram/env-owner.d.ts.map +1 -0
  200. package/node_modules/@buddi/gateway/dist/telegram/env-owner.js +45 -0
  201. package/node_modules/@buddi/gateway/dist/telegram/env-owner.js.map +1 -0
  202. package/node_modules/@buddi/gateway/dist/telegram/main.d.ts +0 -2
  203. package/node_modules/@buddi/gateway/dist/telegram/main.d.ts.map +1 -1
  204. package/node_modules/@buddi/gateway/dist/telegram/main.js +20 -25
  205. package/node_modules/@buddi/gateway/dist/telegram/main.js.map +1 -1
  206. package/node_modules/@buddi/gateway/dist/telegram/notify.d.ts.map +1 -1
  207. package/node_modules/@buddi/gateway/dist/telegram/notify.js +1 -1
  208. package/node_modules/@buddi/gateway/dist/telegram/notify.js.map +1 -1
  209. package/node_modules/@buddi/gateway/dist/telegram/outbound.d.ts +2 -2
  210. package/node_modules/@buddi/gateway/dist/telegram/outbound.d.ts.map +1 -1
  211. package/node_modules/@buddi/gateway/dist/telegram/outbound.js +12 -3
  212. package/node_modules/@buddi/gateway/dist/telegram/outbound.js.map +1 -1
  213. package/node_modules/@buddi/gateway/dist/telegram/reactions.d.ts +45 -0
  214. package/node_modules/@buddi/gateway/dist/telegram/reactions.d.ts.map +1 -0
  215. package/node_modules/@buddi/gateway/dist/telegram/reactions.js +97 -0
  216. package/node_modules/@buddi/gateway/dist/telegram/reactions.js.map +1 -0
  217. package/node_modules/@buddi/gateway/dist/telegram/surface.d.ts +27 -1
  218. package/node_modules/@buddi/gateway/dist/telegram/surface.d.ts.map +1 -1
  219. package/node_modules/@buddi/gateway/dist/telegram/surface.js +186 -12
  220. package/node_modules/@buddi/gateway/dist/telegram/surface.js.map +1 -1
  221. package/node_modules/@buddi/gateway/dist/web/agents.d.ts +7 -1
  222. package/node_modules/@buddi/gateway/dist/web/agents.d.ts.map +1 -1
  223. package/node_modules/@buddi/gateway/dist/web/agents.js +32 -2
  224. package/node_modules/@buddi/gateway/dist/web/agents.js.map +1 -1
  225. package/node_modules/@buddi/gateway/dist/web/chat.d.ts +10 -3
  226. package/node_modules/@buddi/gateway/dist/web/chat.d.ts.map +1 -1
  227. package/node_modules/@buddi/gateway/dist/web/chat.js +18 -5
  228. package/node_modules/@buddi/gateway/dist/web/chat.js.map +1 -1
  229. package/node_modules/@buddi/gateway/dist/web/plugins.d.ts +6 -1
  230. package/node_modules/@buddi/gateway/dist/web/plugins.d.ts.map +1 -1
  231. package/node_modules/@buddi/gateway/dist/web/plugins.js +31 -2
  232. package/node_modules/@buddi/gateway/dist/web/plugins.js.map +1 -1
  233. package/node_modules/@buddi/gateway/dist/web/proposals.d.ts +21 -0
  234. package/node_modules/@buddi/gateway/dist/web/proposals.d.ts.map +1 -1
  235. package/node_modules/@buddi/gateway/dist/web/proposals.js +50 -1
  236. package/node_modules/@buddi/gateway/dist/web/proposals.js.map +1 -1
  237. package/node_modules/@buddi/gateway/dist/web/read.d.ts +23 -0
  238. package/node_modules/@buddi/gateway/dist/web/read.d.ts.map +1 -1
  239. package/node_modules/@buddi/gateway/dist/web/read.js +36 -1
  240. package/node_modules/@buddi/gateway/dist/web/read.js.map +1 -1
  241. package/node_modules/@buddi/gateway/dist/web/recovery.d.ts +40 -2
  242. package/node_modules/@buddi/gateway/dist/web/recovery.d.ts.map +1 -1
  243. package/node_modules/@buddi/gateway/dist/web/recovery.js +215 -18
  244. package/node_modules/@buddi/gateway/dist/web/recovery.js.map +1 -1
  245. package/node_modules/@buddi/gateway/dist/web/server.d.ts.map +1 -1
  246. package/node_modules/@buddi/gateway/dist/web/server.js +87 -29
  247. package/node_modules/@buddi/gateway/dist/web/server.js.map +1 -1
  248. package/node_modules/@buddi/gateway/dist/web/sessions.d.ts +81 -7
  249. package/node_modules/@buddi/gateway/dist/web/sessions.d.ts.map +1 -1
  250. package/node_modules/@buddi/gateway/dist/web/sessions.js +242 -24
  251. package/node_modules/@buddi/gateway/dist/web/sessions.js.map +1 -1
  252. package/node_modules/@buddi/gateway/dist/web/signed-out.d.ts +46 -0
  253. package/node_modules/@buddi/gateway/dist/web/signed-out.d.ts.map +1 -0
  254. package/node_modules/@buddi/gateway/dist/web/signed-out.js +99 -0
  255. package/node_modules/@buddi/gateway/dist/web/signed-out.js.map +1 -0
  256. package/node_modules/@buddi/gateway/dist/web/tailscale.d.ts +13 -0
  257. package/node_modules/@buddi/gateway/dist/web/tailscale.d.ts.map +1 -1
  258. package/node_modules/@buddi/gateway/dist/web/tailscale.js +12 -0
  259. package/node_modules/@buddi/gateway/dist/web/tailscale.js.map +1 -1
  260. package/node_modules/@buddi/install/dist/.tsbuildinfo +1 -1
  261. package/node_modules/@buddi/install/dist/backup.d.ts +18 -0
  262. package/node_modules/@buddi/install/dist/backup.d.ts.map +1 -1
  263. package/node_modules/@buddi/install/dist/backup.js +39 -2
  264. package/node_modules/@buddi/install/dist/backup.js.map +1 -1
  265. package/node_modules/@buddi/install/dist/kept-data.d.ts +20 -0
  266. package/node_modules/@buddi/install/dist/kept-data.d.ts.map +1 -0
  267. package/node_modules/@buddi/install/dist/kept-data.js +34 -0
  268. package/node_modules/@buddi/install/dist/kept-data.js.map +1 -0
  269. package/node_modules/@buddi/install/dist/launcher.d.ts.map +1 -1
  270. package/node_modules/@buddi/install/dist/launcher.js +17 -3
  271. package/node_modules/@buddi/install/dist/launcher.js.map +1 -1
  272. package/node_modules/@buddi/install/dist/postgres-check.d.ts +18 -0
  273. package/node_modules/@buddi/install/dist/postgres-check.d.ts.map +1 -0
  274. package/node_modules/@buddi/install/dist/postgres-check.js +66 -0
  275. package/node_modules/@buddi/install/dist/postgres-check.js.map +1 -0
  276. package/node_modules/@buddi/install/dist/upgrade.d.ts +3 -0
  277. package/node_modules/@buddi/install/dist/upgrade.d.ts.map +1 -1
  278. package/node_modules/@buddi/install/dist/upgrade.js +30 -0
  279. package/node_modules/@buddi/install/dist/upgrade.js.map +1 -1
  280. package/node_modules/@buddi/runtime/dist/.tsbuildinfo +1 -1
  281. package/node_modules/@buddi/tool-artifacts/dist/.tsbuildinfo +1 -1
  282. package/node_modules/@buddi/tool-browser/dist/.tsbuildinfo +1 -1
  283. package/node_modules/@buddi/tool-email/dist/.tsbuildinfo +1 -1
  284. package/node_modules/@buddi/tool-email/dist/agent.d.ts.map +1 -1
  285. package/node_modules/@buddi/tool-email/dist/agent.js +11 -0
  286. package/node_modules/@buddi/tool-email/dist/agent.js.map +1 -1
  287. package/node_modules/@buddi/tool-email/dist/imap/fake.d.ts +89 -3
  288. package/node_modules/@buddi/tool-email/dist/imap/fake.d.ts.map +1 -1
  289. package/node_modules/@buddi/tool-email/dist/imap/fake.js +234 -4
  290. package/node_modules/@buddi/tool-email/dist/imap/fake.js.map +1 -1
  291. package/node_modules/@buddi/tool-email/dist/imap/imapflow-client.d.ts +14 -1
  292. package/node_modules/@buddi/tool-email/dist/imap/imapflow-client.d.ts.map +1 -1
  293. package/node_modules/@buddi/tool-email/dist/imap/imapflow-client.js +157 -2
  294. package/node_modules/@buddi/tool-email/dist/imap/imapflow-client.js.map +1 -1
  295. package/node_modules/@buddi/tool-email/dist/index.d.ts +14 -2
  296. package/node_modules/@buddi/tool-email/dist/index.d.ts.map +1 -1
  297. package/node_modules/@buddi/tool-email/dist/index.js +23 -4
  298. package/node_modules/@buddi/tool-email/dist/index.js.map +1 -1
  299. package/node_modules/@buddi/tool-email/dist/logins.d.ts +24 -0
  300. package/node_modules/@buddi/tool-email/dist/logins.d.ts.map +1 -0
  301. package/node_modules/@buddi/tool-email/dist/logins.js +35 -0
  302. package/node_modules/@buddi/tool-email/dist/logins.js.map +1 -0
  303. package/node_modules/@buddi/tool-email/dist/mail.d.ts +14 -0
  304. package/node_modules/@buddi/tool-email/dist/mail.d.ts.map +1 -1
  305. package/node_modules/@buddi/tool-email/dist/mail.js +23 -0
  306. package/node_modules/@buddi/tool-email/dist/mail.js.map +1 -1
  307. package/node_modules/@buddi/tool-email/dist/mailbox/actions.d.ts +205 -0
  308. package/node_modules/@buddi/tool-email/dist/mailbox/actions.d.ts.map +1 -0
  309. package/node_modules/@buddi/tool-email/dist/mailbox/actions.js +662 -0
  310. package/node_modules/@buddi/tool-email/dist/mailbox/actions.js.map +1 -0
  311. package/node_modules/@buddi/tool-email/dist/mailbox/arrival.d.ts +61 -0
  312. package/node_modules/@buddi/tool-email/dist/mailbox/arrival.d.ts.map +1 -0
  313. package/node_modules/@buddi/tool-email/dist/mailbox/arrival.js +153 -0
  314. package/node_modules/@buddi/tool-email/dist/mailbox/arrival.js.map +1 -0
  315. package/node_modules/@buddi/tool-email/dist/mailbox/select.d.ts +53 -0
  316. package/node_modules/@buddi/tool-email/dist/mailbox/select.d.ts.map +1 -0
  317. package/node_modules/@buddi/tool-email/dist/mailbox/select.js +117 -0
  318. package/node_modules/@buddi/tool-email/dist/mailbox/select.js.map +1 -0
  319. package/node_modules/@buddi/tool-email/dist/pages/accounts.d.ts +37 -1
  320. package/node_modules/@buddi/tool-email/dist/pages/accounts.d.ts.map +1 -1
  321. package/node_modules/@buddi/tool-email/dist/pages/accounts.js +104 -2
  322. package/node_modules/@buddi/tool-email/dist/pages/accounts.js.map +1 -1
  323. package/node_modules/@buddi/tool-email/dist/pages/descriptors.d.ts.map +1 -1
  324. package/node_modules/@buddi/tool-email/dist/pages/descriptors.js +142 -0
  325. package/node_modules/@buddi/tool-email/dist/pages/descriptors.js.map +1 -1
  326. package/node_modules/@buddi/tool-email/dist/pages/drafts-tools.d.ts +2 -2
  327. package/node_modules/@buddi/tool-email/dist/pages/format.d.ts +1 -12
  328. package/node_modules/@buddi/tool-email/dist/pages/format.d.ts.map +1 -1
  329. package/node_modules/@buddi/tool-email/dist/pages/format.js +17 -0
  330. package/node_modules/@buddi/tool-email/dist/pages/format.js.map +1 -1
  331. package/node_modules/@buddi/tool-email/dist/pages/index.d.ts.map +1 -1
  332. package/node_modules/@buddi/tool-email/dist/pages/index.js +5 -1
  333. package/node_modules/@buddi/tool-email/dist/pages/index.js.map +1 -1
  334. package/node_modules/@buddi/tool-email/dist/pages/policies-tools.d.ts +7 -0
  335. package/node_modules/@buddi/tool-email/dist/pages/policies-tools.d.ts.map +1 -1
  336. package/node_modules/@buddi/tool-email/dist/pages/policies-tools.js +11 -2
  337. package/node_modules/@buddi/tool-email/dist/pages/policies-tools.js.map +1 -1
  338. package/node_modules/@buddi/tool-email/dist/pages/queries.d.ts +16 -0
  339. package/node_modules/@buddi/tool-email/dist/pages/queries.d.ts.map +1 -1
  340. package/node_modules/@buddi/tool-email/dist/pages/queries.js +154 -3
  341. package/node_modules/@buddi/tool-email/dist/pages/queries.js.map +1 -1
  342. package/node_modules/@buddi/tool-email/dist/policies/auto.d.ts +133 -0
  343. package/node_modules/@buddi/tool-email/dist/policies/auto.d.ts.map +1 -0
  344. package/node_modules/@buddi/tool-email/dist/policies/auto.js +241 -0
  345. package/node_modules/@buddi/tool-email/dist/policies/auto.js.map +1 -0
  346. package/node_modules/@buddi/tool-email/dist/policies/gate.d.ts +34 -10
  347. package/node_modules/@buddi/tool-email/dist/policies/gate.d.ts.map +1 -1
  348. package/node_modules/@buddi/tool-email/dist/policies/gate.js +27 -12
  349. package/node_modules/@buddi/tool-email/dist/policies/gate.js.map +1 -1
  350. package/node_modules/@buddi/tool-email/dist/policies/learn.d.ts +26 -18
  351. package/node_modules/@buddi/tool-email/dist/policies/learn.d.ts.map +1 -1
  352. package/node_modules/@buddi/tool-email/dist/policies/learn.js +36 -10
  353. package/node_modules/@buddi/tool-email/dist/policies/learn.js.map +1 -1
  354. package/node_modules/@buddi/tool-email/dist/policies/learned.d.ts +25 -2
  355. package/node_modules/@buddi/tool-email/dist/policies/learned.d.ts.map +1 -1
  356. package/node_modules/@buddi/tool-email/dist/policies/learned.js +47 -5
  357. package/node_modules/@buddi/tool-email/dist/policies/learned.js.map +1 -1
  358. package/node_modules/@buddi/tool-email/dist/policies/store.d.ts +8 -2
  359. package/node_modules/@buddi/tool-email/dist/policies/store.d.ts.map +1 -1
  360. package/node_modules/@buddi/tool-email/dist/policies/store.js +19 -5
  361. package/node_modules/@buddi/tool-email/dist/policies/store.js.map +1 -1
  362. package/node_modules/@buddi/tool-email/dist/ports.d.ts +79 -0
  363. package/node_modules/@buddi/tool-email/dist/ports.d.ts.map +1 -1
  364. package/node_modules/@buddi/tool-email/dist/ports.js +6 -0
  365. package/node_modules/@buddi/tool-email/dist/ports.js.map +1 -1
  366. package/node_modules/@buddi/tool-email/dist/rows.d.ts.map +1 -1
  367. package/node_modules/@buddi/tool-email/dist/rows.js +3 -1
  368. package/node_modules/@buddi/tool-email/dist/rows.js.map +1 -1
  369. package/node_modules/@buddi/tool-email/dist/sources/idle.d.ts +90 -0
  370. package/node_modules/@buddi/tool-email/dist/sources/idle.d.ts.map +1 -0
  371. package/node_modules/@buddi/tool-email/dist/sources/idle.js +250 -0
  372. package/node_modules/@buddi/tool-email/dist/sources/idle.js.map +1 -0
  373. package/node_modules/@buddi/tool-email/dist/sources/inbox-poll.d.ts +12 -1
  374. package/node_modules/@buddi/tool-email/dist/sources/inbox-poll.d.ts.map +1 -1
  375. package/node_modules/@buddi/tool-email/dist/sources/inbox-poll.js +280 -134
  376. package/node_modules/@buddi/tool-email/dist/sources/inbox-poll.js.map +1 -1
  377. package/node_modules/@buddi/tool-email/dist/tools/mailbox.d.ts +108 -0
  378. package/node_modules/@buddi/tool-email/dist/tools/mailbox.d.ts.map +1 -0
  379. package/node_modules/@buddi/tool-email/dist/tools/mailbox.js +359 -0
  380. package/node_modules/@buddi/tool-email/dist/tools/mailbox.js.map +1 -0
  381. package/node_modules/@buddi/tool-email/dist/tools/policies.d.ts +8 -2
  382. package/node_modules/@buddi/tool-email/dist/tools/policies.d.ts.map +1 -1
  383. package/node_modules/@buddi/tool-email/dist/tools/policies.js +43 -3
  384. package/node_modules/@buddi/tool-email/dist/tools/policies.js.map +1 -1
  385. package/node_modules/@buddi/tool-email/dist/tools/read.d.ts +2 -2
  386. package/node_modules/@buddi/tool-email/dist/tools/triage.d.ts.map +1 -1
  387. package/node_modules/@buddi/tool-email/dist/tools/triage.js +10 -4
  388. package/node_modules/@buddi/tool-email/dist/tools/triage.js.map +1 -1
  389. package/node_modules/@buddi/tool-email/migrations/017_mailbox_actions.sql +60 -0
  390. package/node_modules/@buddi/tool-email/migrations/018_learned_auto.sql +30 -0
  391. package/node_modules/@buddi/tool-email/migrations/019_arrival_pending.sql +26 -0
  392. package/node_modules/@buddi/tool-email/package.json +3 -2
  393. package/node_modules/@buddi/tool-host/dist/.tsbuildinfo +1 -1
  394. package/node_modules/@buddi/tool-mcp/dist/.tsbuildinfo +1 -1
  395. package/node_modules/@buddi/tool-memory/dist/.tsbuildinfo +1 -1
  396. package/node_modules/@buddi/tool-web/dist/.tsbuildinfo +1 -1
  397. package/node_modules/imapflow/CHANGELOG.md +14 -0
  398. package/node_modules/imapflow/dist/cjs/commands/fetch.js +1 -1
  399. package/node_modules/imapflow/dist/cjs/imap-flow.d.ts +2 -0
  400. package/node_modules/imapflow/dist/cjs/imap-flow.js +14 -1
  401. package/node_modules/imapflow/dist/cjs/package-info.d.ts +1 -1
  402. package/node_modules/imapflow/dist/cjs/package-info.js +1 -1
  403. package/node_modules/imapflow/dist/cjs/tools.d.ts +2 -1
  404. package/node_modules/imapflow/dist/cjs/tools.js +8 -6
  405. package/node_modules/imapflow/dist/cjs/types.d.ts +9 -1
  406. package/node_modules/imapflow/dist/esm/commands/fetch.js +1 -1
  407. package/node_modules/imapflow/dist/esm/imap-flow.d.ts +2 -0
  408. package/node_modules/imapflow/dist/esm/imap-flow.js +14 -1
  409. package/node_modules/imapflow/dist/esm/package-info.d.ts +1 -1
  410. package/node_modules/imapflow/dist/esm/package-info.js +1 -1
  411. package/node_modules/imapflow/dist/esm/tools.d.ts +2 -1
  412. package/node_modules/imapflow/dist/esm/tools.js +8 -6
  413. package/node_modules/imapflow/dist/esm/types.d.ts +9 -1
  414. package/node_modules/imapflow/package.json +4 -4
  415. package/package.json +2 -2
  416. package/packages/cli/dist/.tsbuildinfo +1 -1
  417. package/packages/cli/dist/commands.d.ts +10 -0
  418. package/packages/cli/dist/commands.d.ts.map +1 -1
  419. package/packages/cli/dist/commands.js +237 -18
  420. package/packages/cli/dist/commands.js.map +1 -1
  421. package/packages/cli/dist/doctor-probes.d.ts.map +1 -1
  422. package/packages/cli/dist/doctor-probes.js +10 -8
  423. package/packages/cli/dist/doctor-probes.js.map +1 -1
  424. package/packages/cli/dist/doctor.d.ts +28 -0
  425. package/packages/cli/dist/doctor.d.ts.map +1 -1
  426. package/packages/cli/dist/doctor.js +36 -0
  427. package/packages/cli/dist/doctor.js.map +1 -1
  428. package/packages/cli/dist/mcp/tools.d.ts.map +1 -1
  429. package/packages/cli/dist/mcp/tools.js +3 -2
  430. package/packages/cli/dist/mcp/tools.js.map +1 -1
  431. package/packages/core/dist/.tsbuildinfo +1 -1
  432. package/packages/core/dist/agents/catalog.d.ts +3 -0
  433. package/packages/core/dist/agents/catalog.d.ts.map +1 -1
  434. package/packages/core/dist/agents/catalog.js +1 -0
  435. package/packages/core/dist/agents/catalog.js.map +1 -1
  436. package/packages/core/dist/agents/edit.d.ts +3 -0
  437. package/packages/core/dist/agents/edit.d.ts.map +1 -1
  438. package/packages/core/dist/agents/edit.js +3 -1
  439. package/packages/core/dist/agents/edit.js.map +1 -1
  440. package/packages/core/dist/agents/frontmatter.d.ts +10 -0
  441. package/packages/core/dist/agents/frontmatter.d.ts.map +1 -1
  442. package/packages/core/dist/agents/frontmatter.js +7 -0
  443. package/packages/core/dist/agents/frontmatter.js.map +1 -1
  444. package/packages/core/dist/agents/idle-rollover.d.ts +20 -0
  445. package/packages/core/dist/agents/idle-rollover.d.ts.map +1 -0
  446. package/packages/core/dist/agents/idle-rollover.js +30 -0
  447. package/packages/core/dist/agents/idle-rollover.js.map +1 -0
  448. package/packages/core/dist/agents/index.d.ts +1 -0
  449. package/packages/core/dist/agents/index.d.ts.map +1 -1
  450. package/packages/core/dist/agents/index.js +1 -0
  451. package/packages/core/dist/agents/index.js.map +1 -1
  452. package/packages/core/dist/backup/dump.d.ts +9 -0
  453. package/packages/core/dist/backup/dump.d.ts.map +1 -1
  454. package/packages/core/dist/backup/dump.js +10 -1
  455. package/packages/core/dist/backup/dump.js.map +1 -1
  456. package/packages/core/dist/backup/index.d.ts +1 -0
  457. package/packages/core/dist/backup/index.d.ts.map +1 -1
  458. package/packages/core/dist/backup/index.js +1 -0
  459. package/packages/core/dist/backup/index.js.map +1 -1
  460. package/packages/core/dist/backup/load.d.ts +18 -0
  461. package/packages/core/dist/backup/load.d.ts.map +1 -1
  462. package/packages/core/dist/backup/load.js +3 -2
  463. package/packages/core/dist/backup/load.js.map +1 -1
  464. package/packages/core/dist/backup/pending.d.ts +114 -0
  465. package/packages/core/dist/backup/pending.d.ts.map +1 -0
  466. package/packages/core/dist/backup/pending.js +392 -0
  467. package/packages/core/dist/backup/pending.js.map +1 -0
  468. package/packages/core/dist/backup/restore.d.ts +3 -1
  469. package/packages/core/dist/backup/restore.d.ts.map +1 -1
  470. package/packages/core/dist/backup/restore.js +55 -2
  471. package/packages/core/dist/backup/restore.js.map +1 -1
  472. package/packages/core/dist/feedback/index.d.ts +108 -0
  473. package/packages/core/dist/feedback/index.d.ts.map +1 -0
  474. package/packages/core/dist/feedback/index.js +160 -0
  475. package/packages/core/dist/feedback/index.js.map +1 -0
  476. package/packages/core/dist/home.d.ts +24 -0
  477. package/packages/core/dist/home.d.ts.map +1 -1
  478. package/packages/core/dist/home.js +3 -0
  479. package/packages/core/dist/home.js.map +1 -1
  480. package/packages/core/dist/host/build.d.ts.map +1 -1
  481. package/packages/core/dist/host/build.js +28 -1
  482. package/packages/core/dist/host/build.js.map +1 -1
  483. package/packages/core/dist/host/types.d.ts +29 -2
  484. package/packages/core/dist/host/types.d.ts.map +1 -1
  485. package/packages/core/dist/index.d.ts +1 -0
  486. package/packages/core/dist/index.d.ts.map +1 -1
  487. package/packages/core/dist/index.js +1 -0
  488. package/packages/core/dist/index.js.map +1 -1
  489. package/packages/core/dist/learning/policies.d.ts +7 -1
  490. package/packages/core/dist/learning/policies.d.ts.map +1 -1
  491. package/packages/core/dist/learning/policies.js +4 -1
  492. package/packages/core/dist/learning/policies.js.map +1 -1
  493. package/packages/core/dist/learning/store.d.ts +29 -1
  494. package/packages/core/dist/learning/store.d.ts.map +1 -1
  495. package/packages/core/dist/learning/store.js +33 -8
  496. package/packages/core/dist/learning/store.js.map +1 -1
  497. package/packages/core/dist/learning/types.d.ts +24 -1
  498. package/packages/core/dist/learning/types.d.ts.map +1 -1
  499. package/packages/core/dist/learning/types.js +6 -0
  500. package/packages/core/dist/learning/types.js.map +1 -1
  501. package/packages/core/dist/owner.d.ts +2 -1
  502. package/packages/core/dist/owner.d.ts.map +1 -1
  503. package/packages/core/dist/owner.js.map +1 -1
  504. package/packages/core/dist/pages.d.ts +27 -0
  505. package/packages/core/dist/pages.d.ts.map +1 -1
  506. package/packages/core/dist/pages.js +24 -3
  507. package/packages/core/dist/pages.js.map +1 -1
  508. package/packages/core/dist/plugin/index.d.ts +7 -6
  509. package/packages/core/dist/plugin/index.d.ts.map +1 -1
  510. package/packages/core/dist/plugin/index.js +1 -1
  511. package/packages/core/dist/plugin/index.js.map +1 -1
  512. package/packages/core/dist/plugin/version.d.ts +1 -1
  513. package/packages/core/dist/plugin/version.js +1 -1
  514. package/packages/core/dist/postgres/binaries.d.ts +3 -1
  515. package/packages/core/dist/postgres/binaries.d.ts.map +1 -1
  516. package/packages/core/dist/postgres/binaries.js +15 -23
  517. package/packages/core/dist/postgres/binaries.js.map +1 -1
  518. package/packages/core/dist/postgres/cluster.js +1 -1
  519. package/packages/core/dist/postgres/cluster.js.map +1 -1
  520. package/packages/core/dist/postgres/index.d.ts +1 -0
  521. package/packages/core/dist/postgres/index.d.ts.map +1 -1
  522. package/packages/core/dist/postgres/index.js +1 -0
  523. package/packages/core/dist/postgres/index.js.map +1 -1
  524. package/packages/core/dist/postgres/links.d.ts +15 -0
  525. package/packages/core/dist/postgres/links.d.ts.map +1 -0
  526. package/packages/core/dist/postgres/links.js +98 -0
  527. package/packages/core/dist/postgres/links.js.map +1 -0
  528. package/packages/core/dist/registry.d.ts +10 -1
  529. package/packages/core/dist/registry.d.ts.map +1 -1
  530. package/packages/core/dist/registry.js +13 -0
  531. package/packages/core/dist/registry.js.map +1 -1
  532. package/packages/core/dist/sources/index.d.ts +1 -0
  533. package/packages/core/dist/sources/index.d.ts.map +1 -1
  534. package/packages/core/dist/sources/index.js +1 -0
  535. package/packages/core/dist/sources/index.js.map +1 -1
  536. package/packages/core/dist/sources/watch.d.ts +37 -0
  537. package/packages/core/dist/sources/watch.d.ts.map +1 -0
  538. package/packages/core/dist/sources/watch.js +81 -0
  539. package/packages/core/dist/sources/watch.js.map +1 -0
  540. package/packages/core/dist/tools.d.ts +47 -0
  541. package/packages/core/dist/tools.d.ts.map +1 -1
  542. package/packages/core/dist/tools.js.map +1 -1
  543. package/packages/core/migrations/055_pending_plugin_data.sql +24 -0
  544. package/packages/core/migrations/056_dashboard_sessions.sql +37 -0
  545. package/packages/core/migrations/057_proposal_decided_by.sql +34 -0
  546. package/packages/core/migrations/058_message_feedback.sql +50 -0
  547. package/packages/core/package.json +4 -0
  548. package/packages/gateway/dist/.tsbuildinfo +1 -1
  549. package/packages/gateway/dist/agents/learning-digest.d.ts +7 -1
  550. package/packages/gateway/dist/agents/learning-digest.d.ts.map +1 -1
  551. package/packages/gateway/dist/agents/learning-digest.js +29 -3
  552. package/packages/gateway/dist/agents/learning-digest.js.map +1 -1
  553. package/packages/gateway/dist/agents/platform-files.d.ts +2 -0
  554. package/packages/gateway/dist/agents/platform-files.d.ts.map +1 -1
  555. package/packages/gateway/dist/agents/platform-files.js +2 -0
  556. package/packages/gateway/dist/agents/platform-files.js.map +1 -1
  557. package/packages/gateway/dist/agents/platform.d.ts +20 -0
  558. package/packages/gateway/dist/agents/platform.d.ts.map +1 -1
  559. package/packages/gateway/dist/agents/platform.js +46 -3
  560. package/packages/gateway/dist/agents/platform.js.map +1 -1
  561. package/packages/gateway/dist/agents-cli.d.ts +1 -1
  562. package/packages/gateway/dist/agents-cli.d.ts.map +1 -1
  563. package/packages/gateway/dist/agents-cli.js +12 -2
  564. package/packages/gateway/dist/agents-cli.js.map +1 -1
  565. package/packages/gateway/dist/chat/session.d.ts.map +1 -1
  566. package/packages/gateway/dist/chat/session.js +2 -1
  567. package/packages/gateway/dist/chat/session.js.map +1 -1
  568. package/packages/gateway/dist/mcp/requests.d.ts.map +1 -1
  569. package/packages/gateway/dist/mcp/requests.js +1 -0
  570. package/packages/gateway/dist/mcp/requests.js.map +1 -1
  571. package/packages/gateway/dist/plugins/approve.d.ts.map +1 -1
  572. package/packages/gateway/dist/plugins/approve.js +13 -2
  573. package/packages/gateway/dist/plugins/approve.js.map +1 -1
  574. package/packages/gateway/dist/plugins/migrate.d.ts.map +1 -1
  575. package/packages/gateway/dist/plugins/migrate.js +11 -1
  576. package/packages/gateway/dist/plugins/migrate.js.map +1 -1
  577. package/packages/gateway/dist/plugins/paths.d.ts +14 -0
  578. package/packages/gateway/dist/plugins/paths.d.ts.map +1 -1
  579. package/packages/gateway/dist/plugins/paths.js +27 -1
  580. package/packages/gateway/dist/plugins/paths.js.map +1 -1
  581. package/packages/gateway/dist/plugins/stage.d.ts +27 -3
  582. package/packages/gateway/dist/plugins/stage.d.ts.map +1 -1
  583. package/packages/gateway/dist/plugins/stage.js +35 -5
  584. package/packages/gateway/dist/plugins/stage.js.map +1 -1
  585. package/packages/gateway/dist/plugins-cli.d.ts +4 -0
  586. package/packages/gateway/dist/plugins-cli.d.ts.map +1 -1
  587. package/packages/gateway/dist/plugins-cli.js +42 -9
  588. package/packages/gateway/dist/plugins-cli.js.map +1 -1
  589. package/packages/gateway/dist/serve.d.ts.map +1 -1
  590. package/packages/gateway/dist/serve.js +14 -2
  591. package/packages/gateway/dist/serve.js.map +1 -1
  592. package/packages/gateway/dist/surfaces/browser-continuation.d.ts +2 -1
  593. package/packages/gateway/dist/surfaces/browser-continuation.d.ts.map +1 -1
  594. package/packages/gateway/dist/surfaces/browser-continuation.js +8 -5
  595. package/packages/gateway/dist/surfaces/browser-continuation.js.map +1 -1
  596. package/packages/gateway/dist/surfaces/browser-handoff.d.ts +27 -4
  597. package/packages/gateway/dist/surfaces/browser-handoff.d.ts.map +1 -1
  598. package/packages/gateway/dist/surfaces/browser-handoff.js +57 -7
  599. package/packages/gateway/dist/surfaces/browser-handoff.js.map +1 -1
  600. package/packages/gateway/dist/surfaces/carry-over.d.ts +89 -0
  601. package/packages/gateway/dist/surfaces/carry-over.d.ts.map +1 -0
  602. package/packages/gateway/dist/surfaces/carry-over.js +172 -0
  603. package/packages/gateway/dist/surfaces/carry-over.js.map +1 -0
  604. package/packages/gateway/dist/surfaces/conversation-lifetime.d.ts +5 -2
  605. package/packages/gateway/dist/surfaces/conversation-lifetime.d.ts.map +1 -1
  606. package/packages/gateway/dist/surfaces/conversation-lifetime.js +5 -2
  607. package/packages/gateway/dist/surfaces/conversation-lifetime.js.map +1 -1
  608. package/packages/gateway/dist/telegram/api.d.ts +34 -2
  609. package/packages/gateway/dist/telegram/api.d.ts.map +1 -1
  610. package/packages/gateway/dist/telegram/api.js +15 -2
  611. package/packages/gateway/dist/telegram/api.js.map +1 -1
  612. package/packages/gateway/dist/telegram/env-owner.d.ts +30 -0
  613. package/packages/gateway/dist/telegram/env-owner.d.ts.map +1 -0
  614. package/packages/gateway/dist/telegram/env-owner.js +45 -0
  615. package/packages/gateway/dist/telegram/env-owner.js.map +1 -0
  616. package/packages/gateway/dist/telegram/main.d.ts +0 -2
  617. package/packages/gateway/dist/telegram/main.d.ts.map +1 -1
  618. package/packages/gateway/dist/telegram/main.js +20 -25
  619. package/packages/gateway/dist/telegram/main.js.map +1 -1
  620. package/packages/gateway/dist/telegram/notify.d.ts.map +1 -1
  621. package/packages/gateway/dist/telegram/notify.js +1 -1
  622. package/packages/gateway/dist/telegram/notify.js.map +1 -1
  623. package/packages/gateway/dist/telegram/outbound.d.ts +2 -2
  624. package/packages/gateway/dist/telegram/outbound.d.ts.map +1 -1
  625. package/packages/gateway/dist/telegram/outbound.js +12 -3
  626. package/packages/gateway/dist/telegram/outbound.js.map +1 -1
  627. package/packages/gateway/dist/telegram/reactions.d.ts +45 -0
  628. package/packages/gateway/dist/telegram/reactions.d.ts.map +1 -0
  629. package/packages/gateway/dist/telegram/reactions.js +97 -0
  630. package/packages/gateway/dist/telegram/reactions.js.map +1 -0
  631. package/packages/gateway/dist/telegram/surface.d.ts +27 -1
  632. package/packages/gateway/dist/telegram/surface.d.ts.map +1 -1
  633. package/packages/gateway/dist/telegram/surface.js +186 -12
  634. package/packages/gateway/dist/telegram/surface.js.map +1 -1
  635. package/packages/gateway/dist/web/agents.d.ts +7 -1
  636. package/packages/gateway/dist/web/agents.d.ts.map +1 -1
  637. package/packages/gateway/dist/web/agents.js +32 -2
  638. package/packages/gateway/dist/web/agents.js.map +1 -1
  639. package/packages/gateway/dist/web/chat.d.ts +10 -3
  640. package/packages/gateway/dist/web/chat.d.ts.map +1 -1
  641. package/packages/gateway/dist/web/chat.js +18 -5
  642. package/packages/gateway/dist/web/chat.js.map +1 -1
  643. package/packages/gateway/dist/web/plugins.d.ts +6 -1
  644. package/packages/gateway/dist/web/plugins.d.ts.map +1 -1
  645. package/packages/gateway/dist/web/plugins.js +31 -2
  646. package/packages/gateway/dist/web/plugins.js.map +1 -1
  647. package/packages/gateway/dist/web/proposals.d.ts +21 -0
  648. package/packages/gateway/dist/web/proposals.d.ts.map +1 -1
  649. package/packages/gateway/dist/web/proposals.js +50 -1
  650. package/packages/gateway/dist/web/proposals.js.map +1 -1
  651. package/packages/gateway/dist/web/read.d.ts +23 -0
  652. package/packages/gateway/dist/web/read.d.ts.map +1 -1
  653. package/packages/gateway/dist/web/read.js +36 -1
  654. package/packages/gateway/dist/web/read.js.map +1 -1
  655. package/packages/gateway/dist/web/recovery.d.ts +40 -2
  656. package/packages/gateway/dist/web/recovery.d.ts.map +1 -1
  657. package/packages/gateway/dist/web/recovery.js +215 -18
  658. package/packages/gateway/dist/web/recovery.js.map +1 -1
  659. package/packages/gateway/dist/web/server.d.ts.map +1 -1
  660. package/packages/gateway/dist/web/server.js +87 -29
  661. package/packages/gateway/dist/web/server.js.map +1 -1
  662. package/packages/gateway/dist/web/sessions.d.ts +81 -7
  663. package/packages/gateway/dist/web/sessions.d.ts.map +1 -1
  664. package/packages/gateway/dist/web/sessions.js +242 -24
  665. package/packages/gateway/dist/web/sessions.js.map +1 -1
  666. package/packages/gateway/dist/web/signed-out.d.ts +46 -0
  667. package/packages/gateway/dist/web/signed-out.d.ts.map +1 -0
  668. package/packages/gateway/dist/web/signed-out.js +99 -0
  669. package/packages/gateway/dist/web/signed-out.js.map +1 -0
  670. package/packages/gateway/dist/web/tailscale.d.ts +13 -0
  671. package/packages/gateway/dist/web/tailscale.d.ts.map +1 -1
  672. package/packages/gateway/dist/web/tailscale.js +12 -0
  673. package/packages/gateway/dist/web/tailscale.js.map +1 -1
  674. package/packages/install/dist/.tsbuildinfo +1 -1
  675. package/packages/install/dist/backup.d.ts +18 -0
  676. package/packages/install/dist/backup.d.ts.map +1 -1
  677. package/packages/install/dist/backup.js +39 -2
  678. package/packages/install/dist/backup.js.map +1 -1
  679. package/packages/install/dist/kept-data.d.ts +20 -0
  680. package/packages/install/dist/kept-data.d.ts.map +1 -0
  681. package/packages/install/dist/kept-data.js +34 -0
  682. package/packages/install/dist/kept-data.js.map +1 -0
  683. package/packages/install/dist/launcher.d.ts.map +1 -1
  684. package/packages/install/dist/launcher.js +17 -3
  685. package/packages/install/dist/launcher.js.map +1 -1
  686. package/packages/install/dist/postgres-check.d.ts +18 -0
  687. package/packages/install/dist/postgres-check.d.ts.map +1 -0
  688. package/packages/install/dist/postgres-check.js +66 -0
  689. package/packages/install/dist/postgres-check.js.map +1 -0
  690. package/packages/install/dist/upgrade.d.ts +3 -0
  691. package/packages/install/dist/upgrade.d.ts.map +1 -1
  692. package/packages/install/dist/upgrade.js +30 -0
  693. package/packages/install/dist/upgrade.js.map +1 -1
  694. package/packages/runtime/dist/.tsbuildinfo +1 -1
  695. package/packages/tools/artifacts/dist/.tsbuildinfo +1 -1
  696. package/packages/tools/browser/dist/.tsbuildinfo +1 -1
  697. package/packages/tools/email/dist/.tsbuildinfo +1 -1
  698. package/packages/tools/email/dist/agent.d.ts.map +1 -1
  699. package/packages/tools/email/dist/agent.js +11 -0
  700. package/packages/tools/email/dist/agent.js.map +1 -1
  701. package/packages/tools/email/dist/imap/fake.d.ts +89 -3
  702. package/packages/tools/email/dist/imap/fake.d.ts.map +1 -1
  703. package/packages/tools/email/dist/imap/fake.js +234 -4
  704. package/packages/tools/email/dist/imap/fake.js.map +1 -1
  705. package/packages/tools/email/dist/imap/imapflow-client.d.ts +14 -1
  706. package/packages/tools/email/dist/imap/imapflow-client.d.ts.map +1 -1
  707. package/packages/tools/email/dist/imap/imapflow-client.js +157 -2
  708. package/packages/tools/email/dist/imap/imapflow-client.js.map +1 -1
  709. package/packages/tools/email/dist/index.d.ts +14 -2
  710. package/packages/tools/email/dist/index.d.ts.map +1 -1
  711. package/packages/tools/email/dist/index.js +23 -4
  712. package/packages/tools/email/dist/index.js.map +1 -1
  713. package/packages/tools/email/dist/logins.d.ts +24 -0
  714. package/packages/tools/email/dist/logins.d.ts.map +1 -0
  715. package/packages/tools/email/dist/logins.js +35 -0
  716. package/packages/tools/email/dist/logins.js.map +1 -0
  717. package/packages/tools/email/dist/mail.d.ts +14 -0
  718. package/packages/tools/email/dist/mail.d.ts.map +1 -1
  719. package/packages/tools/email/dist/mail.js +23 -0
  720. package/packages/tools/email/dist/mail.js.map +1 -1
  721. package/packages/tools/email/dist/mailbox/actions.d.ts +205 -0
  722. package/packages/tools/email/dist/mailbox/actions.d.ts.map +1 -0
  723. package/packages/tools/email/dist/mailbox/actions.js +662 -0
  724. package/packages/tools/email/dist/mailbox/actions.js.map +1 -0
  725. package/packages/tools/email/dist/mailbox/arrival.d.ts +61 -0
  726. package/packages/tools/email/dist/mailbox/arrival.d.ts.map +1 -0
  727. package/packages/tools/email/dist/mailbox/arrival.js +153 -0
  728. package/packages/tools/email/dist/mailbox/arrival.js.map +1 -0
  729. package/packages/tools/email/dist/mailbox/select.d.ts +53 -0
  730. package/packages/tools/email/dist/mailbox/select.d.ts.map +1 -0
  731. package/packages/tools/email/dist/mailbox/select.js +117 -0
  732. package/packages/tools/email/dist/mailbox/select.js.map +1 -0
  733. package/packages/tools/email/dist/pages/accounts.d.ts +37 -1
  734. package/packages/tools/email/dist/pages/accounts.d.ts.map +1 -1
  735. package/packages/tools/email/dist/pages/accounts.js +104 -2
  736. package/packages/tools/email/dist/pages/accounts.js.map +1 -1
  737. package/packages/tools/email/dist/pages/descriptors.d.ts.map +1 -1
  738. package/packages/tools/email/dist/pages/descriptors.js +142 -0
  739. package/packages/tools/email/dist/pages/descriptors.js.map +1 -1
  740. package/packages/tools/email/dist/pages/drafts-tools.d.ts +2 -2
  741. package/packages/tools/email/dist/pages/format.d.ts +1 -12
  742. package/packages/tools/email/dist/pages/format.d.ts.map +1 -1
  743. package/packages/tools/email/dist/pages/format.js +17 -0
  744. package/packages/tools/email/dist/pages/format.js.map +1 -1
  745. package/packages/tools/email/dist/pages/index.d.ts.map +1 -1
  746. package/packages/tools/email/dist/pages/index.js +5 -1
  747. package/packages/tools/email/dist/pages/index.js.map +1 -1
  748. package/packages/tools/email/dist/pages/policies-tools.d.ts +7 -0
  749. package/packages/tools/email/dist/pages/policies-tools.d.ts.map +1 -1
  750. package/packages/tools/email/dist/pages/policies-tools.js +11 -2
  751. package/packages/tools/email/dist/pages/policies-tools.js.map +1 -1
  752. package/packages/tools/email/dist/pages/queries.d.ts +16 -0
  753. package/packages/tools/email/dist/pages/queries.d.ts.map +1 -1
  754. package/packages/tools/email/dist/pages/queries.js +154 -3
  755. package/packages/tools/email/dist/pages/queries.js.map +1 -1
  756. package/packages/tools/email/dist/policies/auto.d.ts +133 -0
  757. package/packages/tools/email/dist/policies/auto.d.ts.map +1 -0
  758. package/packages/tools/email/dist/policies/auto.js +241 -0
  759. package/packages/tools/email/dist/policies/auto.js.map +1 -0
  760. package/packages/tools/email/dist/policies/gate.d.ts +34 -10
  761. package/packages/tools/email/dist/policies/gate.d.ts.map +1 -1
  762. package/packages/tools/email/dist/policies/gate.js +27 -12
  763. package/packages/tools/email/dist/policies/gate.js.map +1 -1
  764. package/packages/tools/email/dist/policies/learn.d.ts +26 -18
  765. package/packages/tools/email/dist/policies/learn.d.ts.map +1 -1
  766. package/packages/tools/email/dist/policies/learn.js +36 -10
  767. package/packages/tools/email/dist/policies/learn.js.map +1 -1
  768. package/packages/tools/email/dist/policies/learned.d.ts +25 -2
  769. package/packages/tools/email/dist/policies/learned.d.ts.map +1 -1
  770. package/packages/tools/email/dist/policies/learned.js +47 -5
  771. package/packages/tools/email/dist/policies/learned.js.map +1 -1
  772. package/packages/tools/email/dist/policies/store.d.ts +8 -2
  773. package/packages/tools/email/dist/policies/store.d.ts.map +1 -1
  774. package/packages/tools/email/dist/policies/store.js +19 -5
  775. package/packages/tools/email/dist/policies/store.js.map +1 -1
  776. package/packages/tools/email/dist/ports.d.ts +79 -0
  777. package/packages/tools/email/dist/ports.d.ts.map +1 -1
  778. package/packages/tools/email/dist/ports.js +6 -0
  779. package/packages/tools/email/dist/ports.js.map +1 -1
  780. package/packages/tools/email/dist/rows.d.ts.map +1 -1
  781. package/packages/tools/email/dist/rows.js +3 -1
  782. package/packages/tools/email/dist/rows.js.map +1 -1
  783. package/packages/tools/email/dist/sources/idle.d.ts +90 -0
  784. package/packages/tools/email/dist/sources/idle.d.ts.map +1 -0
  785. package/packages/tools/email/dist/sources/idle.js +250 -0
  786. package/packages/tools/email/dist/sources/idle.js.map +1 -0
  787. package/packages/tools/email/dist/sources/inbox-poll.d.ts +12 -1
  788. package/packages/tools/email/dist/sources/inbox-poll.d.ts.map +1 -1
  789. package/packages/tools/email/dist/sources/inbox-poll.js +280 -134
  790. package/packages/tools/email/dist/sources/inbox-poll.js.map +1 -1
  791. package/packages/tools/email/dist/tools/mailbox.d.ts +108 -0
  792. package/packages/tools/email/dist/tools/mailbox.d.ts.map +1 -0
  793. package/packages/tools/email/dist/tools/mailbox.js +359 -0
  794. package/packages/tools/email/dist/tools/mailbox.js.map +1 -0
  795. package/packages/tools/email/dist/tools/policies.d.ts +8 -2
  796. package/packages/tools/email/dist/tools/policies.d.ts.map +1 -1
  797. package/packages/tools/email/dist/tools/policies.js +43 -3
  798. package/packages/tools/email/dist/tools/policies.js.map +1 -1
  799. package/packages/tools/email/dist/tools/read.d.ts +2 -2
  800. package/packages/tools/email/dist/tools/triage.d.ts.map +1 -1
  801. package/packages/tools/email/dist/tools/triage.js +10 -4
  802. package/packages/tools/email/dist/tools/triage.js.map +1 -1
  803. package/packages/tools/email/migrations/017_mailbox_actions.sql +60 -0
  804. package/packages/tools/email/migrations/018_learned_auto.sql +30 -0
  805. package/packages/tools/email/migrations/019_arrival_pending.sql +26 -0
  806. package/packages/tools/email/package.json +3 -2
  807. package/packages/tools/host/dist/.tsbuildinfo +1 -1
  808. package/packages/tools/mcp/dist/.tsbuildinfo +1 -1
  809. package/packages/tools/memory/dist/.tsbuildinfo +1 -1
  810. package/packages/tools/web/dist/.tsbuildinfo +1 -1
  811. package/packages/web/dist/assets/index-CKuhKCWw.js +131 -0
  812. package/packages/web/dist/assets/index-DsK8UWCJ.css +1 -0
  813. package/packages/web/dist/assets/{lottie_light-7wQnGwdw.js → lottie_light-CSeMXM8D.js} +1 -1
  814. package/packages/web/dist/build.json +1 -1
  815. package/packages/web/dist/index.html +2 -2
  816. package/packages/web/dist/precache.json +4 -4
  817. package/packages/web/dist/assets/index-BxbiKNMS.css +0 -1
  818. package/packages/web/dist/assets/index-Rrze3bGo.js +0 -130
@@ -60,6 +60,7 @@ export const COMMANDS = [
60
60
  exitCodes: [
61
61
  { code: 3, meaning: 'The run stopped for an approval, the agent does not exist or cannot run, or the database is not reachable.' },
62
62
  ],
63
+ next: 'When the run stops for an approval: approve it on the dashboard or Telegram, then `buddi ask --resume <conversation id>` finishes it.',
63
64
  applies: 'both',
64
65
  json: '{ text, runId, conversationId, artifacts: [{ id, filename }] }, plus pendingActionId when the run stopped for an approval. ' +
65
66
  'With no question as an argument and stdin not a terminal, stdin is the question.',
@@ -91,6 +92,7 @@ export const COMMANDS = [
91
92
  { flag: '--uninstall-app', meaning: 'Remove it.' },
92
93
  ],
93
94
  example: 'buddi dashboard --token',
95
+ next: 'With --off: put `BUDDI_WEB=0` in .env, then `buddi service restart`.',
94
96
  applies: 'both',
95
97
  },
96
98
  /* ------------------------------------------------------------------ Agents */
@@ -120,17 +122,19 @@ export const COMMANDS = [
120
122
  {
121
123
  name: 'agents set',
122
124
  group: 'Agents',
123
- summary: "Change an agent's account, model, turn budget or language.",
124
- usage: 'buddi agents set <handle> [--account <id>] [--model <id>] [--max-turns <n>] [--language mirror|en|fr]',
125
+ summary: "Change an agent's account, model, step budget, language or when its chats start fresh.",
126
+ usage: 'buddi agents set <handle> [--account <id>] [--model <id>] [--max-turns <n>] [--language mirror|en|fr] [--idle-rollover 3h|1d|1w|never]',
125
127
  flags: [
126
- { flag: '--account <id>', meaning: 'Run it on this provider account, from the dashboard\'s Providers page.' },
128
+ { flag: '--account <id>', meaning: 'Run it on this model account, added on the dashboard under Settings → Model accounts. buddi agents show prints the id of the one an agent is on.' },
127
129
  { flag: '--provider anthropic|openai', meaning: 'Where its conversations go, on an agent without an account.' },
128
130
  { flag: '--model <id>', meaning: "Checked against that provider's models." },
129
131
  { flag: '--max-turns <n>', meaning: 'How many steps one run may take.' },
130
132
  { flag: '--language mirror|en|fr', meaning: 'Which language it answers in.' },
133
+ { flag: '--idle-rollover 3h|1d|1w|never', meaning: 'How long a chat may sit idle before your next message starts a fresh one.' },
131
134
  ],
132
135
  example: 'buddi agents set ledger --max-turns 20',
133
136
  exitCodes: [{ code: 3, meaning: 'No agent has that handle or id.' }],
137
+ next: '`buddi service restart`, so the running service, Telegram and the scheduler load the change; then `buddi agents test <handle>` to check it.',
134
138
  applies: 'both',
135
139
  },
136
140
  {
@@ -160,6 +164,7 @@ export const COMMANDS = [
160
164
  usage: 'buddi agents migrate [--dry-run]',
161
165
  flags: [{ flag: '--dry-run', meaning: 'Say what would move, and move nothing.' }],
162
166
  example: 'buddi agents migrate --dry-run',
167
+ next: '`buddi service restart`, so the service reloads the files from their new place.',
163
168
  applies: 'checkout',
164
169
  elsewhere: CHECKOUT_ONLY('agents migrate', 'A packaged install keeps its agents in its data directory already.'),
165
170
  },
@@ -182,6 +187,7 @@ export const COMMANDS = [
182
187
  usage: 'buddi missions add-defaults',
183
188
  flags: [],
184
189
  exitCodes: [NEEDS_DATABASE],
190
+ example: 'buddi missions add-defaults',
185
191
  applies: 'both',
186
192
  },
187
193
  {
@@ -191,6 +197,7 @@ export const COMMANDS = [
191
197
  usage: 'buddi missions add-recap',
192
198
  flags: [],
193
199
  exitCodes: [NEEDS_DATABASE],
200
+ example: 'buddi missions add-recap',
194
201
  applies: 'both',
195
202
  },
196
203
  {
@@ -200,6 +207,7 @@ export const COMMANDS = [
200
207
  usage: 'buddi missions add-friday-recap',
201
208
  flags: [],
202
209
  exitCodes: [NEEDS_DATABASE],
210
+ example: 'buddi missions add-friday-recap',
203
211
  applies: 'both',
204
212
  },
205
213
  {
@@ -219,6 +227,7 @@ export const COMMANDS = [
219
227
  usage: 'buddi missions enable <id>',
220
228
  flags: [],
221
229
  exitCodes: [NEEDS_DATABASE],
230
+ example: 'buddi missions enable recap',
222
231
  applies: 'both',
223
232
  },
224
233
  {
@@ -228,6 +237,7 @@ export const COMMANDS = [
228
237
  usage: 'buddi missions disable <id>',
229
238
  flags: [],
230
239
  exitCodes: [NEEDS_DATABASE],
240
+ example: 'buddi missions disable recap',
231
241
  applies: 'both',
232
242
  },
233
243
  {
@@ -252,6 +262,7 @@ export const COMMANDS = [
252
262
  usage: 'buddi reminders cancel <id>',
253
263
  flags: [],
254
264
  exitCodes: [NEEDS_DATABASE],
265
+ example: 'buddi reminders cancel 3f2a9c1e',
255
266
  applies: 'both',
256
267
  },
257
268
  {
@@ -261,6 +272,7 @@ export const COMMANDS = [
261
272
  usage: 'buddi nudges [status]',
262
273
  flags: [],
263
274
  exitCodes: [NEEDS_DATABASE],
275
+ example: 'buddi nudges',
264
276
  applies: 'both',
265
277
  },
266
278
  {
@@ -270,6 +282,7 @@ export const COMMANDS = [
270
282
  usage: 'buddi nudges stop',
271
283
  flags: [],
272
284
  exitCodes: [NEEDS_DATABASE],
285
+ example: 'buddi nudges stop',
273
286
  applies: 'both',
274
287
  },
275
288
  {
@@ -279,6 +292,7 @@ export const COMMANDS = [
279
292
  usage: 'buddi nudges resume',
280
293
  flags: [],
281
294
  exitCodes: [NEEDS_DATABASE],
295
+ example: 'buddi nudges resume',
282
296
  applies: 'both',
283
297
  },
284
298
  {
@@ -288,8 +302,10 @@ export const COMMANDS = [
288
302
  usage: 'buddi plugins list [--json]',
289
303
  flags: [JSON_FLAG],
290
304
  example: 'buddi plugins list',
305
+ exitCodes: [{ code: 1, meaning: 'An installed plugin did not load. The rest of the list is still printed.' }],
291
306
  applies: 'both',
292
- json: '[{ name, version, origin, health, detail }]. origin is built-in or installed; health is ok, warn or fail.',
307
+ json: '[{ name, version, installedAs?, origin, health, detail }]. origin is built-in or installed; health is ok, warn, fail or off. ' +
308
+ "For a plugin installed from a folder, version is the folder's package.json now and installedAs the version recorded at install, when they differ.",
293
309
  },
294
310
  {
295
311
  name: 'plugins describe',
@@ -307,6 +323,8 @@ export const COMMANDS = [
307
323
  summary: 'Show what a plugin is, what it brought, and what it proposes.',
308
324
  usage: 'buddi plugins info <name>',
309
325
  flags: [],
326
+ example: 'buddi plugins info finance',
327
+ exitCodes: [{ code: 1, meaning: 'No plugin has that name here, or it did not load.' }],
310
328
  applies: 'both',
311
329
  },
312
330
  {
@@ -320,7 +338,8 @@ export const COMMANDS = [
320
338
  { flag: '--registry <url>', meaning: 'Fetch from this npm registry.' },
321
339
  ],
322
340
  example: 'buddi plugins install @you/buddi-plugin-finance',
323
- exitCodes: [{ code: 3, meaning: 'Staged, not installed: approve it with --yes --integrity <hash>.' }],
341
+ exitCodes: [{ code: 3, meaning: '--yes came without --integrity for a package from npm or a .tgz: staged, not installed. Without --yes it stages and exits 0.' }],
342
+ next: 'Without --yes: `buddi plugins approve <id> --integrity <hash>` (a folder needs no hash). Once it is installed: `buddi service restart`, which registers its tools.',
324
343
  applies: 'both',
325
344
  },
326
345
  {
@@ -333,6 +352,9 @@ export const COMMANDS = [
333
352
  { flag: '--yes', meaning: 'Approve it.' },
334
353
  { flag: '--integrity <hash>', meaning: 'The hash the staged card printed.' },
335
354
  ],
355
+ example: 'buddi plugins update weather',
356
+ exitCodes: [{ code: 3, meaning: '--yes came without --integrity: staged, not installed.' }],
357
+ next: 'Without --yes: `buddi plugins approve <id> --integrity <hash>`. Once it is installed: `buddi service restart`, which loads the new version.',
336
358
  applies: 'both',
337
359
  },
338
360
  {
@@ -341,6 +363,7 @@ export const COMMANDS = [
341
363
  summary: 'List what is staged and waiting for you.',
342
364
  usage: 'buddi plugins staged',
343
365
  flags: [],
366
+ example: 'buddi plugins staged',
344
367
  applies: 'both',
345
368
  },
346
369
  {
@@ -352,6 +375,9 @@ export const COMMANDS = [
352
375
  { flag: '--integrity <hash>', meaning: 'The hash the staged card printed.' },
353
376
  { flag: '--acknowledge-drift', meaning: 'Approve it although what is on disk changed since it was staged.' },
354
377
  ],
378
+ example: 'buddi plugins approve 7c1e2a90',
379
+ exitCodes: [{ code: 1, meaning: 'Its files changed since it was staged: nothing was installed. --acknowledge-drift approves it anyway.' }],
380
+ next: '`buddi service restart`, which registers its tools. When its files changed since it was staged: `buddi plugins approve <id> --acknowledge-drift`.',
355
381
  applies: 'both',
356
382
  },
357
383
  {
@@ -360,6 +386,7 @@ export const COMMANDS = [
360
386
  summary: 'Delete a stage and everything it fetched.',
361
387
  usage: 'buddi plugins reject <id>',
362
388
  flags: [],
389
+ example: 'buddi plugins reject 7c1e2a90',
363
390
  applies: 'both',
364
391
  },
365
392
  {
@@ -369,6 +396,7 @@ export const COMMANDS = [
369
396
  usage: 'buddi plugins disable <name>',
370
397
  flags: [],
371
398
  example: 'buddi plugins disable finance',
399
+ next: 'When the running buddi could not take the change: `buddi service restart`.',
372
400
  applies: 'both',
373
401
  },
374
402
  {
@@ -378,6 +406,7 @@ export const COMMANDS = [
378
406
  usage: 'buddi plugins enable <name>',
379
407
  flags: [],
380
408
  example: 'buddi plugins enable finance',
409
+ next: 'When the running buddi could not take the change: `buddi service restart`.',
381
410
  applies: 'both',
382
411
  },
383
412
  {
@@ -390,6 +419,8 @@ export const COMMANDS = [
390
419
  { flag: '--detach-agents', meaning: 'Also take its tools out of the agents that were given them.' },
391
420
  { flag: '--purge --confirm <name>', meaning: 'Also drop its schema and everything in it. This cannot be undone.' },
392
421
  ],
422
+ example: 'buddi plugins uninstall weather --yes',
423
+ next: 'With --yes: `buddi service restart`, so no running process keeps registering its tools.',
393
424
  applies: 'both',
394
425
  },
395
426
  {
@@ -403,6 +434,7 @@ export const COMMANDS = [
403
434
  { flag: '--author <name>', meaning: 'Who made it, shown on the install card. Asked otherwise, with git config user.name as the default.' },
404
435
  ],
405
436
  example: 'buddi plugins init weather',
437
+ next: '`cd <name>`, `pnpm install && pnpm build && pnpm test`, `buddi plugins install . --yes`, then `buddi service restart`.',
406
438
  applies: 'both',
407
439
  },
408
440
  {
@@ -444,7 +476,8 @@ export const COMMANDS = [
444
476
  { flag: '--to <agent,agent>', meaning: 'Give the tools to these agents without asking. --to nobody keeps the connection waiting.' },
445
477
  ],
446
478
  example: 'buddi connections add github --to buddi',
447
- exitCodes: [NOT_RUNNING],
479
+ exitCodes: [{ code: 2, meaning: 'Not typed right, or no card has that name.' }, NOT_RUNNING],
480
+ next: 'When the tools were not kept: `buddi connections review <name> --keep` once you have read them.',
448
481
  applies: 'both',
449
482
  jsonTakesValue: true,
450
483
  },
@@ -460,6 +493,7 @@ export const COMMANDS = [
460
493
  ],
461
494
  example: 'buddi connections review github',
462
495
  exitCodes: [NOT_RUNNING],
496
+ next: 'Without --keep: `buddi connections review <name> --keep` once you have read them.',
463
497
  applies: 'both',
464
498
  json: '{ connection, slug, slugEditable, host, hash, tools: [{ name, fullName, description, tier, destructive, annotated, problem, change }], annotatedNothing, changes }. tier is auto or gated.',
465
499
  },
@@ -491,6 +525,8 @@ export const COMMANDS = [
491
525
  usage: 'buddi telegram pair',
492
526
  flags: [],
493
527
  exitCodes: [{ code: 3, meaning: 'The database is not reachable, or no Telegram bot is configured.' }],
528
+ example: 'buddi telegram pair',
529
+ next: 'Scan the code or open the link on the phone within ten minutes. The service must be running to receive it.',
494
530
  applies: 'both',
495
531
  },
496
532
  {
@@ -500,6 +536,8 @@ export const COMMANDS = [
500
536
  usage: 'buddi telegram devices [--json]',
501
537
  flags: [JSON_FLAG],
502
538
  exitCodes: [NEEDS_DATABASE],
539
+ example: 'buddi telegram devices',
540
+ next: 'With no device paired: `buddi telegram pair`.',
503
541
  applies: 'both',
504
542
  json: '[{ id, surface, label, externalUserId, externalChatId, pairedAt, lastSeenAt }]',
505
543
  },
@@ -509,7 +547,8 @@ export const COMMANDS = [
509
547
  summary: 'Unpair a device, so it can no longer reach your agents.',
510
548
  usage: 'buddi telegram unpair <id>',
511
549
  flags: [],
512
- exitCodes: [NEEDS_DATABASE],
550
+ exitCodes: [{ code: 1, meaning: 'No paired device has that id.' }, NEEDS_DATABASE],
551
+ example: 'buddi telegram unpair 12',
513
552
  applies: 'both',
514
553
  },
515
554
  {
@@ -529,15 +568,21 @@ export const COMMANDS = [
529
568
  usage: 'buddi doctor',
530
569
  flags: [],
531
570
  example: 'buddi doctor',
571
+ exitCodes: [{ code: 1, meaning: 'A critical check failed. Warnings alone exit 0.' }],
532
572
  applies: 'both',
533
573
  },
534
574
  {
535
575
  name: 'upgrade',
536
576
  group: 'Operate',
537
577
  summary: 'Back up, move to the new version, migrate, and restart.',
538
- usage: 'buddi upgrade [--no-backup]',
539
- flags: [{ flag: '--no-backup', meaning: 'In a source checkout, skip the archive it takes first. A packaged upgrade always takes one.' }],
578
+ usage: 'buddi upgrade [<version>] [--no-backup]',
579
+ flags: [
580
+ { flag: '<version>', meaning: 'In a packaged install, move to this version instead of the newest.' },
581
+ { flag: '--no-backup', meaning: 'In a source checkout, skip the archive it takes first. A packaged upgrade always takes one.' },
582
+ ],
540
583
  example: 'buddi upgrade',
584
+ exitCodes: [{ code: 1, meaning: 'A step failed, or buddi doctor found something afterwards. The backup taken first is kept.' }],
585
+ next: 'When it fails: `buddi doctor`, which says what is wrong and, in a packaged install, which archive to restore from and how.',
541
586
  applies: 'both',
542
587
  },
543
588
  {
@@ -546,6 +591,7 @@ export const COMMANDS = [
546
591
  summary: 'Print the version, with the commit in a source checkout.',
547
592
  usage: 'buddi version',
548
593
  flags: [],
594
+ example: 'buddi version',
549
595
  applies: 'both',
550
596
  },
551
597
  {
@@ -555,6 +601,7 @@ export const COMMANDS = [
555
601
  usage: 'buddi service status [--json]',
556
602
  flags: [JSON_FLAG],
557
603
  exitCodes: [{ code: 1, meaning: 'It is not running.' }],
604
+ example: 'buddi service status',
558
605
  applies: 'both',
559
606
  json: "The service's state. Packaged: { phase, supervisorPid, installRoot, nodePath, database, databasePid, gateway, gatewayPid, current?, upgrading? }. " +
560
607
  'Source checkout: { installed, running, pid?, unitPath, detail }.',
@@ -565,6 +612,7 @@ export const COMMANDS = [
565
612
  summary: 'Start the background service.',
566
613
  usage: 'buddi service start [--json]',
567
614
  flags: [JSON_FLAG],
615
+ example: 'buddi service start',
568
616
  applies: 'both',
569
617
  json: "The service's state. Packaged: { phase, supervisorPid, installRoot, nodePath, database, databasePid, gateway, gatewayPid, current?, upgrading? }. " +
570
618
  'Source checkout: { installed, running, pid?, unitPath, detail }.',
@@ -575,6 +623,7 @@ export const COMMANDS = [
575
623
  summary: 'Stop the background service. Running work finishes first.',
576
624
  usage: 'buddi service stop [--json]',
577
625
  flags: [JSON_FLAG],
626
+ example: 'buddi service stop',
578
627
  applies: 'both',
579
628
  json: "The service's state. Packaged: { phase, supervisorPid, installRoot, nodePath, database, databasePid, gateway, gatewayPid, current?, upgrading? }. " +
580
629
  'Source checkout: { installed, running, pid?, unitPath, detail }.',
@@ -585,6 +634,7 @@ export const COMMANDS = [
585
634
  summary: 'Restart the background service, to load a change.',
586
635
  usage: 'buddi service restart [--json]',
587
636
  flags: [JSON_FLAG],
637
+ example: 'buddi service restart',
588
638
  applies: 'both',
589
639
  json: "The service's state. Packaged: { phase, supervisorPid, installRoot, nodePath, database, databasePid, gateway, gatewayPid, current?, upgrading? }. " +
590
640
  'Source checkout: { installed, running, pid?, unitPath, detail }.',
@@ -595,6 +645,7 @@ export const COMMANDS = [
595
645
  summary: "Follow the service's log. Ctrl-C stops following.",
596
646
  usage: 'buddi service logs',
597
647
  flags: [],
648
+ example: 'buddi service logs',
598
649
  applies: 'both',
599
650
  },
600
651
  {
@@ -603,6 +654,7 @@ export const COMMANDS = [
603
654
  summary: 'Install the background service, started at login.',
604
655
  usage: 'buddi service install',
605
656
  flags: [],
657
+ example: 'buddi service install',
606
658
  applies: 'checkout',
607
659
  elsewhere: CHECKOUT_ONLY('service install', 'A packaged install sets up its service the first time you run buddi.'),
608
660
  },
@@ -612,6 +664,7 @@ export const COMMANDS = [
612
664
  summary: 'Remove the background service. Your data stays.',
613
665
  usage: 'buddi service uninstall',
614
666
  flags: [],
667
+ example: 'buddi service uninstall',
615
668
  applies: 'checkout',
616
669
  elsewhere: CHECKOUT_ONLY('service uninstall', 'A packaged install stops with buddi service stop, and buddi uninstall removes it.'),
617
670
  },
@@ -642,6 +695,7 @@ export const COMMANDS = [
642
695
  ],
643
696
  example: 'buddi backup create --encrypt',
644
697
  exitCodes: [NEEDS_DATABASE],
698
+ next: '`buddi backup verify <archive>`, to check what it wrote.',
645
699
  applies: 'both',
646
700
  },
647
701
  {
@@ -661,6 +715,7 @@ export const COMMANDS = [
661
715
  usage: 'buddi backup verify <archive> [--passphrase "<words>"]',
662
716
  flags: [{ flag: '--passphrase "<words>"', meaning: 'For an encrypted archive from another machine.' }],
663
717
  example: 'buddi backup verify buddi-backup-20260914-033000.tar.gz.age',
718
+ exitCodes: [{ code: 1, meaning: 'The archive is not there, or is not whole: do not rely on it.' }],
664
719
  applies: 'both',
665
720
  },
666
721
  {
@@ -675,6 +730,8 @@ export const COMMANDS = [
675
730
  { flag: '--force', meaning: 'Restore over a database that has data in it.' },
676
731
  { flag: '--passphrase "<words>"', meaning: 'For an encrypted archive. Without it: the vault, then a prompt.' },
677
732
  ],
733
+ example: 'buddi backup restore buddi-backup-20260914-033000.tar.gz.age --files',
734
+ next: 'Packaged: `buddi doctor`, then open the dashboard, which opens in recovery. Source checkout: it lists what to do in order, ending with `buddi doctor` and `buddi service restart`.',
678
735
  applies: 'both',
679
736
  },
680
737
  {
@@ -683,6 +740,7 @@ export const COMMANDS = [
683
740
  summary: 'Delete old archives and keep the newest ones.',
684
741
  usage: 'buddi backup prune [--keep <n>]',
685
742
  flags: [{ flag: '--keep <n>', meaning: 'How many to keep.' }],
743
+ example: 'buddi backup prune --keep 7',
686
744
  applies: 'both',
687
745
  },
688
746
  {
@@ -691,6 +749,7 @@ export const COMMANDS = [
691
749
  summary: 'The nightly backup at 03:30, prune included: status, install or uninstall.',
692
750
  usage: 'buddi backup schedule [status | install | uninstall] [--keep <n>]',
693
751
  flags: [{ flag: '--keep <n>', meaning: 'How many archives the nightly prune keeps.' }],
752
+ example: 'buddi backup schedule install',
694
753
  applies: 'checkout',
695
754
  elsewhere: CHECKOUT_ONLY('backup schedule', 'A packaged install sets its nightly backup on the dashboard, in Settings → Backup.'),
696
755
  },
@@ -701,14 +760,16 @@ export const COMMANDS = [
701
760
  usage: 'buddi vault set <NAME>',
702
761
  flags: [],
703
762
  example: 'buddi vault set TAVILY_API_KEY',
763
+ exitCodes: [{ code: 1, meaning: 'The vault is locked or not usable, or nothing was typed.' }],
704
764
  applies: 'both',
705
765
  },
706
766
  {
707
767
  name: 'vault get',
708
768
  group: 'Operate',
709
- summary: 'Print a secret from the vault.',
769
+ summary: 'Say whether a secret is in the vault. It never prints the value.',
710
770
  usage: 'buddi vault get <NAME>',
711
771
  flags: [],
772
+ example: 'buddi vault get TAVILY_API_KEY',
712
773
  applies: 'both',
713
774
  },
714
775
  {
@@ -717,6 +778,7 @@ export const COMMANDS = [
717
778
  summary: 'Remove a secret from the vault.',
718
779
  usage: 'buddi vault delete <NAME>',
719
780
  flags: [],
781
+ example: 'buddi vault delete TAVILY_API_KEY',
720
782
  applies: 'both',
721
783
  },
722
784
  {
@@ -725,6 +787,7 @@ export const COMMANDS = [
725
787
  summary: 'List the names of the secrets in the vault, never their values.',
726
788
  usage: 'buddi vault list',
727
789
  flags: [],
790
+ example: 'buddi vault list',
728
791
  applies: 'both',
729
792
  },
730
793
  {
@@ -733,6 +796,8 @@ export const COMMANDS = [
733
796
  summary: 'Move the secrets in .env into the vault.',
734
797
  usage: 'buddi vault import-env',
735
798
  flags: [],
799
+ example: 'buddi vault import-env',
800
+ next: '`buddi service restart`, so the running process reads the secrets from the vault.',
736
801
  applies: 'both',
737
802
  },
738
803
  {
@@ -741,6 +806,7 @@ export const COMMANDS = [
741
806
  summary: "Say which browser the agents' own browser uses here.",
742
807
  usage: 'buddi browser [status]',
743
808
  flags: [],
809
+ example: 'buddi browser',
744
810
  applies: 'both',
745
811
  },
746
812
  {
@@ -749,6 +815,7 @@ export const COMMANDS = [
749
815
  summary: "Download Chromium for the agents' own browser, about 150 MB.",
750
816
  usage: 'buddi browser install',
751
817
  flags: [],
818
+ example: 'buddi browser install',
752
819
  applies: 'both',
753
820
  },
754
821
  {
@@ -757,6 +824,7 @@ export const COMMANDS = [
757
824
  summary: 'Say which local speech models are downloaded, and their size.',
758
825
  usage: 'buddi speech [status]',
759
826
  flags: [],
827
+ example: 'buddi speech',
760
828
  applies: 'both',
761
829
  },
762
830
  {
@@ -805,6 +873,7 @@ export const COMMANDS = [
805
873
  usage: 'buddi jobs cancel <id>',
806
874
  flags: [],
807
875
  exitCodes: [NEEDS_DATABASE],
876
+ example: 'buddi jobs cancel 1234',
808
877
  applies: 'both',
809
878
  },
810
879
  {
@@ -814,6 +883,7 @@ export const COMMANDS = [
814
883
  usage: 'buddi pause',
815
884
  flags: [],
816
885
  exitCodes: [NEEDS_DATABASE],
886
+ example: 'buddi pause',
817
887
  applies: 'both',
818
888
  },
819
889
  {
@@ -823,6 +893,7 @@ export const COMMANDS = [
823
893
  usage: 'buddi resume',
824
894
  flags: [],
825
895
  exitCodes: [NEEDS_DATABASE],
896
+ example: 'buddi resume',
826
897
  applies: 'both',
827
898
  },
828
899
  /* ----------------------------------------------------------------- Develop */
@@ -842,6 +913,7 @@ export const COMMANDS = [
842
913
  summary: 'Start the Postgres container of a source checkout.',
843
914
  usage: 'buddi db up',
844
915
  flags: [],
916
+ example: 'buddi db up',
845
917
  applies: 'checkout',
846
918
  elsewhere: CHECKOUT_ONLY('db', 'A packaged install runs its own database; buddi status says whether it is up.'),
847
919
  },
@@ -851,6 +923,7 @@ export const COMMANDS = [
851
923
  summary: 'Stop the Postgres container.',
852
924
  usage: 'buddi db down',
853
925
  flags: [],
926
+ example: 'buddi db down',
854
927
  applies: 'checkout',
855
928
  elsewhere: CHECKOUT_ONLY('db', 'A packaged install runs its own database; buddi status says whether it is up.'),
856
929
  },
@@ -860,6 +933,7 @@ export const COMMANDS = [
860
933
  summary: 'Say whether the Postgres container is running.',
861
934
  usage: 'buddi db status',
862
935
  flags: [],
936
+ example: 'buddi db status',
863
937
  applies: 'checkout',
864
938
  elsewhere: CHECKOUT_ONLY('db', 'A packaged install runs its own database; buddi status says whether it is up.'),
865
939
  },
@@ -869,6 +943,8 @@ export const COMMANDS = [
869
943
  summary: 'Give the database a generated password, kept in the vault.',
870
944
  usage: 'buddi db secure',
871
945
  flags: [],
946
+ example: 'buddi db secure',
947
+ next: '`buddi service restart`, so what is running picks up the new password.',
872
948
  applies: 'checkout',
873
949
  elsewhere: CHECKOUT_ONLY('db', 'A packaged install runs its own database; buddi status says whether it is up.'),
874
950
  },
@@ -879,6 +955,7 @@ export const COMMANDS = [
879
955
  usage: 'buddi migrate',
880
956
  flags: [],
881
957
  exitCodes: [NEEDS_DATABASE],
958
+ example: 'buddi migrate',
882
959
  applies: 'checkout',
883
960
  elsewhere: CHECKOUT_ONLY('migrate', 'A packaged install migrates when it starts and when it upgrades.'),
884
961
  },
@@ -888,6 +965,7 @@ export const COMMANDS = [
888
965
  summary: 'Run the gateway in this terminal instead of the service.',
889
966
  usage: 'buddi serve',
890
967
  flags: [],
968
+ example: 'buddi serve',
891
969
  applies: 'checkout',
892
970
  elsewhere: CHECKOUT_ONLY('serve', 'A packaged install runs in the background; buddi service status says how it is.'),
893
971
  },
@@ -1050,6 +1128,8 @@ export function renderCommandHelp(entry, table = COMMANDS, kind = 'checkout', st
1050
1128
  }
1051
1129
  if (entry.example)
1052
1130
  out.push('', style.bold('Example'), ` ${entry.example}`);
1131
+ if (entry.next)
1132
+ out.push('', style.bold('Then'), ` ${entry.next}`);
1053
1133
  if (entry.json)
1054
1134
  out.push('', style.bold('JSON'), ` ${entry.json}`);
1055
1135
  out.push('', style.bold('Exit codes'));
@@ -1083,6 +1163,142 @@ const GROUP_NOTES = {
1083
1163
  Operate: 'Keeping buddi running: the service, upgrades, backups, secrets and the work queue.',
1084
1164
  Develop: 'Only in a source checkout. A packaged install does not list them.',
1085
1165
  };
1166
+ /**
1167
+ * The heading anchor GitHub gives `### buddi backup create`:
1168
+ * `buddi-backup-create`. The bare command is `#buddi`.
1169
+ */
1170
+ export function anchorOf(entry) {
1171
+ return ['buddi', ...entry.name.split(' ').filter((w) => w !== '')].join('-');
1172
+ }
1173
+ /** `buddi backup create`: the command's words, without its arguments. */
1174
+ function commandLine(entry) {
1175
+ return ['buddi', entry.name].filter((w) => w !== '').join(' ');
1176
+ }
1177
+ /** `[`buddi backup create`](#buddi-backup-create)`, for a command in the table. */
1178
+ function link(name, table) {
1179
+ const entry = table.find((e) => e.name === name);
1180
+ if (entry === undefined)
1181
+ throw new Error(`the reference links to buddi ${name}, which the table does not have`);
1182
+ return `[\`${commandLine(entry)}\`](#${anchorOf(entry)})`;
1183
+ }
1184
+ /**
1185
+ * The short recipes at the top of the page. Each step is checked against the
1186
+ * code that prints it, and each command links to its section below, so a
1187
+ * recipe naming a command the table lost fails the render.
1188
+ */
1189
+ function commonTasks(table) {
1190
+ const l = (name) => link(name, table);
1191
+ return [
1192
+ '## Common tasks',
1193
+ '',
1194
+ '### Add a model account',
1195
+ '',
1196
+ 'Accounts are added on the dashboard: Settings → Model accounts → Add account (an API key,',
1197
+ 'a Claude or ChatGPT sign-in, or a model server on your network). Then put an agent on it',
1198
+ 'under Agents → the agent → Setup → Brain, or from a terminal:',
1199
+ '',
1200
+ '```sh',
1201
+ 'buddi agents set ledger --account <id>',
1202
+ 'buddi agents test ledger',
1203
+ '```',
1204
+ '',
1205
+ `${l('agents set')} takes the account's id (${l('agents show')} prints it for an agent already`,
1206
+ `on that account); ${l('agents test')} runs one cheap turn to prove the account answers.`,
1207
+ '',
1208
+ "### Change an agent's model or step budget",
1209
+ '',
1210
+ '```sh',
1211
+ 'buddi agents models --provider anthropic',
1212
+ 'buddi agents set ledger --model claude-sonnet-5',
1213
+ 'buddi agents set ledger --max-turns 30',
1214
+ 'buddi service restart',
1215
+ '```',
1216
+ '',
1217
+ `${l('agents models')} lists the model ids this build knows. ${l('agents set')} prints the change`,
1218
+ 'and asks for a restart so the running service, Telegram and the scheduler pick it up;',
1219
+ '`--max-turns` is how many steps one run may take.',
1220
+ '',
1221
+ '### Back up and restore',
1222
+ '',
1223
+ '```sh',
1224
+ 'buddi backup create --encrypt',
1225
+ 'buddi backup verify <archive>',
1226
+ 'buddi backup restore <archive> --files',
1227
+ '```',
1228
+ '',
1229
+ `${l('backup create')} prints the archive's path and the ${l('backup verify')} line to check it;`,
1230
+ `${l('backup list')} shows every archive. ${l('backup restore')} asks you to type a word first.`,
1231
+ 'A packaged install always encrypts (the passphrase is in its vault), reads archives from',
1232
+ 'its own backups directory, and stops the gateway for the restore; then run `buddi doctor`',
1233
+ 'and open the dashboard, which opens in recovery. In a source checkout, `--files` also',
1234
+ 'puts back agents, skills and files, and `--force` restores over a database that has data.',
1235
+ '',
1236
+ '### Pair Telegram',
1237
+ '',
1238
+ '```sh',
1239
+ 'buddi vault set TELEGRAM_BOT_TOKEN',
1240
+ 'buddi service restart',
1241
+ 'buddi telegram pair',
1242
+ '```',
1243
+ '',
1244
+ `Ask @BotFather for a bot and keep its token with ${l('vault set')}, then restart so the service`,
1245
+ 'starts the bot; pasting it in Settings → Telegram on the dashboard does both.',
1246
+ `${l('telegram pair')} prints a QR code, a link and a code, good for ten minutes: open it on the phone`,
1247
+ `while the service runs. ${l('telegram devices')} lists what is paired and ${l('telegram unpair')} removes one.`,
1248
+ '',
1249
+ '### Add a local connection',
1250
+ '',
1251
+ '```sh',
1252
+ 'buddi connections add files -- npx -y @modelcontextprotocol/server-filesystem ~/Documents',
1253
+ 'buddi connections add github-local --secret GITHUB_PERSONAL_ACCESS_TOKEN -- npx -y @modelcontextprotocol/server-github',
1254
+ '```',
1255
+ '',
1256
+ `${l('connections add')} with \`-- <command>\` registers an MCP server that runs on this computer as you.`,
1257
+ 'It starts the program once to read its tools, prints each with its tier, and asks to keep them',
1258
+ 'and which agents get them (`--keep` and `--to <agent,agent>` answer ahead). `--secret K` asks for a',
1259
+ `value with the echo off and keeps it in the vault. The service must be running. ${l('connections list')}`,
1260
+ `shows it; ${l('connections remove')} takes it away.`,
1261
+ '',
1262
+ '### Upgrade',
1263
+ '',
1264
+ '```sh',
1265
+ 'buddi status',
1266
+ 'buddi upgrade',
1267
+ '```',
1268
+ '',
1269
+ `${l('status')} says whether a newer buddi is out. In a packaged install ${l('upgrade')} takes a backup,`,
1270
+ 'installs the new version, migrates and restarts itself (`buddi upgrade <version>` picks one).',
1271
+ 'In a source checkout, `git pull` first: it upgrades the code on disk (backup, stop, install',
1272
+ 'and build, migrate, start, `buddi doctor`).',
1273
+ ];
1274
+ }
1275
+ /** One command in full: what `buddi help <command>` prints, as markdown. */
1276
+ function commandSection(entry, table) {
1277
+ const group = entry.group;
1278
+ const only = entry.applies === 'checkout' && group !== 'Develop' ? ' Source checkout only.' : '';
1279
+ const out = [`### ${commandLine(entry)}`, '', `${entry.summary}${only}`];
1280
+ if (entry.applies !== 'both' && entry.elsewhere)
1281
+ out.push('', entry.elsewhere);
1282
+ out.push('', '```sh', entry.usage, '```');
1283
+ if (entry.flags.length > 0) {
1284
+ out.push('', '**Flags**', '');
1285
+ for (const f of entry.flags)
1286
+ out.push(`- \`${f.flag}\`: ${f.meaning}`);
1287
+ }
1288
+ if (entry.example && entry.example !== entry.usage)
1289
+ out.push('', '**Example**', '', '```sh', entry.example, '```');
1290
+ if (entry.next)
1291
+ out.push('', `**Then**: ${entry.next}`);
1292
+ if (entry.json)
1293
+ out.push('', `**JSON**: ${entry.json}`);
1294
+ out.push('', '**Exit codes**', '');
1295
+ for (const c of exitCodesOf(entry))
1296
+ out.push(`- \`${c.code}\`: ${c.meaning}`);
1297
+ const related = entry.name === '' ? [] : entriesUnder(entry.name, table);
1298
+ if (related.length > 0)
1299
+ out.push('', `**See also**: ${related.map((r) => link(r.name, table)).join(', ')}`);
1300
+ return out;
1301
+ }
1086
1302
  /**
1087
1303
  * `docs/cli.md`, without its frontmatter: the script adds that, and the test
1088
1304
  * compares what follows it.
@@ -1093,12 +1309,16 @@ export function renderReference(table = COMMANDS) {
1093
1309
  '',
1094
1310
  'Every command, grouped the way `buddi help` groups them. The same words work in a',
1095
1311
  'packaged install and in a source checkout; what does not apply where you run it is',
1096
- 'left out of `buddi help`, and says what to do instead when typed. `buddi help <command>`',
1097
- 'and `buddi <command> --help` print one command with an example and its exit codes.',
1312
+ 'left out of `buddi help`, and says what to do instead when typed. Each group lists its',
1313
+ 'commands, then gives each one its own section: usage, flags, an example, what it tells',
1314
+ 'you to do next, and its exit codes, the same words `buddi help <command>` and',
1315
+ '`buddi <command> --help` print.',
1098
1316
  '',
1099
1317
  'This page is generated from the command table (`packages/cli/src/commands.ts`) by',
1100
1318
  '`pnpm docs:cli`; a test fails when the two differ.',
1101
1319
  '',
1320
+ ...commonTasks(table),
1321
+ '',
1102
1322
  '## What it is for',
1103
1323
  '',
1104
1324
  '`buddi` runs your agents and keeps them running: it starts the service, checks on it,',
@@ -1132,15 +1352,14 @@ export function renderReference(table = COMMANDS) {
1132
1352
  ' change something ignore it.',
1133
1353
  ];
1134
1354
  for (const group of GROUPS) {
1355
+ const entries = table.filter((e) => e.group === group);
1135
1356
  out.push('', `## ${group}`, '', GROUP_NOTES[group], '');
1136
- for (const entry of table.filter((e) => e.group === group)) {
1357
+ for (const entry of entries) {
1137
1358
  const only = entry.applies === 'checkout' && group !== 'Develop' ? ' Source checkout only.' : '';
1138
- out.push(`- \`${entry.usage}\`: ${entry.summary}${only}`);
1139
- for (const f of entry.flags)
1140
- out.push(` - \`${f.flag}\`: ${f.meaning}`);
1141
- if (entry.json)
1142
- out.push(` - JSON: ${entry.json}`);
1359
+ out.push(`- ${link(entry.name, table)}: ${entry.summary}${only}`);
1143
1360
  }
1361
+ for (const entry of entries)
1362
+ out.push('', ...commandSection(entry, table));
1144
1363
  }
1145
1364
  return `${out.join('\n')}\n`;
1146
1365
  }