@withbuddi/buddi 0.1.0-pre.30 → 0.1.0-pre.32

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 (600) hide show
  1. package/README.md +58 -368
  2. package/examples/agents/concierge/agent.md +10 -2
  3. package/extension/manifest.json +2 -2
  4. package/node_modules/@buddi/cli/dist/.tsbuildinfo +1 -1
  5. package/node_modules/@buddi/cli/dist/agents-catalogue-cmd.d.ts +50 -0
  6. package/node_modules/@buddi/cli/dist/agents-catalogue-cmd.d.ts.map +1 -0
  7. package/node_modules/@buddi/cli/dist/agents-catalogue-cmd.js +328 -0
  8. package/node_modules/@buddi/cli/dist/agents-catalogue-cmd.js.map +1 -0
  9. package/node_modules/@buddi/cli/dist/args.d.ts +5 -0
  10. package/node_modules/@buddi/cli/dist/args.d.ts.map +1 -1
  11. package/node_modules/@buddi/cli/dist/args.js +8 -0
  12. package/node_modules/@buddi/cli/dist/args.js.map +1 -1
  13. package/node_modules/@buddi/cli/dist/commands.d.ts.map +1 -1
  14. package/node_modules/@buddi/cli/dist/commands.js +63 -1
  15. package/node_modules/@buddi/cli/dist/commands.js.map +1 -1
  16. package/node_modules/@buddi/cli/dist/doctor-probes.d.ts.map +1 -1
  17. package/node_modules/@buddi/cli/dist/doctor-probes.js +4 -11
  18. package/node_modules/@buddi/cli/dist/doctor-probes.js.map +1 -1
  19. package/node_modules/@buddi/cli/dist/doctor.d.ts +16 -0
  20. package/node_modules/@buddi/cli/dist/doctor.d.ts.map +1 -1
  21. package/node_modules/@buddi/cli/dist/doctor.js +30 -0
  22. package/node_modules/@buddi/cli/dist/doctor.js.map +1 -1
  23. package/node_modules/@buddi/cli/dist/main.d.ts.map +1 -1
  24. package/node_modules/@buddi/cli/dist/main.js +44 -9
  25. package/node_modules/@buddi/cli/dist/main.js.map +1 -1
  26. package/node_modules/@buddi/cli/dist/mcp/tools.d.ts.map +1 -1
  27. package/node_modules/@buddi/cli/dist/mcp/tools.js +3 -1
  28. package/node_modules/@buddi/cli/dist/mcp/tools.js.map +1 -1
  29. package/node_modules/@buddi/cli/dist/skills-cmd.d.ts +15 -0
  30. package/node_modules/@buddi/cli/dist/skills-cmd.d.ts.map +1 -0
  31. package/node_modules/@buddi/cli/dist/skills-cmd.js +54 -0
  32. package/node_modules/@buddi/cli/dist/skills-cmd.js.map +1 -0
  33. package/node_modules/@buddi/cli/dist/status.d.ts +15 -9
  34. package/node_modules/@buddi/cli/dist/status.d.ts.map +1 -1
  35. package/node_modules/@buddi/cli/dist/status.js +6 -11
  36. package/node_modules/@buddi/cli/dist/status.js.map +1 -1
  37. package/node_modules/@buddi/core/dist/.tsbuildinfo +1 -1
  38. package/node_modules/@buddi/core/dist/actions/store.d.ts +8 -0
  39. package/node_modules/@buddi/core/dist/actions/store.d.ts.map +1 -1
  40. package/node_modules/@buddi/core/dist/actions/store.js +13 -0
  41. package/node_modules/@buddi/core/dist/actions/store.js.map +1 -1
  42. package/node_modules/@buddi/core/dist/agents/catalog.d.ts +11 -3
  43. package/node_modules/@buddi/core/dist/agents/catalog.d.ts.map +1 -1
  44. package/node_modules/@buddi/core/dist/agents/catalog.js +58 -10
  45. package/node_modules/@buddi/core/dist/agents/catalog.js.map +1 -1
  46. package/node_modules/@buddi/core/dist/agents/frontmatter.d.ts +1 -1
  47. package/node_modules/@buddi/core/dist/agents/frontmatter.d.ts.map +1 -1
  48. package/node_modules/@buddi/core/dist/agents/frontmatter.js +1 -1
  49. package/node_modules/@buddi/core/dist/agents/frontmatter.js.map +1 -1
  50. package/node_modules/@buddi/core/dist/agents/skills.d.ts +29 -3
  51. package/node_modules/@buddi/core/dist/agents/skills.d.ts.map +1 -1
  52. package/node_modules/@buddi/core/dist/agents/skills.js +49 -2
  53. package/node_modules/@buddi/core/dist/agents/skills.js.map +1 -1
  54. package/node_modules/@buddi/core/dist/clock-widget.d.ts.map +1 -1
  55. package/node_modules/@buddi/core/dist/clock-widget.js +5 -3
  56. package/node_modules/@buddi/core/dist/clock-widget.js.map +1 -1
  57. package/node_modules/@buddi/core/dist/host/build.d.ts.map +1 -1
  58. package/node_modules/@buddi/core/dist/host/build.js +11 -0
  59. package/node_modules/@buddi/core/dist/host/build.js.map +1 -1
  60. package/node_modules/@buddi/core/dist/host/types.d.ts +7 -0
  61. package/node_modules/@buddi/core/dist/host/types.d.ts.map +1 -1
  62. package/node_modules/@buddi/core/dist/learning/store.d.ts +7 -0
  63. package/node_modules/@buddi/core/dist/learning/store.d.ts.map +1 -1
  64. package/node_modules/@buddi/core/dist/learning/store.js +6 -0
  65. package/node_modules/@buddi/core/dist/learning/store.js.map +1 -1
  66. package/node_modules/@buddi/core/dist/notifications/agent.d.ts +7 -0
  67. package/node_modules/@buddi/core/dist/notifications/agent.d.ts.map +1 -1
  68. package/node_modules/@buddi/core/dist/notifications/agent.js +2 -0
  69. package/node_modules/@buddi/core/dist/notifications/agent.js.map +1 -1
  70. package/node_modules/@buddi/core/dist/notifications/index.d.ts +1 -0
  71. package/node_modules/@buddi/core/dist/notifications/index.d.ts.map +1 -1
  72. package/node_modules/@buddi/core/dist/notifications/index.js +1 -0
  73. package/node_modules/@buddi/core/dist/notifications/index.js.map +1 -1
  74. package/node_modules/@buddi/core/dist/notifications/needs.d.ts +49 -0
  75. package/node_modules/@buddi/core/dist/notifications/needs.d.ts.map +1 -0
  76. package/node_modules/@buddi/core/dist/notifications/needs.js +41 -0
  77. package/node_modules/@buddi/core/dist/notifications/needs.js.map +1 -0
  78. package/node_modules/@buddi/core/dist/notifications/notify.d.ts.map +1 -1
  79. package/node_modules/@buddi/core/dist/notifications/notify.js +16 -7
  80. package/node_modules/@buddi/core/dist/notifications/notify.js.map +1 -1
  81. package/node_modules/@buddi/core/dist/notifications/store.d.ts.map +1 -1
  82. package/node_modules/@buddi/core/dist/notifications/store.js +2 -1
  83. package/node_modules/@buddi/core/dist/notifications/store.js.map +1 -1
  84. package/node_modules/@buddi/core/dist/notifications/types.d.ts +10 -0
  85. package/node_modules/@buddi/core/dist/notifications/types.d.ts.map +1 -1
  86. package/node_modules/@buddi/core/dist/notifications/types.js.map +1 -1
  87. package/node_modules/@buddi/core/dist/offers/store.d.ts.map +1 -1
  88. package/node_modules/@buddi/core/dist/offers/store.js +9 -4
  89. package/node_modules/@buddi/core/dist/offers/store.js.map +1 -1
  90. package/node_modules/@buddi/core/dist/offers/types.d.ts +24 -1
  91. package/node_modules/@buddi/core/dist/offers/types.d.ts.map +1 -1
  92. package/node_modules/@buddi/core/dist/offers/types.js +23 -1
  93. package/node_modules/@buddi/core/dist/offers/types.js.map +1 -1
  94. package/node_modules/@buddi/core/dist/owner-timezone.d.ts +20 -22
  95. package/node_modules/@buddi/core/dist/owner-timezone.d.ts.map +1 -1
  96. package/node_modules/@buddi/core/dist/owner-timezone.js +17 -25
  97. package/node_modules/@buddi/core/dist/owner-timezone.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/scheduler/missions.d.ts +86 -11
  101. package/node_modules/@buddi/core/dist/scheduler/missions.d.ts.map +1 -1
  102. package/node_modules/@buddi/core/dist/scheduler/missions.js +160 -36
  103. package/node_modules/@buddi/core/dist/scheduler/missions.js.map +1 -1
  104. package/node_modules/@buddi/core/dist/scheduler/runner.d.ts.map +1 -1
  105. package/node_modules/@buddi/core/dist/scheduler/runner.js +6 -1
  106. package/node_modules/@buddi/core/dist/scheduler/runner.js.map +1 -1
  107. package/node_modules/@buddi/core/dist/scheduler/types.d.ts +22 -0
  108. package/node_modules/@buddi/core/dist/scheduler/types.d.ts.map +1 -1
  109. package/node_modules/@buddi/core/dist/scheduler/types.js +6 -0
  110. package/node_modules/@buddi/core/dist/scheduler/types.js.map +1 -1
  111. package/node_modules/@buddi/core/dist/web-settings.d.ts +13 -0
  112. package/node_modules/@buddi/core/dist/web-settings.d.ts.map +1 -1
  113. package/node_modules/@buddi/core/dist/web-settings.js +26 -0
  114. package/node_modules/@buddi/core/dist/web-settings.js.map +1 -1
  115. package/node_modules/@buddi/core/dist/widgets.d.ts +13 -5
  116. package/node_modules/@buddi/core/dist/widgets.d.ts.map +1 -1
  117. package/node_modules/@buddi/core/dist/widgets.js +10 -1
  118. package/node_modules/@buddi/core/dist/widgets.js.map +1 -1
  119. package/node_modules/@buddi/core/migrations/068_notification_action.sql +12 -0
  120. package/node_modules/@buddi/core/migrations/069_schedule_zone_explicit.sql +18 -0
  121. package/node_modules/@buddi/core/migrations/070_offer_handoff.sql +15 -0
  122. package/node_modules/@buddi/core/migrations/071_mission_lifespan.sql +19 -0
  123. package/node_modules/@buddi/gateway/dist/.tsbuildinfo +1 -1
  124. package/node_modules/@buddi/gateway/dist/agents/canvas.d.ts +6 -6
  125. package/node_modules/@buddi/gateway/dist/agents/catalogue-package.d.ts +313 -0
  126. package/node_modules/@buddi/gateway/dist/agents/catalogue-package.d.ts.map +1 -0
  127. package/node_modules/@buddi/gateway/dist/agents/catalogue-package.js +356 -0
  128. package/node_modules/@buddi/gateway/dist/agents/catalogue-package.js.map +1 -0
  129. package/node_modules/@buddi/gateway/dist/agents/learning-digest.d.ts +29 -7
  130. package/node_modules/@buddi/gateway/dist/agents/learning-digest.d.ts.map +1 -1
  131. package/node_modules/@buddi/gateway/dist/agents/learning-digest.js +87 -38
  132. package/node_modules/@buddi/gateway/dist/agents/learning-digest.js.map +1 -1
  133. package/node_modules/@buddi/gateway/dist/agents/owner-tools.d.ts.map +1 -1
  134. package/node_modules/@buddi/gateway/dist/agents/owner-tools.js +11 -1
  135. package/node_modules/@buddi/gateway/dist/agents/owner-tools.js.map +1 -1
  136. package/node_modules/@buddi/gateway/dist/agents/platform-catalogue.d.ts +361 -0
  137. package/node_modules/@buddi/gateway/dist/agents/platform-catalogue.d.ts.map +1 -0
  138. package/node_modules/@buddi/gateway/dist/agents/platform-catalogue.js +1021 -0
  139. package/node_modules/@buddi/gateway/dist/agents/platform-catalogue.js.map +1 -0
  140. package/node_modules/@buddi/gateway/dist/agents/platform-names.d.ts.map +1 -1
  141. package/node_modules/@buddi/gateway/dist/agents/platform-names.js +3 -0
  142. package/node_modules/@buddi/gateway/dist/agents/platform-names.js.map +1 -1
  143. package/node_modules/@buddi/gateway/dist/agents/platform.d.ts +62 -25
  144. package/node_modules/@buddi/gateway/dist/agents/platform.d.ts.map +1 -1
  145. package/node_modules/@buddi/gateway/dist/agents/platform.js +123 -29
  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 +6 -0
  150. package/node_modules/@buddi/gateway/dist/agents-cli.js.map +1 -1
  151. package/node_modules/@buddi/gateway/dist/bootstrap.d.ts.map +1 -1
  152. package/node_modules/@buddi/gateway/dist/bootstrap.js +13 -1
  153. package/node_modules/@buddi/gateway/dist/bootstrap.js.map +1 -1
  154. package/node_modules/@buddi/gateway/dist/index.d.ts +1 -0
  155. package/node_modules/@buddi/gateway/dist/index.d.ts.map +1 -1
  156. package/node_modules/@buddi/gateway/dist/index.js +1 -0
  157. package/node_modules/@buddi/gateway/dist/index.js.map +1 -1
  158. package/node_modules/@buddi/gateway/dist/missions/defaults.d.ts +0 -6
  159. package/node_modules/@buddi/gateway/dist/missions/defaults.d.ts.map +1 -1
  160. package/node_modules/@buddi/gateway/dist/missions/defaults.js +4 -8
  161. package/node_modules/@buddi/gateway/dist/missions/defaults.js.map +1 -1
  162. package/node_modules/@buddi/gateway/dist/missions/execute.d.ts +6 -0
  163. package/node_modules/@buddi/gateway/dist/missions/execute.d.ts.map +1 -1
  164. package/node_modules/@buddi/gateway/dist/missions/execute.js +74 -2
  165. package/node_modules/@buddi/gateway/dist/missions/execute.js.map +1 -1
  166. package/node_modules/@buddi/gateway/dist/missions/reminders.d.ts +10 -0
  167. package/node_modules/@buddi/gateway/dist/missions/reminders.d.ts.map +1 -1
  168. package/node_modules/@buddi/gateway/dist/missions/reminders.js +86 -17
  169. package/node_modules/@buddi/gateway/dist/missions/reminders.js.map +1 -1
  170. package/node_modules/@buddi/gateway/dist/missions/zone-provenance.d.ts +13 -0
  171. package/node_modules/@buddi/gateway/dist/missions/zone-provenance.d.ts.map +1 -0
  172. package/node_modules/@buddi/gateway/dist/missions/zone-provenance.js +31 -0
  173. package/node_modules/@buddi/gateway/dist/missions/zone-provenance.js.map +1 -0
  174. package/node_modules/@buddi/gateway/dist/missions-cli.js +2 -2
  175. package/node_modules/@buddi/gateway/dist/missions-cli.js.map +1 -1
  176. package/node_modules/@buddi/gateway/dist/plugins/load.d.ts.map +1 -1
  177. package/node_modules/@buddi/gateway/dist/plugins/load.js +12 -5
  178. package/node_modules/@buddi/gateway/dist/plugins/load.js.map +1 -1
  179. package/node_modules/@buddi/gateway/dist/plugins/provenance.d.ts +35 -1
  180. package/node_modules/@buddi/gateway/dist/plugins/provenance.d.ts.map +1 -1
  181. package/node_modules/@buddi/gateway/dist/plugins/provenance.js +39 -1
  182. package/node_modules/@buddi/gateway/dist/plugins/provenance.js.map +1 -1
  183. package/node_modules/@buddi/gateway/dist/serve.d.ts.map +1 -1
  184. package/node_modules/@buddi/gateway/dist/serve.js +10 -10
  185. package/node_modules/@buddi/gateway/dist/serve.js.map +1 -1
  186. package/node_modules/@buddi/gateway/dist/surfaces/handoff.d.ts +62 -0
  187. package/node_modules/@buddi/gateway/dist/surfaces/handoff.d.ts.map +1 -0
  188. package/node_modules/@buddi/gateway/dist/surfaces/handoff.js +121 -0
  189. package/node_modules/@buddi/gateway/dist/surfaces/handoff.js.map +1 -0
  190. package/node_modules/@buddi/gateway/dist/surfaces/offered-actions.d.ts +2 -0
  191. package/node_modules/@buddi/gateway/dist/surfaces/offered-actions.d.ts.map +1 -1
  192. package/node_modules/@buddi/gateway/dist/surfaces/offered-actions.js +1 -1
  193. package/node_modules/@buddi/gateway/dist/surfaces/offered-actions.js.map +1 -1
  194. package/node_modules/@buddi/gateway/dist/telegram/channel.d.ts +11 -1
  195. package/node_modules/@buddi/gateway/dist/telegram/channel.d.ts.map +1 -1
  196. package/node_modules/@buddi/gateway/dist/telegram/channel.js +13 -2
  197. package/node_modules/@buddi/gateway/dist/telegram/channel.js.map +1 -1
  198. package/node_modules/@buddi/gateway/dist/telegram/main.d.ts.map +1 -1
  199. package/node_modules/@buddi/gateway/dist/telegram/main.js +7 -1
  200. package/node_modules/@buddi/gateway/dist/telegram/main.js.map +1 -1
  201. package/node_modules/@buddi/gateway/dist/telegram/surface.d.ts +9 -1
  202. package/node_modules/@buddi/gateway/dist/telegram/surface.d.ts.map +1 -1
  203. package/node_modules/@buddi/gateway/dist/telegram/surface.js +58 -6
  204. package/node_modules/@buddi/gateway/dist/telegram/surface.js.map +1 -1
  205. package/node_modules/@buddi/gateway/dist/web/agent-offers.d.ts +0 -30
  206. package/node_modules/@buddi/gateway/dist/web/agent-offers.d.ts.map +1 -1
  207. package/node_modules/@buddi/gateway/dist/web/agent-offers.js +1 -64
  208. package/node_modules/@buddi/gateway/dist/web/agent-offers.js.map +1 -1
  209. package/node_modules/@buddi/gateway/dist/web/api-routes.d.ts +1 -0
  210. package/node_modules/@buddi/gateway/dist/web/api-routes.d.ts.map +1 -1
  211. package/node_modules/@buddi/gateway/dist/web/api-routes.js +126 -7
  212. package/node_modules/@buddi/gateway/dist/web/api-routes.js.map +1 -1
  213. package/node_modules/@buddi/gateway/dist/web/catalogue-source.d.ts +33 -0
  214. package/node_modules/@buddi/gateway/dist/web/catalogue-source.d.ts.map +1 -0
  215. package/node_modules/@buddi/gateway/dist/web/catalogue-source.js +124 -0
  216. package/node_modules/@buddi/gateway/dist/web/catalogue-source.js.map +1 -0
  217. package/node_modules/@buddi/gateway/dist/web/catalogue.d.ts +155 -0
  218. package/node_modules/@buddi/gateway/dist/web/catalogue.d.ts.map +1 -0
  219. package/node_modules/@buddi/gateway/dist/web/catalogue.js +734 -0
  220. package/node_modules/@buddi/gateway/dist/web/catalogue.js.map +1 -0
  221. package/node_modules/@buddi/gateway/dist/web/chat.d.ts +3 -1
  222. package/node_modules/@buddi/gateway/dist/web/chat.d.ts.map +1 -1
  223. package/node_modules/@buddi/gateway/dist/web/chat.js +8 -1
  224. package/node_modules/@buddi/gateway/dist/web/chat.js.map +1 -1
  225. package/node_modules/@buddi/gateway/dist/web/client-key.d.ts +24 -0
  226. package/node_modules/@buddi/gateway/dist/web/client-key.d.ts.map +1 -0
  227. package/node_modules/@buddi/gateway/dist/web/client-key.js +17 -0
  228. package/node_modules/@buddi/gateway/dist/web/client-key.js.map +1 -0
  229. package/node_modules/@buddi/gateway/dist/web/lock.d.ts +5 -1
  230. package/node_modules/@buddi/gateway/dist/web/lock.d.ts.map +1 -1
  231. package/node_modules/@buddi/gateway/dist/web/lock.js +4 -15
  232. package/node_modules/@buddi/gateway/dist/web/lock.js.map +1 -1
  233. package/node_modules/@buddi/gateway/dist/web/market.d.ts +1 -0
  234. package/node_modules/@buddi/gateway/dist/web/market.d.ts.map +1 -1
  235. package/node_modules/@buddi/gateway/dist/web/market.js +6 -0
  236. package/node_modules/@buddi/gateway/dist/web/market.js.map +1 -1
  237. package/node_modules/@buddi/gateway/dist/web/needs-you.d.ts +36 -0
  238. package/node_modules/@buddi/gateway/dist/web/needs-you.d.ts.map +1 -0
  239. package/node_modules/@buddi/gateway/dist/web/needs-you.js +65 -0
  240. package/node_modules/@buddi/gateway/dist/web/needs-you.js.map +1 -0
  241. package/node_modules/@buddi/gateway/dist/web/notifications.d.ts +9 -1
  242. package/node_modules/@buddi/gateway/dist/web/notifications.d.ts.map +1 -1
  243. package/node_modules/@buddi/gateway/dist/web/notifications.js +14 -3
  244. package/node_modules/@buddi/gateway/dist/web/notifications.js.map +1 -1
  245. package/node_modules/@buddi/gateway/dist/web/read.d.ts +27 -1
  246. package/node_modules/@buddi/gateway/dist/web/read.d.ts.map +1 -1
  247. package/node_modules/@buddi/gateway/dist/web/read.js +57 -8
  248. package/node_modules/@buddi/gateway/dist/web/read.js.map +1 -1
  249. package/node_modules/@buddi/gateway/dist/web/server.d.ts.map +1 -1
  250. package/node_modules/@buddi/gateway/dist/web/server.js +165 -13
  251. package/node_modules/@buddi/gateway/dist/web/server.js.map +1 -1
  252. package/node_modules/@buddi/gateway/dist/web/skills.d.ts +120 -0
  253. package/node_modules/@buddi/gateway/dist/web/skills.d.ts.map +1 -0
  254. package/node_modules/@buddi/gateway/dist/web/skills.js +672 -0
  255. package/node_modules/@buddi/gateway/dist/web/skills.js.map +1 -0
  256. package/node_modules/@buddi/gateway/dist/web/take-on.d.ts +35 -1
  257. package/node_modules/@buddi/gateway/dist/web/take-on.d.ts.map +1 -1
  258. package/node_modules/@buddi/gateway/dist/web/take-on.js +76 -51
  259. package/node_modules/@buddi/gateway/dist/web/take-on.js.map +1 -1
  260. package/node_modules/@buddi/gateway/dist/web/write.d.ts +9 -1
  261. package/node_modules/@buddi/gateway/dist/web/write.d.ts.map +1 -1
  262. package/node_modules/@buddi/gateway/dist/web/write.js +39 -2
  263. package/node_modules/@buddi/gateway/dist/web/write.js.map +1 -1
  264. package/node_modules/@buddi/gateway/package.json +0 -1
  265. package/node_modules/@buddi/install/dist/.tsbuildinfo +1 -1
  266. package/node_modules/@buddi/install/dist/doctor-timezone.d.ts +17 -0
  267. package/node_modules/@buddi/install/dist/doctor-timezone.d.ts.map +1 -0
  268. package/node_modules/@buddi/install/dist/doctor-timezone.js +34 -0
  269. package/node_modules/@buddi/install/dist/doctor-timezone.js.map +1 -0
  270. package/node_modules/@buddi/install/dist/launcher.d.ts.map +1 -1
  271. package/node_modules/@buddi/install/dist/launcher.js +3 -0
  272. package/node_modules/@buddi/install/dist/launcher.js.map +1 -1
  273. package/node_modules/@buddi/runtime/dist/.tsbuildinfo +1 -1
  274. package/node_modules/@buddi/tool-artifacts/dist/.tsbuildinfo +1 -1
  275. package/node_modules/@buddi/tool-browser/dist/.tsbuildinfo +1 -1
  276. package/node_modules/@buddi/tool-email/dist/.tsbuildinfo +1 -1
  277. package/node_modules/@buddi/tool-email/dist/needs-you.d.ts +4 -1
  278. package/node_modules/@buddi/tool-email/dist/needs-you.d.ts.map +1 -1
  279. package/node_modules/@buddi/tool-email/dist/needs-you.js +2 -0
  280. package/node_modules/@buddi/tool-email/dist/needs-you.js.map +1 -1
  281. package/node_modules/@buddi/tool-email/migrations/026_attention_filed.sql +89 -0
  282. package/node_modules/@buddi/tool-host/dist/.tsbuildinfo +1 -1
  283. package/node_modules/@buddi/tool-mcp/dist/.tsbuildinfo +1 -1
  284. package/node_modules/@buddi/tool-memory/dist/.tsbuildinfo +1 -1
  285. package/node_modules/@buddi/tool-web/dist/.tsbuildinfo +1 -1
  286. package/package.json +2 -2
  287. package/packages/cli/dist/.tsbuildinfo +1 -1
  288. package/packages/cli/dist/agents-catalogue-cmd.d.ts +50 -0
  289. package/packages/cli/dist/agents-catalogue-cmd.d.ts.map +1 -0
  290. package/packages/cli/dist/agents-catalogue-cmd.js +328 -0
  291. package/packages/cli/dist/agents-catalogue-cmd.js.map +1 -0
  292. package/packages/cli/dist/args.d.ts +5 -0
  293. package/packages/cli/dist/args.d.ts.map +1 -1
  294. package/packages/cli/dist/args.js +8 -0
  295. package/packages/cli/dist/args.js.map +1 -1
  296. package/packages/cli/dist/commands.d.ts.map +1 -1
  297. package/packages/cli/dist/commands.js +63 -1
  298. package/packages/cli/dist/commands.js.map +1 -1
  299. package/packages/cli/dist/doctor-probes.d.ts.map +1 -1
  300. package/packages/cli/dist/doctor-probes.js +4 -11
  301. package/packages/cli/dist/doctor-probes.js.map +1 -1
  302. package/packages/cli/dist/doctor.d.ts +16 -0
  303. package/packages/cli/dist/doctor.d.ts.map +1 -1
  304. package/packages/cli/dist/doctor.js +30 -0
  305. package/packages/cli/dist/doctor.js.map +1 -1
  306. package/packages/cli/dist/main.d.ts.map +1 -1
  307. package/packages/cli/dist/main.js +44 -9
  308. package/packages/cli/dist/main.js.map +1 -1
  309. package/packages/cli/dist/mcp/tools.d.ts.map +1 -1
  310. package/packages/cli/dist/mcp/tools.js +3 -1
  311. package/packages/cli/dist/mcp/tools.js.map +1 -1
  312. package/packages/cli/dist/skills-cmd.d.ts +15 -0
  313. package/packages/cli/dist/skills-cmd.d.ts.map +1 -0
  314. package/packages/cli/dist/skills-cmd.js +54 -0
  315. package/packages/cli/dist/skills-cmd.js.map +1 -0
  316. package/packages/cli/dist/status.d.ts +15 -9
  317. package/packages/cli/dist/status.d.ts.map +1 -1
  318. package/packages/cli/dist/status.js +6 -11
  319. package/packages/cli/dist/status.js.map +1 -1
  320. package/packages/core/dist/.tsbuildinfo +1 -1
  321. package/packages/core/dist/actions/store.d.ts +8 -0
  322. package/packages/core/dist/actions/store.d.ts.map +1 -1
  323. package/packages/core/dist/actions/store.js +13 -0
  324. package/packages/core/dist/actions/store.js.map +1 -1
  325. package/packages/core/dist/agents/catalog.d.ts +11 -3
  326. package/packages/core/dist/agents/catalog.d.ts.map +1 -1
  327. package/packages/core/dist/agents/catalog.js +58 -10
  328. package/packages/core/dist/agents/catalog.js.map +1 -1
  329. package/packages/core/dist/agents/frontmatter.d.ts +1 -1
  330. package/packages/core/dist/agents/frontmatter.d.ts.map +1 -1
  331. package/packages/core/dist/agents/frontmatter.js +1 -1
  332. package/packages/core/dist/agents/frontmatter.js.map +1 -1
  333. package/packages/core/dist/agents/skills.d.ts +29 -3
  334. package/packages/core/dist/agents/skills.d.ts.map +1 -1
  335. package/packages/core/dist/agents/skills.js +49 -2
  336. package/packages/core/dist/agents/skills.js.map +1 -1
  337. package/packages/core/dist/clock-widget.d.ts.map +1 -1
  338. package/packages/core/dist/clock-widget.js +5 -3
  339. package/packages/core/dist/clock-widget.js.map +1 -1
  340. package/packages/core/dist/host/build.d.ts.map +1 -1
  341. package/packages/core/dist/host/build.js +11 -0
  342. package/packages/core/dist/host/build.js.map +1 -1
  343. package/packages/core/dist/host/types.d.ts +7 -0
  344. package/packages/core/dist/host/types.d.ts.map +1 -1
  345. package/packages/core/dist/learning/store.d.ts +7 -0
  346. package/packages/core/dist/learning/store.d.ts.map +1 -1
  347. package/packages/core/dist/learning/store.js +6 -0
  348. package/packages/core/dist/learning/store.js.map +1 -1
  349. package/packages/core/dist/notifications/agent.d.ts +7 -0
  350. package/packages/core/dist/notifications/agent.d.ts.map +1 -1
  351. package/packages/core/dist/notifications/agent.js +2 -0
  352. package/packages/core/dist/notifications/agent.js.map +1 -1
  353. package/packages/core/dist/notifications/index.d.ts +1 -0
  354. package/packages/core/dist/notifications/index.d.ts.map +1 -1
  355. package/packages/core/dist/notifications/index.js +1 -0
  356. package/packages/core/dist/notifications/index.js.map +1 -1
  357. package/packages/core/dist/notifications/needs.d.ts +49 -0
  358. package/packages/core/dist/notifications/needs.d.ts.map +1 -0
  359. package/packages/core/dist/notifications/needs.js +41 -0
  360. package/packages/core/dist/notifications/needs.js.map +1 -0
  361. package/packages/core/dist/notifications/notify.d.ts.map +1 -1
  362. package/packages/core/dist/notifications/notify.js +16 -7
  363. package/packages/core/dist/notifications/notify.js.map +1 -1
  364. package/packages/core/dist/notifications/store.d.ts.map +1 -1
  365. package/packages/core/dist/notifications/store.js +2 -1
  366. package/packages/core/dist/notifications/store.js.map +1 -1
  367. package/packages/core/dist/notifications/types.d.ts +10 -0
  368. package/packages/core/dist/notifications/types.d.ts.map +1 -1
  369. package/packages/core/dist/notifications/types.js.map +1 -1
  370. package/packages/core/dist/offers/store.d.ts.map +1 -1
  371. package/packages/core/dist/offers/store.js +9 -4
  372. package/packages/core/dist/offers/store.js.map +1 -1
  373. package/packages/core/dist/offers/types.d.ts +24 -1
  374. package/packages/core/dist/offers/types.d.ts.map +1 -1
  375. package/packages/core/dist/offers/types.js +23 -1
  376. package/packages/core/dist/offers/types.js.map +1 -1
  377. package/packages/core/dist/owner-timezone.d.ts +20 -22
  378. package/packages/core/dist/owner-timezone.d.ts.map +1 -1
  379. package/packages/core/dist/owner-timezone.js +17 -25
  380. package/packages/core/dist/owner-timezone.js.map +1 -1
  381. package/packages/core/dist/plugin/version.d.ts +1 -1
  382. package/packages/core/dist/plugin/version.js +1 -1
  383. package/packages/core/dist/scheduler/missions.d.ts +86 -11
  384. package/packages/core/dist/scheduler/missions.d.ts.map +1 -1
  385. package/packages/core/dist/scheduler/missions.js +160 -36
  386. package/packages/core/dist/scheduler/missions.js.map +1 -1
  387. package/packages/core/dist/scheduler/runner.d.ts.map +1 -1
  388. package/packages/core/dist/scheduler/runner.js +6 -1
  389. package/packages/core/dist/scheduler/runner.js.map +1 -1
  390. package/packages/core/dist/scheduler/types.d.ts +22 -0
  391. package/packages/core/dist/scheduler/types.d.ts.map +1 -1
  392. package/packages/core/dist/scheduler/types.js +6 -0
  393. package/packages/core/dist/scheduler/types.js.map +1 -1
  394. package/packages/core/dist/web-settings.d.ts +13 -0
  395. package/packages/core/dist/web-settings.d.ts.map +1 -1
  396. package/packages/core/dist/web-settings.js +26 -0
  397. package/packages/core/dist/web-settings.js.map +1 -1
  398. package/packages/core/dist/widgets.d.ts +13 -5
  399. package/packages/core/dist/widgets.d.ts.map +1 -1
  400. package/packages/core/dist/widgets.js +10 -1
  401. package/packages/core/dist/widgets.js.map +1 -1
  402. package/packages/core/migrations/068_notification_action.sql +12 -0
  403. package/packages/core/migrations/069_schedule_zone_explicit.sql +18 -0
  404. package/packages/core/migrations/070_offer_handoff.sql +15 -0
  405. package/packages/core/migrations/071_mission_lifespan.sql +19 -0
  406. package/packages/gateway/dist/.tsbuildinfo +1 -1
  407. package/packages/gateway/dist/agents/canvas.d.ts +6 -6
  408. package/packages/gateway/dist/agents/catalogue-package.d.ts +313 -0
  409. package/packages/gateway/dist/agents/catalogue-package.d.ts.map +1 -0
  410. package/packages/gateway/dist/agents/catalogue-package.js +356 -0
  411. package/packages/gateway/dist/agents/catalogue-package.js.map +1 -0
  412. package/packages/gateway/dist/agents/learning-digest.d.ts +29 -7
  413. package/packages/gateway/dist/agents/learning-digest.d.ts.map +1 -1
  414. package/packages/gateway/dist/agents/learning-digest.js +87 -38
  415. package/packages/gateway/dist/agents/learning-digest.js.map +1 -1
  416. package/packages/gateway/dist/agents/owner-tools.d.ts.map +1 -1
  417. package/packages/gateway/dist/agents/owner-tools.js +11 -1
  418. package/packages/gateway/dist/agents/owner-tools.js.map +1 -1
  419. package/packages/gateway/dist/agents/platform-catalogue.d.ts +361 -0
  420. package/packages/gateway/dist/agents/platform-catalogue.d.ts.map +1 -0
  421. package/packages/gateway/dist/agents/platform-catalogue.js +1021 -0
  422. package/packages/gateway/dist/agents/platform-catalogue.js.map +1 -0
  423. package/packages/gateway/dist/agents/platform-names.d.ts.map +1 -1
  424. package/packages/gateway/dist/agents/platform-names.js +3 -0
  425. package/packages/gateway/dist/agents/platform-names.js.map +1 -1
  426. package/packages/gateway/dist/agents/platform.d.ts +62 -25
  427. package/packages/gateway/dist/agents/platform.d.ts.map +1 -1
  428. package/packages/gateway/dist/agents/platform.js +123 -29
  429. package/packages/gateway/dist/agents/platform.js.map +1 -1
  430. package/packages/gateway/dist/agents-cli.d.ts +1 -1
  431. package/packages/gateway/dist/agents-cli.d.ts.map +1 -1
  432. package/packages/gateway/dist/agents-cli.js +6 -0
  433. package/packages/gateway/dist/agents-cli.js.map +1 -1
  434. package/packages/gateway/dist/bootstrap.d.ts.map +1 -1
  435. package/packages/gateway/dist/bootstrap.js +13 -1
  436. package/packages/gateway/dist/bootstrap.js.map +1 -1
  437. package/packages/gateway/dist/index.d.ts +1 -0
  438. package/packages/gateway/dist/index.d.ts.map +1 -1
  439. package/packages/gateway/dist/index.js +1 -0
  440. package/packages/gateway/dist/index.js.map +1 -1
  441. package/packages/gateway/dist/missions/defaults.d.ts +0 -6
  442. package/packages/gateway/dist/missions/defaults.d.ts.map +1 -1
  443. package/packages/gateway/dist/missions/defaults.js +4 -8
  444. package/packages/gateway/dist/missions/defaults.js.map +1 -1
  445. package/packages/gateway/dist/missions/execute.d.ts +6 -0
  446. package/packages/gateway/dist/missions/execute.d.ts.map +1 -1
  447. package/packages/gateway/dist/missions/execute.js +74 -2
  448. package/packages/gateway/dist/missions/execute.js.map +1 -1
  449. package/packages/gateway/dist/missions/reminders.d.ts +10 -0
  450. package/packages/gateway/dist/missions/reminders.d.ts.map +1 -1
  451. package/packages/gateway/dist/missions/reminders.js +86 -17
  452. package/packages/gateway/dist/missions/reminders.js.map +1 -1
  453. package/packages/gateway/dist/missions/zone-provenance.d.ts +13 -0
  454. package/packages/gateway/dist/missions/zone-provenance.d.ts.map +1 -0
  455. package/packages/gateway/dist/missions/zone-provenance.js +31 -0
  456. package/packages/gateway/dist/missions/zone-provenance.js.map +1 -0
  457. package/packages/gateway/dist/missions-cli.js +2 -2
  458. package/packages/gateway/dist/missions-cli.js.map +1 -1
  459. package/packages/gateway/dist/plugins/load.d.ts.map +1 -1
  460. package/packages/gateway/dist/plugins/load.js +12 -5
  461. package/packages/gateway/dist/plugins/load.js.map +1 -1
  462. package/packages/gateway/dist/plugins/provenance.d.ts +35 -1
  463. package/packages/gateway/dist/plugins/provenance.d.ts.map +1 -1
  464. package/packages/gateway/dist/plugins/provenance.js +39 -1
  465. package/packages/gateway/dist/plugins/provenance.js.map +1 -1
  466. package/packages/gateway/dist/serve.d.ts.map +1 -1
  467. package/packages/gateway/dist/serve.js +10 -10
  468. package/packages/gateway/dist/serve.js.map +1 -1
  469. package/packages/gateway/dist/surfaces/handoff.d.ts +62 -0
  470. package/packages/gateway/dist/surfaces/handoff.d.ts.map +1 -0
  471. package/packages/gateway/dist/surfaces/handoff.js +121 -0
  472. package/packages/gateway/dist/surfaces/handoff.js.map +1 -0
  473. package/packages/gateway/dist/surfaces/offered-actions.d.ts +2 -0
  474. package/packages/gateway/dist/surfaces/offered-actions.d.ts.map +1 -1
  475. package/packages/gateway/dist/surfaces/offered-actions.js +1 -1
  476. package/packages/gateway/dist/surfaces/offered-actions.js.map +1 -1
  477. package/packages/gateway/dist/telegram/channel.d.ts +11 -1
  478. package/packages/gateway/dist/telegram/channel.d.ts.map +1 -1
  479. package/packages/gateway/dist/telegram/channel.js +13 -2
  480. package/packages/gateway/dist/telegram/channel.js.map +1 -1
  481. package/packages/gateway/dist/telegram/main.d.ts.map +1 -1
  482. package/packages/gateway/dist/telegram/main.js +7 -1
  483. package/packages/gateway/dist/telegram/main.js.map +1 -1
  484. package/packages/gateway/dist/telegram/surface.d.ts +9 -1
  485. package/packages/gateway/dist/telegram/surface.d.ts.map +1 -1
  486. package/packages/gateway/dist/telegram/surface.js +58 -6
  487. package/packages/gateway/dist/telegram/surface.js.map +1 -1
  488. package/packages/gateway/dist/web/agent-offers.d.ts +0 -30
  489. package/packages/gateway/dist/web/agent-offers.d.ts.map +1 -1
  490. package/packages/gateway/dist/web/agent-offers.js +1 -64
  491. package/packages/gateway/dist/web/agent-offers.js.map +1 -1
  492. package/packages/gateway/dist/web/api-routes.d.ts +1 -0
  493. package/packages/gateway/dist/web/api-routes.d.ts.map +1 -1
  494. package/packages/gateway/dist/web/api-routes.js +126 -7
  495. package/packages/gateway/dist/web/api-routes.js.map +1 -1
  496. package/packages/gateway/dist/web/catalogue-source.d.ts +33 -0
  497. package/packages/gateway/dist/web/catalogue-source.d.ts.map +1 -0
  498. package/packages/gateway/dist/web/catalogue-source.js +124 -0
  499. package/packages/gateway/dist/web/catalogue-source.js.map +1 -0
  500. package/packages/gateway/dist/web/catalogue.d.ts +155 -0
  501. package/packages/gateway/dist/web/catalogue.d.ts.map +1 -0
  502. package/packages/gateway/dist/web/catalogue.js +734 -0
  503. package/packages/gateway/dist/web/catalogue.js.map +1 -0
  504. package/packages/gateway/dist/web/chat.d.ts +3 -1
  505. package/packages/gateway/dist/web/chat.d.ts.map +1 -1
  506. package/packages/gateway/dist/web/chat.js +8 -1
  507. package/packages/gateway/dist/web/chat.js.map +1 -1
  508. package/packages/gateway/dist/web/client-key.d.ts +24 -0
  509. package/packages/gateway/dist/web/client-key.d.ts.map +1 -0
  510. package/packages/gateway/dist/web/client-key.js +17 -0
  511. package/packages/gateway/dist/web/client-key.js.map +1 -0
  512. package/packages/gateway/dist/web/lock.d.ts +5 -1
  513. package/packages/gateway/dist/web/lock.d.ts.map +1 -1
  514. package/packages/gateway/dist/web/lock.js +4 -15
  515. package/packages/gateway/dist/web/lock.js.map +1 -1
  516. package/packages/gateway/dist/web/market.d.ts +1 -0
  517. package/packages/gateway/dist/web/market.d.ts.map +1 -1
  518. package/packages/gateway/dist/web/market.js +6 -0
  519. package/packages/gateway/dist/web/market.js.map +1 -1
  520. package/packages/gateway/dist/web/needs-you.d.ts +36 -0
  521. package/packages/gateway/dist/web/needs-you.d.ts.map +1 -0
  522. package/packages/gateway/dist/web/needs-you.js +65 -0
  523. package/packages/gateway/dist/web/needs-you.js.map +1 -0
  524. package/packages/gateway/dist/web/notifications.d.ts +9 -1
  525. package/packages/gateway/dist/web/notifications.d.ts.map +1 -1
  526. package/packages/gateway/dist/web/notifications.js +14 -3
  527. package/packages/gateway/dist/web/notifications.js.map +1 -1
  528. package/packages/gateway/dist/web/read.d.ts +27 -1
  529. package/packages/gateway/dist/web/read.d.ts.map +1 -1
  530. package/packages/gateway/dist/web/read.js +57 -8
  531. package/packages/gateway/dist/web/read.js.map +1 -1
  532. package/packages/gateway/dist/web/server.d.ts.map +1 -1
  533. package/packages/gateway/dist/web/server.js +165 -13
  534. package/packages/gateway/dist/web/server.js.map +1 -1
  535. package/packages/gateway/dist/web/skills.d.ts +120 -0
  536. package/packages/gateway/dist/web/skills.d.ts.map +1 -0
  537. package/packages/gateway/dist/web/skills.js +672 -0
  538. package/packages/gateway/dist/web/skills.js.map +1 -0
  539. package/packages/gateway/dist/web/take-on.d.ts +35 -1
  540. package/packages/gateway/dist/web/take-on.d.ts.map +1 -1
  541. package/packages/gateway/dist/web/take-on.js +76 -51
  542. package/packages/gateway/dist/web/take-on.js.map +1 -1
  543. package/packages/gateway/dist/web/write.d.ts +9 -1
  544. package/packages/gateway/dist/web/write.d.ts.map +1 -1
  545. package/packages/gateway/dist/web/write.js +39 -2
  546. package/packages/gateway/dist/web/write.js.map +1 -1
  547. package/packages/gateway/package.json +0 -1
  548. package/packages/install/dist/.tsbuildinfo +1 -1
  549. package/packages/install/dist/doctor-timezone.d.ts +17 -0
  550. package/packages/install/dist/doctor-timezone.d.ts.map +1 -0
  551. package/packages/install/dist/doctor-timezone.js +34 -0
  552. package/packages/install/dist/doctor-timezone.js.map +1 -0
  553. package/packages/install/dist/launcher.d.ts.map +1 -1
  554. package/packages/install/dist/launcher.js +3 -0
  555. package/packages/install/dist/launcher.js.map +1 -1
  556. package/packages/runtime/dist/.tsbuildinfo +1 -1
  557. package/packages/tools/artifacts/dist/.tsbuildinfo +1 -1
  558. package/packages/tools/browser/dist/.tsbuildinfo +1 -1
  559. package/packages/tools/email/dist/.tsbuildinfo +1 -1
  560. package/packages/tools/email/dist/needs-you.d.ts +4 -1
  561. package/packages/tools/email/dist/needs-you.d.ts.map +1 -1
  562. package/packages/tools/email/dist/needs-you.js +2 -0
  563. package/packages/tools/email/dist/needs-you.js.map +1 -1
  564. package/packages/tools/email/migrations/026_attention_filed.sql +89 -0
  565. package/packages/tools/host/dist/.tsbuildinfo +1 -1
  566. package/packages/tools/mcp/dist/.tsbuildinfo +1 -1
  567. package/packages/tools/memory/dist/.tsbuildinfo +1 -1
  568. package/packages/tools/web/dist/.tsbuildinfo +1 -1
  569. package/packages/web/dist/assets/index-BldmgplG.css +1 -0
  570. package/packages/web/dist/assets/index-C8GaSH__.js +132 -0
  571. package/packages/web/dist/assets/{lottie_light-Ls7i1ATS.js → lottie_light-DdwKPR04.js} +1 -1
  572. package/packages/web/dist/build.json +1 -1
  573. package/packages/web/dist/index.html +2 -2
  574. package/packages/web/dist/precache.json +4 -4
  575. package/node_modules/@buddi/gateway/dist/agents/starter-team.d.ts +0 -59
  576. package/node_modules/@buddi/gateway/dist/agents/starter-team.d.ts.map +0 -1
  577. package/node_modules/@buddi/gateway/dist/agents/starter-team.js +0 -156
  578. package/node_modules/@buddi/gateway/dist/agents/starter-team.js.map +0 -1
  579. package/node_modules/@buddi/gateway/src/agents/starter/keeper/agent.md +0 -31
  580. package/node_modules/@buddi/gateway/src/agents/starter/keeper/skills/keeping-a-history.md +0 -22
  581. package/node_modules/@buddi/gateway/src/agents/starter/planner/agent.md +0 -30
  582. package/node_modules/@buddi/gateway/src/agents/starter/planner/skills/holding-a-follow-up.md +0 -17
  583. package/node_modules/@buddi/gateway/src/agents/starter/planner/skills/writing-the-morning-brief.md +0 -32
  584. package/node_modules/@buddi/gateway/src/agents/starter/scout/agent.md +0 -33
  585. package/node_modules/@buddi/gateway/src/agents/starter/scout/skills/answering-with-sources.md +0 -23
  586. package/node_modules/@buddi/gateway/src/agents/starter/scout/skills/the-web-is-evidence.md +0 -25
  587. package/packages/gateway/dist/agents/starter-team.d.ts +0 -59
  588. package/packages/gateway/dist/agents/starter-team.d.ts.map +0 -1
  589. package/packages/gateway/dist/agents/starter-team.js +0 -156
  590. package/packages/gateway/dist/agents/starter-team.js.map +0 -1
  591. package/packages/gateway/src/agents/starter/keeper/agent.md +0 -31
  592. package/packages/gateway/src/agents/starter/keeper/skills/keeping-a-history.md +0 -22
  593. package/packages/gateway/src/agents/starter/planner/agent.md +0 -30
  594. package/packages/gateway/src/agents/starter/planner/skills/holding-a-follow-up.md +0 -17
  595. package/packages/gateway/src/agents/starter/planner/skills/writing-the-morning-brief.md +0 -32
  596. package/packages/gateway/src/agents/starter/scout/agent.md +0 -33
  597. package/packages/gateway/src/agents/starter/scout/skills/answering-with-sources.md +0 -23
  598. package/packages/gateway/src/agents/starter/scout/skills/the-web-is-evidence.md +0 -25
  599. package/packages/web/dist/assets/index-WS4UjGsy.js +0 -129
  600. package/packages/web/dist/assets/index-Zrt_o2UG.css +0 -1
