@withbuddi/buddi 0.1.0-pre.35 → 0.1.0-pre.37

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 (832) hide show
  1. package/examples/agents/concierge/agent.md +5 -0
  2. package/examples/skills/letterhead/SKILL.md +21 -0
  3. package/examples/skills/letterhead/assets/letterhead.md +16 -0
  4. package/examples/skills/letterhead/assets/logo.svg +6 -0
  5. package/extension/manifest.json +2 -2
  6. package/node_modules/@buddi/cli/dist/.tsbuildinfo +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 +44 -3
  9. package/node_modules/@buddi/cli/dist/doctor-probes.js.map +1 -1
  10. package/node_modules/@buddi/cli/dist/doctor.d.ts +37 -0
  11. package/node_modules/@buddi/cli/dist/doctor.d.ts.map +1 -1
  12. package/node_modules/@buddi/cli/dist/doctor.js +37 -0
  13. package/node_modules/@buddi/cli/dist/doctor.js.map +1 -1
  14. package/node_modules/@buddi/core/dist/.tsbuildinfo +1 -1
  15. package/node_modules/@buddi/core/dist/actions/approvals.d.ts +7 -0
  16. package/node_modules/@buddi/core/dist/actions/approvals.d.ts.map +1 -1
  17. package/node_modules/@buddi/core/dist/actions/approvals.js +11 -1
  18. package/node_modules/@buddi/core/dist/actions/approvals.js.map +1 -1
  19. package/node_modules/@buddi/core/dist/agents/catalog.d.ts.map +1 -1
  20. package/node_modules/@buddi/core/dist/agents/catalog.js +2 -2
  21. package/node_modules/@buddi/core/dist/agents/catalog.js.map +1 -1
  22. package/node_modules/@buddi/core/dist/agents/skills.d.ts +60 -1
  23. package/node_modules/@buddi/core/dist/agents/skills.d.ts.map +1 -1
  24. package/node_modules/@buddi/core/dist/agents/skills.js +157 -17
  25. package/node_modules/@buddi/core/dist/agents/skills.js.map +1 -1
  26. package/node_modules/@buddi/core/dist/day-month.d.ts +52 -0
  27. package/node_modules/@buddi/core/dist/day-month.d.ts.map +1 -0
  28. package/node_modules/@buddi/core/dist/day-month.js +101 -0
  29. package/node_modules/@buddi/core/dist/day-month.js.map +1 -0
  30. package/node_modules/@buddi/core/dist/host/build.d.ts +25 -2
  31. package/node_modules/@buddi/core/dist/host/build.d.ts.map +1 -1
  32. package/node_modules/@buddi/core/dist/host/build.js +169 -8
  33. package/node_modules/@buddi/core/dist/host/build.js.map +1 -1
  34. package/node_modules/@buddi/core/dist/host/http.d.ts +97 -0
  35. package/node_modules/@buddi/core/dist/host/http.d.ts.map +1 -1
  36. package/node_modules/@buddi/core/dist/host/http.js +321 -26
  37. package/node_modules/@buddi/core/dist/host/http.js.map +1 -1
  38. package/node_modules/@buddi/core/dist/host/types.d.ts +114 -4
  39. package/node_modules/@buddi/core/dist/host/types.d.ts.map +1 -1
  40. package/node_modules/@buddi/core/dist/index.d.ts +3 -0
  41. package/node_modules/@buddi/core/dist/index.d.ts.map +1 -1
  42. package/node_modules/@buddi/core/dist/index.js +3 -0
  43. package/node_modules/@buddi/core/dist/index.js.map +1 -1
  44. package/node_modules/@buddi/core/dist/notifications/notify.d.ts.map +1 -1
  45. package/node_modules/@buddi/core/dist/notifications/notify.js +10 -6
  46. package/node_modules/@buddi/core/dist/notifications/notify.js.map +1 -1
  47. package/node_modules/@buddi/core/dist/notifications/store.d.ts.map +1 -1
  48. package/node_modules/@buddi/core/dist/notifications/store.js +2 -1
  49. package/node_modules/@buddi/core/dist/notifications/store.js.map +1 -1
  50. package/node_modules/@buddi/core/dist/notifications/types.d.ts +8 -0
  51. package/node_modules/@buddi/core/dist/notifications/types.d.ts.map +1 -1
  52. package/node_modules/@buddi/core/dist/notifications/types.js.map +1 -1
  53. package/node_modules/@buddi/core/dist/onboarding/store.d.ts.map +1 -1
  54. package/node_modules/@buddi/core/dist/onboarding/store.js +28 -5
  55. package/node_modules/@buddi/core/dist/onboarding/store.js.map +1 -1
  56. package/node_modules/@buddi/core/dist/onboarding/types.d.ts +10 -0
  57. package/node_modules/@buddi/core/dist/onboarding/types.d.ts.map +1 -1
  58. package/node_modules/@buddi/core/dist/onboarding/types.js.map +1 -1
  59. package/node_modules/@buddi/core/dist/pages.d.ts +449 -20
  60. package/node_modules/@buddi/core/dist/pages.d.ts.map +1 -1
  61. package/node_modules/@buddi/core/dist/pages.js +223 -8
  62. package/node_modules/@buddi/core/dist/pages.js.map +1 -1
  63. package/node_modules/@buddi/core/dist/plugin/assets.d.ts +52 -0
  64. package/node_modules/@buddi/core/dist/plugin/assets.d.ts.map +1 -0
  65. package/node_modules/@buddi/core/dist/plugin/assets.js +59 -0
  66. package/node_modules/@buddi/core/dist/plugin/assets.js.map +1 -0
  67. package/node_modules/@buddi/core/dist/plugin/index.d.ts +10 -4
  68. package/node_modules/@buddi/core/dist/plugin/index.d.ts.map +1 -1
  69. package/node_modules/@buddi/core/dist/plugin/index.js +4 -1
  70. package/node_modules/@buddi/core/dist/plugin/index.js.map +1 -1
  71. package/node_modules/@buddi/core/dist/plugin/requires.d.ts +3 -1
  72. package/node_modules/@buddi/core/dist/plugin/requires.d.ts.map +1 -1
  73. package/node_modules/@buddi/core/dist/plugin/requires.js +5 -3
  74. package/node_modules/@buddi/core/dist/plugin/requires.js.map +1 -1
  75. package/node_modules/@buddi/core/dist/plugin/sign-in.d.ts +78 -0
  76. package/node_modules/@buddi/core/dist/plugin/sign-in.d.ts.map +1 -0
  77. package/node_modules/@buddi/core/dist/plugin/sign-in.js +54 -0
  78. package/node_modules/@buddi/core/dist/plugin/sign-in.js.map +1 -0
  79. package/node_modules/@buddi/core/dist/plugin/uses.d.ts +1 -1
  80. package/node_modules/@buddi/core/dist/plugin/uses.d.ts.map +1 -1
  81. package/node_modules/@buddi/core/dist/plugin/uses.js +2 -0
  82. package/node_modules/@buddi/core/dist/plugin/uses.js.map +1 -1
  83. package/node_modules/@buddi/core/dist/plugin/version.d.ts +1 -1
  84. package/node_modules/@buddi/core/dist/plugin/version.js +1 -1
  85. package/node_modules/@buddi/core/dist/plugin-assets.d.ts +21 -0
  86. package/node_modules/@buddi/core/dist/plugin-assets.d.ts.map +1 -0
  87. package/node_modules/@buddi/core/dist/plugin-assets.js +140 -0
  88. package/node_modules/@buddi/core/dist/plugin-assets.js.map +1 -0
  89. package/node_modules/@buddi/core/dist/provider-accounts.d.ts +7 -0
  90. package/node_modules/@buddi/core/dist/provider-accounts.d.ts.map +1 -1
  91. package/node_modules/@buddi/core/dist/provider-accounts.js +15 -0
  92. package/node_modules/@buddi/core/dist/provider-accounts.js.map +1 -1
  93. package/node_modules/@buddi/core/dist/questions/types.d.ts +1 -1
  94. package/node_modules/@buddi/core/dist/questions/types.js +1 -1
  95. package/node_modules/@buddi/core/dist/queue/jobs.d.ts +57 -2
  96. package/node_modules/@buddi/core/dist/queue/jobs.d.ts.map +1 -1
  97. package/node_modules/@buddi/core/dist/queue/jobs.js +114 -0
  98. package/node_modules/@buddi/core/dist/queue/jobs.js.map +1 -1
  99. package/node_modules/@buddi/core/dist/queue/worker.d.ts +24 -2
  100. package/node_modules/@buddi/core/dist/queue/worker.d.ts.map +1 -1
  101. package/node_modules/@buddi/core/dist/queue/worker.js +66 -11
  102. package/node_modules/@buddi/core/dist/queue/worker.js.map +1 -1
  103. package/node_modules/@buddi/core/dist/registry.d.ts +17 -0
  104. package/node_modules/@buddi/core/dist/registry.d.ts.map +1 -1
  105. package/node_modules/@buddi/core/dist/registry.js +48 -4
  106. package/node_modules/@buddi/core/dist/registry.js.map +1 -1
  107. package/node_modules/@buddi/core/dist/scheduler/missions.d.ts +14 -0
  108. package/node_modules/@buddi/core/dist/scheduler/missions.d.ts.map +1 -1
  109. package/node_modules/@buddi/core/dist/scheduler/missions.js +17 -4
  110. package/node_modules/@buddi/core/dist/scheduler/missions.js.map +1 -1
  111. package/node_modules/@buddi/core/dist/scheduler/types.d.ts +13 -0
  112. package/node_modules/@buddi/core/dist/scheduler/types.d.ts.map +1 -1
  113. package/node_modules/@buddi/core/dist/scheduler/types.js +14 -0
  114. package/node_modules/@buddi/core/dist/scheduler/types.js.map +1 -1
  115. package/node_modules/@buddi/core/dist/secrets/scrub.d.ts.map +1 -1
  116. package/node_modules/@buddi/core/dist/secrets/scrub.js +15 -0
  117. package/node_modules/@buddi/core/dist/secrets/scrub.js.map +1 -1
  118. package/node_modules/@buddi/core/dist/surfaces.d.ts +10 -0
  119. package/node_modules/@buddi/core/dist/surfaces.d.ts.map +1 -1
  120. package/node_modules/@buddi/core/dist/surfaces.js +11 -0
  121. package/node_modules/@buddi/core/dist/surfaces.js.map +1 -1
  122. package/node_modules/@buddi/core/dist/tools.d.ts +72 -1
  123. package/node_modules/@buddi/core/dist/tools.d.ts.map +1 -1
  124. package/node_modules/@buddi/core/dist/tools.js +38 -0
  125. package/node_modules/@buddi/core/dist/tools.js.map +1 -1
  126. package/node_modules/@buddi/core/dist/views.d.ts +29 -12
  127. package/node_modules/@buddi/core/dist/views.d.ts.map +1 -1
  128. package/node_modules/@buddi/core/dist/views.js +1 -0
  129. package/node_modules/@buddi/core/dist/views.js.map +1 -1
  130. package/node_modules/@buddi/core/dist/widget-settings.d.ts +2 -1
  131. package/node_modules/@buddi/core/dist/widget-settings.d.ts.map +1 -1
  132. package/node_modules/@buddi/core/dist/widget-settings.js +8 -2
  133. package/node_modules/@buddi/core/dist/widget-settings.js.map +1 -1
  134. package/node_modules/@buddi/core/dist/widgets.d.ts +46 -3
  135. package/node_modules/@buddi/core/dist/widgets.d.ts.map +1 -1
  136. package/node_modules/@buddi/core/dist/widgets.js +68 -5
  137. package/node_modules/@buddi/core/dist/widgets.js.map +1 -1
  138. package/node_modules/@buddi/core/migrations/073_mission_report.sql +15 -0
  139. package/node_modules/@buddi/core/migrations/074_owner_identity.sql +14 -0
  140. package/node_modules/@buddi/gateway/dist/.tsbuildinfo +1 -1
  141. package/node_modules/@buddi/gateway/dist/agents/catalog.d.ts.map +1 -1
  142. package/node_modules/@buddi/gateway/dist/agents/catalog.js +3 -3
  143. package/node_modules/@buddi/gateway/dist/agents/catalog.js.map +1 -1
  144. package/node_modules/@buddi/gateway/dist/agents/catalogue-package.d.ts +76 -0
  145. package/node_modules/@buddi/gateway/dist/agents/catalogue-package.d.ts.map +1 -1
  146. package/node_modules/@buddi/gateway/dist/agents/catalogue-package.js +29 -5
  147. package/node_modules/@buddi/gateway/dist/agents/catalogue-package.js.map +1 -1
  148. package/node_modules/@buddi/gateway/dist/agents/owner-text.d.ts +19 -0
  149. package/node_modules/@buddi/gateway/dist/agents/owner-text.d.ts.map +1 -0
  150. package/node_modules/@buddi/gateway/dist/agents/owner-text.js +44 -0
  151. package/node_modules/@buddi/gateway/dist/agents/owner-text.js.map +1 -0
  152. package/node_modules/@buddi/gateway/dist/agents/owner-tools.d.ts.map +1 -1
  153. package/node_modules/@buddi/gateway/dist/agents/owner-tools.js +36 -2
  154. package/node_modules/@buddi/gateway/dist/agents/owner-tools.js.map +1 -1
  155. package/node_modules/@buddi/gateway/dist/agents/platform-catalogue.d.ts +68 -3
  156. package/node_modules/@buddi/gateway/dist/agents/platform-catalogue.d.ts.map +1 -1
  157. package/node_modules/@buddi/gateway/dist/agents/platform-catalogue.js +264 -32
  158. package/node_modules/@buddi/gateway/dist/agents/platform-catalogue.js.map +1 -1
  159. package/node_modules/@buddi/gateway/dist/agents/platform.d.ts +11 -4
  160. package/node_modules/@buddi/gateway/dist/agents/platform.d.ts.map +1 -1
  161. package/node_modules/@buddi/gateway/dist/agents/platform.js +15 -0
  162. package/node_modules/@buddi/gateway/dist/agents/platform.js.map +1 -1
  163. package/node_modules/@buddi/gateway/dist/bootstrap.d.ts.map +1 -1
  164. package/node_modules/@buddi/gateway/dist/bootstrap.js +7 -1
  165. package/node_modules/@buddi/gateway/dist/bootstrap.js.map +1 -1
  166. package/node_modules/@buddi/gateway/dist/evals/golden.d.ts +33 -1
  167. package/node_modules/@buddi/gateway/dist/evals/golden.d.ts.map +1 -1
  168. package/node_modules/@buddi/gateway/dist/evals/golden.js +168 -3
  169. package/node_modules/@buddi/gateway/dist/evals/golden.js.map +1 -1
  170. package/node_modules/@buddi/gateway/dist/index.d.ts +2 -1
  171. package/node_modules/@buddi/gateway/dist/index.d.ts.map +1 -1
  172. package/node_modules/@buddi/gateway/dist/index.js +2 -1
  173. package/node_modules/@buddi/gateway/dist/index.js.map +1 -1
  174. package/node_modules/@buddi/gateway/dist/missions/agent-run.d.ts.map +1 -1
  175. package/node_modules/@buddi/gateway/dist/missions/agent-run.js +2 -0
  176. package/node_modules/@buddi/gateway/dist/missions/agent-run.js.map +1 -1
  177. package/node_modules/@buddi/gateway/dist/missions/dates.d.ts +98 -0
  178. package/node_modules/@buddi/gateway/dist/missions/dates.d.ts.map +1 -0
  179. package/node_modules/@buddi/gateway/dist/missions/dates.js +252 -0
  180. package/node_modules/@buddi/gateway/dist/missions/dates.js.map +1 -0
  181. package/node_modules/@buddi/gateway/dist/missions/defaults.d.ts.map +1 -1
  182. package/node_modules/@buddi/gateway/dist/missions/defaults.js +2 -0
  183. package/node_modules/@buddi/gateway/dist/missions/defaults.js.map +1 -1
  184. package/node_modules/@buddi/gateway/dist/missions/execute.d.ts +25 -1
  185. package/node_modules/@buddi/gateway/dist/missions/execute.d.ts.map +1 -1
  186. package/node_modules/@buddi/gateway/dist/missions/execute.js +80 -8
  187. package/node_modules/@buddi/gateway/dist/missions/execute.js.map +1 -1
  188. package/node_modules/@buddi/gateway/dist/missions/report.d.ts +25 -2
  189. package/node_modules/@buddi/gateway/dist/missions/report.d.ts.map +1 -1
  190. package/node_modules/@buddi/gateway/dist/missions/report.js +71 -11
  191. package/node_modules/@buddi/gateway/dist/missions/report.js.map +1 -1
  192. package/node_modules/@buddi/gateway/dist/ollama-local.d.ts +90 -0
  193. package/node_modules/@buddi/gateway/dist/ollama-local.d.ts.map +1 -0
  194. package/node_modules/@buddi/gateway/dist/ollama-local.js +201 -0
  195. package/node_modules/@buddi/gateway/dist/ollama-local.js.map +1 -0
  196. package/node_modules/@buddi/gateway/dist/owner-notify.d.ts.map +1 -1
  197. package/node_modules/@buddi/gateway/dist/owner-notify.js +7 -3
  198. package/node_modules/@buddi/gateway/dist/owner-notify.js.map +1 -1
  199. package/node_modules/@buddi/gateway/dist/plugins/asset-image-worker.d.ts +2 -0
  200. package/node_modules/@buddi/gateway/dist/plugins/asset-image-worker.d.ts.map +1 -0
  201. package/node_modules/@buddi/gateway/dist/plugins/asset-image-worker.js +18 -0
  202. package/node_modules/@buddi/gateway/dist/plugins/asset-image-worker.js.map +1 -0
  203. package/node_modules/@buddi/gateway/dist/plugins/asset-image.d.ts +31 -0
  204. package/node_modules/@buddi/gateway/dist/plugins/asset-image.d.ts.map +1 -0
  205. package/node_modules/@buddi/gateway/dist/plugins/asset-image.js +332 -0
  206. package/node_modules/@buddi/gateway/dist/plugins/asset-image.js.map +1 -0
  207. package/node_modules/@buddi/gateway/dist/plugins/load.d.ts.map +1 -1
  208. package/node_modules/@buddi/gateway/dist/plugins/load.js +14 -1
  209. package/node_modules/@buddi/gateway/dist/plugins/load.js.map +1 -1
  210. package/node_modules/@buddi/gateway/dist/plugins/stage.d.ts +6 -0
  211. package/node_modules/@buddi/gateway/dist/plugins/stage.d.ts.map +1 -1
  212. package/node_modules/@buddi/gateway/dist/plugins/stage.js +5 -0
  213. package/node_modules/@buddi/gateway/dist/plugins/stage.js.map +1 -1
  214. package/node_modules/@buddi/gateway/dist/plugins/uninstall.d.ts.map +1 -1
  215. package/node_modules/@buddi/gateway/dist/plugins/uninstall.js +8 -0
  216. package/node_modules/@buddi/gateway/dist/plugins/uninstall.js.map +1 -1
  217. package/node_modules/@buddi/gateway/dist/plugins-cli.d.ts +8 -0
  218. package/node_modules/@buddi/gateway/dist/plugins-cli.d.ts.map +1 -1
  219. package/node_modules/@buddi/gateway/dist/plugins-cli.js +22 -1
  220. package/node_modules/@buddi/gateway/dist/plugins-cli.js.map +1 -1
  221. package/node_modules/@buddi/gateway/dist/serve.d.ts.map +1 -1
  222. package/node_modules/@buddi/gateway/dist/serve.js +50 -5
  223. package/node_modules/@buddi/gateway/dist/serve.js.map +1 -1
  224. package/node_modules/@buddi/gateway/dist/surfaces/pending-question.js +2 -2
  225. package/node_modules/@buddi/gateway/dist/system-context.d.ts +21 -1
  226. package/node_modules/@buddi/gateway/dist/system-context.d.ts.map +1 -1
  227. package/node_modules/@buddi/gateway/dist/system-context.js +76 -2
  228. package/node_modules/@buddi/gateway/dist/system-context.js.map +1 -1
  229. package/node_modules/@buddi/gateway/dist/telegram/approvals.d.ts.map +1 -1
  230. package/node_modules/@buddi/gateway/dist/telegram/approvals.js +4 -2
  231. package/node_modules/@buddi/gateway/dist/telegram/approvals.js.map +1 -1
  232. package/node_modules/@buddi/gateway/dist/telegram/channel.d.ts +12 -0
  233. package/node_modules/@buddi/gateway/dist/telegram/channel.d.ts.map +1 -1
  234. package/node_modules/@buddi/gateway/dist/telegram/channel.js +49 -2
  235. package/node_modules/@buddi/gateway/dist/telegram/channel.js.map +1 -1
  236. package/node_modules/@buddi/gateway/dist/telegram/html.d.ts +34 -0
  237. package/node_modules/@buddi/gateway/dist/telegram/html.d.ts.map +1 -0
  238. package/node_modules/@buddi/gateway/dist/telegram/html.js +263 -0
  239. package/node_modules/@buddi/gateway/dist/telegram/html.js.map +1 -0
  240. package/node_modules/@buddi/gateway/dist/telegram/notify.d.ts +6 -0
  241. package/node_modules/@buddi/gateway/dist/telegram/notify.d.ts.map +1 -1
  242. package/node_modules/@buddi/gateway/dist/telegram/notify.js +25 -3
  243. package/node_modules/@buddi/gateway/dist/telegram/notify.js.map +1 -1
  244. package/node_modules/@buddi/gateway/dist/tips/facts.d.ts +2 -0
  245. package/node_modules/@buddi/gateway/dist/tips/facts.d.ts.map +1 -1
  246. package/node_modules/@buddi/gateway/dist/tips/facts.js +4 -1
  247. package/node_modules/@buddi/gateway/dist/tips/facts.js.map +1 -1
  248. package/node_modules/@buddi/gateway/dist/tips/rules.d.ts.map +1 -1
  249. package/node_modules/@buddi/gateway/dist/tips/rules.js +10 -0
  250. package/node_modules/@buddi/gateway/dist/tips/rules.js.map +1 -1
  251. package/node_modules/@buddi/gateway/dist/web/api-routes.d.ts.map +1 -1
  252. package/node_modules/@buddi/gateway/dist/web/api-routes.js +80 -11
  253. package/node_modules/@buddi/gateway/dist/web/api-routes.js.map +1 -1
  254. package/node_modules/@buddi/gateway/dist/web/api-scan.d.ts +1 -1
  255. package/node_modules/@buddi/gateway/dist/web/api-scan.d.ts.map +1 -1
  256. package/node_modules/@buddi/gateway/dist/web/api-scan.js +1 -0
  257. package/node_modules/@buddi/gateway/dist/web/api-scan.js.map +1 -1
  258. package/node_modules/@buddi/gateway/dist/web/catalogue.d.ts.map +1 -1
  259. package/node_modules/@buddi/gateway/dist/web/catalogue.js +7 -4
  260. package/node_modules/@buddi/gateway/dist/web/catalogue.js.map +1 -1
  261. package/node_modules/@buddi/gateway/dist/web/chat.d.ts.map +1 -1
  262. package/node_modules/@buddi/gateway/dist/web/chat.js +9 -0
  263. package/node_modules/@buddi/gateway/dist/web/chat.js.map +1 -1
  264. package/node_modules/@buddi/gateway/dist/web/composer.d.ts +45 -0
  265. package/node_modules/@buddi/gateway/dist/web/composer.d.ts.map +1 -0
  266. package/node_modules/@buddi/gateway/dist/web/composer.js +85 -0
  267. package/node_modules/@buddi/gateway/dist/web/composer.js.map +1 -0
  268. package/node_modules/@buddi/gateway/dist/web/extension.d.ts +12 -0
  269. package/node_modules/@buddi/gateway/dist/web/extension.d.ts.map +1 -1
  270. package/node_modules/@buddi/gateway/dist/web/extension.js +11 -1
  271. package/node_modules/@buddi/gateway/dist/web/extension.js.map +1 -1
  272. package/node_modules/@buddi/gateway/dist/web/lock.d.ts +6 -0
  273. package/node_modules/@buddi/gateway/dist/web/lock.d.ts.map +1 -1
  274. package/node_modules/@buddi/gateway/dist/web/lock.js +33 -2
  275. package/node_modules/@buddi/gateway/dist/web/lock.js.map +1 -1
  276. package/node_modules/@buddi/gateway/dist/web/market.d.ts +20 -1
  277. package/node_modules/@buddi/gateway/dist/web/market.d.ts.map +1 -1
  278. package/node_modules/@buddi/gateway/dist/web/market.js +41 -1
  279. package/node_modules/@buddi/gateway/dist/web/market.js.map +1 -1
  280. package/node_modules/@buddi/gateway/dist/web/people.d.ts +44 -0
  281. package/node_modules/@buddi/gateway/dist/web/people.d.ts.map +1 -0
  282. package/node_modules/@buddi/gateway/dist/web/people.js +114 -0
  283. package/node_modules/@buddi/gateway/dist/web/people.js.map +1 -0
  284. package/node_modules/@buddi/gateway/dist/web/server.d.ts +4 -0
  285. package/node_modules/@buddi/gateway/dist/web/server.d.ts.map +1 -1
  286. package/node_modules/@buddi/gateway/dist/web/server.js +171 -13
  287. package/node_modules/@buddi/gateway/dist/web/server.js.map +1 -1
  288. package/node_modules/@buddi/gateway/dist/web/skill-bundles.d.ts +101 -0
  289. package/node_modules/@buddi/gateway/dist/web/skill-bundles.d.ts.map +1 -0
  290. package/node_modules/@buddi/gateway/dist/web/skill-bundles.js +439 -0
  291. package/node_modules/@buddi/gateway/dist/web/skill-bundles.js.map +1 -0
  292. package/node_modules/@buddi/gateway/dist/web/skills.d.ts +57 -1
  293. package/node_modules/@buddi/gateway/dist/web/skills.d.ts.map +1 -1
  294. package/node_modules/@buddi/gateway/dist/web/skills.js +171 -9
  295. package/node_modules/@buddi/gateway/dist/web/skills.js.map +1 -1
  296. package/node_modules/@buddi/gateway/dist/web/widgets.js +2 -2
  297. package/node_modules/@buddi/gateway/dist/web/widgets.js.map +1 -1
  298. package/node_modules/@buddi/gateway/dist/web/zip-read.d.ts +31 -0
  299. package/node_modules/@buddi/gateway/dist/web/zip-read.d.ts.map +1 -0
  300. package/node_modules/@buddi/gateway/dist/web/zip-read.js +125 -0
  301. package/node_modules/@buddi/gateway/dist/web/zip-read.js.map +1 -0
  302. package/node_modules/@buddi/install/dist/.tsbuildinfo +1 -1
  303. package/node_modules/@buddi/runtime/dist/.tsbuildinfo +1 -1
  304. package/node_modules/@buddi/runtime/dist/index.d.ts +1 -0
  305. package/node_modules/@buddi/runtime/dist/index.d.ts.map +1 -1
  306. package/node_modules/@buddi/runtime/dist/index.js +1 -0
  307. package/node_modules/@buddi/runtime/dist/index.js.map +1 -1
  308. package/node_modules/@buddi/runtime/dist/loop.js +11 -1
  309. package/node_modules/@buddi/runtime/dist/loop.js.map +1 -1
  310. package/node_modules/@buddi/runtime/dist/plugin-sign-in.d.ts +12 -0
  311. package/node_modules/@buddi/runtime/dist/plugin-sign-in.d.ts.map +1 -0
  312. package/node_modules/@buddi/runtime/dist/plugin-sign-in.js +397 -0
  313. package/node_modules/@buddi/runtime/dist/plugin-sign-in.js.map +1 -0
  314. package/node_modules/@buddi/runtime/dist/transport.d.ts +1 -1
  315. package/node_modules/@buddi/runtime/dist/transport.d.ts.map +1 -1
  316. package/node_modules/@buddi/runtime/dist/transport.js +6 -0
  317. package/node_modules/@buddi/runtime/dist/transport.js.map +1 -1
  318. package/node_modules/@buddi/tool-artifacts/dist/.tsbuildinfo +1 -1
  319. package/node_modules/@buddi/tool-artifacts/dist/tools/write.d.ts.map +1 -1
  320. package/node_modules/@buddi/tool-artifacts/dist/tools/write.js +1 -0
  321. package/node_modules/@buddi/tool-artifacts/dist/tools/write.js.map +1 -1
  322. package/node_modules/@buddi/tool-browser/dist/.tsbuildinfo +1 -1
  323. package/node_modules/@buddi/tool-browser/dist/computer.d.ts +13 -0
  324. package/node_modules/@buddi/tool-browser/dist/computer.d.ts.map +1 -1
  325. package/node_modules/@buddi/tool-browser/dist/computer.js +22 -2
  326. package/node_modules/@buddi/tool-browser/dist/computer.js.map +1 -1
  327. package/node_modules/@buddi/tool-browser/dist/controller.d.ts +4 -0
  328. package/node_modules/@buddi/tool-browser/dist/controller.d.ts.map +1 -1
  329. package/node_modules/@buddi/tool-browser/dist/controller.js +8 -3
  330. package/node_modules/@buddi/tool-browser/dist/controller.js.map +1 -1
  331. package/node_modules/@buddi/tool-browser/dist/index.d.ts +1 -1
  332. package/node_modules/@buddi/tool-browser/dist/index.d.ts.map +1 -1
  333. package/node_modules/@buddi/tool-browser/dist/index.js +1 -1
  334. package/node_modules/@buddi/tool-browser/dist/index.js.map +1 -1
  335. package/node_modules/@buddi/tool-browser/dist/native/buddi-computer +0 -0
  336. package/node_modules/@buddi/tool-browser/dist/service.d.ts +5 -0
  337. package/node_modules/@buddi/tool-browser/dist/service.d.ts.map +1 -1
  338. package/node_modules/@buddi/tool-browser/dist/service.js.map +1 -1
  339. package/node_modules/@buddi/tool-email/dist/.tsbuildinfo +1 -1
  340. package/node_modules/@buddi/tool-email/dist/widgets.d.ts.map +1 -1
  341. package/node_modules/@buddi/tool-email/dist/widgets.js +2 -1
  342. package/node_modules/@buddi/tool-email/dist/widgets.js.map +1 -1
  343. package/node_modules/@buddi/tool-host/dist/.tsbuildinfo +1 -1
  344. package/node_modules/@buddi/tool-host/dist/index.d.ts +2 -1
  345. package/node_modules/@buddi/tool-host/dist/index.d.ts.map +1 -1
  346. package/node_modules/@buddi/tool-host/dist/index.js +3 -2
  347. package/node_modules/@buddi/tool-host/dist/index.js.map +1 -1
  348. package/node_modules/@buddi/tool-host/dist/process.d.ts +4 -0
  349. package/node_modules/@buddi/tool-host/dist/process.d.ts.map +1 -1
  350. package/node_modules/@buddi/tool-host/dist/process.js +4 -2
  351. package/node_modules/@buddi/tool-host/dist/process.js.map +1 -1
  352. package/node_modules/@buddi/tool-host/dist/service.d.ts +66 -17
  353. package/node_modules/@buddi/tool-host/dist/service.d.ts.map +1 -1
  354. package/node_modules/@buddi/tool-host/dist/service.js +172 -9
  355. package/node_modules/@buddi/tool-host/dist/service.js.map +1 -1
  356. package/node_modules/@buddi/tool-host/dist/skill-run.d.ts +55 -0
  357. package/node_modules/@buddi/tool-host/dist/skill-run.d.ts.map +1 -0
  358. package/node_modules/@buddi/tool-host/dist/skill-run.js +132 -0
  359. package/node_modules/@buddi/tool-host/dist/skill-run.js.map +1 -0
  360. package/node_modules/@buddi/tool-mcp/dist/.tsbuildinfo +1 -1
  361. package/node_modules/@buddi/tool-memory/dist/.tsbuildinfo +1 -1
  362. package/node_modules/@buddi/tool-memory/dist/index.d.ts +1 -0
  363. package/node_modules/@buddi/tool-memory/dist/index.d.ts.map +1 -1
  364. package/node_modules/@buddi/tool-memory/dist/index.js +7 -2
  365. package/node_modules/@buddi/tool-memory/dist/index.js.map +1 -1
  366. package/node_modules/@buddi/tool-memory/dist/people.d.ts +218 -0
  367. package/node_modules/@buddi/tool-memory/dist/people.d.ts.map +1 -0
  368. package/node_modules/@buddi/tool-memory/dist/people.js +582 -0
  369. package/node_modules/@buddi/tool-memory/dist/people.js.map +1 -0
  370. package/node_modules/@buddi/tool-memory/dist/preamble.d.ts +4 -1
  371. package/node_modules/@buddi/tool-memory/dist/preamble.d.ts.map +1 -1
  372. package/node_modules/@buddi/tool-memory/dist/preamble.js +25 -7
  373. package/node_modules/@buddi/tool-memory/dist/preamble.js.map +1 -1
  374. package/node_modules/@buddi/tool-memory/migrations/002_people.sql +40 -0
  375. package/node_modules/@buddi/tool-web/dist/.tsbuildinfo +1 -1
  376. package/node_modules/imapflow/CHANGELOG.md +8 -0
  377. package/node_modules/imapflow/dist/cjs/commands/append.js +27 -3
  378. package/node_modules/imapflow/dist/cjs/commands/store.js +31 -6
  379. package/node_modules/imapflow/dist/cjs/imap-flow.d.ts +1 -1
  380. package/node_modules/imapflow/dist/cjs/imap-flow.js +1 -1
  381. package/node_modules/imapflow/dist/cjs/package-info.d.ts +1 -1
  382. package/node_modules/imapflow/dist/cjs/package-info.js +1 -1
  383. package/node_modules/imapflow/dist/esm/commands/append.js +27 -3
  384. package/node_modules/imapflow/dist/esm/commands/store.js +31 -6
  385. package/node_modules/imapflow/dist/esm/imap-flow.d.ts +1 -1
  386. package/node_modules/imapflow/dist/esm/imap-flow.js +1 -1
  387. package/node_modules/imapflow/dist/esm/package-info.d.ts +1 -1
  388. package/node_modules/imapflow/dist/esm/package-info.js +1 -1
  389. package/node_modules/imapflow/package.json +4 -4
  390. package/node_modules/pino/CONTRIBUTING.md +5 -1
  391. package/node_modules/pino/LICENSE +1 -1
  392. package/node_modules/pino/README.md +1 -1
  393. package/node_modules/pino/SECURITY.md +18 -2
  394. package/node_modules/pino/browser.js +68 -8
  395. package/node_modules/pino/docs/api.md +75 -4
  396. package/node_modules/pino/docs/asynchronous.md +18 -3
  397. package/node_modules/pino/docs/browser.md +63 -0
  398. package/node_modules/pino/docs/child-loggers.md +22 -1
  399. package/node_modules/pino/docs/ecosystem.md +1 -0
  400. package/node_modules/pino/docs/help.md +11 -3
  401. package/node_modules/pino/docs/lts.md +29 -0
  402. package/node_modules/pino/docs/pretty.md +3 -0
  403. package/node_modules/pino/docs/redaction.md +3 -8
  404. package/node_modules/pino/docs/transports.md +71 -0
  405. package/node_modules/pino/docs/web.md +11 -14
  406. package/node_modules/pino/eslint.config.js +15 -7
  407. package/node_modules/pino/lib/caller.js +10 -0
  408. package/node_modules/pino/lib/meta.js +1 -1
  409. package/node_modules/pino/lib/multistream.js +15 -7
  410. package/node_modules/pino/lib/redaction.js +8 -3
  411. package/node_modules/pino/lib/symbols.js +3 -1
  412. package/node_modules/pino/lib/tools.js +2 -2
  413. package/node_modules/pino/lib/transport.js +14 -1
  414. package/node_modules/pino/lib/worker.js +4 -1
  415. package/node_modules/pino/package.json +14 -22
  416. package/node_modules/pino/pino.d.ts +709 -736
  417. package/node_modules/pino/pino.js +27 -2
  418. package/node_modules/pino/test/basic.test.js +66 -0
  419. package/node_modules/pino/test/browser-bindings.test.js +114 -0
  420. package/node_modules/pino/test/browser-redaction.test.js +264 -0
  421. package/node_modules/pino/test/browser-set-bindings.test.js +99 -0
  422. package/node_modules/pino/test/caller.test.js +20 -0
  423. package/node_modules/pino/test/escaping.test.js +17 -0
  424. package/node_modules/pino/test/fixtures/caller-loop.js +6 -0
  425. package/node_modules/pino/test/fixtures/ts/transpile.cjs +3 -3
  426. package/node_modules/pino/test/helper.js +6 -2
  427. package/node_modules/pino/test/multistream.test.js +64 -0
  428. package/node_modules/pino/test/redact.test.js +30 -0
  429. package/node_modules/pino/test/smoke.js +59 -0
  430. package/node_modules/pino/test/transport/core.test.js +85 -0
  431. package/node_modules/pino/test/transport/sync-false.test.js +12 -0
  432. package/node_modules/pino/test/transport/uses-pino-config.test.js +4 -4
  433. package/node_modules/pino/test/types/pino-import.tst.cts +30 -0
  434. package/node_modules/pino/test/types/pino-import.tst.js +73 -0
  435. package/node_modules/pino/test/types/pino-multistream.tst.ts +49 -0
  436. package/node_modules/pino/test/types/pino-top-export.tst.ts +32 -0
  437. package/node_modules/pino/test/types/{pino-transport.test-d.ts → pino-transport.tst.ts} +85 -70
  438. package/node_modules/pino/test/types/pino-type-only.tst.ts +77 -0
  439. package/node_modules/pino/test/types/pino.ts +14 -7
  440. package/node_modules/pino/test/types/{pino.test-d.ts → pino.tst.ts} +135 -137
  441. package/node_modules/pino/test/types/tsconfig.json +10 -0
  442. package/node_modules/pino/tsconfig.json +6 -6
  443. package/node_modules/real-require/README.md +6 -6
  444. package/node_modules/real-require/package.json +10 -21
  445. package/node_modules/real-require/src/index.js +2 -2
  446. package/package.json +2 -2
  447. package/packages/cli/dist/.tsbuildinfo +1 -1
  448. package/packages/cli/dist/doctor-probes.d.ts.map +1 -1
  449. package/packages/cli/dist/doctor-probes.js +44 -3
  450. package/packages/cli/dist/doctor-probes.js.map +1 -1
  451. package/packages/cli/dist/doctor.d.ts +37 -0
  452. package/packages/cli/dist/doctor.d.ts.map +1 -1
  453. package/packages/cli/dist/doctor.js +37 -0
  454. package/packages/cli/dist/doctor.js.map +1 -1
  455. package/packages/core/dist/.tsbuildinfo +1 -1
  456. package/packages/core/dist/actions/approvals.d.ts +7 -0
  457. package/packages/core/dist/actions/approvals.d.ts.map +1 -1
  458. package/packages/core/dist/actions/approvals.js +11 -1
  459. package/packages/core/dist/actions/approvals.js.map +1 -1
  460. package/packages/core/dist/agents/catalog.d.ts.map +1 -1
  461. package/packages/core/dist/agents/catalog.js +2 -2
  462. package/packages/core/dist/agents/catalog.js.map +1 -1
  463. package/packages/core/dist/agents/skills.d.ts +60 -1
  464. package/packages/core/dist/agents/skills.d.ts.map +1 -1
  465. package/packages/core/dist/agents/skills.js +157 -17
  466. package/packages/core/dist/agents/skills.js.map +1 -1
  467. package/packages/core/dist/day-month.d.ts +52 -0
  468. package/packages/core/dist/day-month.d.ts.map +1 -0
  469. package/packages/core/dist/day-month.js +101 -0
  470. package/packages/core/dist/day-month.js.map +1 -0
  471. package/packages/core/dist/host/build.d.ts +25 -2
  472. package/packages/core/dist/host/build.d.ts.map +1 -1
  473. package/packages/core/dist/host/build.js +169 -8
  474. package/packages/core/dist/host/build.js.map +1 -1
  475. package/packages/core/dist/host/http.d.ts +97 -0
  476. package/packages/core/dist/host/http.d.ts.map +1 -1
  477. package/packages/core/dist/host/http.js +321 -26
  478. package/packages/core/dist/host/http.js.map +1 -1
  479. package/packages/core/dist/host/types.d.ts +114 -4
  480. package/packages/core/dist/host/types.d.ts.map +1 -1
  481. package/packages/core/dist/index.d.ts +3 -0
  482. package/packages/core/dist/index.d.ts.map +1 -1
  483. package/packages/core/dist/index.js +3 -0
  484. package/packages/core/dist/index.js.map +1 -1
  485. package/packages/core/dist/notifications/notify.d.ts.map +1 -1
  486. package/packages/core/dist/notifications/notify.js +10 -6
  487. package/packages/core/dist/notifications/notify.js.map +1 -1
  488. package/packages/core/dist/notifications/store.d.ts.map +1 -1
  489. package/packages/core/dist/notifications/store.js +2 -1
  490. package/packages/core/dist/notifications/store.js.map +1 -1
  491. package/packages/core/dist/notifications/types.d.ts +8 -0
  492. package/packages/core/dist/notifications/types.d.ts.map +1 -1
  493. package/packages/core/dist/notifications/types.js.map +1 -1
  494. package/packages/core/dist/onboarding/store.d.ts.map +1 -1
  495. package/packages/core/dist/onboarding/store.js +28 -5
  496. package/packages/core/dist/onboarding/store.js.map +1 -1
  497. package/packages/core/dist/onboarding/types.d.ts +10 -0
  498. package/packages/core/dist/onboarding/types.d.ts.map +1 -1
  499. package/packages/core/dist/onboarding/types.js.map +1 -1
  500. package/packages/core/dist/pages.d.ts +449 -20
  501. package/packages/core/dist/pages.d.ts.map +1 -1
  502. package/packages/core/dist/pages.js +223 -8
  503. package/packages/core/dist/pages.js.map +1 -1
  504. package/packages/core/dist/plugin/assets.d.ts +52 -0
  505. package/packages/core/dist/plugin/assets.d.ts.map +1 -0
  506. package/packages/core/dist/plugin/assets.js +59 -0
  507. package/packages/core/dist/plugin/assets.js.map +1 -0
  508. package/packages/core/dist/plugin/index.d.ts +10 -4
  509. package/packages/core/dist/plugin/index.d.ts.map +1 -1
  510. package/packages/core/dist/plugin/index.js +4 -1
  511. package/packages/core/dist/plugin/index.js.map +1 -1
  512. package/packages/core/dist/plugin/requires.d.ts +3 -1
  513. package/packages/core/dist/plugin/requires.d.ts.map +1 -1
  514. package/packages/core/dist/plugin/requires.js +5 -3
  515. package/packages/core/dist/plugin/requires.js.map +1 -1
  516. package/packages/core/dist/plugin/sign-in.d.ts +78 -0
  517. package/packages/core/dist/plugin/sign-in.d.ts.map +1 -0
  518. package/packages/core/dist/plugin/sign-in.js +54 -0
  519. package/packages/core/dist/plugin/sign-in.js.map +1 -0
  520. package/packages/core/dist/plugin/uses.d.ts +1 -1
  521. package/packages/core/dist/plugin/uses.d.ts.map +1 -1
  522. package/packages/core/dist/plugin/uses.js +2 -0
  523. package/packages/core/dist/plugin/uses.js.map +1 -1
  524. package/packages/core/dist/plugin/version.d.ts +1 -1
  525. package/packages/core/dist/plugin/version.js +1 -1
  526. package/packages/core/dist/plugin-assets.d.ts +21 -0
  527. package/packages/core/dist/plugin-assets.d.ts.map +1 -0
  528. package/packages/core/dist/plugin-assets.js +140 -0
  529. package/packages/core/dist/plugin-assets.js.map +1 -0
  530. package/packages/core/dist/provider-accounts.d.ts +7 -0
  531. package/packages/core/dist/provider-accounts.d.ts.map +1 -1
  532. package/packages/core/dist/provider-accounts.js +15 -0
  533. package/packages/core/dist/provider-accounts.js.map +1 -1
  534. package/packages/core/dist/questions/types.d.ts +1 -1
  535. package/packages/core/dist/questions/types.js +1 -1
  536. package/packages/core/dist/queue/jobs.d.ts +57 -2
  537. package/packages/core/dist/queue/jobs.d.ts.map +1 -1
  538. package/packages/core/dist/queue/jobs.js +114 -0
  539. package/packages/core/dist/queue/jobs.js.map +1 -1
  540. package/packages/core/dist/queue/worker.d.ts +24 -2
  541. package/packages/core/dist/queue/worker.d.ts.map +1 -1
  542. package/packages/core/dist/queue/worker.js +66 -11
  543. package/packages/core/dist/queue/worker.js.map +1 -1
  544. package/packages/core/dist/registry.d.ts +17 -0
  545. package/packages/core/dist/registry.d.ts.map +1 -1
  546. package/packages/core/dist/registry.js +48 -4
  547. package/packages/core/dist/registry.js.map +1 -1
  548. package/packages/core/dist/scheduler/missions.d.ts +14 -0
  549. package/packages/core/dist/scheduler/missions.d.ts.map +1 -1
  550. package/packages/core/dist/scheduler/missions.js +17 -4
  551. package/packages/core/dist/scheduler/missions.js.map +1 -1
  552. package/packages/core/dist/scheduler/types.d.ts +13 -0
  553. package/packages/core/dist/scheduler/types.d.ts.map +1 -1
  554. package/packages/core/dist/scheduler/types.js +14 -0
  555. package/packages/core/dist/scheduler/types.js.map +1 -1
  556. package/packages/core/dist/secrets/scrub.d.ts.map +1 -1
  557. package/packages/core/dist/secrets/scrub.js +15 -0
  558. package/packages/core/dist/secrets/scrub.js.map +1 -1
  559. package/packages/core/dist/surfaces.d.ts +10 -0
  560. package/packages/core/dist/surfaces.d.ts.map +1 -1
  561. package/packages/core/dist/surfaces.js +11 -0
  562. package/packages/core/dist/surfaces.js.map +1 -1
  563. package/packages/core/dist/tools.d.ts +72 -1
  564. package/packages/core/dist/tools.d.ts.map +1 -1
  565. package/packages/core/dist/tools.js +38 -0
  566. package/packages/core/dist/tools.js.map +1 -1
  567. package/packages/core/dist/views.d.ts +29 -12
  568. package/packages/core/dist/views.d.ts.map +1 -1
  569. package/packages/core/dist/views.js +1 -0
  570. package/packages/core/dist/views.js.map +1 -1
  571. package/packages/core/dist/widget-settings.d.ts +2 -1
  572. package/packages/core/dist/widget-settings.d.ts.map +1 -1
  573. package/packages/core/dist/widget-settings.js +8 -2
  574. package/packages/core/dist/widget-settings.js.map +1 -1
  575. package/packages/core/dist/widgets.d.ts +46 -3
  576. package/packages/core/dist/widgets.d.ts.map +1 -1
  577. package/packages/core/dist/widgets.js +68 -5
  578. package/packages/core/dist/widgets.js.map +1 -1
  579. package/packages/core/migrations/073_mission_report.sql +15 -0
  580. package/packages/core/migrations/074_owner_identity.sql +14 -0
  581. package/packages/gateway/dist/.tsbuildinfo +1 -1
  582. package/packages/gateway/dist/agents/catalog.d.ts.map +1 -1
  583. package/packages/gateway/dist/agents/catalog.js +3 -3
  584. package/packages/gateway/dist/agents/catalog.js.map +1 -1
  585. package/packages/gateway/dist/agents/catalogue-package.d.ts +76 -0
  586. package/packages/gateway/dist/agents/catalogue-package.d.ts.map +1 -1
  587. package/packages/gateway/dist/agents/catalogue-package.js +29 -5
  588. package/packages/gateway/dist/agents/catalogue-package.js.map +1 -1
  589. package/packages/gateway/dist/agents/owner-text.d.ts +19 -0
  590. package/packages/gateway/dist/agents/owner-text.d.ts.map +1 -0
  591. package/packages/gateway/dist/agents/owner-text.js +44 -0
  592. package/packages/gateway/dist/agents/owner-text.js.map +1 -0
  593. package/packages/gateway/dist/agents/owner-tools.d.ts.map +1 -1
  594. package/packages/gateway/dist/agents/owner-tools.js +36 -2
  595. package/packages/gateway/dist/agents/owner-tools.js.map +1 -1
  596. package/packages/gateway/dist/agents/platform-catalogue.d.ts +68 -3
  597. package/packages/gateway/dist/agents/platform-catalogue.d.ts.map +1 -1
  598. package/packages/gateway/dist/agents/platform-catalogue.js +264 -32
  599. package/packages/gateway/dist/agents/platform-catalogue.js.map +1 -1
  600. package/packages/gateway/dist/agents/platform.d.ts +11 -4
  601. package/packages/gateway/dist/agents/platform.d.ts.map +1 -1
  602. package/packages/gateway/dist/agents/platform.js +15 -0
  603. package/packages/gateway/dist/agents/platform.js.map +1 -1
  604. package/packages/gateway/dist/bootstrap.d.ts.map +1 -1
  605. package/packages/gateway/dist/bootstrap.js +7 -1
  606. package/packages/gateway/dist/bootstrap.js.map +1 -1
  607. package/packages/gateway/dist/evals/golden.d.ts +33 -1
  608. package/packages/gateway/dist/evals/golden.d.ts.map +1 -1
  609. package/packages/gateway/dist/evals/golden.js +168 -3
  610. package/packages/gateway/dist/evals/golden.js.map +1 -1
  611. package/packages/gateway/dist/index.d.ts +2 -1
  612. package/packages/gateway/dist/index.d.ts.map +1 -1
  613. package/packages/gateway/dist/index.js +2 -1
  614. package/packages/gateway/dist/index.js.map +1 -1
  615. package/packages/gateway/dist/missions/agent-run.d.ts.map +1 -1
  616. package/packages/gateway/dist/missions/agent-run.js +2 -0
  617. package/packages/gateway/dist/missions/agent-run.js.map +1 -1
  618. package/packages/gateway/dist/missions/dates.d.ts +98 -0
  619. package/packages/gateway/dist/missions/dates.d.ts.map +1 -0
  620. package/packages/gateway/dist/missions/dates.js +252 -0
  621. package/packages/gateway/dist/missions/dates.js.map +1 -0
  622. package/packages/gateway/dist/missions/defaults.d.ts.map +1 -1
  623. package/packages/gateway/dist/missions/defaults.js +2 -0
  624. package/packages/gateway/dist/missions/defaults.js.map +1 -1
  625. package/packages/gateway/dist/missions/execute.d.ts +25 -1
  626. package/packages/gateway/dist/missions/execute.d.ts.map +1 -1
  627. package/packages/gateway/dist/missions/execute.js +80 -8
  628. package/packages/gateway/dist/missions/execute.js.map +1 -1
  629. package/packages/gateway/dist/missions/report.d.ts +25 -2
  630. package/packages/gateway/dist/missions/report.d.ts.map +1 -1
  631. package/packages/gateway/dist/missions/report.js +71 -11
  632. package/packages/gateway/dist/missions/report.js.map +1 -1
  633. package/packages/gateway/dist/ollama-local.d.ts +90 -0
  634. package/packages/gateway/dist/ollama-local.d.ts.map +1 -0
  635. package/packages/gateway/dist/ollama-local.js +201 -0
  636. package/packages/gateway/dist/ollama-local.js.map +1 -0
  637. package/packages/gateway/dist/owner-notify.d.ts.map +1 -1
  638. package/packages/gateway/dist/owner-notify.js +7 -3
  639. package/packages/gateway/dist/owner-notify.js.map +1 -1
  640. package/packages/gateway/dist/plugins/asset-image-worker.d.ts +2 -0
  641. package/packages/gateway/dist/plugins/asset-image-worker.d.ts.map +1 -0
  642. package/packages/gateway/dist/plugins/asset-image-worker.js +18 -0
  643. package/packages/gateway/dist/plugins/asset-image-worker.js.map +1 -0
  644. package/packages/gateway/dist/plugins/asset-image.d.ts +31 -0
  645. package/packages/gateway/dist/plugins/asset-image.d.ts.map +1 -0
  646. package/packages/gateway/dist/plugins/asset-image.js +332 -0
  647. package/packages/gateway/dist/plugins/asset-image.js.map +1 -0
  648. package/packages/gateway/dist/plugins/load.d.ts.map +1 -1
  649. package/packages/gateway/dist/plugins/load.js +14 -1
  650. package/packages/gateway/dist/plugins/load.js.map +1 -1
  651. package/packages/gateway/dist/plugins/stage.d.ts +6 -0
  652. package/packages/gateway/dist/plugins/stage.d.ts.map +1 -1
  653. package/packages/gateway/dist/plugins/stage.js +5 -0
  654. package/packages/gateway/dist/plugins/stage.js.map +1 -1
  655. package/packages/gateway/dist/plugins/uninstall.d.ts.map +1 -1
  656. package/packages/gateway/dist/plugins/uninstall.js +8 -0
  657. package/packages/gateway/dist/plugins/uninstall.js.map +1 -1
  658. package/packages/gateway/dist/plugins-cli.d.ts +8 -0
  659. package/packages/gateway/dist/plugins-cli.d.ts.map +1 -1
  660. package/packages/gateway/dist/plugins-cli.js +22 -1
  661. package/packages/gateway/dist/plugins-cli.js.map +1 -1
  662. package/packages/gateway/dist/serve.d.ts.map +1 -1
  663. package/packages/gateway/dist/serve.js +50 -5
  664. package/packages/gateway/dist/serve.js.map +1 -1
  665. package/packages/gateway/dist/surfaces/pending-question.js +2 -2
  666. package/packages/gateway/dist/system-context.d.ts +21 -1
  667. package/packages/gateway/dist/system-context.d.ts.map +1 -1
  668. package/packages/gateway/dist/system-context.js +76 -2
  669. package/packages/gateway/dist/system-context.js.map +1 -1
  670. package/packages/gateway/dist/telegram/approvals.d.ts.map +1 -1
  671. package/packages/gateway/dist/telegram/approvals.js +4 -2
  672. package/packages/gateway/dist/telegram/approvals.js.map +1 -1
  673. package/packages/gateway/dist/telegram/channel.d.ts +12 -0
  674. package/packages/gateway/dist/telegram/channel.d.ts.map +1 -1
  675. package/packages/gateway/dist/telegram/channel.js +49 -2
  676. package/packages/gateway/dist/telegram/channel.js.map +1 -1
  677. package/packages/gateway/dist/telegram/html.d.ts +34 -0
  678. package/packages/gateway/dist/telegram/html.d.ts.map +1 -0
  679. package/packages/gateway/dist/telegram/html.js +263 -0
  680. package/packages/gateway/dist/telegram/html.js.map +1 -0
  681. package/packages/gateway/dist/telegram/notify.d.ts +6 -0
  682. package/packages/gateway/dist/telegram/notify.d.ts.map +1 -1
  683. package/packages/gateway/dist/telegram/notify.js +25 -3
  684. package/packages/gateway/dist/telegram/notify.js.map +1 -1
  685. package/packages/gateway/dist/tips/facts.d.ts +2 -0
  686. package/packages/gateway/dist/tips/facts.d.ts.map +1 -1
  687. package/packages/gateway/dist/tips/facts.js +4 -1
  688. package/packages/gateway/dist/tips/facts.js.map +1 -1
  689. package/packages/gateway/dist/tips/rules.d.ts.map +1 -1
  690. package/packages/gateway/dist/tips/rules.js +10 -0
  691. package/packages/gateway/dist/tips/rules.js.map +1 -1
  692. package/packages/gateway/dist/web/api-routes.d.ts.map +1 -1
  693. package/packages/gateway/dist/web/api-routes.js +80 -11
  694. package/packages/gateway/dist/web/api-routes.js.map +1 -1
  695. package/packages/gateway/dist/web/api-scan.d.ts +1 -1
  696. package/packages/gateway/dist/web/api-scan.d.ts.map +1 -1
  697. package/packages/gateway/dist/web/api-scan.js +1 -0
  698. package/packages/gateway/dist/web/api-scan.js.map +1 -1
  699. package/packages/gateway/dist/web/catalogue.d.ts.map +1 -1
  700. package/packages/gateway/dist/web/catalogue.js +7 -4
  701. package/packages/gateway/dist/web/catalogue.js.map +1 -1
  702. package/packages/gateway/dist/web/chat.d.ts.map +1 -1
  703. package/packages/gateway/dist/web/chat.js +9 -0
  704. package/packages/gateway/dist/web/chat.js.map +1 -1
  705. package/packages/gateway/dist/web/composer.d.ts +45 -0
  706. package/packages/gateway/dist/web/composer.d.ts.map +1 -0
  707. package/packages/gateway/dist/web/composer.js +85 -0
  708. package/packages/gateway/dist/web/composer.js.map +1 -0
  709. package/packages/gateway/dist/web/extension.d.ts +12 -0
  710. package/packages/gateway/dist/web/extension.d.ts.map +1 -1
  711. package/packages/gateway/dist/web/extension.js +11 -1
  712. package/packages/gateway/dist/web/extension.js.map +1 -1
  713. package/packages/gateway/dist/web/lock.d.ts +6 -0
  714. package/packages/gateway/dist/web/lock.d.ts.map +1 -1
  715. package/packages/gateway/dist/web/lock.js +33 -2
  716. package/packages/gateway/dist/web/lock.js.map +1 -1
  717. package/packages/gateway/dist/web/market.d.ts +20 -1
  718. package/packages/gateway/dist/web/market.d.ts.map +1 -1
  719. package/packages/gateway/dist/web/market.js +41 -1
  720. package/packages/gateway/dist/web/market.js.map +1 -1
  721. package/packages/gateway/dist/web/people.d.ts +44 -0
  722. package/packages/gateway/dist/web/people.d.ts.map +1 -0
  723. package/packages/gateway/dist/web/people.js +114 -0
  724. package/packages/gateway/dist/web/people.js.map +1 -0
  725. package/packages/gateway/dist/web/server.d.ts +4 -0
  726. package/packages/gateway/dist/web/server.d.ts.map +1 -1
  727. package/packages/gateway/dist/web/server.js +171 -13
  728. package/packages/gateway/dist/web/server.js.map +1 -1
  729. package/packages/gateway/dist/web/skill-bundles.d.ts +101 -0
  730. package/packages/gateway/dist/web/skill-bundles.d.ts.map +1 -0
  731. package/packages/gateway/dist/web/skill-bundles.js +439 -0
  732. package/packages/gateway/dist/web/skill-bundles.js.map +1 -0
  733. package/packages/gateway/dist/web/skills.d.ts +57 -1
  734. package/packages/gateway/dist/web/skills.d.ts.map +1 -1
  735. package/packages/gateway/dist/web/skills.js +171 -9
  736. package/packages/gateway/dist/web/skills.js.map +1 -1
  737. package/packages/gateway/dist/web/widgets.js +2 -2
  738. package/packages/gateway/dist/web/widgets.js.map +1 -1
  739. package/packages/gateway/dist/web/zip-read.d.ts +31 -0
  740. package/packages/gateway/dist/web/zip-read.d.ts.map +1 -0
  741. package/packages/gateway/dist/web/zip-read.js +125 -0
  742. package/packages/gateway/dist/web/zip-read.js.map +1 -0
  743. package/packages/install/dist/.tsbuildinfo +1 -1
  744. package/packages/runtime/dist/.tsbuildinfo +1 -1
  745. package/packages/runtime/dist/index.d.ts +1 -0
  746. package/packages/runtime/dist/index.d.ts.map +1 -1
  747. package/packages/runtime/dist/index.js +1 -0
  748. package/packages/runtime/dist/index.js.map +1 -1
  749. package/packages/runtime/dist/loop.js +11 -1
  750. package/packages/runtime/dist/loop.js.map +1 -1
  751. package/packages/runtime/dist/plugin-sign-in.d.ts +12 -0
  752. package/packages/runtime/dist/plugin-sign-in.d.ts.map +1 -0
  753. package/packages/runtime/dist/plugin-sign-in.js +397 -0
  754. package/packages/runtime/dist/plugin-sign-in.js.map +1 -0
  755. package/packages/runtime/dist/transport.d.ts +1 -1
  756. package/packages/runtime/dist/transport.d.ts.map +1 -1
  757. package/packages/runtime/dist/transport.js +6 -0
  758. package/packages/runtime/dist/transport.js.map +1 -1
  759. package/packages/tools/artifacts/dist/.tsbuildinfo +1 -1
  760. package/packages/tools/artifacts/dist/tools/write.d.ts.map +1 -1
  761. package/packages/tools/artifacts/dist/tools/write.js +1 -0
  762. package/packages/tools/artifacts/dist/tools/write.js.map +1 -1
  763. package/packages/tools/browser/dist/.tsbuildinfo +1 -1
  764. package/packages/tools/browser/dist/computer.d.ts +13 -0
  765. package/packages/tools/browser/dist/computer.d.ts.map +1 -1
  766. package/packages/tools/browser/dist/computer.js +22 -2
  767. package/packages/tools/browser/dist/computer.js.map +1 -1
  768. package/packages/tools/browser/dist/controller.d.ts +4 -0
  769. package/packages/tools/browser/dist/controller.d.ts.map +1 -1
  770. package/packages/tools/browser/dist/controller.js +8 -3
  771. package/packages/tools/browser/dist/controller.js.map +1 -1
  772. package/packages/tools/browser/dist/index.d.ts +1 -1
  773. package/packages/tools/browser/dist/index.d.ts.map +1 -1
  774. package/packages/tools/browser/dist/index.js +1 -1
  775. package/packages/tools/browser/dist/index.js.map +1 -1
  776. package/packages/tools/browser/dist/native/buddi-computer +0 -0
  777. package/packages/tools/browser/dist/service.d.ts +5 -0
  778. package/packages/tools/browser/dist/service.d.ts.map +1 -1
  779. package/packages/tools/browser/dist/service.js.map +1 -1
  780. package/packages/tools/email/dist/.tsbuildinfo +1 -1
  781. package/packages/tools/email/dist/widgets.d.ts.map +1 -1
  782. package/packages/tools/email/dist/widgets.js +2 -1
  783. package/packages/tools/email/dist/widgets.js.map +1 -1
  784. package/packages/tools/host/dist/.tsbuildinfo +1 -1
  785. package/packages/tools/host/dist/index.d.ts +2 -1
  786. package/packages/tools/host/dist/index.d.ts.map +1 -1
  787. package/packages/tools/host/dist/index.js +3 -2
  788. package/packages/tools/host/dist/index.js.map +1 -1
  789. package/packages/tools/host/dist/process.d.ts +4 -0
  790. package/packages/tools/host/dist/process.d.ts.map +1 -1
  791. package/packages/tools/host/dist/process.js +4 -2
  792. package/packages/tools/host/dist/process.js.map +1 -1
  793. package/packages/tools/host/dist/service.d.ts +66 -17
  794. package/packages/tools/host/dist/service.d.ts.map +1 -1
  795. package/packages/tools/host/dist/service.js +172 -9
  796. package/packages/tools/host/dist/service.js.map +1 -1
  797. package/packages/tools/host/dist/skill-run.d.ts +55 -0
  798. package/packages/tools/host/dist/skill-run.d.ts.map +1 -0
  799. package/packages/tools/host/dist/skill-run.js +132 -0
  800. package/packages/tools/host/dist/skill-run.js.map +1 -0
  801. package/packages/tools/mcp/dist/.tsbuildinfo +1 -1
  802. package/packages/tools/memory/dist/.tsbuildinfo +1 -1
  803. package/packages/tools/memory/dist/index.d.ts +1 -0
  804. package/packages/tools/memory/dist/index.d.ts.map +1 -1
  805. package/packages/tools/memory/dist/index.js +7 -2
  806. package/packages/tools/memory/dist/index.js.map +1 -1
  807. package/packages/tools/memory/dist/people.d.ts +218 -0
  808. package/packages/tools/memory/dist/people.d.ts.map +1 -0
  809. package/packages/tools/memory/dist/people.js +582 -0
  810. package/packages/tools/memory/dist/people.js.map +1 -0
  811. package/packages/tools/memory/dist/preamble.d.ts +4 -1
  812. package/packages/tools/memory/dist/preamble.d.ts.map +1 -1
  813. package/packages/tools/memory/dist/preamble.js +25 -7
  814. package/packages/tools/memory/dist/preamble.js.map +1 -1
  815. package/packages/tools/memory/migrations/002_people.sql +40 -0
  816. package/packages/tools/web/dist/.tsbuildinfo +1 -1
  817. package/packages/web/dist/assets/index-CN1AXMI1.css +1 -0
  818. package/packages/web/dist/assets/index-CQRE9LJX.js +145 -0
  819. package/packages/web/dist/assets/{lottie_light-DYHnHRWL.js → lottie_light-CKJ88Yuk.js} +1 -1
  820. package/packages/web/dist/build.json +1 -1
  821. package/packages/web/dist/index.html +2 -2
  822. package/packages/web/dist/precache.json +4 -4
  823. package/node_modules/pino/test/types/pino-import.test-d.cts +0 -30
  824. package/node_modules/pino/test/types/pino-multistream.test-d.ts +0 -28
  825. package/node_modules/pino/test/types/pino-top-export.test-d.ts +0 -34
  826. package/node_modules/pino/test/types/pino-type-only.test-d.ts +0 -75
  827. package/node_modules/thread-stream/node_modules/real-require/LICENSE.md +0 -21
  828. package/node_modules/thread-stream/node_modules/real-require/README.md +0 -51
  829. package/node_modules/thread-stream/node_modules/real-require/package.json +0 -38
  830. package/node_modules/thread-stream/node_modules/real-require/src/index.js +0 -14
  831. package/packages/web/dist/assets/index-ZauRFo4G.js +0 -134
  832. package/packages/web/dist/assets/index-viBWQfeT.css +0 -1
