@withbuddi/buddi 0.1.0-pre.36 → 0.1.0-pre.38

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 (975) 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/background.js +130 -12
  6. package/extension/manifest.json +2 -2
  7. package/node_modules/@buddi/cli/dist/.tsbuildinfo +1 -1
  8. package/node_modules/@buddi/cli/dist/access-cmd.d.ts +10 -0
  9. package/node_modules/@buddi/cli/dist/access-cmd.d.ts.map +1 -0
  10. package/node_modules/@buddi/cli/dist/access-cmd.js +160 -0
  11. package/node_modules/@buddi/cli/dist/access-cmd.js.map +1 -0
  12. package/node_modules/@buddi/cli/dist/args.d.ts +10 -0
  13. package/node_modules/@buddi/cli/dist/args.d.ts.map +1 -1
  14. package/node_modules/@buddi/cli/dist/args.js +29 -1
  15. package/node_modules/@buddi/cli/dist/args.js.map +1 -1
  16. package/node_modules/@buddi/cli/dist/commands.d.ts.map +1 -1
  17. package/node_modules/@buddi/cli/dist/commands.js +28 -2
  18. package/node_modules/@buddi/cli/dist/commands.js.map +1 -1
  19. package/node_modules/@buddi/cli/dist/doctor-probes.d.ts.map +1 -1
  20. package/node_modules/@buddi/cli/dist/doctor-probes.js +90 -30
  21. package/node_modules/@buddi/cli/dist/doctor-probes.js.map +1 -1
  22. package/node_modules/@buddi/cli/dist/doctor.d.ts +61 -12
  23. package/node_modules/@buddi/cli/dist/doctor.d.ts.map +1 -1
  24. package/node_modules/@buddi/cli/dist/doctor.js +60 -9
  25. package/node_modules/@buddi/cli/dist/doctor.js.map +1 -1
  26. package/node_modules/@buddi/cli/dist/main.d.ts +2 -0
  27. package/node_modules/@buddi/cli/dist/main.d.ts.map +1 -1
  28. package/node_modules/@buddi/cli/dist/main.js +18 -1
  29. package/node_modules/@buddi/cli/dist/main.js.map +1 -1
  30. package/node_modules/@buddi/core/dist/.tsbuildinfo +1 -1
  31. package/node_modules/@buddi/core/dist/actions/approvals.d.ts +7 -0
  32. package/node_modules/@buddi/core/dist/actions/approvals.d.ts.map +1 -1
  33. package/node_modules/@buddi/core/dist/actions/approvals.js +11 -1
  34. package/node_modules/@buddi/core/dist/actions/approvals.js.map +1 -1
  35. package/node_modules/@buddi/core/dist/agents/catalog.d.ts +2 -0
  36. package/node_modules/@buddi/core/dist/agents/catalog.d.ts.map +1 -1
  37. package/node_modules/@buddi/core/dist/agents/catalog.js +3 -2
  38. package/node_modules/@buddi/core/dist/agents/catalog.js.map +1 -1
  39. package/node_modules/@buddi/core/dist/agents/edit.d.ts +2 -0
  40. package/node_modules/@buddi/core/dist/agents/edit.d.ts.map +1 -1
  41. package/node_modules/@buddi/core/dist/agents/edit.js +3 -1
  42. package/node_modules/@buddi/core/dist/agents/edit.js.map +1 -1
  43. package/node_modules/@buddi/core/dist/agents/frontmatter.d.ts +11 -0
  44. package/node_modules/@buddi/core/dist/agents/frontmatter.d.ts.map +1 -1
  45. package/node_modules/@buddi/core/dist/agents/frontmatter.js +7 -0
  46. package/node_modules/@buddi/core/dist/agents/frontmatter.js.map +1 -1
  47. package/node_modules/@buddi/core/dist/agents/skills.d.ts +60 -1
  48. package/node_modules/@buddi/core/dist/agents/skills.d.ts.map +1 -1
  49. package/node_modules/@buddi/core/dist/agents/skills.js +157 -17
  50. package/node_modules/@buddi/core/dist/agents/skills.js.map +1 -1
  51. package/node_modules/@buddi/core/dist/day-month.d.ts +52 -0
  52. package/node_modules/@buddi/core/dist/day-month.d.ts.map +1 -0
  53. package/node_modules/@buddi/core/dist/day-month.js +101 -0
  54. package/node_modules/@buddi/core/dist/day-month.js.map +1 -0
  55. package/node_modules/@buddi/core/dist/host/build.d.ts +11 -2
  56. package/node_modules/@buddi/core/dist/host/build.d.ts.map +1 -1
  57. package/node_modules/@buddi/core/dist/host/build.js +115 -4
  58. package/node_modules/@buddi/core/dist/host/build.js.map +1 -1
  59. package/node_modules/@buddi/core/dist/host/http.d.ts +35 -0
  60. package/node_modules/@buddi/core/dist/host/http.d.ts.map +1 -1
  61. package/node_modules/@buddi/core/dist/host/http.js +133 -29
  62. package/node_modules/@buddi/core/dist/host/http.js.map +1 -1
  63. package/node_modules/@buddi/core/dist/host/types.d.ts +72 -1
  64. package/node_modules/@buddi/core/dist/host/types.d.ts.map +1 -1
  65. package/node_modules/@buddi/core/dist/index.d.ts +3 -0
  66. package/node_modules/@buddi/core/dist/index.d.ts.map +1 -1
  67. package/node_modules/@buddi/core/dist/index.js +3 -0
  68. package/node_modules/@buddi/core/dist/index.js.map +1 -1
  69. package/node_modules/@buddi/core/dist/onboarding/store.d.ts.map +1 -1
  70. package/node_modules/@buddi/core/dist/onboarding/store.js +28 -5
  71. package/node_modules/@buddi/core/dist/onboarding/store.js.map +1 -1
  72. package/node_modules/@buddi/core/dist/onboarding/types.d.ts +10 -0
  73. package/node_modules/@buddi/core/dist/onboarding/types.d.ts.map +1 -1
  74. package/node_modules/@buddi/core/dist/onboarding/types.js.map +1 -1
  75. package/node_modules/@buddi/core/dist/pages.d.ts +145 -11
  76. package/node_modules/@buddi/core/dist/pages.d.ts.map +1 -1
  77. package/node_modules/@buddi/core/dist/pages.js +113 -5
  78. package/node_modules/@buddi/core/dist/pages.js.map +1 -1
  79. package/node_modules/@buddi/core/dist/plugin/index.d.ts +7 -0
  80. package/node_modules/@buddi/core/dist/plugin/index.d.ts.map +1 -1
  81. package/node_modules/@buddi/core/dist/plugin/index.js +5 -0
  82. package/node_modules/@buddi/core/dist/plugin/index.js.map +1 -1
  83. package/node_modules/@buddi/core/dist/plugin/sign-in.d.ts +78 -0
  84. package/node_modules/@buddi/core/dist/plugin/sign-in.d.ts.map +1 -0
  85. package/node_modules/@buddi/core/dist/plugin/sign-in.js +54 -0
  86. package/node_modules/@buddi/core/dist/plugin/sign-in.js.map +1 -0
  87. package/node_modules/@buddi/core/dist/plugin/version.d.ts +1 -1
  88. package/node_modules/@buddi/core/dist/plugin/version.js +1 -1
  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/store.d.ts +12 -0
  94. package/node_modules/@buddi/core/dist/questions/store.d.ts.map +1 -1
  95. package/node_modules/@buddi/core/dist/questions/store.js +11 -1
  96. package/node_modules/@buddi/core/dist/questions/store.js.map +1 -1
  97. package/node_modules/@buddi/core/dist/questions/types.d.ts +9 -1
  98. package/node_modules/@buddi/core/dist/questions/types.d.ts.map +1 -1
  99. package/node_modules/@buddi/core/dist/questions/types.js +16 -1
  100. package/node_modules/@buddi/core/dist/questions/types.js.map +1 -1
  101. package/node_modules/@buddi/core/dist/queue/jobs.d.ts +65 -2
  102. package/node_modules/@buddi/core/dist/queue/jobs.d.ts.map +1 -1
  103. package/node_modules/@buddi/core/dist/queue/jobs.js +123 -3
  104. package/node_modules/@buddi/core/dist/queue/jobs.js.map +1 -1
  105. package/node_modules/@buddi/core/dist/queue/worker.d.ts +26 -2
  106. package/node_modules/@buddi/core/dist/queue/worker.d.ts.map +1 -1
  107. package/node_modules/@buddi/core/dist/queue/worker.js +68 -12
  108. package/node_modules/@buddi/core/dist/queue/worker.js.map +1 -1
  109. package/node_modules/@buddi/core/dist/registry.d.ts +15 -1
  110. package/node_modules/@buddi/core/dist/registry.d.ts.map +1 -1
  111. package/node_modules/@buddi/core/dist/registry.js +88 -13
  112. package/node_modules/@buddi/core/dist/registry.js.map +1 -1
  113. package/node_modules/@buddi/core/dist/routes.d.ts +153 -0
  114. package/node_modules/@buddi/core/dist/routes.d.ts.map +1 -0
  115. package/node_modules/@buddi/core/dist/routes.js +47 -0
  116. package/node_modules/@buddi/core/dist/routes.js.map +1 -0
  117. package/node_modules/@buddi/core/dist/scheduler/missions.d.ts +5 -3
  118. package/node_modules/@buddi/core/dist/scheduler/missions.d.ts.map +1 -1
  119. package/node_modules/@buddi/core/dist/scheduler/missions.js +9 -7
  120. package/node_modules/@buddi/core/dist/scheduler/missions.js.map +1 -1
  121. package/node_modules/@buddi/core/dist/scheduler/types.d.ts +7 -0
  122. package/node_modules/@buddi/core/dist/scheduler/types.d.ts.map +1 -1
  123. package/node_modules/@buddi/core/dist/scheduler/types.js +1 -0
  124. package/node_modules/@buddi/core/dist/scheduler/types.js.map +1 -1
  125. package/node_modules/@buddi/core/dist/secrets/scrub.d.ts.map +1 -1
  126. package/node_modules/@buddi/core/dist/secrets/scrub.js +15 -0
  127. package/node_modules/@buddi/core/dist/secrets/scrub.js.map +1 -1
  128. package/node_modules/@buddi/core/dist/tools.d.ts +88 -2
  129. package/node_modules/@buddi/core/dist/tools.d.ts.map +1 -1
  130. package/node_modules/@buddi/core/dist/tools.js.map +1 -1
  131. package/node_modules/@buddi/core/dist/views.d.ts +12 -12
  132. package/node_modules/@buddi/core/dist/widgets.d.ts +14 -1
  133. package/node_modules/@buddi/core/dist/widgets.d.ts.map +1 -1
  134. package/node_modules/@buddi/core/dist/widgets.js +30 -0
  135. package/node_modules/@buddi/core/dist/widgets.js.map +1 -1
  136. package/node_modules/@buddi/core/migrations/074_owner_identity.sql +14 -0
  137. package/node_modules/@buddi/core/migrations/075_access_providers.sql +43 -0
  138. package/node_modules/@buddi/core/migrations/076_mission_browser.sql +7 -0
  139. package/node_modules/@buddi/gateway/dist/.tsbuildinfo +1 -1
  140. package/node_modules/@buddi/gateway/dist/agents/canvas.d.ts +12 -12
  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 +46 -20
  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 +17 -4
  147. package/node_modules/@buddi/gateway/dist/agents/catalogue-package.js.map +1 -1
  148. package/node_modules/@buddi/gateway/dist/agents/delegation.d.ts +10 -0
  149. package/node_modules/@buddi/gateway/dist/agents/delegation.d.ts.map +1 -1
  150. package/node_modules/@buddi/gateway/dist/agents/delegation.js +1 -0
  151. package/node_modules/@buddi/gateway/dist/agents/delegation.js.map +1 -1
  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 +26 -1
  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 +123 -6
  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 +4 -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 +11 -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 +12 -1
  165. package/node_modules/@buddi/gateway/dist/bootstrap.js.map +1 -1
  166. package/node_modules/@buddi/gateway/dist/browser-host.d.ts +30 -1
  167. package/node_modules/@buddi/gateway/dist/browser-host.d.ts.map +1 -1
  168. package/node_modules/@buddi/gateway/dist/browser-host.js +56 -1
  169. package/node_modules/@buddi/gateway/dist/browser-host.js.map +1 -1
  170. package/node_modules/@buddi/gateway/dist/chat/session.d.ts.map +1 -1
  171. package/node_modules/@buddi/gateway/dist/chat/session.js +9 -5
  172. package/node_modules/@buddi/gateway/dist/chat/session.js.map +1 -1
  173. package/node_modules/@buddi/gateway/dist/evals/golden.d.ts +33 -1
  174. package/node_modules/@buddi/gateway/dist/evals/golden.d.ts.map +1 -1
  175. package/node_modules/@buddi/gateway/dist/evals/golden.js +168 -3
  176. package/node_modules/@buddi/gateway/dist/evals/golden.js.map +1 -1
  177. package/node_modules/@buddi/gateway/dist/index.d.ts +3 -1
  178. package/node_modules/@buddi/gateway/dist/index.d.ts.map +1 -1
  179. package/node_modules/@buddi/gateway/dist/index.js +3 -1
  180. package/node_modules/@buddi/gateway/dist/index.js.map +1 -1
  181. package/node_modules/@buddi/gateway/dist/missions/dates.d.ts +98 -0
  182. package/node_modules/@buddi/gateway/dist/missions/dates.d.ts.map +1 -0
  183. package/node_modules/@buddi/gateway/dist/missions/dates.js +252 -0
  184. package/node_modules/@buddi/gateway/dist/missions/dates.js.map +1 -0
  185. package/node_modules/@buddi/gateway/dist/missions/execute.d.ts +42 -1
  186. package/node_modules/@buddi/gateway/dist/missions/execute.d.ts.map +1 -1
  187. package/node_modules/@buddi/gateway/dist/missions/execute.js +107 -8
  188. package/node_modules/@buddi/gateway/dist/missions/execute.js.map +1 -1
  189. package/node_modules/@buddi/gateway/dist/missions/parked.d.ts +133 -0
  190. package/node_modules/@buddi/gateway/dist/missions/parked.d.ts.map +1 -0
  191. package/node_modules/@buddi/gateway/dist/missions/parked.js +249 -0
  192. package/node_modules/@buddi/gateway/dist/missions/parked.js.map +1 -0
  193. package/node_modules/@buddi/gateway/dist/missions/report.d.ts.map +1 -1
  194. package/node_modules/@buddi/gateway/dist/missions/report.js +1 -0
  195. package/node_modules/@buddi/gateway/dist/missions/report.js.map +1 -1
  196. package/node_modules/@buddi/gateway/dist/ollama-local.d.ts +90 -0
  197. package/node_modules/@buddi/gateway/dist/ollama-local.d.ts.map +1 -0
  198. package/node_modules/@buddi/gateway/dist/ollama-local.js +201 -0
  199. package/node_modules/@buddi/gateway/dist/ollama-local.js.map +1 -0
  200. package/node_modules/@buddi/gateway/dist/plugins-cli.d.ts +8 -0
  201. package/node_modules/@buddi/gateway/dist/plugins-cli.d.ts.map +1 -1
  202. package/node_modules/@buddi/gateway/dist/plugins-cli.js +22 -1
  203. package/node_modules/@buddi/gateway/dist/plugins-cli.js.map +1 -1
  204. package/node_modules/@buddi/gateway/dist/serve.d.ts +7 -0
  205. package/node_modules/@buddi/gateway/dist/serve.d.ts.map +1 -1
  206. package/node_modules/@buddi/gateway/dist/serve.js +99 -14
  207. package/node_modules/@buddi/gateway/dist/serve.js.map +1 -1
  208. package/node_modules/@buddi/gateway/dist/surfaces/browser-cards.d.ts +18 -0
  209. package/node_modules/@buddi/gateway/dist/surfaces/browser-cards.d.ts.map +1 -0
  210. package/node_modules/@buddi/gateway/dist/surfaces/browser-cards.js +42 -0
  211. package/node_modules/@buddi/gateway/dist/surfaces/browser-cards.js.map +1 -0
  212. package/node_modules/@buddi/gateway/dist/surfaces/browser-continuation.js +1 -1
  213. package/node_modules/@buddi/gateway/dist/surfaces/browser-continuation.js.map +1 -1
  214. package/node_modules/@buddi/gateway/dist/surfaces/owner-request.d.ts +6 -0
  215. package/node_modules/@buddi/gateway/dist/surfaces/owner-request.d.ts.map +1 -1
  216. package/node_modules/@buddi/gateway/dist/surfaces/owner-request.js +7 -1
  217. package/node_modules/@buddi/gateway/dist/surfaces/owner-request.js.map +1 -1
  218. package/node_modules/@buddi/gateway/dist/surfaces/pending-question.js +2 -2
  219. package/node_modules/@buddi/gateway/dist/system-context.d.ts +21 -1
  220. package/node_modules/@buddi/gateway/dist/system-context.d.ts.map +1 -1
  221. package/node_modules/@buddi/gateway/dist/system-context.js +75 -2
  222. package/node_modules/@buddi/gateway/dist/system-context.js.map +1 -1
  223. package/node_modules/@buddi/gateway/dist/telegram/approvals.d.ts.map +1 -1
  224. package/node_modules/@buddi/gateway/dist/telegram/approvals.js +4 -2
  225. package/node_modules/@buddi/gateway/dist/telegram/approvals.js.map +1 -1
  226. package/node_modules/@buddi/gateway/dist/telegram/browser-view.d.ts +17 -17
  227. package/node_modules/@buddi/gateway/dist/telegram/browser-view.d.ts.map +1 -1
  228. package/node_modules/@buddi/gateway/dist/telegram/browser-view.js +33 -37
  229. package/node_modules/@buddi/gateway/dist/telegram/browser-view.js.map +1 -1
  230. package/node_modules/@buddi/gateway/dist/telegram/channel.d.ts.map +1 -1
  231. package/node_modules/@buddi/gateway/dist/telegram/channel.js +23 -2
  232. package/node_modules/@buddi/gateway/dist/telegram/channel.js.map +1 -1
  233. package/node_modules/@buddi/gateway/dist/telegram/html.d.ts +34 -0
  234. package/node_modules/@buddi/gateway/dist/telegram/html.d.ts.map +1 -0
  235. package/node_modules/@buddi/gateway/dist/telegram/html.js +263 -0
  236. package/node_modules/@buddi/gateway/dist/telegram/html.js.map +1 -0
  237. package/node_modules/@buddi/gateway/dist/telegram/main.d.ts.map +1 -1
  238. package/node_modules/@buddi/gateway/dist/telegram/main.js +11 -3
  239. package/node_modules/@buddi/gateway/dist/telegram/main.js.map +1 -1
  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/telegram/surface.d.ts.map +1 -1
  245. package/node_modules/@buddi/gateway/dist/telegram/surface.js +10 -0
  246. package/node_modules/@buddi/gateway/dist/telegram/surface.js.map +1 -1
  247. package/node_modules/@buddi/gateway/dist/tips/facts.d.ts +10 -0
  248. package/node_modules/@buddi/gateway/dist/tips/facts.d.ts.map +1 -1
  249. package/node_modules/@buddi/gateway/dist/tips/facts.js +12 -3
  250. package/node_modules/@buddi/gateway/dist/tips/facts.js.map +1 -1
  251. package/node_modules/@buddi/gateway/dist/tips/rules.d.ts +2 -0
  252. package/node_modules/@buddi/gateway/dist/tips/rules.d.ts.map +1 -1
  253. package/node_modules/@buddi/gateway/dist/tips/rules.js +25 -0
  254. package/node_modules/@buddi/gateway/dist/tips/rules.js.map +1 -1
  255. package/node_modules/@buddi/gateway/dist/web/access/arrival.d.ts +24 -0
  256. package/node_modules/@buddi/gateway/dist/web/access/arrival.d.ts.map +1 -0
  257. package/node_modules/@buddi/gateway/dist/web/access/arrival.js +18 -0
  258. package/node_modules/@buddi/gateway/dist/web/access/arrival.js.map +1 -0
  259. package/node_modules/@buddi/gateway/dist/web/access/cloudflare-api.d.ts +124 -0
  260. package/node_modules/@buddi/gateway/dist/web/access/cloudflare-api.d.ts.map +1 -0
  261. package/node_modules/@buddi/gateway/dist/web/access/cloudflare-api.js +206 -0
  262. package/node_modules/@buddi/gateway/dist/web/access/cloudflare-api.js.map +1 -0
  263. package/node_modules/@buddi/gateway/dist/web/access/cloudflare-setup.d.ts +163 -0
  264. package/node_modules/@buddi/gateway/dist/web/access/cloudflare-setup.d.ts.map +1 -0
  265. package/node_modules/@buddi/gateway/dist/web/access/cloudflare-setup.js +438 -0
  266. package/node_modules/@buddi/gateway/dist/web/access/cloudflare-setup.js.map +1 -0
  267. package/node_modules/@buddi/gateway/dist/web/access/cloudflare-token.d.ts +31 -0
  268. package/node_modules/@buddi/gateway/dist/web/access/cloudflare-token.d.ts.map +1 -0
  269. package/node_modules/@buddi/gateway/dist/web/access/cloudflare-token.js +74 -0
  270. package/node_modules/@buddi/gateway/dist/web/access/cloudflare-token.js.map +1 -0
  271. package/node_modules/@buddi/gateway/dist/web/access/cloudflare.d.ts +145 -0
  272. package/node_modules/@buddi/gateway/dist/web/access/cloudflare.d.ts.map +1 -0
  273. package/node_modules/@buddi/gateway/dist/web/access/cloudflare.js +474 -0
  274. package/node_modules/@buddi/gateway/dist/web/access/cloudflare.js.map +1 -0
  275. package/node_modules/@buddi/gateway/dist/web/access/index.d.ts +9 -0
  276. package/node_modules/@buddi/gateway/dist/web/access/index.d.ts.map +1 -0
  277. package/node_modules/@buddi/gateway/dist/web/access/index.js +9 -0
  278. package/node_modules/@buddi/gateway/dist/web/access/index.js.map +1 -0
  279. package/node_modules/@buddi/gateway/dist/web/access/ingress.d.ts +30 -0
  280. package/node_modules/@buddi/gateway/dist/web/access/ingress.d.ts.map +1 -0
  281. package/node_modules/@buddi/gateway/dist/web/access/ingress.js +76 -0
  282. package/node_modules/@buddi/gateway/dist/web/access/ingress.js.map +1 -0
  283. package/node_modules/@buddi/gateway/dist/web/access/provider.d.ts +173 -0
  284. package/node_modules/@buddi/gateway/dist/web/access/provider.d.ts.map +1 -0
  285. package/node_modules/@buddi/gateway/dist/web/access/provider.js +11 -0
  286. package/node_modules/@buddi/gateway/dist/web/access/provider.js.map +1 -0
  287. package/node_modules/@buddi/gateway/dist/web/access/registry.d.ts +33 -0
  288. package/node_modules/@buddi/gateway/dist/web/access/registry.d.ts.map +1 -0
  289. package/node_modules/@buddi/gateway/dist/web/access/registry.js +32 -0
  290. package/node_modules/@buddi/gateway/dist/web/access/registry.js.map +1 -0
  291. package/node_modules/@buddi/gateway/dist/web/{tailscale.d.ts → access/tailscale.d.ts} +27 -0
  292. package/node_modules/@buddi/gateway/dist/web/access/tailscale.d.ts.map +1 -0
  293. package/node_modules/@buddi/gateway/dist/web/{tailscale.js → access/tailscale.js} +118 -3
  294. package/node_modules/@buddi/gateway/dist/web/access/tailscale.js.map +1 -0
  295. package/node_modules/@buddi/gateway/dist/web/agents.d.ts +2 -0
  296. package/node_modules/@buddi/gateway/dist/web/agents.d.ts.map +1 -1
  297. package/node_modules/@buddi/gateway/dist/web/agents.js +19 -1
  298. package/node_modules/@buddi/gateway/dist/web/agents.js.map +1 -1
  299. package/node_modules/@buddi/gateway/dist/web/api-routes.d.ts +4 -3
  300. package/node_modules/@buddi/gateway/dist/web/api-routes.d.ts.map +1 -1
  301. package/node_modules/@buddi/gateway/dist/web/api-routes.js +168 -26
  302. package/node_modules/@buddi/gateway/dist/web/api-routes.js.map +1 -1
  303. package/node_modules/@buddi/gateway/dist/web/api-scan.d.ts +1 -1
  304. package/node_modules/@buddi/gateway/dist/web/api-scan.d.ts.map +1 -1
  305. package/node_modules/@buddi/gateway/dist/web/api-scan.js +1 -0
  306. package/node_modules/@buddi/gateway/dist/web/api-scan.js.map +1 -1
  307. package/node_modules/@buddi/gateway/dist/web/attention.d.ts.map +1 -1
  308. package/node_modules/@buddi/gateway/dist/web/attention.js +11 -3
  309. package/node_modules/@buddi/gateway/dist/web/attention.js.map +1 -1
  310. package/node_modules/@buddi/gateway/dist/web/chat.d.ts +23 -0
  311. package/node_modules/@buddi/gateway/dist/web/chat.d.ts.map +1 -1
  312. package/node_modules/@buddi/gateway/dist/web/chat.js +71 -2
  313. package/node_modules/@buddi/gateway/dist/web/chat.js.map +1 -1
  314. package/node_modules/@buddi/gateway/dist/web/client-key.d.ts +3 -0
  315. package/node_modules/@buddi/gateway/dist/web/client-key.d.ts.map +1 -1
  316. package/node_modules/@buddi/gateway/dist/web/client-key.js +8 -1
  317. package/node_modules/@buddi/gateway/dist/web/client-key.js.map +1 -1
  318. package/node_modules/@buddi/gateway/dist/web/composer.d.ts +45 -0
  319. package/node_modules/@buddi/gateway/dist/web/composer.d.ts.map +1 -0
  320. package/node_modules/@buddi/gateway/dist/web/composer.js +85 -0
  321. package/node_modules/@buddi/gateway/dist/web/composer.js.map +1 -0
  322. package/node_modules/@buddi/gateway/dist/web/extension.d.ts +9 -1
  323. package/node_modules/@buddi/gateway/dist/web/extension.d.ts.map +1 -1
  324. package/node_modules/@buddi/gateway/dist/web/extension.js +61 -1
  325. package/node_modules/@buddi/gateway/dist/web/extension.js.map +1 -1
  326. package/node_modules/@buddi/gateway/dist/web/http.d.ts +7 -0
  327. package/node_modules/@buddi/gateway/dist/web/http.d.ts.map +1 -1
  328. package/node_modules/@buddi/gateway/dist/web/http.js +15 -1
  329. package/node_modules/@buddi/gateway/dist/web/http.js.map +1 -1
  330. package/node_modules/@buddi/gateway/dist/web/index.d.ts +1 -1
  331. package/node_modules/@buddi/gateway/dist/web/index.d.ts.map +1 -1
  332. package/node_modules/@buddi/gateway/dist/web/index.js +1 -1
  333. package/node_modules/@buddi/gateway/dist/web/index.js.map +1 -1
  334. package/node_modules/@buddi/gateway/dist/web/market.d.ts +20 -1
  335. package/node_modules/@buddi/gateway/dist/web/market.d.ts.map +1 -1
  336. package/node_modules/@buddi/gateway/dist/web/market.js +41 -1
  337. package/node_modules/@buddi/gateway/dist/web/market.js.map +1 -1
  338. package/node_modules/@buddi/gateway/dist/web/onboarding.js +1 -1
  339. package/node_modules/@buddi/gateway/dist/web/onboarding.js.map +1 -1
  340. package/node_modules/@buddi/gateway/dist/web/people.d.ts +44 -0
  341. package/node_modules/@buddi/gateway/dist/web/people.d.ts.map +1 -0
  342. package/node_modules/@buddi/gateway/dist/web/people.js +114 -0
  343. package/node_modules/@buddi/gateway/dist/web/people.js.map +1 -0
  344. package/node_modules/@buddi/gateway/dist/web/server.d.ts +42 -2
  345. package/node_modules/@buddi/gateway/dist/web/server.d.ts.map +1 -1
  346. package/node_modules/@buddi/gateway/dist/web/server.js +713 -156
  347. package/node_modules/@buddi/gateway/dist/web/server.js.map +1 -1
  348. package/node_modules/@buddi/gateway/dist/web/sessions.d.ts +24 -14
  349. package/node_modules/@buddi/gateway/dist/web/sessions.d.ts.map +1 -1
  350. package/node_modules/@buddi/gateway/dist/web/sessions.js +42 -14
  351. package/node_modules/@buddi/gateway/dist/web/sessions.js.map +1 -1
  352. package/node_modules/@buddi/gateway/dist/web/signed-out.d.ts +10 -0
  353. package/node_modules/@buddi/gateway/dist/web/signed-out.d.ts.map +1 -1
  354. package/node_modules/@buddi/gateway/dist/web/signed-out.js +47 -0
  355. package/node_modules/@buddi/gateway/dist/web/signed-out.js.map +1 -1
  356. package/node_modules/@buddi/gateway/dist/web/skill-bundles.d.ts +101 -0
  357. package/node_modules/@buddi/gateway/dist/web/skill-bundles.d.ts.map +1 -0
  358. package/node_modules/@buddi/gateway/dist/web/skill-bundles.js +439 -0
  359. package/node_modules/@buddi/gateway/dist/web/skill-bundles.js.map +1 -0
  360. package/node_modules/@buddi/gateway/dist/web/skills.d.ts +57 -1
  361. package/node_modules/@buddi/gateway/dist/web/skills.d.ts.map +1 -1
  362. package/node_modules/@buddi/gateway/dist/web/skills.js +171 -9
  363. package/node_modules/@buddi/gateway/dist/web/skills.js.map +1 -1
  364. package/node_modules/@buddi/gateway/dist/web/zip-read.d.ts +31 -0
  365. package/node_modules/@buddi/gateway/dist/web/zip-read.d.ts.map +1 -0
  366. package/node_modules/@buddi/gateway/dist/web/zip-read.js +125 -0
  367. package/node_modules/@buddi/gateway/dist/web/zip-read.js.map +1 -0
  368. package/node_modules/@buddi/install/dist/.tsbuildinfo +1 -1
  369. package/node_modules/@buddi/runtime/dist/.tsbuildinfo +1 -1
  370. package/node_modules/@buddi/runtime/dist/delegate.d.ts +8 -0
  371. package/node_modules/@buddi/runtime/dist/delegate.d.ts.map +1 -1
  372. package/node_modules/@buddi/runtime/dist/delegate.js +19 -1
  373. package/node_modules/@buddi/runtime/dist/delegate.js.map +1 -1
  374. package/node_modules/@buddi/runtime/dist/index.d.ts +1 -0
  375. package/node_modules/@buddi/runtime/dist/index.d.ts.map +1 -1
  376. package/node_modules/@buddi/runtime/dist/index.js +1 -0
  377. package/node_modules/@buddi/runtime/dist/index.js.map +1 -1
  378. package/node_modules/@buddi/runtime/dist/loop.d.ts +2 -0
  379. package/node_modules/@buddi/runtime/dist/loop.d.ts.map +1 -1
  380. package/node_modules/@buddi/runtime/dist/loop.js +29 -5
  381. package/node_modules/@buddi/runtime/dist/loop.js.map +1 -1
  382. package/node_modules/@buddi/runtime/dist/plugin-sign-in.d.ts +12 -0
  383. package/node_modules/@buddi/runtime/dist/plugin-sign-in.d.ts.map +1 -0
  384. package/node_modules/@buddi/runtime/dist/plugin-sign-in.js +397 -0
  385. package/node_modules/@buddi/runtime/dist/plugin-sign-in.js.map +1 -0
  386. package/node_modules/@buddi/tool-artifacts/dist/.tsbuildinfo +1 -1
  387. package/node_modules/@buddi/tool-artifacts/dist/tools/write.d.ts.map +1 -1
  388. package/node_modules/@buddi/tool-artifacts/dist/tools/write.js +1 -0
  389. package/node_modules/@buddi/tool-artifacts/dist/tools/write.js.map +1 -1
  390. package/node_modules/@buddi/tool-browser/dist/.tsbuildinfo +1 -1
  391. package/node_modules/@buddi/tool-browser/dist/availability.d.ts +2 -2
  392. package/node_modules/@buddi/tool-browser/dist/availability.d.ts.map +1 -1
  393. package/node_modules/@buddi/tool-browser/dist/availability.js +2 -2
  394. package/node_modules/@buddi/tool-browser/dist/availability.js.map +1 -1
  395. package/node_modules/@buddi/tool-browser/dist/controller.d.ts +76 -58
  396. package/node_modules/@buddi/tool-browser/dist/controller.d.ts.map +1 -1
  397. package/node_modules/@buddi/tool-browser/dist/controller.js +751 -219
  398. package/node_modules/@buddi/tool-browser/dist/controller.js.map +1 -1
  399. package/node_modules/@buddi/tool-browser/dist/extension.d.ts +12 -0
  400. package/node_modules/@buddi/tool-browser/dist/extension.d.ts.map +1 -1
  401. package/node_modules/@buddi/tool-browser/dist/extension.js +8 -0
  402. package/node_modules/@buddi/tool-browser/dist/extension.js.map +1 -1
  403. package/node_modules/@buddi/tool-browser/dist/index.d.ts +13 -5
  404. package/node_modules/@buddi/tool-browser/dist/index.d.ts.map +1 -1
  405. package/node_modules/@buddi/tool-browser/dist/index.js +29 -12
  406. package/node_modules/@buddi/tool-browser/dist/index.js.map +1 -1
  407. package/node_modules/@buddi/tool-browser/dist/manager.d.ts +39 -21
  408. package/node_modules/@buddi/tool-browser/dist/manager.d.ts.map +1 -1
  409. package/node_modules/@buddi/tool-browser/dist/manager.js +229 -136
  410. package/node_modules/@buddi/tool-browser/dist/manager.js.map +1 -1
  411. package/node_modules/@buddi/tool-browser/dist/routes.d.ts +130 -0
  412. package/node_modules/@buddi/tool-browser/dist/routes.d.ts.map +1 -0
  413. package/node_modules/@buddi/tool-browser/dist/routes.js +283 -0
  414. package/node_modules/@buddi/tool-browser/dist/routes.js.map +1 -0
  415. package/node_modules/@buddi/tool-browser/dist/service.d.ts +157 -114
  416. package/node_modules/@buddi/tool-browser/dist/service.d.ts.map +1 -1
  417. package/node_modules/@buddi/tool-browser/dist/service.js +379 -390
  418. package/node_modules/@buddi/tool-browser/dist/service.js.map +1 -1
  419. package/node_modules/@buddi/tool-browser/dist/settings.d.ts +88 -0
  420. package/node_modules/@buddi/tool-browser/dist/settings.d.ts.map +1 -0
  421. package/node_modules/@buddi/tool-browser/dist/settings.js +86 -0
  422. package/node_modules/@buddi/tool-browser/dist/settings.js.map +1 -0
  423. package/node_modules/@buddi/tool-browser/dist/telemetry.d.ts +203 -0
  424. package/node_modules/@buddi/tool-browser/dist/telemetry.d.ts.map +1 -0
  425. package/node_modules/@buddi/tool-browser/dist/telemetry.js +142 -0
  426. package/node_modules/@buddi/tool-browser/dist/telemetry.js.map +1 -0
  427. package/node_modules/@buddi/tool-browser/dist/types.d.ts +14 -3
  428. package/node_modules/@buddi/tool-browser/dist/types.d.ts.map +1 -1
  429. package/node_modules/@buddi/tool-browser/dist/types.js +9 -9
  430. package/node_modules/@buddi/tool-browser/dist/types.js.map +1 -1
  431. package/node_modules/@buddi/tool-email/dist/.tsbuildinfo +1 -1
  432. package/node_modules/@buddi/tool-email/dist/widgets.d.ts.map +1 -1
  433. package/node_modules/@buddi/tool-email/dist/widgets.js +2 -1
  434. package/node_modules/@buddi/tool-email/dist/widgets.js.map +1 -1
  435. package/node_modules/@buddi/tool-host/dist/.tsbuildinfo +1 -1
  436. package/node_modules/@buddi/tool-host/dist/index.d.ts +2 -1
  437. package/node_modules/@buddi/tool-host/dist/index.d.ts.map +1 -1
  438. package/node_modules/@buddi/tool-host/dist/index.js +3 -2
  439. package/node_modules/@buddi/tool-host/dist/index.js.map +1 -1
  440. package/node_modules/@buddi/tool-host/dist/process.d.ts +4 -0
  441. package/node_modules/@buddi/tool-host/dist/process.d.ts.map +1 -1
  442. package/node_modules/@buddi/tool-host/dist/process.js +4 -2
  443. package/node_modules/@buddi/tool-host/dist/process.js.map +1 -1
  444. package/node_modules/@buddi/tool-host/dist/service.d.ts +66 -17
  445. package/node_modules/@buddi/tool-host/dist/service.d.ts.map +1 -1
  446. package/node_modules/@buddi/tool-host/dist/service.js +172 -9
  447. package/node_modules/@buddi/tool-host/dist/service.js.map +1 -1
  448. package/node_modules/@buddi/tool-host/dist/skill-run.d.ts +55 -0
  449. package/node_modules/@buddi/tool-host/dist/skill-run.d.ts.map +1 -0
  450. package/node_modules/@buddi/tool-host/dist/skill-run.js +132 -0
  451. package/node_modules/@buddi/tool-host/dist/skill-run.js.map +1 -0
  452. package/node_modules/@buddi/tool-mcp/dist/.tsbuildinfo +1 -1
  453. package/node_modules/@buddi/tool-memory/dist/.tsbuildinfo +1 -1
  454. package/node_modules/@buddi/tool-memory/dist/index.d.ts +1 -0
  455. package/node_modules/@buddi/tool-memory/dist/index.d.ts.map +1 -1
  456. package/node_modules/@buddi/tool-memory/dist/index.js +7 -2
  457. package/node_modules/@buddi/tool-memory/dist/index.js.map +1 -1
  458. package/node_modules/@buddi/tool-memory/dist/people.d.ts +218 -0
  459. package/node_modules/@buddi/tool-memory/dist/people.d.ts.map +1 -0
  460. package/node_modules/@buddi/tool-memory/dist/people.js +582 -0
  461. package/node_modules/@buddi/tool-memory/dist/people.js.map +1 -0
  462. package/node_modules/@buddi/tool-memory/dist/preamble.d.ts +4 -1
  463. package/node_modules/@buddi/tool-memory/dist/preamble.d.ts.map +1 -1
  464. package/node_modules/@buddi/tool-memory/dist/preamble.js +25 -7
  465. package/node_modules/@buddi/tool-memory/dist/preamble.js.map +1 -1
  466. package/node_modules/@buddi/tool-memory/migrations/002_people.sql +40 -0
  467. package/node_modules/@buddi/tool-web/dist/.tsbuildinfo +1 -1
  468. package/node_modules/imapflow/CHANGELOG.md +23 -0
  469. package/node_modules/imapflow/dist/cjs/commands/append.js +27 -3
  470. package/node_modules/imapflow/dist/cjs/commands/store.js +31 -6
  471. package/node_modules/imapflow/dist/cjs/imap-flow.d.ts +1 -1
  472. package/node_modules/imapflow/dist/cjs/imap-flow.js +1 -1
  473. package/node_modules/imapflow/dist/cjs/package-info.d.ts +1 -1
  474. package/node_modules/imapflow/dist/cjs/package-info.js +1 -1
  475. package/node_modules/imapflow/dist/cjs/search-compiler.js +21 -31
  476. package/node_modules/imapflow/dist/esm/commands/append.js +27 -3
  477. package/node_modules/imapflow/dist/esm/commands/store.js +31 -6
  478. package/node_modules/imapflow/dist/esm/imap-flow.d.ts +1 -1
  479. package/node_modules/imapflow/dist/esm/imap-flow.js +1 -1
  480. package/node_modules/imapflow/dist/esm/package-info.d.ts +1 -1
  481. package/node_modules/imapflow/dist/esm/package-info.js +1 -1
  482. package/node_modules/imapflow/dist/esm/search-compiler.js +21 -31
  483. package/node_modules/imapflow/package.json +3 -3
  484. package/package.json +2 -2
  485. package/packages/cli/dist/.tsbuildinfo +1 -1
  486. package/packages/cli/dist/access-cmd.d.ts +10 -0
  487. package/packages/cli/dist/access-cmd.d.ts.map +1 -0
  488. package/packages/cli/dist/access-cmd.js +160 -0
  489. package/packages/cli/dist/access-cmd.js.map +1 -0
  490. package/packages/cli/dist/args.d.ts +10 -0
  491. package/packages/cli/dist/args.d.ts.map +1 -1
  492. package/packages/cli/dist/args.js +29 -1
  493. package/packages/cli/dist/args.js.map +1 -1
  494. package/packages/cli/dist/commands.d.ts.map +1 -1
  495. package/packages/cli/dist/commands.js +28 -2
  496. package/packages/cli/dist/commands.js.map +1 -1
  497. package/packages/cli/dist/doctor-probes.d.ts.map +1 -1
  498. package/packages/cli/dist/doctor-probes.js +90 -30
  499. package/packages/cli/dist/doctor-probes.js.map +1 -1
  500. package/packages/cli/dist/doctor.d.ts +61 -12
  501. package/packages/cli/dist/doctor.d.ts.map +1 -1
  502. package/packages/cli/dist/doctor.js +60 -9
  503. package/packages/cli/dist/doctor.js.map +1 -1
  504. package/packages/cli/dist/main.d.ts +2 -0
  505. package/packages/cli/dist/main.d.ts.map +1 -1
  506. package/packages/cli/dist/main.js +18 -1
  507. package/packages/cli/dist/main.js.map +1 -1
  508. package/packages/core/dist/.tsbuildinfo +1 -1
  509. package/packages/core/dist/actions/approvals.d.ts +7 -0
  510. package/packages/core/dist/actions/approvals.d.ts.map +1 -1
  511. package/packages/core/dist/actions/approvals.js +11 -1
  512. package/packages/core/dist/actions/approvals.js.map +1 -1
  513. package/packages/core/dist/agents/catalog.d.ts +2 -0
  514. package/packages/core/dist/agents/catalog.d.ts.map +1 -1
  515. package/packages/core/dist/agents/catalog.js +3 -2
  516. package/packages/core/dist/agents/catalog.js.map +1 -1
  517. package/packages/core/dist/agents/edit.d.ts +2 -0
  518. package/packages/core/dist/agents/edit.d.ts.map +1 -1
  519. package/packages/core/dist/agents/edit.js +3 -1
  520. package/packages/core/dist/agents/edit.js.map +1 -1
  521. package/packages/core/dist/agents/frontmatter.d.ts +11 -0
  522. package/packages/core/dist/agents/frontmatter.d.ts.map +1 -1
  523. package/packages/core/dist/agents/frontmatter.js +7 -0
  524. package/packages/core/dist/agents/frontmatter.js.map +1 -1
  525. package/packages/core/dist/agents/skills.d.ts +60 -1
  526. package/packages/core/dist/agents/skills.d.ts.map +1 -1
  527. package/packages/core/dist/agents/skills.js +157 -17
  528. package/packages/core/dist/agents/skills.js.map +1 -1
  529. package/packages/core/dist/day-month.d.ts +52 -0
  530. package/packages/core/dist/day-month.d.ts.map +1 -0
  531. package/packages/core/dist/day-month.js +101 -0
  532. package/packages/core/dist/day-month.js.map +1 -0
  533. package/packages/core/dist/host/build.d.ts +11 -2
  534. package/packages/core/dist/host/build.d.ts.map +1 -1
  535. package/packages/core/dist/host/build.js +115 -4
  536. package/packages/core/dist/host/build.js.map +1 -1
  537. package/packages/core/dist/host/http.d.ts +35 -0
  538. package/packages/core/dist/host/http.d.ts.map +1 -1
  539. package/packages/core/dist/host/http.js +133 -29
  540. package/packages/core/dist/host/http.js.map +1 -1
  541. package/packages/core/dist/host/types.d.ts +72 -1
  542. package/packages/core/dist/host/types.d.ts.map +1 -1
  543. package/packages/core/dist/index.d.ts +3 -0
  544. package/packages/core/dist/index.d.ts.map +1 -1
  545. package/packages/core/dist/index.js +3 -0
  546. package/packages/core/dist/index.js.map +1 -1
  547. package/packages/core/dist/onboarding/store.d.ts.map +1 -1
  548. package/packages/core/dist/onboarding/store.js +28 -5
  549. package/packages/core/dist/onboarding/store.js.map +1 -1
  550. package/packages/core/dist/onboarding/types.d.ts +10 -0
  551. package/packages/core/dist/onboarding/types.d.ts.map +1 -1
  552. package/packages/core/dist/onboarding/types.js.map +1 -1
  553. package/packages/core/dist/pages.d.ts +145 -11
  554. package/packages/core/dist/pages.d.ts.map +1 -1
  555. package/packages/core/dist/pages.js +113 -5
  556. package/packages/core/dist/pages.js.map +1 -1
  557. package/packages/core/dist/plugin/index.d.ts +7 -0
  558. package/packages/core/dist/plugin/index.d.ts.map +1 -1
  559. package/packages/core/dist/plugin/index.js +5 -0
  560. package/packages/core/dist/plugin/index.js.map +1 -1
  561. package/packages/core/dist/plugin/sign-in.d.ts +78 -0
  562. package/packages/core/dist/plugin/sign-in.d.ts.map +1 -0
  563. package/packages/core/dist/plugin/sign-in.js +54 -0
  564. package/packages/core/dist/plugin/sign-in.js.map +1 -0
  565. package/packages/core/dist/plugin/version.d.ts +1 -1
  566. package/packages/core/dist/plugin/version.js +1 -1
  567. package/packages/core/dist/provider-accounts.d.ts +7 -0
  568. package/packages/core/dist/provider-accounts.d.ts.map +1 -1
  569. package/packages/core/dist/provider-accounts.js +15 -0
  570. package/packages/core/dist/provider-accounts.js.map +1 -1
  571. package/packages/core/dist/questions/store.d.ts +12 -0
  572. package/packages/core/dist/questions/store.d.ts.map +1 -1
  573. package/packages/core/dist/questions/store.js +11 -1
  574. package/packages/core/dist/questions/store.js.map +1 -1
  575. package/packages/core/dist/questions/types.d.ts +9 -1
  576. package/packages/core/dist/questions/types.d.ts.map +1 -1
  577. package/packages/core/dist/questions/types.js +16 -1
  578. package/packages/core/dist/questions/types.js.map +1 -1
  579. package/packages/core/dist/queue/jobs.d.ts +65 -2
  580. package/packages/core/dist/queue/jobs.d.ts.map +1 -1
  581. package/packages/core/dist/queue/jobs.js +123 -3
  582. package/packages/core/dist/queue/jobs.js.map +1 -1
  583. package/packages/core/dist/queue/worker.d.ts +26 -2
  584. package/packages/core/dist/queue/worker.d.ts.map +1 -1
  585. package/packages/core/dist/queue/worker.js +68 -12
  586. package/packages/core/dist/queue/worker.js.map +1 -1
  587. package/packages/core/dist/registry.d.ts +15 -1
  588. package/packages/core/dist/registry.d.ts.map +1 -1
  589. package/packages/core/dist/registry.js +88 -13
  590. package/packages/core/dist/registry.js.map +1 -1
  591. package/packages/core/dist/routes.d.ts +153 -0
  592. package/packages/core/dist/routes.d.ts.map +1 -0
  593. package/packages/core/dist/routes.js +47 -0
  594. package/packages/core/dist/routes.js.map +1 -0
  595. package/packages/core/dist/scheduler/missions.d.ts +5 -3
  596. package/packages/core/dist/scheduler/missions.d.ts.map +1 -1
  597. package/packages/core/dist/scheduler/missions.js +9 -7
  598. package/packages/core/dist/scheduler/missions.js.map +1 -1
  599. package/packages/core/dist/scheduler/types.d.ts +7 -0
  600. package/packages/core/dist/scheduler/types.d.ts.map +1 -1
  601. package/packages/core/dist/scheduler/types.js +1 -0
  602. package/packages/core/dist/scheduler/types.js.map +1 -1
  603. package/packages/core/dist/secrets/scrub.d.ts.map +1 -1
  604. package/packages/core/dist/secrets/scrub.js +15 -0
  605. package/packages/core/dist/secrets/scrub.js.map +1 -1
  606. package/packages/core/dist/tools.d.ts +88 -2
  607. package/packages/core/dist/tools.d.ts.map +1 -1
  608. package/packages/core/dist/tools.js.map +1 -1
  609. package/packages/core/dist/views.d.ts +12 -12
  610. package/packages/core/dist/widgets.d.ts +14 -1
  611. package/packages/core/dist/widgets.d.ts.map +1 -1
  612. package/packages/core/dist/widgets.js +30 -0
  613. package/packages/core/dist/widgets.js.map +1 -1
  614. package/packages/core/migrations/074_owner_identity.sql +14 -0
  615. package/packages/core/migrations/075_access_providers.sql +43 -0
  616. package/packages/core/migrations/076_mission_browser.sql +7 -0
  617. package/packages/gateway/dist/.tsbuildinfo +1 -1
  618. package/packages/gateway/dist/agents/canvas.d.ts +12 -12
  619. package/packages/gateway/dist/agents/catalog.d.ts.map +1 -1
  620. package/packages/gateway/dist/agents/catalog.js +3 -3
  621. package/packages/gateway/dist/agents/catalog.js.map +1 -1
  622. package/packages/gateway/dist/agents/catalogue-package.d.ts +46 -20
  623. package/packages/gateway/dist/agents/catalogue-package.d.ts.map +1 -1
  624. package/packages/gateway/dist/agents/catalogue-package.js +17 -4
  625. package/packages/gateway/dist/agents/catalogue-package.js.map +1 -1
  626. package/packages/gateway/dist/agents/delegation.d.ts +10 -0
  627. package/packages/gateway/dist/agents/delegation.d.ts.map +1 -1
  628. package/packages/gateway/dist/agents/delegation.js +1 -0
  629. package/packages/gateway/dist/agents/delegation.js.map +1 -1
  630. package/packages/gateway/dist/agents/owner-tools.d.ts.map +1 -1
  631. package/packages/gateway/dist/agents/owner-tools.js +36 -2
  632. package/packages/gateway/dist/agents/owner-tools.js.map +1 -1
  633. package/packages/gateway/dist/agents/platform-catalogue.d.ts +26 -1
  634. package/packages/gateway/dist/agents/platform-catalogue.d.ts.map +1 -1
  635. package/packages/gateway/dist/agents/platform-catalogue.js +123 -6
  636. package/packages/gateway/dist/agents/platform-catalogue.js.map +1 -1
  637. package/packages/gateway/dist/agents/platform.d.ts +4 -4
  638. package/packages/gateway/dist/agents/platform.d.ts.map +1 -1
  639. package/packages/gateway/dist/agents/platform.js +11 -0
  640. package/packages/gateway/dist/agents/platform.js.map +1 -1
  641. package/packages/gateway/dist/bootstrap.d.ts.map +1 -1
  642. package/packages/gateway/dist/bootstrap.js +12 -1
  643. package/packages/gateway/dist/bootstrap.js.map +1 -1
  644. package/packages/gateway/dist/browser-host.d.ts +30 -1
  645. package/packages/gateway/dist/browser-host.d.ts.map +1 -1
  646. package/packages/gateway/dist/browser-host.js +56 -1
  647. package/packages/gateway/dist/browser-host.js.map +1 -1
  648. package/packages/gateway/dist/chat/session.d.ts.map +1 -1
  649. package/packages/gateway/dist/chat/session.js +9 -5
  650. package/packages/gateway/dist/chat/session.js.map +1 -1
  651. package/packages/gateway/dist/evals/golden.d.ts +33 -1
  652. package/packages/gateway/dist/evals/golden.d.ts.map +1 -1
  653. package/packages/gateway/dist/evals/golden.js +168 -3
  654. package/packages/gateway/dist/evals/golden.js.map +1 -1
  655. package/packages/gateway/dist/index.d.ts +3 -1
  656. package/packages/gateway/dist/index.d.ts.map +1 -1
  657. package/packages/gateway/dist/index.js +3 -1
  658. package/packages/gateway/dist/index.js.map +1 -1
  659. package/packages/gateway/dist/missions/dates.d.ts +98 -0
  660. package/packages/gateway/dist/missions/dates.d.ts.map +1 -0
  661. package/packages/gateway/dist/missions/dates.js +252 -0
  662. package/packages/gateway/dist/missions/dates.js.map +1 -0
  663. package/packages/gateway/dist/missions/execute.d.ts +42 -1
  664. package/packages/gateway/dist/missions/execute.d.ts.map +1 -1
  665. package/packages/gateway/dist/missions/execute.js +107 -8
  666. package/packages/gateway/dist/missions/execute.js.map +1 -1
  667. package/packages/gateway/dist/missions/parked.d.ts +133 -0
  668. package/packages/gateway/dist/missions/parked.d.ts.map +1 -0
  669. package/packages/gateway/dist/missions/parked.js +249 -0
  670. package/packages/gateway/dist/missions/parked.js.map +1 -0
  671. package/packages/gateway/dist/missions/report.d.ts.map +1 -1
  672. package/packages/gateway/dist/missions/report.js +1 -0
  673. package/packages/gateway/dist/missions/report.js.map +1 -1
  674. package/packages/gateway/dist/ollama-local.d.ts +90 -0
  675. package/packages/gateway/dist/ollama-local.d.ts.map +1 -0
  676. package/packages/gateway/dist/ollama-local.js +201 -0
  677. package/packages/gateway/dist/ollama-local.js.map +1 -0
  678. package/packages/gateway/dist/plugins-cli.d.ts +8 -0
  679. package/packages/gateway/dist/plugins-cli.d.ts.map +1 -1
  680. package/packages/gateway/dist/plugins-cli.js +22 -1
  681. package/packages/gateway/dist/plugins-cli.js.map +1 -1
  682. package/packages/gateway/dist/serve.d.ts +7 -0
  683. package/packages/gateway/dist/serve.d.ts.map +1 -1
  684. package/packages/gateway/dist/serve.js +99 -14
  685. package/packages/gateway/dist/serve.js.map +1 -1
  686. package/packages/gateway/dist/surfaces/browser-cards.d.ts +18 -0
  687. package/packages/gateway/dist/surfaces/browser-cards.d.ts.map +1 -0
  688. package/packages/gateway/dist/surfaces/browser-cards.js +42 -0
  689. package/packages/gateway/dist/surfaces/browser-cards.js.map +1 -0
  690. package/packages/gateway/dist/surfaces/browser-continuation.js +1 -1
  691. package/packages/gateway/dist/surfaces/browser-continuation.js.map +1 -1
  692. package/packages/gateway/dist/surfaces/owner-request.d.ts +6 -0
  693. package/packages/gateway/dist/surfaces/owner-request.d.ts.map +1 -1
  694. package/packages/gateway/dist/surfaces/owner-request.js +7 -1
  695. package/packages/gateway/dist/surfaces/owner-request.js.map +1 -1
  696. package/packages/gateway/dist/surfaces/pending-question.js +2 -2
  697. package/packages/gateway/dist/system-context.d.ts +21 -1
  698. package/packages/gateway/dist/system-context.d.ts.map +1 -1
  699. package/packages/gateway/dist/system-context.js +75 -2
  700. package/packages/gateway/dist/system-context.js.map +1 -1
  701. package/packages/gateway/dist/telegram/approvals.d.ts.map +1 -1
  702. package/packages/gateway/dist/telegram/approvals.js +4 -2
  703. package/packages/gateway/dist/telegram/approvals.js.map +1 -1
  704. package/packages/gateway/dist/telegram/browser-view.d.ts +17 -17
  705. package/packages/gateway/dist/telegram/browser-view.d.ts.map +1 -1
  706. package/packages/gateway/dist/telegram/browser-view.js +33 -37
  707. package/packages/gateway/dist/telegram/browser-view.js.map +1 -1
  708. package/packages/gateway/dist/telegram/channel.d.ts.map +1 -1
  709. package/packages/gateway/dist/telegram/channel.js +23 -2
  710. package/packages/gateway/dist/telegram/channel.js.map +1 -1
  711. package/packages/gateway/dist/telegram/html.d.ts +34 -0
  712. package/packages/gateway/dist/telegram/html.d.ts.map +1 -0
  713. package/packages/gateway/dist/telegram/html.js +263 -0
  714. package/packages/gateway/dist/telegram/html.js.map +1 -0
  715. package/packages/gateway/dist/telegram/main.d.ts.map +1 -1
  716. package/packages/gateway/dist/telegram/main.js +11 -3
  717. package/packages/gateway/dist/telegram/main.js.map +1 -1
  718. package/packages/gateway/dist/telegram/notify.d.ts +6 -0
  719. package/packages/gateway/dist/telegram/notify.d.ts.map +1 -1
  720. package/packages/gateway/dist/telegram/notify.js +25 -3
  721. package/packages/gateway/dist/telegram/notify.js.map +1 -1
  722. package/packages/gateway/dist/telegram/surface.d.ts.map +1 -1
  723. package/packages/gateway/dist/telegram/surface.js +10 -0
  724. package/packages/gateway/dist/telegram/surface.js.map +1 -1
  725. package/packages/gateway/dist/tips/facts.d.ts +10 -0
  726. package/packages/gateway/dist/tips/facts.d.ts.map +1 -1
  727. package/packages/gateway/dist/tips/facts.js +12 -3
  728. package/packages/gateway/dist/tips/facts.js.map +1 -1
  729. package/packages/gateway/dist/tips/rules.d.ts +2 -0
  730. package/packages/gateway/dist/tips/rules.d.ts.map +1 -1
  731. package/packages/gateway/dist/tips/rules.js +25 -0
  732. package/packages/gateway/dist/tips/rules.js.map +1 -1
  733. package/packages/gateway/dist/web/access/arrival.d.ts +24 -0
  734. package/packages/gateway/dist/web/access/arrival.d.ts.map +1 -0
  735. package/packages/gateway/dist/web/access/arrival.js +18 -0
  736. package/packages/gateway/dist/web/access/arrival.js.map +1 -0
  737. package/packages/gateway/dist/web/access/cloudflare-api.d.ts +124 -0
  738. package/packages/gateway/dist/web/access/cloudflare-api.d.ts.map +1 -0
  739. package/packages/gateway/dist/web/access/cloudflare-api.js +206 -0
  740. package/packages/gateway/dist/web/access/cloudflare-api.js.map +1 -0
  741. package/packages/gateway/dist/web/access/cloudflare-setup.d.ts +163 -0
  742. package/packages/gateway/dist/web/access/cloudflare-setup.d.ts.map +1 -0
  743. package/packages/gateway/dist/web/access/cloudflare-setup.js +438 -0
  744. package/packages/gateway/dist/web/access/cloudflare-setup.js.map +1 -0
  745. package/packages/gateway/dist/web/access/cloudflare-token.d.ts +31 -0
  746. package/packages/gateway/dist/web/access/cloudflare-token.d.ts.map +1 -0
  747. package/packages/gateway/dist/web/access/cloudflare-token.js +74 -0
  748. package/packages/gateway/dist/web/access/cloudflare-token.js.map +1 -0
  749. package/packages/gateway/dist/web/access/cloudflare.d.ts +145 -0
  750. package/packages/gateway/dist/web/access/cloudflare.d.ts.map +1 -0
  751. package/packages/gateway/dist/web/access/cloudflare.js +474 -0
  752. package/packages/gateway/dist/web/access/cloudflare.js.map +1 -0
  753. package/packages/gateway/dist/web/access/index.d.ts +9 -0
  754. package/packages/gateway/dist/web/access/index.d.ts.map +1 -0
  755. package/packages/gateway/dist/web/access/index.js +9 -0
  756. package/packages/gateway/dist/web/access/index.js.map +1 -0
  757. package/packages/gateway/dist/web/access/ingress.d.ts +30 -0
  758. package/packages/gateway/dist/web/access/ingress.d.ts.map +1 -0
  759. package/packages/gateway/dist/web/access/ingress.js +76 -0
  760. package/packages/gateway/dist/web/access/ingress.js.map +1 -0
  761. package/packages/gateway/dist/web/access/provider.d.ts +173 -0
  762. package/packages/gateway/dist/web/access/provider.d.ts.map +1 -0
  763. package/packages/gateway/dist/web/access/provider.js +11 -0
  764. package/packages/gateway/dist/web/access/provider.js.map +1 -0
  765. package/packages/gateway/dist/web/access/registry.d.ts +33 -0
  766. package/packages/gateway/dist/web/access/registry.d.ts.map +1 -0
  767. package/packages/gateway/dist/web/access/registry.js +32 -0
  768. package/packages/gateway/dist/web/access/registry.js.map +1 -0
  769. package/packages/gateway/dist/web/{tailscale.d.ts → access/tailscale.d.ts} +27 -0
  770. package/packages/gateway/dist/web/access/tailscale.d.ts.map +1 -0
  771. package/packages/gateway/dist/web/{tailscale.js → access/tailscale.js} +118 -3
  772. package/packages/gateway/dist/web/access/tailscale.js.map +1 -0
  773. package/packages/gateway/dist/web/agents.d.ts +2 -0
  774. package/packages/gateway/dist/web/agents.d.ts.map +1 -1
  775. package/packages/gateway/dist/web/agents.js +19 -1
  776. package/packages/gateway/dist/web/agents.js.map +1 -1
  777. package/packages/gateway/dist/web/api-routes.d.ts +4 -3
  778. package/packages/gateway/dist/web/api-routes.d.ts.map +1 -1
  779. package/packages/gateway/dist/web/api-routes.js +168 -26
  780. package/packages/gateway/dist/web/api-routes.js.map +1 -1
  781. package/packages/gateway/dist/web/api-scan.d.ts +1 -1
  782. package/packages/gateway/dist/web/api-scan.d.ts.map +1 -1
  783. package/packages/gateway/dist/web/api-scan.js +1 -0
  784. package/packages/gateway/dist/web/api-scan.js.map +1 -1
  785. package/packages/gateway/dist/web/attention.d.ts.map +1 -1
  786. package/packages/gateway/dist/web/attention.js +11 -3
  787. package/packages/gateway/dist/web/attention.js.map +1 -1
  788. package/packages/gateway/dist/web/chat.d.ts +23 -0
  789. package/packages/gateway/dist/web/chat.d.ts.map +1 -1
  790. package/packages/gateway/dist/web/chat.js +71 -2
  791. package/packages/gateway/dist/web/chat.js.map +1 -1
  792. package/packages/gateway/dist/web/client-key.d.ts +3 -0
  793. package/packages/gateway/dist/web/client-key.d.ts.map +1 -1
  794. package/packages/gateway/dist/web/client-key.js +8 -1
  795. package/packages/gateway/dist/web/client-key.js.map +1 -1
  796. package/packages/gateway/dist/web/composer.d.ts +45 -0
  797. package/packages/gateway/dist/web/composer.d.ts.map +1 -0
  798. package/packages/gateway/dist/web/composer.js +85 -0
  799. package/packages/gateway/dist/web/composer.js.map +1 -0
  800. package/packages/gateway/dist/web/extension.d.ts +9 -1
  801. package/packages/gateway/dist/web/extension.d.ts.map +1 -1
  802. package/packages/gateway/dist/web/extension.js +61 -1
  803. package/packages/gateway/dist/web/extension.js.map +1 -1
  804. package/packages/gateway/dist/web/http.d.ts +7 -0
  805. package/packages/gateway/dist/web/http.d.ts.map +1 -1
  806. package/packages/gateway/dist/web/http.js +15 -1
  807. package/packages/gateway/dist/web/http.js.map +1 -1
  808. package/packages/gateway/dist/web/index.d.ts +1 -1
  809. package/packages/gateway/dist/web/index.d.ts.map +1 -1
  810. package/packages/gateway/dist/web/index.js +1 -1
  811. package/packages/gateway/dist/web/index.js.map +1 -1
  812. package/packages/gateway/dist/web/market.d.ts +20 -1
  813. package/packages/gateway/dist/web/market.d.ts.map +1 -1
  814. package/packages/gateway/dist/web/market.js +41 -1
  815. package/packages/gateway/dist/web/market.js.map +1 -1
  816. package/packages/gateway/dist/web/onboarding.js +1 -1
  817. package/packages/gateway/dist/web/onboarding.js.map +1 -1
  818. package/packages/gateway/dist/web/people.d.ts +44 -0
  819. package/packages/gateway/dist/web/people.d.ts.map +1 -0
  820. package/packages/gateway/dist/web/people.js +114 -0
  821. package/packages/gateway/dist/web/people.js.map +1 -0
  822. package/packages/gateway/dist/web/server.d.ts +42 -2
  823. package/packages/gateway/dist/web/server.d.ts.map +1 -1
  824. package/packages/gateway/dist/web/server.js +713 -156
  825. package/packages/gateway/dist/web/server.js.map +1 -1
  826. package/packages/gateway/dist/web/sessions.d.ts +24 -14
  827. package/packages/gateway/dist/web/sessions.d.ts.map +1 -1
  828. package/packages/gateway/dist/web/sessions.js +42 -14
  829. package/packages/gateway/dist/web/sessions.js.map +1 -1
  830. package/packages/gateway/dist/web/signed-out.d.ts +10 -0
  831. package/packages/gateway/dist/web/signed-out.d.ts.map +1 -1
  832. package/packages/gateway/dist/web/signed-out.js +47 -0
  833. package/packages/gateway/dist/web/signed-out.js.map +1 -1
  834. package/packages/gateway/dist/web/skill-bundles.d.ts +101 -0
  835. package/packages/gateway/dist/web/skill-bundles.d.ts.map +1 -0
  836. package/packages/gateway/dist/web/skill-bundles.js +439 -0
  837. package/packages/gateway/dist/web/skill-bundles.js.map +1 -0
  838. package/packages/gateway/dist/web/skills.d.ts +57 -1
  839. package/packages/gateway/dist/web/skills.d.ts.map +1 -1
  840. package/packages/gateway/dist/web/skills.js +171 -9
  841. package/packages/gateway/dist/web/skills.js.map +1 -1
  842. package/packages/gateway/dist/web/zip-read.d.ts +31 -0
  843. package/packages/gateway/dist/web/zip-read.d.ts.map +1 -0
  844. package/packages/gateway/dist/web/zip-read.js +125 -0
  845. package/packages/gateway/dist/web/zip-read.js.map +1 -0
  846. package/packages/install/dist/.tsbuildinfo +1 -1
  847. package/packages/runtime/dist/.tsbuildinfo +1 -1
  848. package/packages/runtime/dist/delegate.d.ts +8 -0
  849. package/packages/runtime/dist/delegate.d.ts.map +1 -1
  850. package/packages/runtime/dist/delegate.js +19 -1
  851. package/packages/runtime/dist/delegate.js.map +1 -1
  852. package/packages/runtime/dist/index.d.ts +1 -0
  853. package/packages/runtime/dist/index.d.ts.map +1 -1
  854. package/packages/runtime/dist/index.js +1 -0
  855. package/packages/runtime/dist/index.js.map +1 -1
  856. package/packages/runtime/dist/loop.d.ts +2 -0
  857. package/packages/runtime/dist/loop.d.ts.map +1 -1
  858. package/packages/runtime/dist/loop.js +29 -5
  859. package/packages/runtime/dist/loop.js.map +1 -1
  860. package/packages/runtime/dist/plugin-sign-in.d.ts +12 -0
  861. package/packages/runtime/dist/plugin-sign-in.d.ts.map +1 -0
  862. package/packages/runtime/dist/plugin-sign-in.js +397 -0
  863. package/packages/runtime/dist/plugin-sign-in.js.map +1 -0
  864. package/packages/tools/artifacts/dist/.tsbuildinfo +1 -1
  865. package/packages/tools/artifacts/dist/tools/write.d.ts.map +1 -1
  866. package/packages/tools/artifacts/dist/tools/write.js +1 -0
  867. package/packages/tools/artifacts/dist/tools/write.js.map +1 -1
  868. package/packages/tools/browser/dist/.tsbuildinfo +1 -1
  869. package/packages/tools/browser/dist/availability.d.ts +2 -2
  870. package/packages/tools/browser/dist/availability.d.ts.map +1 -1
  871. package/packages/tools/browser/dist/availability.js +2 -2
  872. package/packages/tools/browser/dist/availability.js.map +1 -1
  873. package/packages/tools/browser/dist/controller.d.ts +76 -58
  874. package/packages/tools/browser/dist/controller.d.ts.map +1 -1
  875. package/packages/tools/browser/dist/controller.js +751 -219
  876. package/packages/tools/browser/dist/controller.js.map +1 -1
  877. package/packages/tools/browser/dist/extension.d.ts +12 -0
  878. package/packages/tools/browser/dist/extension.d.ts.map +1 -1
  879. package/packages/tools/browser/dist/extension.js +8 -0
  880. package/packages/tools/browser/dist/extension.js.map +1 -1
  881. package/packages/tools/browser/dist/index.d.ts +13 -5
  882. package/packages/tools/browser/dist/index.d.ts.map +1 -1
  883. package/packages/tools/browser/dist/index.js +29 -12
  884. package/packages/tools/browser/dist/index.js.map +1 -1
  885. package/packages/tools/browser/dist/manager.d.ts +39 -21
  886. package/packages/tools/browser/dist/manager.d.ts.map +1 -1
  887. package/packages/tools/browser/dist/manager.js +229 -136
  888. package/packages/tools/browser/dist/manager.js.map +1 -1
  889. package/packages/tools/browser/dist/routes.d.ts +130 -0
  890. package/packages/tools/browser/dist/routes.d.ts.map +1 -0
  891. package/packages/tools/browser/dist/routes.js +283 -0
  892. package/packages/tools/browser/dist/routes.js.map +1 -0
  893. package/packages/tools/browser/dist/service.d.ts +157 -114
  894. package/packages/tools/browser/dist/service.d.ts.map +1 -1
  895. package/packages/tools/browser/dist/service.js +379 -390
  896. package/packages/tools/browser/dist/service.js.map +1 -1
  897. package/packages/tools/browser/dist/settings.d.ts +88 -0
  898. package/packages/tools/browser/dist/settings.d.ts.map +1 -0
  899. package/packages/tools/browser/dist/settings.js +86 -0
  900. package/packages/tools/browser/dist/settings.js.map +1 -0
  901. package/packages/tools/browser/dist/telemetry.d.ts +203 -0
  902. package/packages/tools/browser/dist/telemetry.d.ts.map +1 -0
  903. package/packages/tools/browser/dist/telemetry.js +142 -0
  904. package/packages/tools/browser/dist/telemetry.js.map +1 -0
  905. package/packages/tools/browser/dist/types.d.ts +14 -3
  906. package/packages/tools/browser/dist/types.d.ts.map +1 -1
  907. package/packages/tools/browser/dist/types.js +9 -9
  908. package/packages/tools/browser/dist/types.js.map +1 -1
  909. package/packages/tools/email/dist/.tsbuildinfo +1 -1
  910. package/packages/tools/email/dist/widgets.d.ts.map +1 -1
  911. package/packages/tools/email/dist/widgets.js +2 -1
  912. package/packages/tools/email/dist/widgets.js.map +1 -1
  913. package/packages/tools/host/dist/.tsbuildinfo +1 -1
  914. package/packages/tools/host/dist/index.d.ts +2 -1
  915. package/packages/tools/host/dist/index.d.ts.map +1 -1
  916. package/packages/tools/host/dist/index.js +3 -2
  917. package/packages/tools/host/dist/index.js.map +1 -1
  918. package/packages/tools/host/dist/process.d.ts +4 -0
  919. package/packages/tools/host/dist/process.d.ts.map +1 -1
  920. package/packages/tools/host/dist/process.js +4 -2
  921. package/packages/tools/host/dist/process.js.map +1 -1
  922. package/packages/tools/host/dist/service.d.ts +66 -17
  923. package/packages/tools/host/dist/service.d.ts.map +1 -1
  924. package/packages/tools/host/dist/service.js +172 -9
  925. package/packages/tools/host/dist/service.js.map +1 -1
  926. package/packages/tools/host/dist/skill-run.d.ts +55 -0
  927. package/packages/tools/host/dist/skill-run.d.ts.map +1 -0
  928. package/packages/tools/host/dist/skill-run.js +132 -0
  929. package/packages/tools/host/dist/skill-run.js.map +1 -0
  930. package/packages/tools/mcp/dist/.tsbuildinfo +1 -1
  931. package/packages/tools/memory/dist/.tsbuildinfo +1 -1
  932. package/packages/tools/memory/dist/index.d.ts +1 -0
  933. package/packages/tools/memory/dist/index.d.ts.map +1 -1
  934. package/packages/tools/memory/dist/index.js +7 -2
  935. package/packages/tools/memory/dist/index.js.map +1 -1
  936. package/packages/tools/memory/dist/people.d.ts +218 -0
  937. package/packages/tools/memory/dist/people.d.ts.map +1 -0
  938. package/packages/tools/memory/dist/people.js +582 -0
  939. package/packages/tools/memory/dist/people.js.map +1 -0
  940. package/packages/tools/memory/dist/preamble.d.ts +4 -1
  941. package/packages/tools/memory/dist/preamble.d.ts.map +1 -1
  942. package/packages/tools/memory/dist/preamble.js +25 -7
  943. package/packages/tools/memory/dist/preamble.js.map +1 -1
  944. package/packages/tools/memory/migrations/002_people.sql +40 -0
  945. package/packages/tools/web/dist/.tsbuildinfo +1 -1
  946. package/packages/web/dist/assets/index-Bac-CdD-.css +1 -0
  947. package/packages/web/dist/assets/index-DI8bp_D7.js +146 -0
  948. package/packages/web/dist/assets/{lottie_light-Dj5SSwxs.js → lottie_light-CuiSMqnl.js} +1 -1
  949. package/packages/web/dist/build.json +1 -1
  950. package/packages/web/dist/index.html +2 -2
  951. package/packages/web/dist/precache.json +4 -4
  952. package/node_modules/@buddi/gateway/dist/web/apps.d.ts +0 -18
  953. package/node_modules/@buddi/gateway/dist/web/apps.d.ts.map +0 -1
  954. package/node_modules/@buddi/gateway/dist/web/apps.js +0 -84
  955. package/node_modules/@buddi/gateway/dist/web/apps.js.map +0 -1
  956. package/node_modules/@buddi/gateway/dist/web/tailscale.d.ts.map +0 -1
  957. package/node_modules/@buddi/gateway/dist/web/tailscale.js.map +0 -1
  958. package/node_modules/@buddi/tool-browser/dist/computer.d.ts +0 -153
  959. package/node_modules/@buddi/tool-browser/dist/computer.d.ts.map +0 -1
  960. package/node_modules/@buddi/tool-browser/dist/computer.js +0 -392
  961. package/node_modules/@buddi/tool-browser/dist/computer.js.map +0 -1
  962. package/node_modules/@buddi/tool-browser/dist/native/buddi-computer +0 -0
  963. package/packages/gateway/dist/web/apps.d.ts +0 -18
  964. package/packages/gateway/dist/web/apps.d.ts.map +0 -1
  965. package/packages/gateway/dist/web/apps.js +0 -84
  966. package/packages/gateway/dist/web/apps.js.map +0 -1
  967. package/packages/gateway/dist/web/tailscale.d.ts.map +0 -1
  968. package/packages/gateway/dist/web/tailscale.js.map +0 -1
  969. package/packages/tools/browser/dist/computer.d.ts +0 -153
  970. package/packages/tools/browser/dist/computer.d.ts.map +0 -1
  971. package/packages/tools/browser/dist/computer.js +0 -392
  972. package/packages/tools/browser/dist/computer.js.map +0 -1
  973. package/packages/tools/browser/dist/native/buddi-computer +0 -0
  974. package/packages/web/dist/assets/index-B_P_ux2I.css +0 -1
  975. package/packages/web/dist/assets/index-CjOzIGL7.js +0 -134