@@ -41,7 +41,7 @@
41
41
  */
42
42
  import { existsSync, readFileSync, statSync } from 'node:fs';
43
43
  import path from 'node:path';
44
- import { assertApprovedEffect, DEFAULT_MAX_TURNS, HANDLE, HANDLE_MAX, HANDLE_MIN, AGENT_FILE, KEBAB, RESERVED_AGENT_IDS, reservedAgentIdMessage, PROVIDER_KINDS, accountModelProblem, modelProblem, parseAgentFile, parseSkillFile, patchAgentSource, resolveToolNames, SKILLS_DIR, listGroups as coreListGroups, createGroup as coreCreateGroup, updateGroup as coreUpdateGroup, archiveGroup as coreArchiveGroup, planGroupChange, GroupRefusal, parseCron, setSchedule, upsertMission, DELEGATE_EVERYONE, IDLE_ROLLOVERS, } from '@buddi/core';
44
+ import { assertApprovedEffect, DEFAULT_MAX_TURNS, HANDLE, HANDLE_MAX, HANDLE_MIN, AGENT_FILE, KEBAB, RESERVED_AGENT_IDS, reservedAgentIdMessage, PROVIDER_KINDS, accountModelProblem, modelProblem, parseAgentFile, parseSkillFile, patchAgentSource, resolveToolNames, SKILLS_DIR, listGroups as coreListGroups, createGroup as coreCreateGroup, updateGroup as coreUpdateGroup, archiveGroup as coreArchiveGroup, planGroupChange, GroupRefusal, parseCron, setSchedule, upsertMission, listMissions, setMissionEnabled, DELEGATE_EVERYONE, IDLE_ROLLOVERS, } from '@buddi/core';
45
45
  import { z } from 'zod';