@@ -200,6 +200,116 @@ export function registerHttpUrlDestination() {
200
200
  export function isOwnUrlBinding(binding, plugin) {
201
201
  return binding.kind === HTTP_URL_KIND && asUrlTarget(binding.target)?.plugin === plugin;
202
202
  }
203
+ /* ------------------------------------------------------------------ *
204
+ * The `http.basic` destination (since host API 1.26)
205
+ * ------------------------------------------------------------------ */
206
+ /**
207
+ * Core's own Basic-auth destination (docs/owner-secrets.md §3): a secret that
208
+ * is a password, sent as `Authorization: Basic base64(username:password)` to
209
+ * the hosts its binding names — a CalDAV account's app-specific password. The
210
+ * plugin names the user (it is not the secret); core reads the password,
211
+ * builds the header after the address checks and inserts it, so the plugin
212
+ * never holds the password.
213
+ */
214
+ export const HTTP_BASIC_KIND = 'http.basic';
215
+ /** The methods a Basic-auth request may use: reads and the WebDAV verbs a calendar or contacts server needs. */
216
+ export const HTTP_BASIC_METHODS = new Set(['GET', 'HEAD', 'OPTIONS', 'PROPFIND', 'REPORT', 'PUT', 'DELETE']);
217
+ /** The largest body a Basic-auth request may carry: an event, not an upload. */
218
+ export const HTTP_BASIC_MAX_BODY = 256 * 1024;
219
+ /** The largest answer it may read, whatever the caller asks for. */
220
+ export const HTTP_BASIC_MAX_RESPONSE = 10 * 1024 * 1024;
221
+ /** How many Basic-auth requests one plugin may make with one secret in a minute. */
222
+ export const HTTP_BASIC_PER_MINUTE = 120;
223
+ function asBasicTarget(target) {
224
+ if (typeof target !== 'object' || target === null)
225
+ return undefined;
226
+ const { plugin, host } = target;
227
+ if (typeof plugin !== 'string' || typeof host !== 'string' || plugin.trim() === '')
228
+ return undefined;
229
+ const h = host.toLowerCase();
230
+ if (h.startsWith('*.')) {
231
+ if (!/^[a-z0-9-]+(\.[a-z0-9-]+)+$/.test(h.slice(2)))
232
+ return undefined;
233
+ }
234
+ else if (!/^[a-z0-9-]+(\.[a-z0-9-]+)*$/.test(h))
235
+ return undefined;
236
+ return { plugin: plugin.trim(), host: h };
237
+ }
238
+ /** Whether a request host is one a bound host names: the same, or under its `*.` domain. */
239
+ export function basicHostCovers(bound, host) {
240
+ if (bound.startsWith('*.'))
241
+ return host.endsWith(bound.slice(1)) && host.length > bound.length - 1;
242
+ return bound === host;
243
+ }
244
+ /** Register `http.basic` under core's own name, beside `http.header` and `http.url`. */
245
+ export function registerHttpBasicDestination() {
246
+ registerSecretDestination(HTTP_HEADER_PLUGIN, {
247
+ kind: HTTP_BASIC_KIND,
248
+ maxRule: 'pre-approved',
249
+ checkTarget(target, bound) {
250
+ const asked = asBasicTarget(target);
251
+ const boundBasic = asBasicTarget(bound);
252
+ if (asked === undefined || boundBasic === undefined || asked.host.startsWith('*.'))
253
+ return false;
254
+ return asked.plugin === boundBasic.plugin && basicHostCovers(boundBasic.host, asked.host);
255
+ },
256
+ describe(target) {
257
+ const asked = asBasicTarget(target);
258
+ return asked === undefined
259
+ ? 'the password of a web sign-in'
260
+ : `the password ${asked.plugin} signs in with at ${asked.host}`;
261
+ },
262
+ deliver() {
263
+ throw new Error('http.basic delivers through the http area itself, never through a destination');
264
+ },
265
+ });
266
+ }
267
+ /** Whether a binding names `http.basic` for this plugin (`secrets.put`, since 1.26). */
268
+ export function isOwnBasicBinding(binding, plugin) {
269
+ return binding.kind === HTTP_BASIC_KIND && asBasicTarget(binding.target)?.plugin === plugin;
270
+ }
271
+ /* ------------------------------------------------------------------ *
272
+ * The `http.bearer` destination (since host API 1.28)
273
+ * ------------------------------------------------------------------ */
274
+ /**
275
+ * Core's own OAuth destination (docs/owner-secrets.md §3): a secret that is
276
+ * an OAuth sign-in core made for a plugin (`secrets.signIn`) — the token
277
+ * envelope — sent as `Authorization: Bearer <access token>` to the host its
278
+ * binding names, refreshed by core at the provider that issued it. The plugin
279
+ * never holds a token.
280
+ */
281
+ export const HTTP_BEARER_KIND = 'http.bearer';
282
+ /** The methods a bearer request may use: an API's reads and writes. */
283
+ export const HTTP_BEARER_METHODS = new Set(['GET', 'HEAD', 'POST', 'PUT', 'PATCH', 'DELETE']);
284
+ /** How many bearer requests one plugin may make with one sign-in in a minute. */
285
+ export const HTTP_BEARER_PER_MINUTE = 300;
286
+ /** Register `http.bearer` under core's own name, beside the other `http.*` kinds. Its target is `http.basic`'s shape. */
287
+ export function registerHttpBearerDestination() {
288
+ registerSecretDestination(HTTP_HEADER_PLUGIN, {
289
+ kind: HTTP_BEARER_KIND,
290
+ maxRule: 'pre-approved',
291
+ checkTarget(target, bound) {
292
+ const asked = asBasicTarget(target);
293
+ const boundBearer = asBasicTarget(bound);
294
+ if (asked === undefined || boundBearer === undefined || asked.host.startsWith('*.'))
295
+ return false;
296
+ return asked.plugin === boundBearer.plugin && basicHostCovers(boundBearer.host, asked.host);
297
+ },
298
+ describe(target) {
299
+ const asked = asBasicTarget(target);
300
+ return asked === undefined
301
+ ? 'the sign-in of a web service'
302
+ : `the sign-in ${asked.plugin} uses at ${asked.host}`;
303
+ },
304
+ deliver() {
305
+ throw new Error('http.bearer delivers through the http area itself, never through a destination');
306
+ },
307
+ });
308
+ }
309
+ /** Whether a binding names `http.bearer` for this plugin (written by `secrets.signIn`, since 1.28). */
310
+ export function isOwnBearerBinding(binding, plugin) {
311
+ return binding.kind === HTTP_BEARER_KIND && asBasicTarget(binding.target)?.plugin === plugin;
312
+ }
203
313
  /** A use that waits on the owner: the plugin is told, and may say so onward. */
204
314
  export class SecretPendingError extends Error {
205
315
  actionId;
@@ -209,6 +319,68 @@ export class SecretPendingError extends Error {
209
319
  this.actionId = actionId;
210
320
  }
211
321
  }
322
+ export function createBasicBudget(perMinute = HTTP_BASIC_PER_MINUTE) {
323
+ const sent = new Map();
324
+ return {
325
+ take(plugin, secret, at) {
326
+ // Bounded cleanup: whenever the map grows past a handful of keys, drop the stale ones.
327
+ if (sent.size > 64) {
328
+ for (const [key, stamps] of sent)
329
+ if (stamps.every((t) => at - t >= 60_000))
330
+ sent.delete(key);
331
+ }
332
+ const key = `${plugin}\u0000${secret}`;
333
+ const recent = (sent.get(key) ?? []).filter((t) => at - t < 60_000);
334
+ if (recent.length >= perMinute) {
335
+ sent.set(key, recent);
336
+ return false;
337
+ }
338
+ recent.push(at);
339
+ sent.set(key, recent);
340
+ return true;
341
+ },
342
+ refund(plugin, secret, at) {
343
+ const key = `${plugin}\u0000${secret}`;
344
+ const stamps = sent.get(key);
345
+ const i = stamps?.indexOf(at) ?? -1;
346
+ if (stamps !== undefined && i >= 0)
347
+ stamps.splice(i, 1);
348
+ if (stamps !== undefined && stamps.length === 0)
349
+ sent.delete(key);
350
+ },
351
+ };
352
+ }
353
+ const sharedBasicBudget = createBasicBudget();
354
+ const sharedBearerBudget = createBasicBudget(HTTP_BEARER_PER_MINUTE);
355
+ /**
356
+ * Headers a caller may not set on a request that carries a secret: anything
357
+ * that names which server or virtual host the request is for (`Host` decides
358
+ * TLS SNI and a CDN's routing; the forwarding headers decide it behind some
359
+ * proxies) or that carries a proxy credential. The URL's own host is the only
360
+ * identity a secret is bound to. `Cookie` stays the caller's: it is the
361
+ * plugin's own state, never the owner's secret.
362
+ */
363
+ const IDENTITY_HEADERS = new Set([
364
+ 'host',
365
+ 'x-forwarded-host',
366
+ 'x-forwarded-server',
367
+ 'x-host',
368
+ 'x-original-host',
369
+ 'forwarded',
370
+ 'proxy-authorization',
371
+ ]);
372
+ /** The caller's headers without the identity headers and without `drop` (case-insensitive). */
373
+ function withoutIdentity(headers, drop) {
374
+ const lower = drop.toLowerCase();
375
+ return Object.fromEntries(Object.entries(headers ?? {}).filter(([name]) => {
376
+ const n = name.toLowerCase();
377
+ return n !== lower && !IDENTITY_HEADERS.has(n);
378
+ }));
379
+ }
380
+ /** A response cap that is a finite, non-negative whole number, or undefined. */
381
+ function validCap(maxBytes) {
382
+ return typeof maxBytes === 'number' && Number.isSafeInteger(maxBytes) && maxBytes >= 0 ? maxBytes : undefined;
383
+ }
212
384
  /** Hosts already said to be undeclared, per plugin, so a loop logs once. */
213
385
  const undeclaredSeen = new Set();
214
386
  function hostMatches(declared, host) {
@@ -229,6 +401,42 @@ function hostMatches(declared, host) {
229
401
  export function createHttpArea(options) {
230
402
  const policy = options.policy ?? DEFAULT_POLICY;
231
403
  let transport;
404
+ const basicBudget = options.basicBudget ?? sharedBasicBudget;
405
+ const bearerBudget = options.bearerBudget ?? sharedBearerBudget;
406
+ const now = options.now ?? (() => Date.now());
407
+ /** Send one checked request on the transport; `capped`: a sign-in's answer, at most 10 MB. */
408
+ const dispatch = (req, url, headers, capped) => {
409
+ const host = new URL(url).hostname.replace(/^\[|\]$/g, '').toLowerCase();
410
+ /*
411
+ * Logged, not refused, in 1.0: the hosts a manifest lists were
412
+ * documentation until now, and refusing an undeclared one before every
413
+ * plugin has written its down would break plugins that did nothing
414
+ * wrong (§4.2).
415
+ */
416
+ if (!options.network.some((declared) => hostMatches(declared, host))) {
417
+ const key = `${options.plugin}\u0000${host}`;
418
+ if (!undeclaredSeen.has(key)) {
419
+ undeclaredSeen.add(key);
420
+ options.log(`a request to ${host}, which its manifest does not declare under network`);
421
+ }
422
+ }
423
+ if (options.transport === undefined) {
424
+ return Promise.reject(new Error('This process has no HTTP transport for plugins.'));
425
+ }
426
+ transport ??= options.transport({ lookup: guardedLookup(options.resolve, policy) });
427
+ // A cap that is not a whole number of bytes (NaN, Infinity, -1) is no cap at all to the transport: it counts as unset, so the default applies.
428
+ const cap = validCap(req.maxBytes);
429
+ return transport(url, {
430
+ method: req.method ?? 'GET',
431
+ headers,
432
+ ...(req.body === undefined ? {} : { body: req.body }),
433
+ ...(req.signal === undefined ? {} : { signal: req.signal }),
434
+ ...(req.idleTimeoutMs === undefined ? {} : { idleTimeoutMs: req.idleTimeoutMs }),
435
+ ...(capped
436
+ ? { maxBytes: Math.min(cap ?? HTTP_BASIC_MAX_RESPONSE, HTTP_BASIC_MAX_RESPONSE) }
437
+ : cap === undefined ? {} : { maxBytes: cap }),
438
+ });
439
+ };
232
440
  return {
233
441
  async request(req) {
234
442
  let parsedUrl;
@@ -259,6 +467,7 @@ export function createHttpArea(options) {
259
467
  */
260
468
  let url = req.url;
261
469
  let secretUrl;
470
+ let basicCap = false;
262
471
  if (req.auth !== undefined && req.auth.as === 'url') {
263
472
  if (parsedUrl.protocol !== 'https:')
264
473
  throw new Error('a secret goes only into an HTTPS request');
@@ -291,6 +500,114 @@ export function createHttpArea(options) {
291
500
  checkUrl(stored.toString(), policy);
292
501
  url = stored.toString();
293
502
  secretUrl = { name, value: url };
503
+ // The address is the credential: no caller header may point it at another virtual host.
504
+ headers = withoutIdentity(req.headers, 'host');
505
+ }
506
+ else if (req.auth !== undefined && req.auth.as === 'bearer') {
507
+ /*
508
+ * An OAuth sign-in (`as: 'bearer'`, since 1.28): core reads the token
509
+ * envelope the binding allows for this plugin and this host, refreshes
510
+ * it at its provider when it is about to expire, and inserts the
511
+ * access token itself. A 401 is answered once: refreshed (unless
512
+ * another request already did) and sent again. The same fences as a
513
+ * Basic sign-in, with an API's verbs.
514
+ */
515
+ if (parsedUrl.protocol !== 'https:')
516
+ throw new Error('a secret goes only into an HTTPS request');
517
+ const method = (req.method ?? 'GET').toUpperCase();
518
+ if (!HTTP_BEARER_METHODS.has(method)) {
519
+ throw new Error(`a sign-in is sent only with ${[...HTTP_BEARER_METHODS].join(', ')}, not ${method}`);
520
+ }
521
+ if (req.auth.header !== undefined || req.auth.username !== undefined)
522
+ throw new Error('a bearer sign-in always goes into Authorization, with no user name');
523
+ const size = req.body === undefined ? 0 : typeof req.body === 'string' ? Buffer.byteLength(req.body) : req.body.length;
524
+ if (size > HTTP_BASIC_MAX_BODY)
525
+ throw new Error(`a request with a sign-in carries at most ${HTTP_BASIC_MAX_BODY / 1024} KiB`);
526
+ const deliverBearer = options.secrets?.deliverBearerFor;
527
+ if (deliverBearer === undefined)
528
+ throw new Error('This process cannot deliver a secret into a request.');
529
+ const secretName = req.auth.secret;
530
+ const token = async (rejected) => {
531
+ const at = now();
532
+ if (!bearerBudget.take(options.plugin, secretName, at)) {
533
+ throw new Error(`too many requests with "${secretName}" this minute (at most ${HTTP_BEARER_PER_MINUTE}); try again shortly`);
534
+ }
535
+ let delivered;
536
+ try {
537
+ delivered = await deliverBearer(secretName, host, rejected);
538
+ }
539
+ catch (err) {
540
+ bearerBudget.refund(options.plugin, secretName, at);
541
+ throw err;
542
+ }
543
+ if (!('ok' in delivered))
544
+ bearerBudget.refund(options.plugin, secretName, at);
545
+ if ('pending' in delivered)
546
+ throw new SecretPendingError(delivered.pending);
547
+ if ('refused' in delivered)
548
+ throw new Error(delivered.refused);
549
+ return delivered.value;
550
+ };
551
+ const base = withoutIdentity(req.headers, 'authorization');
552
+ const first = await token();
553
+ const send = (access) => dispatch(req, url, { ...base, Authorization: `Bearer ${access}` }, true);
554
+ const answer = await send(first);
555
+ if (answer.status !== 401)
556
+ return answer;
557
+ // Read and drop the 401's body so its connection is free, then once more with a fresh token.
558
+ await answer.arrayBuffer().catch(() => undefined);
559
+ return send(await token(first));
560
+ }
561
+ else if (req.auth !== undefined && req.auth.as === 'basic') {
562
+ /*
563
+ * A sign-in's password (`as: 'basic'`, since 1.26): the caller names
564
+ * the user, core reads the password the binding allows for this
565
+ * plugin and this host, and builds the Authorization header itself.
566
+ * HTTPS only, the WebDAV verbs and no others, a small body, a capped
567
+ * answer and a per-minute budget, so a plugin holding a sign-in
568
+ * cannot turn it into an upload channel or a flood.
569
+ */
570
+ if (parsedUrl.protocol !== 'https:')
571
+ throw new Error('a secret goes only into an HTTPS request');
572
+ const method = (req.method ?? 'GET').toUpperCase();
573
+ if (!HTTP_BASIC_METHODS.has(method)) {
574
+ throw new Error(`a sign-in is sent only with ${[...HTTP_BASIC_METHODS].join(', ')}, not ${method}`);
575
+ }
576
+ if (req.auth.header !== undefined)
577
+ throw new Error('a sign-in always goes into Authorization');
578
+ const username = req.auth.username;
579
+ if (typeof username !== 'string' || username.length === 0 || username.length > 256 || /[:\r\n\u0000]/.test(username)) {
580
+ throw new Error('a sign-in needs a user name without a colon or a line break');
581
+ }
582
+ const size = req.body === undefined ? 0 : typeof req.body === 'string' ? Buffer.byteLength(req.body) : req.body.length;
583
+ if (size > HTTP_BASIC_MAX_BODY)
584
+ throw new Error(`a request with a sign-in carries at most ${HTTP_BASIC_MAX_BODY / 1024} KiB`);
585
+ if (options.secrets?.deliverBasicFor === undefined) {
586
+ throw new Error('This process cannot deliver a secret into a request.');
587
+ }
588
+ // Counted before the delivery, so concurrent requests cannot all slip
589
+ // under the line; given back when no password is delivered.
590
+ const at = now();
591
+ if (!basicBudget.take(options.plugin, req.auth.secret, at)) {
592
+ throw new Error(`too many requests with "${req.auth.secret}" this minute (at most ${HTTP_BASIC_PER_MINUTE}); try again shortly`);
593
+ }
594
+ let delivered;
595
+ try {
596
+ delivered = await options.secrets.deliverBasicFor(req.auth.secret, host);
597
+ }
598
+ catch (err) {
599
+ basicBudget.refund(options.plugin, req.auth.secret, at);
600
+ throw err;
601
+ }
602
+ if (!('ok' in delivered))
603
+ basicBudget.refund(options.plugin, req.auth.secret, at);
604
+ if ('pending' in delivered)
605
+ throw new SecretPendingError(delivered.pending);
606
+ if ('refused' in delivered)
607
+ throw new Error(delivered.refused);
608
+ headers = withoutIdentity(req.headers, 'authorization');
609
+ headers.Authorization = `Basic ${Buffer.from(`${username}:${delivered.value}`, 'utf8').toString('base64')}`;
610
+ basicCap = true;
294
611
  }
295
612
  else if (req.auth !== undefined) {
296
613
  if (parsedUrl.protocol !== 'https:') {
@@ -306,34 +623,12 @@ export function createHttpArea(options) {
306
623
  if ('refused' in delivered)
307
624
  throw new Error(delivered.refused);
308
625
  // The caller's own spelling of the same header goes, whatever its case: one header, the bound value.
309
- headers = Object.fromEntries(Object.entries(req.headers ?? {}).filter(([name]) => name.toLowerCase() !== headerName.toLowerCase()));
626
+ if (IDENTITY_HEADERS.has(headerName.toLowerCase()))
627
+ throw new Error(`a secret cannot go into ${headerName}`);
628
+ headers = withoutIdentity(req.headers, headerName);
310
629
  headers[headerName] = delivered.value;
311
630
  }
312
- /*
313
- * Logged, not refused, in 1.0: the hosts a manifest lists were
314
- * documentation until now, and refusing an undeclared one before every
315
- * plugin has written its down would break plugins that did nothing
316
- * wrong (§4.2).
317
- */
318
- if (!options.network.some((declared) => hostMatches(declared, host))) {
319
- const key = `${options.plugin}\u0000${host}`;
320
- if (!undeclaredSeen.has(key)) {
321
- undeclaredSeen.add(key);
322
- options.log(`a request to ${host}, which its manifest does not declare under network`);
323
- }
324
- }
325
- if (options.transport === undefined) {
326
- throw new Error('This process has no HTTP transport for plugins.');
327
- }
328
- transport ??= options.transport({ lookup: guardedLookup(options.resolve, policy) });
329
- const sent = transport(url, {
330
- method: req.method ?? 'GET',
331
- headers: headers ?? {},
332
- ...(req.body === undefined ? {} : { body: req.body }),
333
- ...(req.signal === undefined ? {} : { signal: req.signal }),
334
- ...(req.idleTimeoutMs === undefined ? {} : { idleTimeoutMs: req.idleTimeoutMs }),
335
- ...(req.maxBytes === undefined ? {} : { maxBytes: req.maxBytes }),
336
- });
631
+ const sent = dispatch(req, url, headers ?? {}, basicCap);
337
632
  if (secretUrl === undefined)
338
633
  return sent;
339
634
  const { name, value } = secretUrl;
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/host/http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/host/http.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,9 @@
14
14
  * `@buddi/core/plugin`.
15
15
  */
16
16
  import type { OwnerPlace } from '../places.js';
17
+ import type { PluginAsset } from '../plugin/assets.js';
18
+ import type { OAuthProvider, OAuthSignInRequest, OAuthSignInStart, OAuthSignInStatus } from '../plugin/sign-in.js';
19
+ import type { Vault } from '../vault/types.js';
17
20
  import type { ToolPermission } from '../actions/permissions.js';
18
21
  import type { ArtifactKind, ArtifactRow, ArtifactSource } from '../artifacts/store.js';
19
22
  import type { ProposePolicyInput } from '../learning/policies.js';
@@ -64,8 +67,10 @@ export interface BuddiHost {
64
67
  secrets?: SecretsArea;
65
68
  /** Declared as `owner:channel`. Since 1.3. */
66
69
  channels?: ChannelsArea;
67
- /** Present when the manifest declares `requires`. Since 1.18. */
70
+ /** Present when the manifest declares `requires` (1.18) or `optional` (1.27). */
68
71
  plugins?: PluginsArea;
72
+ /** Declared as `assets`. Since 1.27. */
73
+ assets?: AssetsArea;
69
74
  }
70
75
  /** Who this installation belongs to, and what they said about themselves. */
71
76
  export interface OwnerArea {
@@ -122,10 +127,37 @@ export interface PluginsArea {
122
127
  /**
123
128
  * Call `plugin`'s export `name` with `args`, validated by the export's own
124
129
  * parameters. Refused — a `PluginCallRefusal` naming why — when `plugin` is
125
- * not in this manifest's `requires`, is not loaded, is outside the range,
126
- * or exports no such name. A write inside it fails as a page query's does.
130
+ * not in this manifest's `requires` or `optional`, is not loaded, is outside
131
+ * the range, or exports no such name. A write inside it fails as a page
132
+ * query's does.
127
133
  */
128
134
  call<T = unknown>(plugin: string, name: string, args?: unknown): Promise<T>;
135
+ /**
136
+ * Whether `plugin` — one this manifest names in `requires` or `optional` —
137
+ * is loaded now, at a version in the range. False for any other name. For a
138
+ * plugin that adapts to another being there ("Needs Speech"). Since 1.27;
139
+ * absent before.
140
+ */
141
+ has?(plugin: string): boolean;
142
+ }
143
+ /**
144
+ * Small images this plugin fetched — an outlet's logo — kept by core and
145
+ * served by buddi (since 1.27), so a page or a widget draws them without the
146
+ * dashboard reaching the host they came from. Declared as `assets`.
147
+ *
148
+ * `put` takes PNG, JPEG, GIF (its first frame) or ICO, at most 256 KB, and
149
+ * refuses SVG; core decodes it and keeps PNGs it drew itself, 64 and 128
150
+ * pixels square, served session-gated at `/api/plugin-assets/<plugin>/<key>`.
151
+ * 20 MB per plugin; everything is removed with the plugin. Refusals are
152
+ * thrown with the sentence why.
153
+ */
154
+ export interface AssetsArea {
155
+ /** Keep `bytes` under `key` (lower case, digits, `.`, `_`, `-`), replacing what was there. */
156
+ put(key: string, bytes: Buffer, mime: string): Promise<PluginAsset>;
157
+ /** Delete one. False when there was none. */
158
+ delete(key: string): Promise<boolean>;
159
+ /** Every asset this plugin keeps. */
160
+ list(): Promise<PluginAsset[]>;
129
161
  }
130
162
  /**
131
163
  * What a plugin may say to the owner: an urgency, a title, a few lines, a
@@ -288,11 +320,30 @@ export interface HttpRequest {
288
320
  * address instead, once it is HTTPS on that same host and passes the
289
321
  * address rules. GET only, no body, no `header`; the binding names this
290
322
  * plugin and the host, so no other plugin can fetch it.
323
+ *
324
+ * `as: 'basic'` (since 1.26): the secret is a password (`http.basic`), and
325
+ * core sends `Authorization: Basic base64(username:password)` with the
326
+ * `username` the caller names — a CalDAV account's app-specific password.
327
+ * HTTPS only; GET, HEAD, OPTIONS, PROPFIND, REPORT, PUT or DELETE; a body
328
+ * of at most 256 KiB; an answer of at most 10 MB; 120 requests a minute per
329
+ * secret. The binding names this plugin and the host (or `*.` a domain),
330
+ * so no other plugin can sign in with it.
331
+ *
332
+ * `as: 'bearer'` (since 1.28): the secret is an OAuth sign-in core made
333
+ * with `secrets.signIn` (`http.bearer`), and core sends `Authorization:
334
+ * Bearer <access token>`, refreshing the token at the provider first when
335
+ * it is about to expire, and once more — then sending again — when the
336
+ * answer is 401. HTTPS only, to the host the binding names; GET, HEAD,
337
+ * POST, PUT, PATCH or DELETE; a body of at most 256 KiB; an answer of at
338
+ * most 10 MB; 300 requests a minute per secret. When the provider refuses
339
+ * the refresh (revoked, expired), the request throws `SignInExpiredError`
340
+ * (`code: 'sign-in-expired'`): the owner signs in again.
291
341
  */
292
342
  auth?: {
293
343
  secret: string;
294
344
  header?: string;
295
- as?: 'header' | 'url';
345
+ as?: 'header' | 'url' | 'basic' | 'bearer';
346
+ username?: string;
296
347
  };
297
348
  body?: string | Buffer;
298
349
  signal?: AbortSignal;
@@ -558,6 +609,65 @@ export interface SecretsArea {
558
609
  rebind(name: string, bindings: SecretBinding[]): Promise<boolean>;
559
610
  /** Owner only. Delete a secret bound only to this plugin's kinds, value and all. */
560
611
  delete(name: string): Promise<boolean>;
612
+ /**
613
+ * Owner only (1.28; with `http` declared). Start an OAuth sign-in to one of
614
+ * core's providers (`OAUTH_PROVIDERS`): PKCE and a state, core listening on
615
+ * a loopback port for the provider's answer. The tokens never reach the
616
+ * plugin: core keeps them as the owner secret `secret`, bound to
617
+ * `http.bearer` for this plugin and `host`, and sends them with `auth: {
618
+ * secret, as: 'bearer' }`. Signing in again under the same secret replaces
619
+ * the tokens and keeps the name. Absent on an older buddi.
620
+ */
621
+ signIn?(req: OAuthSignInRequest): Promise<OAuthSignInStart>;
622
+ /** Where one of this plugin's sign-ins stands; `expired` once it is gone. */
623
+ signInStatus?(id: string): Promise<OAuthSignInStatus>;
624
+ /**
625
+ * Owner only. Finish a sign-in with what the owner pasted: the address the
626
+ * provider sent the browser to (when that browser is on another computer,
627
+ * the loopback page does not load) or the code alone.
628
+ */
629
+ signInFinish?(id: string, pasted: string): Promise<OAuthSignInStatus>;
630
+ /** Owner only. Drop a sign-in that is still waiting. */
631
+ signInCancel?(id: string): Promise<void>;
632
+ }
633
+ /**
634
+ * How core runs a plugin's OAuth sign-in and keeps its tokens fresh: the
635
+ * loopback listener, PKCE, the code exchange and the refresh. Built by the
636
+ * composition root over `@buddi/runtime`'s OAuth pieces (core may not import
637
+ * the runtime) and handed in with `configurePluginHost({ signIns })`. Never a
638
+ * plugin's surface: the `secrets` area scopes every call to its plugin, and
639
+ * `save` is core writing the owner secret.
640
+ */
641
+ export interface PluginSignInService {
642
+ begin(input: {
643
+ plugin: string;
644
+ provider: OAuthProvider;
645
+ clientId: string;
646
+ clientSecret?: string;
647
+ scopes: readonly string[];
648
+ /** Keep the envelope (JSON): core writes it as the owner secret. */
649
+ save(envelope: string): Promise<void>;
650
+ }): Promise<{
651
+ id: string;
652
+ authorizeUrl: string;
653
+ redirectUri: string;
654
+ expiresAt: number;
655
+ }>;
656
+ status(plugin: string, id: string): OAuthSignInStatus | undefined;
657
+ finish(plugin: string, id: string, pasted: string): Promise<OAuthSignInStatus>;
658
+ cancel(plugin: string, id: string): void;
659
+ /**
660
+ * The access token under vault entry `ref`, refreshed first when it expires
661
+ * within five minutes, or when `rejected` is the token stored (a 401
662
+ * answered it). Throws `SignInExpiredError` when the provider refuses the
663
+ * refresh. `refreshed` says the entry changed (the scrubber rebuilds).
664
+ */
665
+ fresh(vault: Pick<Vault, 'get' | 'set'>, ref: string, secret: string, opts?: {
666
+ rejected?: string;
667
+ }): Promise<{
668
+ accessToken: string;
669
+ refreshed: boolean;
670
+ }>;
561
671
  }
562
672
  /**
563
673
  * A way to reach the owner that this plugin carries: its mail account, a