@@ -31,8 +31,11 @@ async function store(connection, range, flags, options) {
31
31
  else if (options.silent) {
32
32
  operation = `${operation}.SILENT`;
33
33
  }
34
+ // Normalized once: the raw value is also compared below, and a mixed-case 'SET' must not
35
+ // take the set branch here and the add branch there.
36
+ const operationName = (options.operation || '').toLowerCase();
34
37
  // Prefix determines the operation: none = set (replace), + = add, - = remove
35
- switch ((options.operation || '').toLowerCase()) {
38
+ switch (operationName) {
36
39
  case 'set':
37
40
  break;
38
41
  case 'remove':
@@ -43,20 +46,42 @@ async function store(connection, range, flags, options) {
43
46
  operation = `+${operation}`;
44
47
  break;
45
48
  }
46
- // Validate each flag: format it (normalize backslash prefix for system flags),
47
- // then check if the mailbox's permanentFlags allow it. Removal is always allowed
49
+ // Only an explicitly empty array asks for every flag to be cleared. A missing value is not
50
+ // that request, and neither is a 'set' whose flags all get dropped below: either would
51
+ // compile to "FLAGS ()" and wipe the message instead of storing what was asked for. The
52
+ // line is drawn at destroying flags, not at fidelity, so a set that keeps some of the
53
+ // requested flags still runs, as the documented contract for those methods says.
54
+ const clearAll = operationName === 'set' && Array.isArray(flags) && !flags.length;
55
+ // permanentFlags lists the IMAP keywords the mailbox accepts and says nothing about Gmail
56
+ // labels, so it is not consulted for X-GM-LABELS - the same reason an unrelated mailbox's
57
+ // flags are not consulted for APPEND (issue #415).
58
+ const flagSource = options.useLabels ? false : mailbox;
59
+ // Validate each flag: format it (normalize backslash prefix for system flags, reject the
60
+ // server-owned \Recent), then check that the mailbox allows it. Removal is always allowed
48
61
  // since it doesn't require the flag to be in permanentFlags.
62
+ const dropped = [];
49
63
  flags = (Array.isArray(flags) ? flags : [].concat(flags || []))
50
64
  .map(flag => {
51
65
  let formatted = (0, tools_js_1.formatFlag)(flag);
52
- if (!(0, tools_js_1.canUseFlag)(mailbox, formatted) && options.operation !== 'remove') {
66
+ if (!formatted || (!(0, tools_js_1.canUseFlag)(flagSource, formatted) && operationName !== 'remove')) {
67
+ dropped.push(flag);
53
68
  return false;
54
69
  }
55
70
  return formatted;
56
71
  })
57
72
  .filter((flag) => !!flag);
58
- // Allow empty flags only for 'set' operation (which clears all flags)
59
- if (!flags.length && options.operation !== 'set') {
73
+ // The caller is told nothing by the boolean this returns, so leave a trail for the flags
74
+ // that never reached the server.
75
+ if (dropped.length) {
76
+ connection.log.warn({
77
+ msg: 'Dropped flags the mailbox does not accept',
78
+ cid: connection.id,
79
+ path: mailbox.path,
80
+ operation,
81
+ dropped
82
+ });
83
+ }
84
+ if (!flags.length && !clearAll) {
60
85
  return false;
61
86
  }
62
87
  let attributes = [
@@ -356,7 +356,7 @@ export declare class ImapFlow extends EventEmitter {
356
356
  * Sets flags for a message or message range
357
357
  *
358
358
  * @param range Range to filter the messages
359
- * @param flags Array of flags to set. Only flags that are permitted to set are used, other flags are ignored
359
+ * @param flags Array of flags to set. Only flags that are permitted to set are used, other flags are ignored. An empty array clears every flag, but a non-empty array with nothing usable in it is refused rather than clearing the message
360
360
  * @param options Store options
361
361
  * @returns Did the operation succeed or not
362
362
  *
@@ -2631,7 +2631,7 @@ class ImapFlow extends node_events_1.EventEmitter {
2631
2631
  * Sets flags for a message or message range
2632
2632
  *
2633
2633
  * @param range Range to filter the messages
2634
- * @param flags Array of flags to set. Only flags that are permitted to set are used, other flags are ignored
2634
+ * @param flags Array of flags to set. Only flags that are permitted to set are used, other flags are ignored. An empty array clears every flag, but a non-empty array with nothing usable in it is refused rather than clearing the message
2635
2635
  * @param options Store options
2636
2636
  * @returns Did the operation succeed or not
2637
2637
  *
@@ -1,3 +1,3 @@
1
1
  export declare const name = "imapflow";
2
- export declare const version = "2.2.1";
2
+ export declare const version = "2.2.4";
3
3
  export declare const homepage = "https://imapflow.com/";
@@ -3,5 +3,5 @@
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.homepage = exports.version = exports.name = void 0;
5
5
  exports.name = "imapflow";
6
- exports.version = "2.2.1";
6
+ exports.version = "2.2.4";
7
7
  exports.homepage = "https://imapflow.com/";
@@ -3,6 +3,8 @@
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.searchCompiler = void 0;
5
5
  const tools_js_1 = require("./tools.js");
6
+ // Matches any character outside the ASCII range
7
+ const UNICODE_PATTERN = /[^\x00-\x7F]/;
6
8
  /**
7
9
  * Sets a boolean flag in the IMAP search attributes.
8
10
  * Automatically handles UN- prefixing for falsy values.
@@ -38,6 +40,17 @@ let setBoolOpt = (attributes, term, value) => {
38
40
  * @returns The joined sequence set string
39
41
  */
40
42
  let toSequenceValue = (value) => [].concat(value).join(',');
43
+ /**
44
+ * Builds the token for a search value. A quoted string may only carry 7-bit
45
+ * characters (RFC 3501 section 9), so a non-ASCII value is sent as a literal;
46
+ * strict servers reply BAD to UTF-8 inside a quoted string. A literal can not
47
+ * carry NUL either (CHAR8 is %x01-ff), so such a value stays an ATOM and the
48
+ * compiler rejects it.
49
+ *
50
+ * @param value - The search value
51
+ * @returns An ATOM token (quoted by the compiler when needed), or a LITERAL token
52
+ */
53
+ let toSearchValue = (value) => UNICODE_PATTERN.test(value) && !value.includes('\0') ? { type: 'LITERAL', value: Buffer.from(value) } : { type: 'ATOM', value };
41
54
  /**
42
55
  * Adds a search option with its value(s) to the attributes array.
43
56
  * Handles NOT operations and array values.
@@ -54,10 +67,10 @@ let setOpt = (attributes, term, value) => {
54
67
  attributes.push({ type: 'ATOM', value: term.toUpperCase() });
55
68
  // Handle array values (e.g. HEADER name/value pairs)
56
69
  if (Array.isArray(value)) {
57
- value.forEach(entry => attributes.push({ type: 'ATOM', value: (entry || '').toString() }));
70
+ value.forEach(entry => attributes.push(toSearchValue((entry || '').toString())));
58
71
  }
59
72
  else {
60
- attributes.push({ type: 'ATOM', value: value.toString() });
73
+ attributes.push(toSearchValue(value.toString()));
61
74
  }
62
75
  };
63
76
  /**
@@ -89,8 +102,6 @@ let processDateField = (attributes, term, value) => {
89
102
  }
90
103
  setOpt(attributes, term, formatted);
91
104
  };
92
- // Pre-compiled regex for better performance
93
- const UNICODE_PATTERN = /[^\x00-\x7F]/;
94
105
  /**
95
106
  * Throws a coded search compilation error.
96
107
  *
@@ -103,20 +114,13 @@ let fail = (code, message) => {
103
114
  throw error;
104
115
  };
105
116
  /**
106
- * Checks if a string contains Unicode characters.
107
- * Used to determine if CHARSET UTF-8 needs to be specified.
117
+ * Checks whether any search value was compiled into a literal, which only
118
+ * happens for non-ASCII values and means CHARSET UTF-8 needs to be specified.
108
119
  *
109
- * @param str - String to check
110
- * @returns True if string contains non-ASCII characters
120
+ * @param attributes - Compiled search attributes
121
+ * @returns True if a LITERAL token is present
111
122
  */
112
- let isUnicodeString = (str) => {
113
- if (!str || typeof str !== 'string') {
114
- return false;
115
- }
116
- // Regex test is ~3-5x faster than Buffer.byteLength
117
- // Matches any character outside ASCII range (0x00-0x7F)
118
- return UNICODE_PATTERN.test(str);
119
- };
123
+ let hasLiteral = (attributes) => attributes.some(attr => (Array.isArray(attr) ? hasLiteral(attr) : attr.type === 'LITERAL'));
120
124
  /**
121
125
  * Compiles a JavaScript object query into IMAP search command attributes.
122
126
  * Supports standard IMAP search criteria and extensions like OBJECTID and Gmail extensions.
@@ -145,8 +149,6 @@ let isUnicodeString = (str) => {
145
149
  */
146
150
  const searchCompiler = (connection, query) => {
147
151
  const attributes = [];
148
- // Track if we need to specify UTF-8 charset
149
- let hasUnicode = false;
150
152
  /**
151
153
  * Recursively walks through the query object and builds IMAP attributes.
152
154
  * @param params - Query parameters to process
@@ -236,9 +238,6 @@ const searchCompiler = (connection, query) => {
236
238
  case 'SUBJECT':
237
239
  case 'TEXT':
238
240
  case 'TO':
239
- if (isUnicodeString(params[term])) {
240
- hasUnicode = true;
241
- }
242
241
  if (params[term]) {
243
242
  setOpt(attributes, term, params[term]);
244
243
  }
@@ -286,9 +285,6 @@ const searchCompiler = (connection, query) => {
286
285
  case 'GMRAW':
287
286
  case 'GMAILRAW': // alias for GMRAW
288
287
  if (connection.capabilities.has('X-GM-EXT-1')) {
289
- if (isUnicodeString(params[term])) {
290
- hasUnicode = true;
291
- }
292
288
  setOpt(attributes, 'X-GM-RAW', params[term]);
293
289
  }
294
290
  else {
@@ -329,9 +325,6 @@ const searchCompiler = (connection, query) => {
329
325
  fail('MissingServerExtension', 'Server does not support X-GM-EXT-1 extension required for label search');
330
326
  }
331
327
  let rawQuery = rawParts.join(' ');
332
- if (isUnicodeString(rawQuery)) {
333
- hasUnicode = true;
334
- }
335
328
  setOpt(attributes, 'X-GM-RAW', rawQuery);
336
329
  break;
337
330
  }
@@ -391,9 +384,6 @@ const searchCompiler = (connection, query) => {
391
384
  if (typeof value !== 'string') {
392
385
  return;
393
386
  }
394
- if (isUnicodeString(value)) {
395
- hasUnicode = true;
396
- }
397
387
  setOpt(attributes, term, [header.toUpperCase().trim(), value]);
398
388
  });
399
389
  }
@@ -473,7 +463,7 @@ const searchCompiler = (connection, query) => {
473
463
  walk(query);
474
464
  // If we encountered Unicode strings and UTF-8 is not already accepted,
475
465
  // prepend CHARSET UTF-8 to the search command
476
- if (hasUnicode && !connection.enabled.has('UTF8=ACCEPT')) {
466
+ if (!connection.enabled.has('UTF8=ACCEPT') && hasLiteral(attributes)) {
477
467
  attributes.unshift({ type: 'ATOM', value: 'UTF-8' });
478
468
  attributes.unshift({ type: 'ATOM', value: 'CHARSET' });
479
469
  }
@@ -34,10 +34,34 @@ export default async function append(connection, destination, content, flags, id
34
34
  let selected = getSelectedMailbox(connection);
35
35
  // The selected mailbox when appending to it, false otherwise
36
36
  const targetMailbox = selected && comparePaths(connection, selected.path, destination) ? selected : false;
37
- // Validate and format flags. Only flags allowed by the mailbox's permanentFlags are included.
37
+ // Flags are only filtered when a read-write selection of the destination itself says what it
38
+ // accepts: the permanentFlags of an unrelated mailbox say nothing about the destination, and a
39
+ // read-only selection reports an empty PERMANENTFLAGS list (Dovecot does), which canUseFlag()
40
+ // reads as deny-all. Otherwise they go to the server unfiltered and it decides (RFC 9051).
41
+ const flagSource = targetMailbox && !targetMailbox.readOnly ? targetMailbox : false;
42
+ const dropped = [];
38
43
  flags = (Array.isArray(flags) ? flags : [].concat(flags || []))
39
- .map(flag => flag && formatFlag(flag.toString()))
40
- .filter((flag) => !!flag && canUseFlag(connection.mailbox, flag));
44
+ .map(flag => {
45
+ const formatted = flag && formatFlag(flag.toString());
46
+ if (!formatted || !canUseFlag(flagSource, formatted)) {
47
+ if (flag) {
48
+ dropped.push(flag.toString());
49
+ }
50
+ return false;
51
+ }
52
+ return formatted;
53
+ })
54
+ .filter((flag) => !!flag);
55
+ // The stored message simply ends up without them, and the caller is told nothing, so leave
56
+ // a trail for the flags that never reached the server.
57
+ if (dropped.length) {
58
+ connection.log.warn({
59
+ msg: 'Dropped flags the mailbox does not accept',
60
+ cid: connection.id,
61
+ path: destination,
62
+ dropped
63
+ });
64
+ }
41
65
  // APPEND command format: APPEND <mailbox> [<flags>] [<date-time>] <literal>
42
66
  let attributes = [{ type: 'ATOM', value: encodePath(connection, destination) }];
43
67
  // Internal date: the date the server should record for this message.
@@ -28,8 +28,11 @@ export default async function store(connection, range, flags, options) {
28
28
  else if (options.silent) {
29
29
  operation = `${operation}.SILENT`;
30
30
  }
31
+ // Normalized once: the raw value is also compared below, and a mixed-case 'SET' must not
32
+ // take the set branch here and the add branch there.
33
+ const operationName = (options.operation || '').toLowerCase();
31
34
  // Prefix determines the operation: none = set (replace), + = add, - = remove
32
- switch ((options.operation || '').toLowerCase()) {
35
+ switch (operationName) {
33
36
  case 'set':
34
37
  break;
35
38
  case 'remove':
@@ -40,20 +43,42 @@ export default async function store(connection, range, flags, options) {
40
43
  operation = `+${operation}`;
41
44
  break;
42
45
  }
43
- // Validate each flag: format it (normalize backslash prefix for system flags),
44
- // then check if the mailbox's permanentFlags allow it. Removal is always allowed
46
+ // Only an explicitly empty array asks for every flag to be cleared. A missing value is not
47
+ // that request, and neither is a 'set' whose flags all get dropped below: either would
48
+ // compile to "FLAGS ()" and wipe the message instead of storing what was asked for. The
49
+ // line is drawn at destroying flags, not at fidelity, so a set that keeps some of the
50
+ // requested flags still runs, as the documented contract for those methods says.
51
+ const clearAll = operationName === 'set' && Array.isArray(flags) && !flags.length;
52
+ // permanentFlags lists the IMAP keywords the mailbox accepts and says nothing about Gmail
53
+ // labels, so it is not consulted for X-GM-LABELS - the same reason an unrelated mailbox's
54
+ // flags are not consulted for APPEND (issue #415).
55
+ const flagSource = options.useLabels ? false : mailbox;
56
+ // Validate each flag: format it (normalize backslash prefix for system flags, reject the
57
+ // server-owned \Recent), then check that the mailbox allows it. Removal is always allowed
45
58
  // since it doesn't require the flag to be in permanentFlags.
59
+ const dropped = [];
46
60
  flags = (Array.isArray(flags) ? flags : [].concat(flags || []))
47
61
  .map(flag => {
48
62
  let formatted = formatFlag(flag);
49
- if (!canUseFlag(mailbox, formatted) && options.operation !== 'remove') {
63
+ if (!formatted || (!canUseFlag(flagSource, formatted) && operationName !== 'remove')) {
64
+ dropped.push(flag);
50
65
  return false;
51
66
  }
52
67
  return formatted;
53
68
  })
54
69
  .filter((flag) => !!flag);
55
- // Allow empty flags only for 'set' operation (which clears all flags)
56
- if (!flags.length && options.operation !== 'set') {
70
+ // The caller is told nothing by the boolean this returns, so leave a trail for the flags
71
+ // that never reached the server.
72
+ if (dropped.length) {
73
+ connection.log.warn({
74
+ msg: 'Dropped flags the mailbox does not accept',
75
+ cid: connection.id,
76
+ path: mailbox.path,
77
+ operation,
78
+ dropped
79
+ });
80
+ }
81
+ if (!flags.length && !clearAll) {
57
82
  return false;
58
83
  }
59
84
  let attributes = [
@@ -356,7 +356,7 @@ export declare class ImapFlow extends EventEmitter {
356
356
  * Sets flags for a message or message range
357
357
  *
358
358
  * @param range Range to filter the messages
359
- * @param flags Array of flags to set. Only flags that are permitted to set are used, other flags are ignored
359
+ * @param flags Array of flags to set. Only flags that are permitted to set are used, other flags are ignored. An empty array clears every flag, but a non-empty array with nothing usable in it is refused rather than clearing the message
360
360
  * @param options Store options
361
361
  * @returns Did the operation succeed or not
362
362
  *
@@ -2590,7 +2590,7 @@ export class ImapFlow extends EventEmitter {
2590
2590
  * Sets flags for a message or message range
2591
2591
  *
2592
2592
  * @param range Range to filter the messages
2593
- * @param flags Array of flags to set. Only flags that are permitted to set are used, other flags are ignored
2593
+ * @param flags Array of flags to set. Only flags that are permitted to set are used, other flags are ignored. An empty array clears every flag, but a non-empty array with nothing usable in it is refused rather than clearing the message
2594
2594
  * @param options Store options
2595
2595
  * @returns Did the operation succeed or not
2596
2596
  *
@@ -1,3 +1,3 @@
1
1
  export declare const name = "imapflow";
2
- export declare const version = "2.2.1";
2
+ export declare const version = "2.2.4";
3
3
  export declare const homepage = "https://imapflow.com/";
@@ -1,4 +1,4 @@
1
1
  // Generated by scripts/build.js from package.json. Do not edit by hand.
2
2
  export const name = "imapflow";
3
- export const version = "2.2.1";
3
+ export const version = "2.2.4";
4
4
  export const homepage = "https://imapflow.com/";
@@ -1,5 +1,7 @@
1
1
  /* eslint no-control-regex:0 */
2
2
  import { formatDate, formatFlag, toValidDate, isRev2Active } from './tools.js';
3
+ // Matches any character outside the ASCII range
4
+ const UNICODE_PATTERN = /[^\x00-\x7F]/;
3
5
  /**
4
6
  * Sets a boolean flag in the IMAP search attributes.
5
7
  * Automatically handles UN- prefixing for falsy values.
@@ -35,6 +37,17 @@ let setBoolOpt = (attributes, term, value) => {
35
37
  * @returns The joined sequence set string
36
38
  */
37
39
  let toSequenceValue = (value) => [].concat(value).join(',');
40
+ /**
41
+ * Builds the token for a search value. A quoted string may only carry 7-bit
42
+ * characters (RFC 3501 section 9), so a non-ASCII value is sent as a literal;
43
+ * strict servers reply BAD to UTF-8 inside a quoted string. A literal can not
44
+ * carry NUL either (CHAR8 is %x01-ff), so such a value stays an ATOM and the
45
+ * compiler rejects it.
46
+ *
47
+ * @param value - The search value
48
+ * @returns An ATOM token (quoted by the compiler when needed), or a LITERAL token
49
+ */
50
+ let toSearchValue = (value) => UNICODE_PATTERN.test(value) && !value.includes('\0') ? { type: 'LITERAL', value: Buffer.from(value) } : { type: 'ATOM', value };
38
51
  /**
39
52
  * Adds a search option with its value(s) to the attributes array.
40
53
  * Handles NOT operations and array values.
@@ -51,10 +64,10 @@ let setOpt = (attributes, term, value) => {
51
64
  attributes.push({ type: 'ATOM', value: term.toUpperCase() });
52
65
  // Handle array values (e.g. HEADER name/value pairs)
53
66
  if (Array.isArray(value)) {
54
- value.forEach(entry => attributes.push({ type: 'ATOM', value: (entry || '').toString() }));
67
+ value.forEach(entry => attributes.push(toSearchValue((entry || '').toString())));
55
68
  }
56
69
  else {
57
- attributes.push({ type: 'ATOM', value: value.toString() });
70
+ attributes.push(toSearchValue(value.toString()));
58
71
  }
59
72
  };
60
73
  /**
@@ -86,8 +99,6 @@ let processDateField = (attributes, term, value) => {
86
99
  }
87
100
  setOpt(attributes, term, formatted);
88
101
  };
89
- // Pre-compiled regex for better performance
90
- const UNICODE_PATTERN = /[^\x00-\x7F]/;
91
102
  /**
92
103
  * Throws a coded search compilation error.
93
104
  *
@@ -100,20 +111,13 @@ let fail = (code, message) => {
100
111
  throw error;
101
112
  };
102
113
  /**
103
- * Checks if a string contains Unicode characters.
104
- * Used to determine if CHARSET UTF-8 needs to be specified.
114
+ * Checks whether any search value was compiled into a literal, which only
115
+ * happens for non-ASCII values and means CHARSET UTF-8 needs to be specified.
105
116
  *
106
- * @param str - String to check
107
- * @returns True if string contains non-ASCII characters
117
+ * @param attributes - Compiled search attributes
118
+ * @returns True if a LITERAL token is present
108
119
  */
109
- let isUnicodeString = (str) => {
110
- if (!str || typeof str !== 'string') {
111
- return false;
112
- }
113
- // Regex test is ~3-5x faster than Buffer.byteLength
114
- // Matches any character outside ASCII range (0x00-0x7F)
115
- return UNICODE_PATTERN.test(str);
116
- };
120
+ let hasLiteral = (attributes) => attributes.some(attr => (Array.isArray(attr) ? hasLiteral(attr) : attr.type === 'LITERAL'));
117
121
  /**
118
122
  * Compiles a JavaScript object query into IMAP search command attributes.
119
123
  * Supports standard IMAP search criteria and extensions like OBJECTID and Gmail extensions.
@@ -142,8 +146,6 @@ let isUnicodeString = (str) => {
142
146
  */
143
147
  export const searchCompiler = (connection, query) => {
144
148
  const attributes = [];
145
- // Track if we need to specify UTF-8 charset
146
- let hasUnicode = false;
147
149
  /**
148
150
  * Recursively walks through the query object and builds IMAP attributes.
149
151
  * @param params - Query parameters to process
@@ -233,9 +235,6 @@ export const searchCompiler = (connection, query) => {
233
235
  case 'SUBJECT':
234
236
  case 'TEXT':
235
237
  case 'TO':
236
- if (isUnicodeString(params[term])) {
237
- hasUnicode = true;
238
- }
239
238
  if (params[term]) {
240
239
  setOpt(attributes, term, params[term]);
241
240
  }
@@ -283,9 +282,6 @@ export const searchCompiler = (connection, query) => {
283
282
  case 'GMRAW':
284
283
  case 'GMAILRAW': // alias for GMRAW
285
284
  if (connection.capabilities.has('X-GM-EXT-1')) {
286
- if (isUnicodeString(params[term])) {
287
- hasUnicode = true;
288
- }
289
285
  setOpt(attributes, 'X-GM-RAW', params[term]);
290
286
  }
291
287
  else {
@@ -326,9 +322,6 @@ export const searchCompiler = (connection, query) => {
326
322
  fail('MissingServerExtension', 'Server does not support X-GM-EXT-1 extension required for label search');
327
323
  }
328
324
  let rawQuery = rawParts.join(' ');
329
- if (isUnicodeString(rawQuery)) {
330
- hasUnicode = true;
331
- }
332
325
  setOpt(attributes, 'X-GM-RAW', rawQuery);
333
326
  break;
334
327
  }
@@ -388,9 +381,6 @@ export const searchCompiler = (connection, query) => {
388
381
  if (typeof value !== 'string') {
389
382
  return;
390
383
  }
391
- if (isUnicodeString(value)) {
392
- hasUnicode = true;
393
- }
394
384
  setOpt(attributes, term, [header.toUpperCase().trim(), value]);
395
385
  });
396
386
  }
@@ -470,7 +460,7 @@ export const searchCompiler = (connection, query) => {
470
460
  walk(query);
471
461
  // If we encountered Unicode strings and UTF-8 is not already accepted,
472
462
  // prepend CHARSET UTF-8 to the search command
473
- if (hasUnicode && !connection.enabled.has('UTF8=ACCEPT')) {
463
+ if (!connection.enabled.has('UTF8=ACCEPT') && hasLiteral(attributes)) {
474
464
  attributes.unshift({ type: 'ATOM', value: 'UTF-8' });
475
465
  attributes.unshift({ type: 'ATOM', value: 'CHARSET' });
476
466
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "imapflow",
3
- "version": "2.2.1",
3
+ "version": "2.2.4",
4
4
  "description": "IMAP Client for Node",
5
5
  "type": "module",
6
6
  "main": "./dist/cjs/imap-flow.js",
@@ -70,7 +70,7 @@
70
70
  "devDependencies": {
71
71
  "@types/node": "20.19.43",
72
72
  "c8": "12.0.0",
73
- "eslint": "10.11.0",
73
+ "eslint": "10.12.0",
74
74
  "eslint-config-prettier": "10.1.8",
75
75
  "globals": "17.13.0",
76
76
  "prettier": "3.9.9",
@@ -78,7 +78,7 @@
78
78
  "types-node-legacy": "npm:@types/node@20.0.0",
79
79
  "typescript": "6.0.3",
80
80
  "typescript-eslint": "8.71.0",
81
- "wrangler": "4.145.0"
81
+ "wrangler": "4.147.0"
82
82
  },
83
83
  "dependencies": {
84
84
  "@zone-eu/mailsplit": "5.4.19",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@withbuddi/buddi",
3
- "version": "0.1.0-pre.36",
3
+ "version": "0.1.0-pre.38",
4
4
  "type": "module",
5
5
  "description": "Your personal agents, on your computer",
6
6
  "repository": {
@@ -17,7 +17,7 @@
17
17
  "buddi": "packages/install/dist/launcher.js"
18
18
  },
19
19
  "buddi": {
20
- "notes": "### Added\n\n- Two scripts for working on buddi: `pnpm test:db` runs the suites against a throwaway Postgres in Docker (migrated first, removed afterwards, never the dev database), and `pnpm release pre.N` cuts a release: stamps new API routes, dates the changelog, refreshes the API and CLI pages, commits, tags and pushes.\n- Plugins can sign in to a CalDAV or WebDAV account without holding its password (host API 1.26): the password is an owner secret bound to the plugin and the account's host, and buddi itself adds the sign-in to the plugin's requests, for the calendar verbs only, with small bodies, capped answers and at most 120 requests a minute. Settings → Secrets shows such a password under its plugin, as \"A plugin’s sign-in\".\n- A plugin page's table can show a row's own colour as a dot before a cell (`swatch`, host API 1.26): Settings → Calendar draws each account calendar's colour beside its name.\n- Plugins can keep small images they fetched, like an outlet's logo (host API 1.27, `assets`): buddi re-draws them as 64 and 128 px PNGs (SVG refused), serves them only to the signed-in dashboard, keeps at most 20 MB per plugin, and removes them with the plugin. The install card says \"keeps small images it fetched, like logos\".\n- Plugin pages can show logos on a list row (up to three overlapping, then \"Reuters and 3 more\", a letter when there is none) and on a widget's rows at medium size and on the lock screen, always from buddi and never from the outlet (host API 1.27).\n- A plugin page can link out to an article: the link opens in a new tab, with no referrer, and an outside-link mark (`href`, host API 1.27). The dashboard still loads nothing from outside buddi.\n- A mission can read a plugin's material before it runs (`context`, host API 1.27), so an edition is written in one model call; it can send a longer report (`reportMax`, up to 6,000 characters, split at paragraphs on Telegram); and its report can carry a dashboard link (\"Open edition\") and a voice note, which Telegram sends before the text and the chat plays above it.\n- Plugins can name plugins they work better with (`optional`, host API 1.27) and ask whether one is there (`ctx.buddi.plugins.has`), so a setting can say \"Needs Speech\" instead of failing.\n- A `news` page icon, a folded newspaper, for plugin pages (host API 1.27).\n- Plugin pages can draw a feed of stories as the News kit does (`stories`, host API 1.27): cards with their outlets' logos, quiet marks (Opinion, EN · FR, \"Told you · this morning\"), a ⋯ of ways out that leave \"Hidden · Undo\" in the card's place, groups with See all, and a sheet per story with its sources linked out and how it moved. Also: buttons in a page's head, topic chips with an add chip, a tab kept in a page parameter, a quiet one-line notice ending with a link, an intro read from the page's data, and list rows with a logo, a small tag, a status line and a ⋯ menu.\n- Widget lists can ask for five rows at medium and let a headline take two lines (`max`, `wrap`, host API 1.27), and draw a row's logo at small size too (a letter tile when the outlet has none); a widget set to several topics names itself after them (\"Top stories · AI, US politics\").\n\n### Changed\n\n- The catalogue update sheet shows where in the persona a change sits: each change comes with two lines of muted context and its line number, and the unchanged lines between changes fold into a \"⋯ 12 lines\" row. `buddi agents update` prints the same. `POST /api/catalogue/:name/update/plan` returns `personaDiff` as unified hunks (`@@ -a,b +c,d @@` and context lines).\n\n### Fixed\n\n- `buddi dashboard --unlock` no longer lands back on the lock screen when an older dashboard tab is open in the same browser: that tab's idle lock is refused for a session someone used more recently, and a tab only tells the others it locked once the server agrees.\n- A plugin's settings link without a tab (`#/settings/p.news`) opens the plugin's first settings tab instead of an empty page.\n- The npm release now ships the macOS computer helper behind \"Use my apps\" (a universal arm64 + x86_64 binary, signed ad hoc, built by a macOS job in the release workflow); before, a Mac installed from npm had none and Settings said \"Computer helper unavailable … ENOENT\".\n- Settings → Computer & browser no longer shows a red error when the computer helper is missing: the \"Use my apps\" choice carries one line saying so and how to fix it, and Check again answers instead of failing. `buddi doctor` prints a \"computer helper\" row on macOS (present, and its version).\n- Settings no longer asks to update the browser extension just because buddi's version differs from it (\"buddi is 0.1.0-pre.35; the extension is 0.1.0\"): it asks only when the extension is older than the minimum this buddi needs, which the store's current build meets.\n- A tool name in a catalogue listing's owner-facing text (pitch, description, about, what changed, examples, mission names, skill descriptions), such as \"(artifacts.write)\", is rewritten in words from the tool's description, or dropped, wherever buddi shows it.\n- A scheduled mission run now tells the agent its mission's own report cap (`reportMax`, such as 4,000 characters) instead of always 1,500, and that Telegram splits a message past 4,000 characters at paragraphs; a morning edition had dropped stories to fit the wrong limit.\n- A plugin request that carries an owner secret can no longer be steered to another server: caller-set `Host`, forwarding and `Proxy-Authorization` headers are dropped, and TLS always names the URL's own host. The sign-in budget (120 a minute) is now shared by every run of a plugin instead of reset per run, a refused or pending sign-in no longer uses it up, and a response cap that is not a whole number (`NaN`) falls back to the default instead of lifting the cap.\n- A plugin's logo can no longer exhaust buddi's memory: images are capped at a megapixel (2048 on a side) before any pixel buffer is made, a PNG with a second header or data that inflates past its own size is refused (also inside an ICO), a GIF frame must fit its canvas, and decoding runs one at a time in a worker thread with a memory limit and a five-second deadline.\n- A mission's material (`context`) now reaches its run between unique data markers, with the reminder that it is data after it; when the material cannot be read, the run gets a fixed sentence and at most 200 characters of the plugin's error, inside the same markers, instead of the whole error. A mission report's voice note is refused when the run has no conversation to prove it was made there.\n- A catalogue update now brings missions the agent already has the package's new material and report length (`context`, `reportMax`): the update sheet and the approval name each one (\"Morning edition: new settings — …\"), and approving changes just those two settings, never the mission's prompt, hour or switch. Before, installed missions kept their old settings for good.\n- The idle lock lands on time again: the page's claim says how long it saw no use, and the server allows for its own record trailing the use by up to 40 seconds, instead of refusing ordinary idle locks and leaving the lock to land at twice the delay.\n- Logos on the lock screen's widget rows draw instead of falling back to a letter: plugin assets are answered while locked."
20
+ "notes": "- Development: the web test suite runs in a fifth of the time (nwsapi pinned to 2.2.28; its older versions recursed on every menu open under jsdom), which also unsticks the release gate.\n- Cloudflare setup: after the token is checked, type just the name and pick the domain from your Cloudflare zones; the full hostname is still accepted when the token lists none.\n- Cloudflare setup: the Done line says Cloudflare needs a minute or two before the first sign-in works, and to reload if its page can’t find the application.\n- Trusted access: the Cloudflare \"Open Cloudflare\" button opens the token form pre-filled with the four permissions buddi needs (Cloudflare template URL); the owner names and creates the token, then pastes it.\n\n### Added\n\n- Sign in from your own domain through Cloudflare: Settings → System → Sign in from elsewhere → Cloudflare Access walks you through a Cloudflare Tunnel with Cloudflare Access in front (install cloudflared, create the tunnel, point a hostname at the port the panel prints, add an Access application for your email, paste the team domain and AUD tag), with Test my setup and a status line. buddi verifies Access's signed JWT itself on every request — signature against your team's keys, issuer, audience, expiry, your email — never trusts a plain header, and gives the same remote session as Tailscale (12 hours idle, CSRF, approvals, the lock screen). cloudflared points at a separate loopback port that is always treated as a visit from elsewhere, and failed sign-ins there — a stale cookie, or an Access assertion that doesn't verify, counted per visitor address — are counted apart from this computer's and your tailnet's. `buddi doctor` has a `cloudflare access` row.\n- `buddi doctor browser` and `GET /api/browser/telemetry`: the last week's browser stops by cause, cards and routes, so flakiness can be seen to fall; `buddi doctor` has a browser line too.\n- Missions can browse while you are away, in buddi's own browser only (never your Chrome or apps), when their catalogue package says `\"browser\": \"own\"`; the install card says so. When a mission meets a sign-in, a human check, an uncertain click or its budget, it waits for you with the same card, sent to Telegram with its buttons and held on Home and Needs you; your answer carries the run on where it stopped (an answer given the moment the card arrives counts too; Take over makes the run wait until you give the page back, then it carries on), and with no answer within an hour (`missionWaitMinutes` in the browser settings) it stops and tells you in one line. Browser telemetry rows mark mission runs.\n- A colleague an agent asks for help may use the browser too, but only when you are in the asking conversation and a page is already open there; a mission's colleague never does.\n- Plugins can provide the apps route (host API 1.29: `routes` in the manifest, with health and look/do handlers, plus `reach` for the owner's list of apps, take-over without a remote hand, and native typing for `secret.type`). Tools may stop a run on a result that needs the owner (`waitsForOwner` as a function), declare their own budget (`ownBudget`), and put one card in front of the owner (`ctx.ask`).\n- Cloudflare Access can set itself up: Set it up for me (or `buddi access cloudflare setup --host <hostname>`) takes one Cloudflare API token, kept as an owner secret, and makes the tunnel, its route to this computer, the DNS record and the Access application with an Allow policy for your email, fills in the settings, shows the one `sudo cloudflared service install …` line to run (buddi never runs sudo), waits for the tunnel to connect and tests it. Running it again reuses what it made, by the ids it recorded; something of buddi's name it didn't make stops the run with Use it anyway (`--adopt`) instead of being taken silently; one setup or removal runs at a time, and a setup for another hostname waits until what buddi made for the first is removed; a missing token permission is named; Remove what buddi made (or `buddi access cloudflare remove`) deletes only the objects buddi recorded making. The install line only ever holds a well-formed connector token.\n\n### Changed\n\n- The Cloudflare Access form says what is missing in a plain line until you try to turn it on, and its row no longer says Needs setup while it is off.\n- Tailscale sign-in is now one row of Settings → System → Sign in from elsewhere, beside Cloudflare Access; the panel, its `tailscale serve` line and how it checks you are unchanged, and existing Tailscale sessions carry over. `GET/PUT /api/tailscale` stay for one release as aliases of `/api/access/tailscale`.\n- The browser picks where to look for you instead of asking you to pick a mode: buddi's own browser for every page, in the background (headless, seen on the Canvas); your Chrome for sites that need your sign-in, in background tabs, when you allow it and it is connected; your apps only for app jobs. When a route is not there it falls back without stopping, and the chat says one line when the page was not in buddi's own browser (\"I used your Chrome because Amazon needs your sign-in.\"). A login wall in buddi's browser moves to your Chrome when it can, unless the conversation, the agent or your default keeps it in buddi's browser (then the card offers Use my Chrome instead), and the site is remembered.\n- Settings → Computer & browser is now **Where agents may look**: one row per route instead of mode radios — buddi's own browser (always on; ready, Install · 150 MB, the Linux sandbox command to copy, installing), your Chrome (a switch once paired, connected or Chrome closed, Add to Chrome, the pairing code read from the extension in that browser so it pairs by itself, Pair again when Chrome forgot the pairing, Forget this Chrome; the sites that need your sign-in, yours and the ones buddi added itself, outlined dashed, each removable), your apps only when a plugin provides them (its health and fix, a switch, Settings › to the plugin's own page), a warning with Resume while a Stop holds, and Advanced: the first choice for every agent, the agents with their own rule, the sites that need your sign-in, how long Stop lasts, pages open at once, and showing buddi's browser as a window. No lock while a page is open. Your old choice is carried over: Your browser keeps your Chrome on; Use my apps keeps your apps on (and your Chrome when it is paired). A conversation can be pinned to a route (Use my Chrome under the composer, once your Chrome is paired), an agent too (its page → Tools → Where it may look, written as `browser:` in its agent.md), and Settings keeps a default.\n- Browser stops: you are asked on four occasions only, with one card in the chat, the corner chat and Telegram (one photo, then buttons): \"I’m not sure that went through. Look?\" (Carry on · Look), \"Keep going?\" (Stop here · Keep going), \"Amazon needs your sign-in\" (Save a login for next time · Use my Chrome · Take over) and \"This page asks for a human\" (Skip this site · Take over), each with one line of why; while a Stop holds, \"Browsing is paused since 10:12\" (Keep paused · Resume). A slow page, a stale target, a redirect or a closed tab is retried inside the tool, and every action returns the page as it is after it, so agents no longer \"observe again\" or wait for a paused page.\n- Budgets are 200 actions and an hour per task, renewed by any message or card tap of yours in that conversation, and browser steps no longer use up the agent's turns. Several agents can look at once: three own-browser pages by default (a fourth waits its turn; a page waiting on a card for you doesn't count), several Chrome tabs with one agent per site at a time, one page in your hands and one app job at a time.\n- Stop agents' browsing now expires after an hour (a setting; or until you say), and while it holds an agent shows one card with Resume instead of telling you to visit Settings. A Stop left from before is lifted an hour after it was pressed.\n\n…"
21
21
  },
22
22
  "files": [
23
23
  "packages",