46
46
  import { composeProvenance, driftFor, proposalChecksum, PROVENANCE_FILE } from '../plugins/provenance.js';
47
47
  import { agentSearchPath, EXAMPLES_AGENTS_DIR } from './catalog.js';
@@ -49,8 +49,8 @@ import { DELEGATES_FILE, readDelegates } from './delegation.js';
49
49
  import { insideExamples } from './owner-tools.js';
50
50
  import { withCoreTools } from './core-tools.js';
51
51
  import { storeBundledMascot } from './mascots.js';
52
- import { starterMission, starterProposals } from './starter-team.js';
53
- import { agentMissionId, describeCadence, slugify } from '../missions/reminders.js';
52
+ import { createCatalogueTools, planInstall, } from './platform-catalogue.js';
53
+ import { agentMissionId, describeCadence } from '../missions/reminders.js';
54
54
  import { composeAgentFile, composeSkillFile, createAgentDirAtomic, moveAgentAside, replaceBody, skillFilePath, trashStamp, writeFilesAtomic, TRASH_DIR, } from './platform-files.js';
55
55
  import { delegateToWriterRefusal, PLATFORM_READ_TOOLS, writeToolsIn, } from './platform-names.js';
56
56
  import { diffGrant, grantBlock, grantChangeBlock, } from './platform-grant.js';
@@ -118,6 +118,7 @@ function resolved(registry, env = process.env) {
118
118
  reload: binding.reload,
119
119
  accounts: binding.accounts?.(),
120
120
  setDefaultAgent: binding.setDefaultAgent,
121
+ catalogue: binding.catalogue?.(),
121
122
  agentsDir,
122
123
  skillsDir: binding.skillsDir ?? search.owner.skillsDir,
123
124
  examplesDir: binding.examplesDir ?? EXAMPLES_AGENTS_DIR,
@@ -439,6 +440,18 @@ export function renderDeletePreview(envelope) {
439
440
  `To: ${envelope.trashDirectory}/${envelope.id}-<timestamp>`,
440
441
  '',
441
442
  `It loses ${envelope.tools.length} tools and stops answering @${envelope.handle} immediately.`,
443
+ ...(envelope.pausesMissions === undefined || envelope.pausesMissions.length === 0
444
+ ? []
445
+ : [
446
+ `Its ${envelope.pausesMissions.length === 1 ? 'mission is' : `${envelope.pausesMissions.length} missions are`} paused, ` +
447
+ `not deleted: ${envelope.pausesMissions.map((m) => m.name).join(', ')}.`,
448
+ ]),
449
+ ...(envelope.unusedPlugins === undefined || envelope.unusedPlugins.length === 0
450
+ ? []
451
+ : [
452
+ `No other agent uses ${envelope.unusedPlugins.join(', ')}; ${envelope.unusedPlugins.length === 1 ? 'it stays' : 'they stay'} ` +
453
+ 'installed, and Settings → Plugins removes one.',
454
+ ]),
442
455
  ...(envelope.delegatedToBy.length === 0
443
456
  ? []
444
457
  : [
@@ -524,7 +537,9 @@ const createInput = z
524
537
  "one of the owner's own agents."),
525
538
  })
526
539
  .strict();
527
- function buildCreateEnvelope(input, deps) {
540
+ function buildCreateEnvelope(
541
+ // `starters` is not the tool's to take: only a catalogue package brings its example asks.
542
+ input, deps) {
528
543
  const { binding, registry } = deps;
529
544
  const id = checkId(input.id);
530
545
  const handle = checkHandle(input.handle);
@@ -582,6 +597,7 @@ function buildCreateEnvelope(input, deps) {
582
597
  ...(input.maxTurns === undefined ? {} : { maxTurns: input.maxTurns }),
583
598
  ...(input.language === undefined ? {} : { language: input.language }),
584
599
  ...(input.idleRollover === undefined ? {} : { idleRollover: input.idleRollover }),
600
+ ...(input.starters === undefined || input.starters.length === 0 ? {} : { starters: input.starters }),
585
601
  ...(input.avatar === undefined ? {} : { avatar: checkAvatar(input.avatar) }),
586
602
  ...(input.accent === undefined ? {} : { accent: input.accent.toLowerCase() }),
587
603
  // Replacing the example that declares `default: true` must not leave the
@@ -990,13 +1006,53 @@ function buildDeleteEnvelope(input, deps) {
990
1006
  delegatedToBy,
991
1007
  };
992
1008
  }
1009
+ /** The plugins the record says are installed, when the catalogue service can read it. */
1010
+ function installedPluginNames(binding) {
1011
+ try {
1012
+ return binding.catalogue?.plugins().map((p) => p.name) ?? [];
1013
+ }
1014
+ catch {
1015
+ return [];
1016
+ }
1017
+ }
1018
+ /**
1019
+ * What removing an agent also does, read before the approval: the missions
1020
+ * it runs that are on (paused by the same approval), and the installed
1021
+ * plugins nobody else is granted (named, never removed).
1022
+ */
1023
+ async function withRemoveExtras(envelope, deps) {
1024
+ const missions = deps.db
1025
+ ? (await listMissions(deps.db).catch(() => []))
1026
+ .filter((m) => m.enabled && (m.agentId === envelope.id || m.id.startsWith(`agent:${envelope.id}:`)))
1027
+ .map((m) => ({ id: m.id, name: m.name }))
1028
+ : [];
1029
+ const pluginOf = new Map();
1030
+ for (const manifest of deps.registry.manifests()) {
1031
+ if (!deps.installed.includes(manifest.name))
1032
+ continue;
1033
+ for (const tool of manifest.tools)
1034
+ pluginOf.set(tool.name, manifest.name);
1035
+ }
1036
+ const mine = new Set(envelope.tools.map((t) => pluginOf.get(t)).filter((p) => p !== undefined));
1037
+ for (const other of deps.binding.catalog.list()) {
1038
+ if (other.id === envelope.id)
1039
+ continue;
1040
+ for (const tool of deps.binding.catalog.get(other.id)?.tools ?? []) {
1041
+ const plugin = pluginOf.get(tool);
1042
+ if (plugin)
1043
+ mine.delete(plugin);
1044
+ }
1045
+ }
1046
+ return {
1047
+ ...envelope,
1048
+ ...(missions.length === 0 ? {} : { pausesMissions: missions }),
1049
+ ...(mine.size === 0 ? {} : { unusedPlugins: [...mine].sort() }),
1050
+ };
1051
+ }
993
1052
  export function pluginAgentProposals(registry) {
994
- return [
995
- ...registry.manifests().flatMap((m) => (m.agents ?? []).map((agent) => ({ plugin: m.name, pluginVersion: m.version, agent }))),
996
- // The starter team (starter-team.ts): buddi's own proposals, under the
997
- // built-in source `buddi`, accepted through the very same gated tool.
998
- ...starterProposals(),
999
- ];
1053
+ // buddi's own ready-made agents are no longer proposals: they are packages
1054
+ // in the catalogue (platform-catalogue.ts), added through platform.install_agent.
1055
+ return registry.manifests().flatMap((m) => (m.agents ?? []).map((agent) => ({ plugin: m.name, pluginVersion: m.version, agent })));
1000
1056
  }
1001
1057
  export function pluginSkillProposals(registry) {
1002
1058
  return registry.manifests().flatMap((m) => (m.skills ?? []).map((skill) => ({ plugin: m.name, pluginVersion: m.version, skill })));
@@ -1012,7 +1068,7 @@ function findProposal(registry, plugin, agentId) {
1012
1068
  }
1013
1069
  return match;
1014
1070
  }
1015
- /** Every mission an accept creates: the starter's one, then the plugin's. */
1071
+ /** Every mission an accept creates. */
1016
1072
  function acceptedMissions(envelope) {
1017
1073
  return [...(envelope.mission ? [envelope.mission] : []), ...(envelope.missions ?? [])];
1018
1074
  }
@@ -1109,7 +1165,6 @@ function buildAcceptAgentEnvelope(input, deps) {
1109
1165
  content,
1110
1166
  };
1111
1167
  });
1112
- const mission = starterMission(proposal.plugin, suggestion.id);
1113
1168
  const missions = (suggestion.missions ?? []).map((m) => {
1114
1169
  const slug = m.id.trim();
1115
1170
  if (!KEBAB.test(slug)) {
@@ -1144,17 +1199,6 @@ function buildAcceptAgentEnvelope(input, deps) {
1144
1199
  proposalChecksum: proposalChecksum(suggestion),
1145
1200
  skills,
1146
1201
  inheritedFrom: base.account === null ? null : (speaks?.from ?? null),
1147
- ...(mission === null
1148
- ? {}
1149
- : {
1150
- mission: {
1151
- id: agentMissionId(base.id, slugify(mission.name)),
1152
- name: mission.name,
1153
- cron: mission.cron,
1154
- timezone: deps.timezone,
1155
- prompt: mission.prompt,
1156
- },
1157
- }),
1158
1202
  ...(missions.length === 0 ? {} : { missions }),
1159
1203
  };
1160
1204
  }
@@ -1360,12 +1404,46 @@ export function reloadResult(binding) {
1360
1404
  catch (err) {
1361
1405
  return {
1362
1406
  reloaded: false,
1407
+ error: err instanceof Error ? err.message : String(err),
1363
1408
  message: 'The file is written, but reloading the catalog failed, so the running surfaces still hold the ' +
1364
1409
  `previous one: ${err instanceof Error ? err.message : String(err)}. Tell the owner to fix that ` +
1365
1410
  'and run `buddi service restart`.',
1366
1411
  };
1367
1412
  }
1368
1413
  }
1414
+ /* ------------------------------------------------------------------ *
1415
+ * The agent catalogue (platform-catalogue.ts), built from the same pieces
1416
+ * ------------------------------------------------------------------ */
1417
+ const CATALOGUE_HELPERS = {
1418
+ resolved: (r) => resolved(r),
1419
+ service: (r) => resolved(r).catalogue,
1420
+ buildCreate: (input, deps) => buildCreateEnvelope(input, {
1421
+ binding: resolved(deps.registry),
1422
+ registry: deps.registry,
1423
+ proposedBy: deps.proposedBy,
1424
+ }),
1425
+ speakingAccount: (r, agentId) => speakingAccount(resolved(r), agentId),
1426
+ checkTools,
1427
+ renderCreatePreview,
1428
+ reload: (r) => reloadResult(resolved(r)),
1429
+ assignAccount: (r, agentId, account) => assignAccount(resolved(r), agentId, account),
1430
+ proposals: (r) => pluginAgentProposals(r),
1431
+ };
1432
+ /**
1433
+ * What adding (or updating) a package would do, writing nothing: the envelope
1434
+ * and the preview `platform.install_agent` would carry. For the dashboard's
1435
+ * install sheet and update sheet, and `buddi agents add` without `--yes`.
1436
+ */
1437
+ export function planCatalogueInstall(registry, input, ctx) {
1438
+ return planInstall(registry, CATALOGUE_HELPERS, input, ctx);
1439
+ }
1440
+ /** The catalogue service and the agents directory the platform tools are bound to, or undefined when unbound. */
1441
+ export function catalogueBindingOf(registry) {
1442
+ if (!bindings.get(registry))
1443
+ return undefined;
1444
+ const binding = resolved(registry);
1445
+ return { catalog: binding.catalog, agentsDir: binding.agentsDir, trashRoot: binding.trashRoot, service: binding.catalogue };
1446
+ }
1369
1447
  /* ------------------------------------------------------------------ *
1370
1448
  * The manifest
1371
1449
  * ------------------------------------------------------------------ */
@@ -1418,6 +1496,7 @@ export function renderGroupUpdate(envelope, nameOf = (id) => id) {
1418
1496
  return sentence.charAt(0).toUpperCase() + sentence.slice(1);
1419
1497
  }
1420
1498
  export function createPlatformManifest(registry) {
1499
+ const [catalogueTool, installAgent] = createCatalogueTools(registry, CATALOGUE_HELPERS);
1421
1500
  /* ---- groups: a team of agents in one conversation (docs/groups.md) ---- */
1422
1501
  const listGroups = {
1423
1502
  name: 'platform.list_groups',
@@ -1989,9 +2068,8 @@ export function createPlatformManifest(registry) {
1989
2068
  // leaves the initials, never an unfinished approval.
1990
2069
  const suggestion = findProposal(registry, input.plugin, input.agent).agent;
1991
2070
  const pictured = ctx.db ? await storeBundledMascot(ctx.db, envelope.id, suggestion.avatar) : false;
1992
- // A starter agent's first mission, approved with it: run as the new
1993
- // agent, so it is its own (`schedule.list_mine`) and it can stop it.
1994
- // A plugin's declared missions (Ledger's) are created the same way.
2071
+ // A plugin's declared missions (Ledger's), approved with it: run as the
2072
+ // new agent, so they are its own (`schedule.list_mine`) and it can stop them.
1995
2073
  const missions = ctx.db ? acceptedMissions(envelope) : [];
1996
2074
  for (const mission of missions) {
1997
2075
  await upsertMission(ctx.db, {
@@ -2005,6 +2083,8 @@ export function createPlatformManifest(registry) {
2005
2083
  await setSchedule(ctx.db, mission.id, {
2006
2084
  cron: mission.cron,
2007
2085
  timezone: mission.timezone,
2086
+ // Always the owner's zone of the moment (no proposal names one): it follows the owner.
2087
+ timezoneExplicit: false,
2008
2088
  misfirePolicy: mission.misfirePolicy ?? 'coalesce',
2009
2089
  });
2010
2090
  }
@@ -2071,20 +2151,32 @@ export function createPlatformManifest(registry) {
2071
2151
  CONDUCT,
2072
2152
  tier: 'gated',
2073
2153
  input: deleteInput,
2074
- describe(input, ctx) {
2154
+ async describe(input, ctx) {
2075
2155
  const binding = resolved(registry);
2076
- return describing((i) => buildDeleteEnvelope(i, { binding, proposedBy: ctx.agentId ?? 'unknown' }), renderDeletePreview)(input);
2156
+ const envelope = await withRemoveExtras(buildDeleteEnvelope(input, { binding, proposedBy: ctx.agentId ?? 'unknown' }), {
2157
+ binding, registry, db: ctx.db, installed: installedPluginNames(binding),
2158
+ });
2159
+ return { envelope, preview: renderDeletePreview(envelope) };
2077
2160
  },
2078
2161
  async execute(input, ctx) {
2079
2162
  const binding = resolved(registry);
2080
- const envelope = buildDeleteEnvelope(input, { binding, proposedBy: ctx.agentId ?? 'unknown' });
2163
+ const envelope = await withRemoveExtras(buildDeleteEnvelope(input, { binding, proposedBy: ctx.agentId ?? 'unknown' }), {
2164
+ binding, registry, db: ctx.db, installed: installedPluginNames(binding),
2165
+ });
2081
2166
  assertApprovedEffect(ctx, envelope);
2082
2167
  const movedTo = moveAgentAside(envelope.directory, binding.trashRoot, trashStamp(ctx.now()));
2083
2168
  const reload = reloadResult(binding);
2169
+ const paused = [];
2170
+ for (const mission of envelope.pausesMissions ?? []) {
2171
+ if (ctx.db && (await setMissionEnabled(ctx.db, mission.id, false).catch(() => null)))
2172
+ paused.push(mission.id);
2173
+ }
2084
2174
  return {
2085
2175
  ok: true,
2086
2176
  id: envelope.id,
2087
2177
  movedTo,
2178
+ ...(paused.length === 0 ? {} : { pausedMissions: paused }),
2179
+ ...(envelope.unusedPlugins ? { unusedPlugins: envelope.unusedPlugins } : {}),
2088
2180
  live: reload.reloaded,
2089
2181
  message: `@${envelope.handle} is gone from the catalog. Its files were not deleted — they are at ` +
2090
2182
  `${movedTo}, and moving that directory back restores the agent. ${reload.message}`,
@@ -2115,6 +2207,8 @@ export function createPlatformManifest(registry) {
2115
2207
  deleteAgent,
2116
2208
  acceptPluginAgent,
2117
2209
  acceptPluginSkill,
2210
+ catalogueTool,
2211
+ installAgent,
2118
2212
  ],
2119
2213
  };
2120
2214
  }