@withbuddi/buddi 0.1.0-pre.42 → 0.1.0-pre.44

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 (647) hide show
  1. package/examples/agents/agent-father/agent.md +12 -5
  2. package/examples/agents/concierge/agent.md +11 -3
  3. package/extension/icons/128.png +0 -0
  4. package/extension/icons/16.png +0 -0
  5. package/extension/icons/32.png +0 -0
  6. package/extension/icons/48.png +0 -0
  7. package/extension/manifest.json +7 -3
  8. package/node_modules/@buddi/cli/dist/.tsbuildinfo +1 -1
  9. package/node_modules/@buddi/cli/dist/access-cmd.d.ts +2 -1
  10. package/node_modules/@buddi/cli/dist/access-cmd.d.ts.map +1 -1
  11. package/node_modules/@buddi/cli/dist/access-cmd.js +40 -7
  12. package/node_modules/@buddi/cli/dist/access-cmd.js.map +1 -1
  13. package/node_modules/@buddi/cli/dist/args.d.ts +2 -1
  14. package/node_modules/@buddi/cli/dist/args.d.ts.map +1 -1
  15. package/node_modules/@buddi/cli/dist/args.js +7 -3
  16. package/node_modules/@buddi/cli/dist/args.js.map +1 -1
  17. package/node_modules/@buddi/cli/dist/commands.d.ts.map +1 -1
  18. package/node_modules/@buddi/cli/dist/commands.js +3 -2
  19. package/node_modules/@buddi/cli/dist/commands.js.map +1 -1
  20. package/node_modules/@buddi/cli/dist/doctor-probes.d.ts.map +1 -1
  21. package/node_modules/@buddi/cli/dist/doctor-probes.js +10 -1
  22. package/node_modules/@buddi/cli/dist/doctor-probes.js.map +1 -1
  23. package/node_modules/@buddi/cli/dist/doctor.d.ts +9 -0
  24. package/node_modules/@buddi/cli/dist/doctor.d.ts.map +1 -1
  25. package/node_modules/@buddi/cli/dist/doctor.js +21 -3
  26. package/node_modules/@buddi/cli/dist/doctor.js.map +1 -1
  27. package/node_modules/@buddi/cli/dist/main.js +1 -1
  28. package/node_modules/@buddi/cli/dist/main.js.map +1 -1
  29. package/node_modules/@buddi/cli/dist/mcp/server.js +1 -1
  30. package/node_modules/@buddi/cli/dist/mcp/server.js.map +1 -1
  31. package/node_modules/@buddi/cli/dist/mcp/tools.d.ts.map +1 -1
  32. package/node_modules/@buddi/cli/dist/mcp/tools.js +60 -0
  33. package/node_modules/@buddi/cli/dist/mcp/tools.js.map +1 -1
  34. package/node_modules/@buddi/core/dist/.tsbuildinfo +1 -1
  35. package/node_modules/@buddi/core/dist/agents/catalog.js +1 -1
  36. package/node_modules/@buddi/core/dist/agents/catalog.js.map +1 -1
  37. package/node_modules/@buddi/core/dist/lock.d.ts +15 -1
  38. package/node_modules/@buddi/core/dist/lock.d.ts.map +1 -1
  39. package/node_modules/@buddi/core/dist/lock.js +15 -1
  40. package/node_modules/@buddi/core/dist/lock.js.map +1 -1
  41. package/node_modules/@buddi/core/dist/pages.d.ts +75 -0
  42. package/node_modules/@buddi/core/dist/pages.d.ts.map +1 -1
  43. package/node_modules/@buddi/core/dist/pages.js +14 -0
  44. package/node_modules/@buddi/core/dist/pages.js.map +1 -1
  45. package/node_modules/@buddi/core/dist/plugin/index.d.ts +2 -2
  46. package/node_modules/@buddi/core/dist/plugin/index.d.ts.map +1 -1
  47. package/node_modules/@buddi/core/dist/plugin/index.js.map +1 -1
  48. package/node_modules/@buddi/core/dist/plugin/version.d.ts +1 -1
  49. package/node_modules/@buddi/core/dist/plugin/version.js +1 -1
  50. package/node_modules/@buddi/core/dist/provider-accounts.d.ts +32 -0
  51. package/node_modules/@buddi/core/dist/provider-accounts.d.ts.map +1 -1
  52. package/node_modules/@buddi/core/dist/provider-accounts.js +22 -0
  53. package/node_modules/@buddi/core/dist/provider-accounts.js.map +1 -1
  54. package/node_modules/@buddi/core/dist/testing/database-url.d.ts +13 -0
  55. package/node_modules/@buddi/core/dist/testing/database-url.d.ts.map +1 -1
  56. package/node_modules/@buddi/core/dist/testing/database-url.js +34 -0
  57. package/node_modules/@buddi/core/dist/testing/database-url.js.map +1 -1
  58. package/node_modules/@buddi/core/dist/testing/isolated-global-setup.d.ts +2 -0
  59. package/node_modules/@buddi/core/dist/testing/isolated-global-setup.d.ts.map +1 -0
  60. package/node_modules/@buddi/core/dist/testing/isolated-global-setup.js +20 -0
  61. package/node_modules/@buddi/core/dist/testing/isolated-global-setup.js.map +1 -0
  62. package/node_modules/@buddi/core/migrations/077_lock_background_portrait.sql +5 -0
  63. package/node_modules/@buddi/core/package.json +4 -0
  64. package/node_modules/@buddi/gateway/dist/.tsbuildinfo +1 -1
  65. package/node_modules/@buddi/gateway/dist/agents/owner-tools.d.ts +21 -8
  66. package/node_modules/@buddi/gateway/dist/agents/owner-tools.d.ts.map +1 -1
  67. package/node_modules/@buddi/gateway/dist/agents/owner-tools.js +201 -36
  68. package/node_modules/@buddi/gateway/dist/agents/owner-tools.js.map +1 -1
  69. package/node_modules/@buddi/gateway/dist/agents/platform.d.ts +8 -0
  70. package/node_modules/@buddi/gateway/dist/agents/platform.d.ts.map +1 -1
  71. package/node_modules/@buddi/gateway/dist/agents/platform.js +48 -22
  72. package/node_modules/@buddi/gateway/dist/agents/platform.js.map +1 -1
  73. package/node_modules/@buddi/gateway/dist/evals/golden.d.ts +5 -0
  74. package/node_modules/@buddi/gateway/dist/evals/golden.d.ts.map +1 -1
  75. package/node_modules/@buddi/gateway/dist/evals/golden.js +48 -0
  76. package/node_modules/@buddi/gateway/dist/evals/golden.js.map +1 -1
  77. package/node_modules/@buddi/gateway/dist/mcp/requests.d.ts +8 -2
  78. package/node_modules/@buddi/gateway/dist/mcp/requests.d.ts.map +1 -1
  79. package/node_modules/@buddi/gateway/dist/mcp/requests.js +74 -1
  80. package/node_modules/@buddi/gateway/dist/mcp/requests.js.map +1 -1
  81. package/node_modules/@buddi/gateway/dist/owner-profile-edit.d.ts +160 -0
  82. package/node_modules/@buddi/gateway/dist/owner-profile-edit.d.ts.map +1 -0
  83. package/node_modules/@buddi/gateway/dist/owner-profile-edit.js +296 -0
  84. package/node_modules/@buddi/gateway/dist/owner-profile-edit.js.map +1 -0
  85. package/node_modules/@buddi/gateway/dist/plugins/index.d.ts +1 -0
  86. package/node_modules/@buddi/gateway/dist/plugins/index.d.ts.map +1 -1
  87. package/node_modules/@buddi/gateway/dist/plugins/index.js +1 -0
  88. package/node_modules/@buddi/gateway/dist/plugins/index.js.map +1 -1
  89. package/node_modules/@buddi/gateway/dist/plugins/pages-state.d.ts +37 -0
  90. package/node_modules/@buddi/gateway/dist/plugins/pages-state.d.ts.map +1 -0
  91. package/node_modules/@buddi/gateway/dist/plugins/pages-state.js +98 -0
  92. package/node_modules/@buddi/gateway/dist/plugins/pages-state.js.map +1 -0
  93. package/node_modules/@buddi/gateway/dist/provider-accounts.d.ts +33 -4
  94. package/node_modules/@buddi/gateway/dist/provider-accounts.d.ts.map +1 -1
  95. package/node_modules/@buddi/gateway/dist/provider-accounts.js +82 -18
  96. package/node_modules/@buddi/gateway/dist/provider-accounts.js.map +1 -1
  97. package/node_modules/@buddi/gateway/dist/provider-diagnostics.d.ts +5 -0
  98. package/node_modules/@buddi/gateway/dist/provider-diagnostics.d.ts.map +1 -1
  99. package/node_modules/@buddi/gateway/dist/provider-diagnostics.js +6 -1
  100. package/node_modules/@buddi/gateway/dist/provider-diagnostics.js.map +1 -1
  101. package/node_modules/@buddi/gateway/dist/serve.d.ts.map +1 -1
  102. package/node_modules/@buddi/gateway/dist/serve.js +5 -2
  103. package/node_modules/@buddi/gateway/dist/serve.js.map +1 -1
  104. package/node_modules/@buddi/gateway/dist/web/access/cloudflare-connector.d.ts +63 -0
  105. package/node_modules/@buddi/gateway/dist/web/access/cloudflare-connector.d.ts.map +1 -0
  106. package/node_modules/@buddi/gateway/dist/web/access/cloudflare-connector.js +87 -0
  107. package/node_modules/@buddi/gateway/dist/web/access/cloudflare-connector.js.map +1 -0
  108. package/node_modules/@buddi/gateway/dist/web/access/cloudflare-setup.d.ts +39 -4
  109. package/node_modules/@buddi/gateway/dist/web/access/cloudflare-setup.d.ts.map +1 -1
  110. package/node_modules/@buddi/gateway/dist/web/access/cloudflare-setup.js +99 -11
  111. package/node_modules/@buddi/gateway/dist/web/access/cloudflare-setup.js.map +1 -1
  112. package/node_modules/@buddi/gateway/dist/web/access/cloudflare-token.js +1 -1
  113. package/node_modules/@buddi/gateway/dist/web/access/cloudflare-token.js.map +1 -1
  114. package/node_modules/@buddi/gateway/dist/web/access/index.d.ts +1 -0
  115. package/node_modules/@buddi/gateway/dist/web/access/index.d.ts.map +1 -1
  116. package/node_modules/@buddi/gateway/dist/web/access/index.js +1 -0
  117. package/node_modules/@buddi/gateway/dist/web/access/index.js.map +1 -1
  118. package/node_modules/@buddi/gateway/dist/web/agent-offers.d.ts +6 -0
  119. package/node_modules/@buddi/gateway/dist/web/agent-offers.d.ts.map +1 -1
  120. package/node_modules/@buddi/gateway/dist/web/agent-offers.js +6 -0
  121. package/node_modules/@buddi/gateway/dist/web/agent-offers.js.map +1 -1
  122. package/node_modules/@buddi/gateway/dist/web/api-routes.d.ts.map +1 -1
  123. package/node_modules/@buddi/gateway/dist/web/api-routes.js +24 -3
  124. package/node_modules/@buddi/gateway/dist/web/api-routes.js.map +1 -1
  125. package/node_modules/@buddi/gateway/dist/web/attention.d.ts +11 -1
  126. package/node_modules/@buddi/gateway/dist/web/attention.d.ts.map +1 -1
  127. package/node_modules/@buddi/gateway/dist/web/attention.js +22 -2
  128. package/node_modules/@buddi/gateway/dist/web/attention.js.map +1 -1
  129. package/node_modules/@buddi/gateway/dist/web/chat.d.ts +0 -2
  130. package/node_modules/@buddi/gateway/dist/web/chat.d.ts.map +1 -1
  131. package/node_modules/@buddi/gateway/dist/web/chat.js +15 -4
  132. package/node_modules/@buddi/gateway/dist/web/chat.js.map +1 -1
  133. package/node_modules/@buddi/gateway/dist/web/lock-backgrounds.d.ts +9 -0
  134. package/node_modules/@buddi/gateway/dist/web/lock-backgrounds.d.ts.map +1 -0
  135. package/node_modules/@buddi/gateway/dist/web/lock-backgrounds.js +60 -0
  136. package/node_modules/@buddi/gateway/dist/web/lock-backgrounds.js.map +1 -0
  137. package/node_modules/@buddi/gateway/dist/web/lock.d.ts +22 -1
  138. package/node_modules/@buddi/gateway/dist/web/lock.d.ts.map +1 -1
  139. package/node_modules/@buddi/gateway/dist/web/lock.js +87 -24
  140. package/node_modules/@buddi/gateway/dist/web/lock.js.map +1 -1
  141. package/node_modules/@buddi/gateway/dist/web/places.d.ts +5 -0
  142. package/node_modules/@buddi/gateway/dist/web/places.d.ts.map +1 -1
  143. package/node_modules/@buddi/gateway/dist/web/places.js +11 -4
  144. package/node_modules/@buddi/gateway/dist/web/places.js.map +1 -1
  145. package/node_modules/@buddi/gateway/dist/web/plugins.d.ts.map +1 -1
  146. package/node_modules/@buddi/gateway/dist/web/plugins.js +4 -0
  147. package/node_modules/@buddi/gateway/dist/web/plugins.js.map +1 -1
  148. package/node_modules/@buddi/gateway/dist/web/server.d.ts +3 -0
  149. package/node_modules/@buddi/gateway/dist/web/server.d.ts.map +1 -1
  150. package/node_modules/@buddi/gateway/dist/web/server.js +48 -49
  151. package/node_modules/@buddi/gateway/dist/web/server.js.map +1 -1
  152. package/node_modules/@buddi/gateway/dist/web/take-on.d.ts +3 -1
  153. package/node_modules/@buddi/gateway/dist/web/take-on.d.ts.map +1 -1
  154. package/node_modules/@buddi/gateway/dist/web/take-on.js +14 -3
  155. package/node_modules/@buddi/gateway/dist/web/take-on.js.map +1 -1
  156. package/node_modules/@buddi/gateway/dist/web/telegram.d.ts.map +1 -1
  157. package/node_modules/@buddi/gateway/dist/web/telegram.js +4 -2
  158. package/node_modules/@buddi/gateway/dist/web/telegram.js.map +1 -1
  159. package/node_modules/@buddi/gateway/dist/web/version.d.ts +10 -0
  160. package/node_modules/@buddi/gateway/dist/web/version.d.ts.map +1 -1
  161. package/node_modules/@buddi/gateway/dist/web/version.js +12 -0
  162. package/node_modules/@buddi/gateway/dist/web/version.js.map +1 -1
  163. package/node_modules/@buddi/install/dist/.tsbuildinfo +1 -1
  164. package/node_modules/@buddi/install/dist/backup.d.ts +12 -0
  165. package/node_modules/@buddi/install/dist/backup.d.ts.map +1 -1
  166. package/node_modules/@buddi/install/dist/backup.js +26 -8
  167. package/node_modules/@buddi/install/dist/backup.js.map +1 -1
  168. package/node_modules/@buddi/install/dist/cloudflared.d.ts +121 -0
  169. package/node_modules/@buddi/install/dist/cloudflared.d.ts.map +1 -0
  170. package/node_modules/@buddi/install/dist/cloudflared.js +451 -0
  171. package/node_modules/@buddi/install/dist/cloudflared.js.map +1 -0
  172. package/node_modules/@buddi/install/dist/index.d.ts +1 -0
  173. package/node_modules/@buddi/install/dist/index.d.ts.map +1 -1
  174. package/node_modules/@buddi/install/dist/index.js +1 -0
  175. package/node_modules/@buddi/install/dist/index.js.map +1 -1
  176. package/node_modules/@buddi/install/dist/supervisor.d.ts +6 -1
  177. package/node_modules/@buddi/install/dist/supervisor.d.ts.map +1 -1
  178. package/node_modules/@buddi/install/dist/supervisor.js +51 -5
  179. package/node_modules/@buddi/install/dist/supervisor.js.map +1 -1
  180. package/node_modules/@buddi/install/dist/upgrade.d.ts +2 -0
  181. package/node_modules/@buddi/install/dist/upgrade.d.ts.map +1 -1
  182. package/node_modules/@buddi/install/dist/upgrade.js +3 -2
  183. package/node_modules/@buddi/install/dist/upgrade.js.map +1 -1
  184. package/node_modules/@buddi/runtime/dist/.tsbuildinfo +1 -1
  185. package/node_modules/@buddi/runtime/dist/codex-direct.d.ts +12 -1
  186. package/node_modules/@buddi/runtime/dist/codex-direct.d.ts.map +1 -1
  187. package/node_modules/@buddi/runtime/dist/codex-direct.js +15 -6
  188. package/node_modules/@buddi/runtime/dist/codex-direct.js.map +1 -1
  189. package/node_modules/@buddi/runtime/dist/groups.d.ts +5 -4
  190. package/node_modules/@buddi/runtime/dist/groups.d.ts.map +1 -1
  191. package/node_modules/@buddi/runtime/dist/groups.js +7 -6
  192. package/node_modules/@buddi/runtime/dist/groups.js.map +1 -1
  193. package/node_modules/@buddi/runtime/dist/provider-models.d.ts +4 -0
  194. package/node_modules/@buddi/runtime/dist/provider-models.d.ts.map +1 -1
  195. package/node_modules/@buddi/runtime/dist/provider-models.js.map +1 -1
  196. package/node_modules/@buddi/tool-artifacts/dist/.tsbuildinfo +1 -1
  197. package/node_modules/@buddi/tool-browser/dist/.tsbuildinfo +1 -1
  198. package/node_modules/@buddi/tool-email/dist/.tsbuildinfo +1 -1
  199. package/node_modules/@buddi/tool-email/dist/html.d.ts +16 -0
  200. package/node_modules/@buddi/tool-email/dist/html.d.ts.map +1 -0
  201. package/node_modules/@buddi/tool-email/dist/html.js +273 -0
  202. package/node_modules/@buddi/tool-email/dist/html.js.map +1 -0
  203. package/node_modules/@buddi/tool-email/dist/imap/imapflow-client.d.ts +7 -0
  204. package/node_modules/@buddi/tool-email/dist/imap/imapflow-client.d.ts.map +1 -1
  205. package/node_modules/@buddi/tool-email/dist/imap/imapflow-client.js +53 -0
  206. package/node_modules/@buddi/tool-email/dist/imap/imapflow-client.js.map +1 -1
  207. package/node_modules/@buddi/tool-email/dist/mail.d.ts.map +1 -1
  208. package/node_modules/@buddi/tool-email/dist/mail.js +4 -0
  209. package/node_modules/@buddi/tool-email/dist/mail.js.map +1 -1
  210. package/node_modules/@buddi/tool-email/dist/pages/descriptors.d.ts.map +1 -1
  211. package/node_modules/@buddi/tool-email/dist/pages/descriptors.js +250 -176
  212. package/node_modules/@buddi/tool-email/dist/pages/descriptors.js.map +1 -1
  213. package/node_modules/@buddi/tool-email/dist/pages/index.d.ts +1 -0
  214. package/node_modules/@buddi/tool-email/dist/pages/index.d.ts.map +1 -1
  215. package/node_modules/@buddi/tool-email/dist/pages/index.js +3 -0
  216. package/node_modules/@buddi/tool-email/dist/pages/index.js.map +1 -1
  217. package/node_modules/@buddi/tool-email/dist/pages/queries.d.ts +28 -1
  218. package/node_modules/@buddi/tool-email/dist/pages/queries.d.ts.map +1 -1
  219. package/node_modules/@buddi/tool-email/dist/pages/queries.js +362 -66
  220. package/node_modules/@buddi/tool-email/dist/pages/queries.js.map +1 -1
  221. package/node_modules/@buddi/tool-email/dist/pages/thread-tools.d.ts +25 -0
  222. package/node_modules/@buddi/tool-email/dist/pages/thread-tools.d.ts.map +1 -0
  223. package/node_modules/@buddi/tool-email/dist/pages/thread-tools.js +33 -0
  224. package/node_modules/@buddi/tool-email/dist/pages/thread-tools.js.map +1 -0
  225. package/node_modules/@buddi/tool-email/dist/ports.d.ts +10 -0
  226. package/node_modules/@buddi/tool-email/dist/ports.d.ts.map +1 -1
  227. package/node_modules/@buddi/tool-email/dist/ports.js.map +1 -1
  228. package/node_modules/@buddi/tool-email/dist/retention.d.ts.map +1 -1
  229. package/node_modules/@buddi/tool-email/dist/retention.js +1 -0
  230. package/node_modules/@buddi/tool-email/dist/retention.js.map +1 -1
  231. package/node_modules/@buddi/tool-email/dist/sources/inbox-poll.d.ts.map +1 -1
  232. package/node_modules/@buddi/tool-email/dist/sources/inbox-poll.js +9 -2
  233. package/node_modules/@buddi/tool-email/dist/sources/inbox-poll.js.map +1 -1
  234. package/node_modules/@buddi/tool-email/migrations/027_first_contact.sql +13 -0
  235. package/node_modules/@buddi/tool-email/migrations/028_reading.sql +20 -0
  236. package/node_modules/@buddi/tool-email/package.json +1 -0
  237. package/node_modules/@buddi/tool-host/dist/.tsbuildinfo +1 -1
  238. package/node_modules/@buddi/tool-mcp/dist/.tsbuildinfo +1 -1
  239. package/node_modules/@buddi/tool-memory/dist/.tsbuildinfo +1 -1
  240. package/node_modules/@buddi/tool-web/dist/.tsbuildinfo +1 -1
  241. package/node_modules/entities/LICENSE +11 -0
  242. package/node_modules/entities/decode.d.ts +1 -0
  243. package/node_modules/entities/decode.js +3 -0
  244. package/node_modules/entities/dist/commonjs/decode-codepoint.d.ts +19 -0
  245. package/node_modules/entities/dist/commonjs/decode-codepoint.d.ts.map +1 -0
  246. package/node_modules/entities/dist/commonjs/decode-codepoint.js +77 -0
  247. package/node_modules/entities/dist/commonjs/decode-codepoint.js.map +1 -0
  248. package/node_modules/entities/dist/commonjs/decode.d.ts +209 -0
  249. package/node_modules/entities/dist/commonjs/decode.d.ts.map +1 -0
  250. package/node_modules/entities/dist/commonjs/decode.js +511 -0
  251. package/node_modules/entities/dist/commonjs/decode.js.map +1 -0
  252. package/node_modules/entities/dist/commonjs/encode.d.ts +22 -0
  253. package/node_modules/entities/dist/commonjs/encode.d.ts.map +1 -0
  254. package/node_modules/entities/dist/commonjs/encode.js +73 -0
  255. package/node_modules/entities/dist/commonjs/encode.js.map +1 -0
  256. package/node_modules/entities/dist/commonjs/escape.d.ts +43 -0
  257. package/node_modules/entities/dist/commonjs/escape.d.ts.map +1 -0
  258. package/node_modules/entities/dist/commonjs/escape.js +121 -0
  259. package/node_modules/entities/dist/commonjs/escape.js.map +1 -0
  260. package/node_modules/entities/dist/commonjs/generated/decode-data-html.d.ts +2 -0
  261. package/node_modules/entities/dist/commonjs/generated/decode-data-html.d.ts.map +1 -0
  262. package/node_modules/entities/dist/commonjs/generated/decode-data-html.js +10 -0
  263. package/node_modules/entities/dist/commonjs/generated/decode-data-html.js.map +1 -0
  264. package/node_modules/entities/dist/commonjs/generated/decode-data-xml.d.ts +2 -0
  265. package/node_modules/entities/dist/commonjs/generated/decode-data-xml.d.ts.map +1 -0
  266. package/node_modules/entities/dist/commonjs/generated/decode-data-xml.js +10 -0
  267. package/node_modules/entities/dist/commonjs/generated/decode-data-xml.js.map +1 -0
  268. package/node_modules/entities/dist/commonjs/generated/encode-html.d.ts +8 -0
  269. package/node_modules/entities/dist/commonjs/generated/encode-html.d.ts.map +1 -0
  270. package/node_modules/entities/dist/commonjs/generated/encode-html.js +13 -0
  271. package/node_modules/entities/dist/commonjs/generated/encode-html.js.map +1 -0
  272. package/node_modules/entities/dist/commonjs/index.d.ts +96 -0
  273. package/node_modules/entities/dist/commonjs/index.d.ts.map +1 -0
  274. package/node_modules/entities/dist/commonjs/index.js +131 -0
  275. package/node_modules/entities/dist/commonjs/index.js.map +1 -0
  276. package/node_modules/entities/dist/commonjs/package.json +3 -0
  277. package/node_modules/entities/dist/esm/decode-codepoint.d.ts +19 -0
  278. package/node_modules/entities/dist/esm/decode-codepoint.d.ts.map +1 -0
  279. package/node_modules/entities/dist/esm/decode-codepoint.js +72 -0
  280. package/node_modules/entities/dist/esm/decode-codepoint.js.map +1 -0
  281. package/node_modules/entities/dist/esm/decode.d.ts +209 -0
  282. package/node_modules/entities/dist/esm/decode.d.ts.map +1 -0
  283. package/node_modules/entities/dist/esm/decode.js +497 -0
  284. package/node_modules/entities/dist/esm/decode.js.map +1 -0
  285. package/node_modules/entities/dist/esm/encode.d.ts +22 -0
  286. package/node_modules/entities/dist/esm/encode.d.ts.map +1 -0
  287. package/node_modules/entities/dist/esm/encode.js +69 -0
  288. package/node_modules/entities/dist/esm/encode.js.map +1 -0
  289. package/node_modules/entities/dist/esm/escape.d.ts +43 -0
  290. package/node_modules/entities/dist/esm/escape.d.ts.map +1 -0
  291. package/node_modules/entities/dist/esm/escape.js +117 -0
  292. package/node_modules/entities/dist/esm/escape.js.map +1 -0
  293. package/node_modules/entities/dist/esm/generated/decode-data-html.d.ts +2 -0
  294. package/node_modules/entities/dist/esm/generated/decode-data-html.d.ts.map +1 -0
  295. package/node_modules/entities/dist/esm/generated/decode-data-html.js +7 -0
  296. package/node_modules/entities/dist/esm/generated/decode-data-html.js.map +1 -0
  297. package/node_modules/entities/dist/esm/generated/decode-data-xml.d.ts +2 -0
  298. package/node_modules/entities/dist/esm/generated/decode-data-xml.d.ts.map +1 -0
  299. package/node_modules/entities/dist/esm/generated/decode-data-xml.js +7 -0
  300. package/node_modules/entities/dist/esm/generated/decode-data-xml.js.map +1 -0
  301. package/node_modules/entities/dist/esm/generated/encode-html.d.ts +8 -0
  302. package/node_modules/entities/dist/esm/generated/encode-html.d.ts.map +1 -0
  303. package/node_modules/entities/dist/esm/generated/encode-html.js +10 -0
  304. package/node_modules/entities/dist/esm/generated/encode-html.js.map +1 -0
  305. package/node_modules/entities/dist/esm/index.d.ts +96 -0
  306. package/node_modules/entities/dist/esm/index.d.ts.map +1 -0
  307. package/node_modules/entities/dist/esm/index.js +107 -0
  308. package/node_modules/entities/dist/esm/index.js.map +1 -0
  309. package/node_modules/entities/dist/esm/package.json +3 -0
  310. package/node_modules/entities/escape.d.ts +1 -0
  311. package/node_modules/entities/escape.js +3 -0
  312. package/node_modules/entities/package.json +118 -0
  313. package/node_modules/entities/readme.md +122 -0
  314. package/node_modules/entities/src/decode-codepoint.ts +81 -0
  315. package/node_modules/entities/src/decode.spec.ts +320 -0
  316. package/node_modules/entities/src/decode.ts +620 -0
  317. package/node_modules/entities/src/encode.spec.ts +78 -0
  318. package/node_modules/entities/src/encode.ts +77 -0
  319. package/node_modules/entities/src/escape.spec.ts +14 -0
  320. package/node_modules/entities/src/escape.ts +148 -0
  321. package/node_modules/entities/src/generated/.eslintrc.json +10 -0
  322. package/node_modules/entities/src/generated/decode-data-html.ts +8 -0
  323. package/node_modules/entities/src/generated/decode-data-xml.ts +8 -0
  324. package/node_modules/entities/src/generated/encode-html.ts +17 -0
  325. package/node_modules/entities/src/index.spec.ts +125 -0
  326. package/node_modules/entities/src/index.ts +188 -0
  327. package/node_modules/parse5/LICENSE +19 -0
  328. package/node_modules/parse5/README.md +38 -0
  329. package/node_modules/parse5/dist/cjs/common/doctype.d.ts +4 -0
  330. package/node_modules/parse5/dist/cjs/common/doctype.js +118 -0
  331. package/node_modules/parse5/dist/cjs/common/error-codes.d.ts +67 -0
  332. package/node_modules/parse5/dist/cjs/common/error-codes.js +66 -0
  333. package/node_modules/parse5/dist/cjs/common/foreign-content.d.ts +9 -0
  334. package/node_modules/parse5/dist/cjs/common/foreign-content.js +237 -0
  335. package/node_modules/parse5/dist/cjs/common/html.d.ts +289 -0
  336. package/node_modules/parse5/dist/cjs/common/html.js +528 -0
  337. package/node_modules/parse5/dist/cjs/common/token.d.ts +84 -0
  338. package/node_modules/parse5/dist/cjs/common/token.js +24 -0
  339. package/node_modules/parse5/dist/cjs/common/unicode.d.ts +42 -0
  340. package/node_modules/parse5/dist/cjs/common/unicode.js +70 -0
  341. package/node_modules/parse5/dist/cjs/index.d.ts +71 -0
  342. package/node_modules/parse5/dist/cjs/index.js +54 -0
  343. package/node_modules/parse5/dist/cjs/package.json +1 -0
  344. package/node_modules/parse5/dist/cjs/parser/formatting-element-list.d.ts +36 -0
  345. package/node_modules/parse5/dist/cjs/parser/formatting-element-list.js +114 -0
  346. package/node_modules/parse5/dist/cjs/parser/index.d.ts +221 -0
  347. package/node_modules/parse5/dist/cjs/parser/index.js +3240 -0
  348. package/node_modules/parse5/dist/cjs/parser/open-element-stack.d.ts +53 -0
  349. package/node_modules/parse5/dist/cjs/parser/open-element-stack.js +328 -0
  350. package/node_modules/parse5/dist/cjs/serializer/index.d.ts +60 -0
  351. package/node_modules/parse5/dist/cjs/serializer/index.js +172 -0
  352. package/node_modules/parse5/dist/cjs/tokenizer/index.d.ts +247 -0
  353. package/node_modules/parse5/dist/cjs/tokenizer/index.js +2714 -0
  354. package/node_modules/parse5/dist/cjs/tokenizer/preprocessor.d.ts +36 -0
  355. package/node_modules/parse5/dist/cjs/tokenizer/preprocessor.js +200 -0
  356. package/node_modules/parse5/dist/cjs/tree-adapters/default.d.ts +84 -0
  357. package/node_modules/parse5/dist/cjs/tree-adapters/default.js +176 -0
  358. package/node_modules/parse5/dist/cjs/tree-adapters/interface.d.ts +255 -0
  359. package/node_modules/parse5/dist/cjs/tree-adapters/interface.js +2 -0
  360. package/node_modules/parse5/dist/common/doctype.d.ts +4 -0
  361. package/node_modules/parse5/dist/common/doctype.js +114 -0
  362. package/node_modules/parse5/dist/common/error-codes.d.ts +67 -0
  363. package/node_modules/parse5/dist/common/error-codes.js +63 -0
  364. package/node_modules/parse5/dist/common/foreign-content.d.ts +9 -0
  365. package/node_modules/parse5/dist/common/foreign-content.js +228 -0
  366. package/node_modules/parse5/dist/common/html.d.ts +289 -0
  367. package/node_modules/parse5/dist/common/html.js +523 -0
  368. package/node_modules/parse5/dist/common/token.d.ts +84 -0
  369. package/node_modules/parse5/dist/common/token.js +20 -0
  370. package/node_modules/parse5/dist/common/unicode.d.ts +42 -0
  371. package/node_modules/parse5/dist/common/unicode.js +62 -0
  372. package/node_modules/parse5/dist/index.d.ts +71 -0
  373. package/node_modules/parse5/dist/index.js +42 -0
  374. package/node_modules/parse5/dist/parser/formatting-element-list.d.ts +36 -0
  375. package/node_modules/parse5/dist/parser/formatting-element-list.js +110 -0
  376. package/node_modules/parse5/dist/parser/index.d.ts +221 -0
  377. package/node_modules/parse5/dist/parser/index.js +3245 -0
  378. package/node_modules/parse5/dist/parser/open-element-stack.d.ts +53 -0
  379. package/node_modules/parse5/dist/parser/open-element-stack.js +324 -0
  380. package/node_modules/parse5/dist/serializer/index.d.ts +60 -0
  381. package/node_modules/parse5/dist/serializer/index.js +168 -0
  382. package/node_modules/parse5/dist/tokenizer/index.d.ts +247 -0
  383. package/node_modules/parse5/dist/tokenizer/index.js +2710 -0
  384. package/node_modules/parse5/dist/tokenizer/preprocessor.d.ts +36 -0
  385. package/node_modules/parse5/dist/tokenizer/preprocessor.js +196 -0
  386. package/node_modules/parse5/dist/tree-adapters/default.d.ts +84 -0
  387. package/node_modules/parse5/dist/tree-adapters/default.js +173 -0
  388. package/node_modules/parse5/dist/tree-adapters/interface.d.ts +255 -0
  389. package/node_modules/parse5/dist/tree-adapters/interface.js +1 -0
  390. package/node_modules/parse5/package.json +50 -0
  391. package/package.json +2 -2
  392. package/packages/cli/dist/.tsbuildinfo +1 -1
  393. package/packages/cli/dist/access-cmd.d.ts +2 -1
  394. package/packages/cli/dist/access-cmd.d.ts.map +1 -1
  395. package/packages/cli/dist/access-cmd.js +40 -7
  396. package/packages/cli/dist/access-cmd.js.map +1 -1
  397. package/packages/cli/dist/args.d.ts +2 -1
  398. package/packages/cli/dist/args.d.ts.map +1 -1
  399. package/packages/cli/dist/args.js +7 -3
  400. package/packages/cli/dist/args.js.map +1 -1
  401. package/packages/cli/dist/commands.d.ts.map +1 -1
  402. package/packages/cli/dist/commands.js +3 -2
  403. package/packages/cli/dist/commands.js.map +1 -1
  404. package/packages/cli/dist/doctor-probes.d.ts.map +1 -1
  405. package/packages/cli/dist/doctor-probes.js +10 -1
  406. package/packages/cli/dist/doctor-probes.js.map +1 -1
  407. package/packages/cli/dist/doctor.d.ts +9 -0
  408. package/packages/cli/dist/doctor.d.ts.map +1 -1
  409. package/packages/cli/dist/doctor.js +21 -3
  410. package/packages/cli/dist/doctor.js.map +1 -1
  411. package/packages/cli/dist/main.js +1 -1
  412. package/packages/cli/dist/main.js.map +1 -1
  413. package/packages/cli/dist/mcp/server.js +1 -1
  414. package/packages/cli/dist/mcp/server.js.map +1 -1
  415. package/packages/cli/dist/mcp/tools.d.ts.map +1 -1
  416. package/packages/cli/dist/mcp/tools.js +60 -0
  417. package/packages/cli/dist/mcp/tools.js.map +1 -1
  418. package/packages/core/dist/.tsbuildinfo +1 -1
  419. package/packages/core/dist/agents/catalog.js +1 -1
  420. package/packages/core/dist/agents/catalog.js.map +1 -1
  421. package/packages/core/dist/lock.d.ts +15 -1
  422. package/packages/core/dist/lock.d.ts.map +1 -1
  423. package/packages/core/dist/lock.js +15 -1
  424. package/packages/core/dist/lock.js.map +1 -1
  425. package/packages/core/dist/pages.d.ts +75 -0
  426. package/packages/core/dist/pages.d.ts.map +1 -1
  427. package/packages/core/dist/pages.js +14 -0
  428. package/packages/core/dist/pages.js.map +1 -1
  429. package/packages/core/dist/plugin/index.d.ts +2 -2
  430. package/packages/core/dist/plugin/index.d.ts.map +1 -1
  431. package/packages/core/dist/plugin/index.js.map +1 -1
  432. package/packages/core/dist/plugin/version.d.ts +1 -1
  433. package/packages/core/dist/plugin/version.js +1 -1
  434. package/packages/core/dist/provider-accounts.d.ts +32 -0
  435. package/packages/core/dist/provider-accounts.d.ts.map +1 -1
  436. package/packages/core/dist/provider-accounts.js +22 -0
  437. package/packages/core/dist/provider-accounts.js.map +1 -1
  438. package/packages/core/dist/testing/database-url.d.ts +13 -0
  439. package/packages/core/dist/testing/database-url.d.ts.map +1 -1
  440. package/packages/core/dist/testing/database-url.js +34 -0
  441. package/packages/core/dist/testing/database-url.js.map +1 -1
  442. package/packages/core/dist/testing/isolated-global-setup.d.ts +2 -0
  443. package/packages/core/dist/testing/isolated-global-setup.d.ts.map +1 -0
  444. package/packages/core/dist/testing/isolated-global-setup.js +20 -0
  445. package/packages/core/dist/testing/isolated-global-setup.js.map +1 -0
  446. package/packages/core/migrations/077_lock_background_portrait.sql +5 -0
  447. package/packages/core/package.json +4 -0
  448. package/packages/gateway/dist/.tsbuildinfo +1 -1
  449. package/packages/gateway/dist/agents/owner-tools.d.ts +21 -8
  450. package/packages/gateway/dist/agents/owner-tools.d.ts.map +1 -1
  451. package/packages/gateway/dist/agents/owner-tools.js +201 -36
  452. package/packages/gateway/dist/agents/owner-tools.js.map +1 -1
  453. package/packages/gateway/dist/agents/platform.d.ts +8 -0
  454. package/packages/gateway/dist/agents/platform.d.ts.map +1 -1
  455. package/packages/gateway/dist/agents/platform.js +48 -22
  456. package/packages/gateway/dist/agents/platform.js.map +1 -1
  457. package/packages/gateway/dist/evals/golden.d.ts +5 -0
  458. package/packages/gateway/dist/evals/golden.d.ts.map +1 -1
  459. package/packages/gateway/dist/evals/golden.js +48 -0
  460. package/packages/gateway/dist/evals/golden.js.map +1 -1
  461. package/packages/gateway/dist/mcp/requests.d.ts +8 -2
  462. package/packages/gateway/dist/mcp/requests.d.ts.map +1 -1
  463. package/packages/gateway/dist/mcp/requests.js +74 -1
  464. package/packages/gateway/dist/mcp/requests.js.map +1 -1
  465. package/packages/gateway/dist/owner-profile-edit.d.ts +160 -0
  466. package/packages/gateway/dist/owner-profile-edit.d.ts.map +1 -0
  467. package/packages/gateway/dist/owner-profile-edit.js +296 -0
  468. package/packages/gateway/dist/owner-profile-edit.js.map +1 -0
  469. package/packages/gateway/dist/plugins/index.d.ts +1 -0
  470. package/packages/gateway/dist/plugins/index.d.ts.map +1 -1
  471. package/packages/gateway/dist/plugins/index.js +1 -0
  472. package/packages/gateway/dist/plugins/index.js.map +1 -1
  473. package/packages/gateway/dist/plugins/pages-state.d.ts +37 -0
  474. package/packages/gateway/dist/plugins/pages-state.d.ts.map +1 -0
  475. package/packages/gateway/dist/plugins/pages-state.js +98 -0
  476. package/packages/gateway/dist/plugins/pages-state.js.map +1 -0
  477. package/packages/gateway/dist/provider-accounts.d.ts +33 -4
  478. package/packages/gateway/dist/provider-accounts.d.ts.map +1 -1
  479. package/packages/gateway/dist/provider-accounts.js +82 -18
  480. package/packages/gateway/dist/provider-accounts.js.map +1 -1
  481. package/packages/gateway/dist/provider-diagnostics.d.ts +5 -0
  482. package/packages/gateway/dist/provider-diagnostics.d.ts.map +1 -1
  483. package/packages/gateway/dist/provider-diagnostics.js +6 -1
  484. package/packages/gateway/dist/provider-diagnostics.js.map +1 -1
  485. package/packages/gateway/dist/serve.d.ts.map +1 -1
  486. package/packages/gateway/dist/serve.js +5 -2
  487. package/packages/gateway/dist/serve.js.map +1 -1
  488. package/packages/gateway/dist/web/access/cloudflare-connector.d.ts +63 -0
  489. package/packages/gateway/dist/web/access/cloudflare-connector.d.ts.map +1 -0
  490. package/packages/gateway/dist/web/access/cloudflare-connector.js +87 -0
  491. package/packages/gateway/dist/web/access/cloudflare-connector.js.map +1 -0
  492. package/packages/gateway/dist/web/access/cloudflare-setup.d.ts +39 -4
  493. package/packages/gateway/dist/web/access/cloudflare-setup.d.ts.map +1 -1
  494. package/packages/gateway/dist/web/access/cloudflare-setup.js +99 -11
  495. package/packages/gateway/dist/web/access/cloudflare-setup.js.map +1 -1
  496. package/packages/gateway/dist/web/access/cloudflare-token.js +1 -1
  497. package/packages/gateway/dist/web/access/cloudflare-token.js.map +1 -1
  498. package/packages/gateway/dist/web/access/index.d.ts +1 -0
  499. package/packages/gateway/dist/web/access/index.d.ts.map +1 -1
  500. package/packages/gateway/dist/web/access/index.js +1 -0
  501. package/packages/gateway/dist/web/access/index.js.map +1 -1
  502. package/packages/gateway/dist/web/agent-offers.d.ts +6 -0
  503. package/packages/gateway/dist/web/agent-offers.d.ts.map +1 -1
  504. package/packages/gateway/dist/web/agent-offers.js +6 -0
  505. package/packages/gateway/dist/web/agent-offers.js.map +1 -1
  506. package/packages/gateway/dist/web/api-routes.d.ts.map +1 -1
  507. package/packages/gateway/dist/web/api-routes.js +24 -3
  508. package/packages/gateway/dist/web/api-routes.js.map +1 -1
  509. package/packages/gateway/dist/web/attention.d.ts +11 -1
  510. package/packages/gateway/dist/web/attention.d.ts.map +1 -1
  511. package/packages/gateway/dist/web/attention.js +22 -2
  512. package/packages/gateway/dist/web/attention.js.map +1 -1
  513. package/packages/gateway/dist/web/chat.d.ts +0 -2
  514. package/packages/gateway/dist/web/chat.d.ts.map +1 -1
  515. package/packages/gateway/dist/web/chat.js +15 -4
  516. package/packages/gateway/dist/web/chat.js.map +1 -1
  517. package/packages/gateway/dist/web/lock-backgrounds.d.ts +9 -0
  518. package/packages/gateway/dist/web/lock-backgrounds.d.ts.map +1 -0
  519. package/packages/gateway/dist/web/lock-backgrounds.js +60 -0
  520. package/packages/gateway/dist/web/lock-backgrounds.js.map +1 -0
  521. package/packages/gateway/dist/web/lock.d.ts +22 -1
  522. package/packages/gateway/dist/web/lock.d.ts.map +1 -1
  523. package/packages/gateway/dist/web/lock.js +87 -24
  524. package/packages/gateway/dist/web/lock.js.map +1 -1
  525. package/packages/gateway/dist/web/places.d.ts +5 -0
  526. package/packages/gateway/dist/web/places.d.ts.map +1 -1
  527. package/packages/gateway/dist/web/places.js +11 -4
  528. package/packages/gateway/dist/web/places.js.map +1 -1
  529. package/packages/gateway/dist/web/plugins.d.ts.map +1 -1
  530. package/packages/gateway/dist/web/plugins.js +4 -0
  531. package/packages/gateway/dist/web/plugins.js.map +1 -1
  532. package/packages/gateway/dist/web/server.d.ts +3 -0
  533. package/packages/gateway/dist/web/server.d.ts.map +1 -1
  534. package/packages/gateway/dist/web/server.js +48 -49
  535. package/packages/gateway/dist/web/server.js.map +1 -1
  536. package/packages/gateway/dist/web/take-on.d.ts +3 -1
  537. package/packages/gateway/dist/web/take-on.d.ts.map +1 -1
  538. package/packages/gateway/dist/web/take-on.js +14 -3
  539. package/packages/gateway/dist/web/take-on.js.map +1 -1
  540. package/packages/gateway/dist/web/telegram.d.ts.map +1 -1
  541. package/packages/gateway/dist/web/telegram.js +4 -2
  542. package/packages/gateway/dist/web/telegram.js.map +1 -1
  543. package/packages/gateway/dist/web/version.d.ts +10 -0
  544. package/packages/gateway/dist/web/version.d.ts.map +1 -1
  545. package/packages/gateway/dist/web/version.js +12 -0
  546. package/packages/gateway/dist/web/version.js.map +1 -1
  547. package/packages/install/dist/.tsbuildinfo +1 -1
  548. package/packages/install/dist/backup.d.ts +12 -0
  549. package/packages/install/dist/backup.d.ts.map +1 -1
  550. package/packages/install/dist/backup.js +26 -8
  551. package/packages/install/dist/backup.js.map +1 -1
  552. package/packages/install/dist/cloudflared.d.ts +121 -0
  553. package/packages/install/dist/cloudflared.d.ts.map +1 -0
  554. package/packages/install/dist/cloudflared.js +451 -0
  555. package/packages/install/dist/cloudflared.js.map +1 -0
  556. package/packages/install/dist/index.d.ts +1 -0
  557. package/packages/install/dist/index.d.ts.map +1 -1
  558. package/packages/install/dist/index.js +1 -0
  559. package/packages/install/dist/index.js.map +1 -1
  560. package/packages/install/dist/supervisor.d.ts +6 -1
  561. package/packages/install/dist/supervisor.d.ts.map +1 -1
  562. package/packages/install/dist/supervisor.js +51 -5
  563. package/packages/install/dist/supervisor.js.map +1 -1
  564. package/packages/install/dist/upgrade.d.ts +2 -0
  565. package/packages/install/dist/upgrade.d.ts.map +1 -1
  566. package/packages/install/dist/upgrade.js +3 -2
  567. package/packages/install/dist/upgrade.js.map +1 -1
  568. package/packages/runtime/dist/.tsbuildinfo +1 -1
  569. package/packages/runtime/dist/codex-direct.d.ts +12 -1
  570. package/packages/runtime/dist/codex-direct.d.ts.map +1 -1
  571. package/packages/runtime/dist/codex-direct.js +15 -6
  572. package/packages/runtime/dist/codex-direct.js.map +1 -1
  573. package/packages/runtime/dist/groups.d.ts +5 -4
  574. package/packages/runtime/dist/groups.d.ts.map +1 -1
  575. package/packages/runtime/dist/groups.js +7 -6
  576. package/packages/runtime/dist/groups.js.map +1 -1
  577. package/packages/runtime/dist/provider-models.d.ts +4 -0
  578. package/packages/runtime/dist/provider-models.d.ts.map +1 -1
  579. package/packages/runtime/dist/provider-models.js.map +1 -1
  580. package/packages/tools/artifacts/dist/.tsbuildinfo +1 -1
  581. package/packages/tools/browser/dist/.tsbuildinfo +1 -1
  582. package/packages/tools/email/dist/.tsbuildinfo +1 -1
  583. package/packages/tools/email/dist/html.d.ts +16 -0
  584. package/packages/tools/email/dist/html.d.ts.map +1 -0
  585. package/packages/tools/email/dist/html.js +273 -0
  586. package/packages/tools/email/dist/html.js.map +1 -0
  587. package/packages/tools/email/dist/imap/imapflow-client.d.ts +7 -0
  588. package/packages/tools/email/dist/imap/imapflow-client.d.ts.map +1 -1
  589. package/packages/tools/email/dist/imap/imapflow-client.js +53 -0
  590. package/packages/tools/email/dist/imap/imapflow-client.js.map +1 -1
  591. package/packages/tools/email/dist/mail.d.ts.map +1 -1
  592. package/packages/tools/email/dist/mail.js +4 -0
  593. package/packages/tools/email/dist/mail.js.map +1 -1
  594. package/packages/tools/email/dist/pages/descriptors.d.ts.map +1 -1
  595. package/packages/tools/email/dist/pages/descriptors.js +250 -176
  596. package/packages/tools/email/dist/pages/descriptors.js.map +1 -1
  597. package/packages/tools/email/dist/pages/index.d.ts +1 -0
  598. package/packages/tools/email/dist/pages/index.d.ts.map +1 -1
  599. package/packages/tools/email/dist/pages/index.js +3 -0
  600. package/packages/tools/email/dist/pages/index.js.map +1 -1
  601. package/packages/tools/email/dist/pages/queries.d.ts +28 -1
  602. package/packages/tools/email/dist/pages/queries.d.ts.map +1 -1
  603. package/packages/tools/email/dist/pages/queries.js +362 -66
  604. package/packages/tools/email/dist/pages/queries.js.map +1 -1
  605. package/packages/tools/email/dist/pages/thread-tools.d.ts +25 -0
  606. package/packages/tools/email/dist/pages/thread-tools.d.ts.map +1 -0
  607. package/packages/tools/email/dist/pages/thread-tools.js +33 -0
  608. package/packages/tools/email/dist/pages/thread-tools.js.map +1 -0
  609. package/packages/tools/email/dist/ports.d.ts +10 -0
  610. package/packages/tools/email/dist/ports.d.ts.map +1 -1
  611. package/packages/tools/email/dist/ports.js.map +1 -1
  612. package/packages/tools/email/dist/retention.d.ts.map +1 -1
  613. package/packages/tools/email/dist/retention.js +1 -0
  614. package/packages/tools/email/dist/retention.js.map +1 -1
  615. package/packages/tools/email/dist/sources/inbox-poll.d.ts.map +1 -1
  616. package/packages/tools/email/dist/sources/inbox-poll.js +9 -2
  617. package/packages/tools/email/dist/sources/inbox-poll.js.map +1 -1
  618. package/packages/tools/email/migrations/027_first_contact.sql +13 -0
  619. package/packages/tools/email/migrations/028_reading.sql +20 -0
  620. package/packages/tools/email/package.json +1 -0
  621. package/packages/tools/host/dist/.tsbuildinfo +1 -1
  622. package/packages/tools/mcp/dist/.tsbuildinfo +1 -1
  623. package/packages/tools/memory/dist/.tsbuildinfo +1 -1
  624. package/packages/tools/web/dist/.tsbuildinfo +1 -1
  625. package/packages/web/dist/apple-touch-icon.png +0 -0
  626. package/packages/web/dist/assets/index-C1sRt7zd.js +149 -0
  627. package/packages/web/dist/assets/index-CdZpSJ4_.css +1 -0
  628. package/packages/web/dist/assets/{lottie_light-CQmEj1as.js → lottie_light-DnYl9yaP.js} +1 -1
  629. package/packages/web/dist/backgrounds/golden-streak-portrait.jpg +0 -0
  630. package/packages/web/dist/backgrounds/golden-streak-thumb.jpg +0 -0
  631. package/packages/web/dist/backgrounds/manifest.json +18 -0
  632. package/packages/web/dist/backgrounds/peoria-autumn-waterfront-thumb.jpg +0 -0
  633. package/packages/web/dist/backgrounds/peoria-autumn-waterfront.jpg +0 -0
  634. package/packages/web/dist/build.json +1 -1
  635. package/packages/web/dist/favicon-16.png +0 -0
  636. package/packages/web/dist/favicon-32.png +0 -0
  637. package/packages/web/dist/favicon.ico +0 -0
  638. package/packages/web/dist/icon-192.png +0 -0
  639. package/packages/web/dist/icon-512.png +0 -0
  640. package/packages/web/dist/index.html +6 -3
  641. package/packages/web/dist/manifest.webmanifest +1 -1
  642. package/packages/web/dist/maskable-512.png +0 -0
  643. package/packages/web/dist/precache.json +7 -5
  644. package/packages/web/dist/assets/index-BrA8nWN-.css +0 -1
  645. package/packages/web/dist/assets/index-lmUTDd2T.js +0 -146
  646. package/packages/web/dist/favicon.png +0 -0
  647. package/packages/web/dist/icon-maskable-512.png +0 -0
@@ -5,12 +5,22 @@
5
5
  * decides only when it happens (the surfaces) and stores what came out of it
6
6
  * (core); the questions, their order, and what to do when the owner answers
7
7
  * something else entirely belong to the agent and its `first-run` skill. These
8
- * four tools are the whole seam between the two.
8
+ * tools are the whole seam between the two.
9
9
  *
10
- * Everything here is tier `auto` and deliberately so: nothing it does is
11
- * irreversible, nothing leaves the machine, and an approval prompt in the
12
- * middle of "what should I call you?" would be the opposite of the experience
13
- * this exists to create. The one edit that touches a file — `rename_me` —
10
+ * Everything here is tier `auto` and deliberately so: an approval prompt in
11
+ * the middle of "what should I call you?" would be the opposite of the
12
+ * experience this exists to create. Two things are not quite that simple, and
13
+ * are said here so nobody reads the tier as a promise it is not:
14
+ *
15
+ * - `set_profile` with a place sends that address to the geocoder Settings →
16
+ * Profile already uses (the owner's own words, leaving the machine), one
17
+ * lookup per call and no more.
18
+ * - `set_profile` that *deletes* — `clear` a field, `removePlaces` — goes
19
+ * gated for that call (`tierFor`), with the same card `mcp.profile_update`
20
+ * shows: forgetting what the owner told buddi is his to confirm. Plain
21
+ * sets stay auto.
22
+ *
23
+ * The one edit that touches a file — `rename_me` —
14
24
  * refuses far more than it accepts: an example the repository ships is never
15
25
  * rewritten, a handle another agent answers to is never taken, and the body of
16
26
  * the persona is never touched (core's `updateAgentFrontmatter` re-parses the
@@ -21,15 +31,18 @@
21
31
  * be handed a catalog at construction.
22
32
  */
23
33
  import type { CoreToolContext } from '@buddi/core';
24
- import { type ToolRegistry, type PluginManifest } from '@buddi/core';
34
+ import { type ToolRegistry, type HttpArea, type PluginManifest } from '@buddi/core';
25
35
  import type { AgentCatalog } from '../telegram/types.js';
26
- /** Plugin family name. One manifest, four tools, no tables of its own. */
36
+ /** Plugin family name. One manifest, six tools, no tables of its own. */
27
37
  export declare const OWNER_PLUGIN = "owner";
28
38
  export interface OwnerToolsBinding {
29
39
  /** Every agent installed here — for the rename: the file, and the handles. */
30
40
  catalog: AgentCatalog;
31
41
  /** Which surface this process is; recorded when onboarding completes. */
32
42
  surface?: string;
43
+ /** The geocoder's road for places; a test hands in a stub. Default: Settings → Profile's. */
44
+ placesHttp?: HttpArea;
45
+ log?: (line: string) => void;
33
46
  }
34
47
  /** Wire a registry's owner tools once the catalog exists. */
35
48
  export declare function bindOwnerTools(registry: ToolRegistry, binding: OwnerToolsBinding): void;
@@ -70,7 +83,7 @@ export declare const NOTIFY_TOOL = "owner.notify";
70
83
  */
71
84
  export declare function interactiveTurn(ctx: CoreToolContext): boolean;
72
85
  /**
73
- * The five tools. No state of its own: the profile and the state machine are
86
+ * The six tools. No state of its own: the profile and the state machine are
74
87
  * core's rows, and the agent file is the one the catalog loaded.
75
88
  */
76
89
  export declare function createOwnerManifest(registry: ToolRegistry): PluginManifest;
@@ -1 +1 @@
1
- {"version":3,"file":"owner-tools.d.ts","sourceRoot":"","sources":["../../src/agents/owner-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAKL,KAAK,YAAY,EAejB,KAAK,cAAc,EAEpB,MAAM,aAAa,CAAC;AAKrB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,0EAA0E;AAC1E,eAAO,MAAM,YAAY,UAAU,CAAC;AAgBpC,MAAM,WAAW,iBAAiB;IAChC,8EAA8E;IAC9E,OAAO,EAAE,YAAY,CAAC;IACtB,yEAAyE;IACzE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAID,6DAA6D;AAC7D,wBAAgB,cAAc,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAEvF;AAMD;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,QAK+B,CAAC;AAElE,2DAA2D;AAC3D,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CASrE;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,GAAE,MAA4B,GAAG,OAAO,CAG/F;AA4ED,4FAA4F;AAC5F,eAAO,MAAM,WAAW,iBAAiB,CAAC;AA4C1C;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAO7D;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,YAAY,GAAG,cAAc,CAgO1E"}
1
+ {"version":3,"file":"owner-tools.d.ts","sourceRoot":"","sources":["../../src/agents/owner-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAKL,KAAK,YAAY,EAiBjB,KAAK,QAAQ,EACb,KAAK,cAAc,EAGpB,MAAM,aAAa,CAAC;AAiBrB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,yEAAyE;AACzE,eAAO,MAAM,YAAY,UAAU,CAAC;AAwEpC,MAAM,WAAW,iBAAiB;IAChC,8EAA8E;IAC9E,OAAO,EAAE,YAAY,CAAC;IACtB,yEAAyE;IACzE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6FAA6F;IAC7F,UAAU,CAAC,EAAE,QAAQ,CAAC;IACtB,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9B;AAID,6DAA6D;AAC7D,wBAAgB,cAAc,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAEvF;AAMD;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,QAK+B,CAAC;AAElE,2DAA2D;AAC3D,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CASrE;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,GAAE,MAA4B,GAAG,OAAO,CAG/F;AAkHD,4FAA4F;AAC5F,eAAO,MAAM,WAAW,iBAAiB,CAAC;AA4C1C;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAO7D;AA+BD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,YAAY,GAAG,cAAc,CA2R1E"}
@@ -1,9 +1,9 @@
1
- import { HANDLE, HANDLE_MAX, HANDLE_MIN, AgentEditError, completeOnboarding, getOnboarding, getOwnerProfile, isKnownTimezone, AGENT_ACTION_MAX, AGENT_TEXT_MAX, AGENT_TITLE_MAX, checkAgentLink, notifyFromAgent, markStepDone, saveOwnerProfile, validDayMonth, updateAgentFrontmatter, } from '@buddi/core';
1
+ import { HANDLE, HANDLE_MAX, HANDLE_MIN, AgentEditError, completeOnboarding, getOnboarding, getOwnerProfile, isKnownTimezone, listOwnerPlaces, OWNER_DATE_FORMATS, OWNER_TIME_FORMATS, PLACE_ADDRESS_MAX, PLACE_LABEL_MAX, AGENT_ACTION_MAX, AGENT_TEXT_MAX, AGENT_TITLE_MAX, checkAgentLink, notifyFromAgent, markStepDone, updateAgentFrontmatter, ToolRefusal, } from '@buddi/core';
2
2
  import path from 'node:path';
3
3
  import { z } from 'zod';
4
4
  import { EXAMPLES_AGENTS_DIR } from './catalog.js';
5
- import { datesChanged } from '../missions/dates.js';
6
- /** Plugin family name. One manifest, four tools, no tables of its own. */
5
+ import { ASKED_PREFERENCE, DONT_ASK_PREFERENCE, PROFILE_FIELDS, PROFILE_GAP_REASONS, applyProfileEdit, checkPlaceEdits, checkProfilePatch, describeProfileEdit, profileGaps, } from '../owner-profile-edit.js';
6
+ /** Plugin family name. One manifest, six tools, no tables of its own. */
7
7
  export const OWNER_PLUGIN = 'owner';
8
8
  /**
9
9
  * The sentence every description here ends with.
@@ -14,6 +14,55 @@ export const OWNER_PLUGIN = 'owner';
14
14
  */
15
15
  const INTERVIEW_RULES = 'Ask one thing at a time and wait for the answer — never send a list of questions. ' +
16
16
  'Never invent or record a preference the owner did not actually state.';
17
+ /** Whether a `set_profile` call forgets something: a cleared field or a removed place. */
18
+ function deletes(input) {
19
+ return (input.clear?.length ?? 0) > 0 || (input.removePlaces?.length ?? 0) > 0;
20
+ }
21
+ /**
22
+ * A `set_profile` call checked into the edit Settings → Profile would save,
23
+ * or the refusal the model is handed. Pure: `tierFor`, `describe` and
24
+ * `execute` each run it and reach the same answer.
25
+ */
26
+ function prepareProfileEdit(input) {
27
+ if (input.timezone !== undefined && !isKnownTimezone(input.timezone)) {
28
+ return {
29
+ ok: false,
30
+ reason: 'unknown-timezone',
31
+ message: `"${input.timezone}" is not a timezone I know. Ask the owner which city they are in ` +
32
+ 'and try again; nothing was recorded.',
33
+ };
34
+ }
35
+ const { places, removePlaces, clear, ...fields } = input;
36
+ // One address goes to the geocoder per call, never a batch of them.
37
+ if ((places?.length ?? 0) > 1) {
38
+ return {
39
+ ok: false,
40
+ reason: 'one-place',
41
+ message: 'One place per call: the place finder is asked once each time. Send them one by one; nothing was recorded.',
42
+ };
43
+ }
44
+ const body = { ...fields };
45
+ for (const field of clear ?? []) {
46
+ if (body[field] !== undefined) {
47
+ return { ok: false, reason: 'conflict', message: `${field} is both given and cleared; nothing was recorded.` };
48
+ }
49
+ body[field] = null;
50
+ }
51
+ // Settings → Profile's own checks and sentences.
52
+ const checked = checkProfilePatch(body);
53
+ if (!checked.ok) {
54
+ const reason = checked.error.startsWith('The birthday') ? 'unknown-day' : 'invalid';
55
+ return { ok: false, reason, message: `${checked.error} Ask the owner again; nothing was recorded.` };
56
+ }
57
+ const placeEdits = checkPlaceEdits(places ?? [], removePlaces ?? []);
58
+ if (!placeEdits.ok) {
59
+ return { ok: false, reason: 'invalid-place', message: `${placeEdits.error} Nothing was recorded.` };
60
+ }
61
+ if (Object.keys(checked.patch).length === 0 && placeEdits.places.length === 0 && placeEdits.remove.length === 0) {
62
+ return { ok: false, reason: 'nothing-to-do', message: 'Say which field changed; nothing was recorded.' };
63
+ }
64
+ return { ok: true, edit: { patch: checked.patch, places: placeEdits.places, remove: placeEdits.remove } };
65
+ }
17
66
  /** The surface a completion is attributed to when the caller did not say. */
18
67
  const UNKNOWN_SURFACE = 'agent';
19
68
  const bindings = new WeakMap();
@@ -90,7 +139,7 @@ const setProfileInput = z
90
139
  language: z
91
140
  .string()
92
141
  .min(1)
93
- .max(40)
142
+ .max(80)
94
143
  .optional()
95
144
  .describe('The language they want to be answered in, if they said one. Never guessed from their spelling.'),
96
145
  about: z
@@ -119,6 +168,40 @@ const setProfileInput = z
119
168
  })
120
169
  .optional()
121
170
  .describe('Their birthday, when they said it: day and month, the year only if they gave it. Their team greets them on the day.'),
171
+ timeFormat: z
172
+ .enum(OWNER_TIME_FORMATS)
173
+ .optional()
174
+ .describe('How they read times: "12h" (2:05 PM) or "24h" (14:05). Only when they said.'),
175
+ dateFormat: z
176
+ .enum(OWNER_DATE_FORMATS)
177
+ .optional()
178
+ .describe('How they read dates: "short" (Thu, Oct 1), "long" (Thursday, 1 October) or "iso" (2026-10-01). Only when they said.'),
179
+ places: z
180
+ .array(z
181
+ .object({
182
+ label: z.string().min(1).max(PLACE_LABEL_MAX).describe('What they call it: "Home", "Work", "Mum\'s".'),
183
+ address: z
184
+ .string()
185
+ .min(2)
186
+ .max(PLACE_ADDRESS_MAX)
187
+ .describe('Where it is, as they said it: a street address or just the town ("Lyon", "12 rue Neuve, Lyon").'),
188
+ })
189
+ .strict())
190
+ .max(5)
191
+ .optional()
192
+ .describe('Places they told you about. Each address is looked up the way Settings → Profile does it and saved with ' +
193
+ 'the town and its timezone; a place already called that is changed, not added twice. The answer says which ' +
194
+ 'town it matched: tell them, so they can correct it.'),
195
+ removePlaces: z
196
+ .array(z.string().min(1).max(PLACE_LABEL_MAX))
197
+ .max(5)
198
+ .optional()
199
+ .describe('Labels of places they asked you to forget ("Work").'),
200
+ clear: z
201
+ .array(z.enum(PROFILE_FIELDS))
202
+ .max(PROFILE_FIELDS.length)
203
+ .optional()
204
+ .describe('Fields they asked you to forget. A cleared timeFormat or dateFormat goes back to Auto.'),
122
205
  })
123
206
  .strict();
124
207
  const renameInput = z
@@ -192,29 +275,64 @@ export function interactiveTurn(ctx) {
192
275
  (ctx.delegationDepth ?? 0) === 0);
193
276
  }
194
277
  /**
195
- * The five tools. No state of its own: the profile and the state machine are
278
+ * The "knowing you" record, from the two memory preferences the front desk
279
+ * keeps it in: which fields it already asked about (and when it last did),
280
+ * and which the owner said not to ask about. Shared or the caller's own; a
281
+ * database without memory answers nothing recorded.
282
+ */
283
+ async function knowingYouRecord(ctx) {
284
+ try {
285
+ const { rows } = await ctx.db.query(`select key, value, created_at from memory.preferences
286
+ where key = any($1::text[]) and superseded_at is null
287
+ and (agent_scope is null or agent_scope = $2)
288
+ order by created_at desc`, [[ASKED_PREFERENCE, DONT_ASK_PREFERENCE], ctx.agentId ?? '']);
289
+ const of = (key) => rows.filter((r) => r.key === key);
290
+ const asked = of(ASKED_PREFERENCE);
291
+ const dontAsk = of(DONT_ASK_PREFERENCE);
292
+ const at = asked[0]?.created_at;
293
+ return {
294
+ asked: asked.length > 0 ? asked.map((r) => String(r.value)).join(', ') : null,
295
+ askedAt: at ? new Date(at) : null,
296
+ dontAsk: dontAsk.length > 0 ? dontAsk.map((r) => String(r.value)).join(', ') : null,
297
+ };
298
+ }
299
+ catch {
300
+ return { asked: null, askedAt: null, dontAsk: null };
301
+ }
302
+ }
303
+ /**
304
+ * The six tools. No state of its own: the profile and the state machine are
196
305
  * core's rows, and the agent file is the one the catalog loaded.
197
306
  */
198
307
  export function createOwnerManifest(registry) {
199
308
  const bound = () => bindings.get(registry);
200
309
  const getProfile = {
201
310
  name: 'owner.get_profile',
202
- description: 'What you already know about the owner: the name they asked to be called, their timezone, ' +
203
- 'the language they want, and which parts of the first-run conversation are already done. ' +
311
+ description: 'What you already know about the owner: the name they asked to be called, their full name, ' +
312
+ 'pronouns, timezone, language, birthday, time and date formats, their places, and which parts ' +
313
+ 'of the first-run conversation are already done. ' +
204
314
  'Call this before you ask anything — a question about something already recorded is the ' +
205
315
  'one mistake a first conversation cannot afford. ' +
206
316
  INTERVIEW_RULES,
207
317
  tier: 'auto',
208
318
  input: z.object({}).strict(),
209
319
  async execute(_input, ctx) {
210
- const [profile, onboarding] = await Promise.all([
320
+ const [profile, onboarding, places] = await Promise.all([
211
321
  getOwnerProfile(ctx.db),
212
322
  getOnboarding(ctx.db),
323
+ listOwnerPlaces(ctx.db).catch(() => []),
213
324
  ]);
214
325
  return {
215
326
  preferredName: profile.preferredName,
216
327
  timezone: profile.timezone,
217
328
  language: profile.language,
329
+ fullName: profile.fullName,
330
+ pronouns: profile.pronouns,
331
+ birthday: profile.birthday,
332
+ timeFormat: profile.timeFormat,
333
+ dateFormat: profile.dateFormat,
334
+ about: profile.about,
335
+ places: places.map((p) => ({ label: p.label, address: p.address, matched: p.name, timezone: p.timezone })),
218
336
  onboarding: onboarding.state,
219
337
  stepsDone: onboarding.stepsDone,
220
338
  detectedTimezone: ctx.timezone,
@@ -223,43 +341,90 @@ export function createOwnerManifest(registry) {
223
341
  };
224
342
  const setProfile = {
225
343
  name: 'owner.set_profile',
226
- description: 'Record what the owner just told you about themselves: what to call them, their timezone, ' +
227
- 'the language they want to be answered in. Write a field only when they actually said it, ' +
228
- 'in this same conversation — this is their profile, not your inference. Pass only the ' +
229
- 'fields that changed. ' +
344
+ description: 'Record what the owner just told you about themselves: what to call them, their full name, pronouns, ' +
345
+ 'timezone, language, birthday, how they read times and dates, a line about them, and their places ' +
346
+ '(Home, Work, others). Write a field only when they actually said it, in this same conversation — this ' +
347
+ 'is their profile, not your inference: never fill one from an email signature, a display name or a ' +
348
+ 'guess. Pass only the fields that changed. Every agent reads it from its next turn. ' +
230
349
  INTERVIEW_RULES,
231
350
  tier: 'auto',
232
351
  input: setProfileInput,
233
- async execute(input, ctx) {
234
- if (input.timezone !== undefined && !isKnownTimezone(input.timezone)) {
235
- return {
236
- ok: false,
237
- reason: 'unknown-timezone',
238
- message: `"${input.timezone}" is not a timezone I know. Ask the owner which city they are in ` +
239
- 'and try again; nothing was recorded.',
240
- };
241
- }
242
- const { birthday: givenBirthday, ...rest } = input;
243
- let birthday;
244
- if (givenBirthday !== undefined) {
245
- const valid = validDayMonth(givenBirthday);
246
- if (!valid) {
247
- return { ok: false, reason: 'unknown-day', message: 'That day does not exist. Ask the owner again; nothing was recorded.' };
248
- }
249
- birthday = valid;
352
+ /*
353
+ * A delete is the owner's to confirm: `clear` or `removePlaces` makes this
354
+ * call gated. A call that will be refused anyway stays auto, so the model
355
+ * hears the refusal at once instead of the owner seeing a card for nothing.
356
+ */
357
+ async tierFor(input) {
358
+ const prepared = prepareProfileEdit(input);
359
+ if (prepared.ok && deletes(input)) {
360
+ return { tier: 'gated', reason: 'It forgets something you told buddi.' };
250
361
  }
251
- // The zone applies at once; schedules kept in the old one move with it.
252
- const { profile } = await saveOwnerProfile(ctx.db, { ...rest, ...(birthday ? { birthday } : {}) });
253
- // The birthday greeting's schedule follows the new day at once.
254
- if (birthday)
255
- await datesChanged();
362
+ return { tier: 'auto' };
363
+ },
364
+ describe(input) {
365
+ const prepared = prepareProfileEdit(input);
366
+ if (!prepared.ok)
367
+ throw new ToolRefusal(prepared.message);
368
+ const edit = prepared.edit;
369
+ return {
370
+ envelope: { kind: 'profile_update', change: { profile: edit.patch, places: edit.places, removePlaces: edit.remove } },
371
+ preview: ['Change your profile:', ...describeProfileEdit(edit)].join('\n'),
372
+ };
373
+ },
374
+ async execute(input, ctx) {
375
+ const prepared = prepareProfileEdit(input);
376
+ if (!prepared.ok)
377
+ return prepared;
378
+ const edit = prepared.edit;
379
+ const binding = bound();
380
+ // The zone applies at once and schedules kept in the old one move with
381
+ // it; the birthday greeting follows a new day at once.
382
+ const outcome = await applyProfileEdit({
383
+ pool: ctx.db,
384
+ log: binding?.log ?? (() => undefined),
385
+ ...(binding?.placesHttp ? { http: binding.placesHttp } : {}),
386
+ }, edit);
256
387
  // The steps the shipped skill records. Free-form strings in core, so an
257
388
  // owner's own first-run skill is free to record something else entirely.
258
389
  if (input.preferredName !== undefined)
259
390
  await markStepDone(ctx.db, 'name');
260
391
  if (input.timezone !== undefined)
261
392
  await markStepDone(ctx.db, 'timezone');
262
- return { ok: true, ...profile };
393
+ const changes = outcome.placeChanges;
394
+ return {
395
+ ok: true,
396
+ ...outcome.profile,
397
+ ...(changes
398
+ ? {
399
+ places: outcome.places.map((p) => ({ label: p.label, address: p.address, matched: p.name, timezone: p.timezone })),
400
+ placesSaved: changes.saved,
401
+ ...(changes.notSaved.length > 0 ? { placesNotSaved: changes.notSaved } : {}),
402
+ ...(changes.removed.length > 0 ? { placesRemoved: changes.removed } : {}),
403
+ ...(changes.notFound.length > 0 ? { placesNotFound: changes.notFound } : {}),
404
+ }
405
+ : {}),
406
+ message: 'Recorded. Every agent uses it from its next turn.',
407
+ };
408
+ },
409
+ };
410
+ const profileGapsTool = {
411
+ name: 'owner.profile_gaps',
412
+ description: "Which useful parts of the owner's profile are still empty, each with one line on why it matters " +
413
+ '(fullName: letters, forms and bookings; places.work: "how long to work?"). Each gap says whether it was ' +
414
+ `already asked in a "knowing you" question (the ${ASKED_PREFERENCE} preference) or declined (${DONT_ASK_PREFERENCE}); ` +
415
+ 'nudge names the one field a weekly "knowing you" question may ask now, or null. A read: it asks nothing. ' +
416
+ 'Ask for a gap only when the task in hand needs it, or as that one weekly question, never mid-task. ' +
417
+ INTERVIEW_RULES,
418
+ tier: 'auto',
419
+ input: z.object({}).strict(),
420
+ async execute(_input, ctx) {
421
+ const [profile, places, record] = await Promise.all([
422
+ getOwnerProfile(ctx.db),
423
+ listOwnerPlaces(ctx.db).catch(() => []),
424
+ knowingYouRecord(ctx),
425
+ ]);
426
+ const gaps = profileGaps(profile, places, record, ctx.now());
427
+ return { ...gaps, filled: PROFILE_GAP_REASONS.length - gaps.gaps.length, of: PROFILE_GAP_REASONS.length };
263
428
  },
264
429
  };
265
430
  const renameMe = {
@@ -404,7 +569,7 @@ export function createOwnerManifest(registry) {
404
569
  // The rows are core's (migrations 013 and 043): this manifest only exposes them.
405
570
  schema: 'core',
406
571
  migrationsDir: '',
407
- tools: [getProfile, setProfile, renameMe, finish, notify],
572
+ tools: [getProfile, setProfile, profileGapsTool, renameMe, finish, notify],
408
573
  };
409
574
  }
410
575
  //# sourceMappingURL=owner-tools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"owner-tools.js","sourceRoot":"","sources":["../../src/agents/owner-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"owner-tools.js","sourceRoot":"","sources":["../../src/agents/owner-tools.ts"],"names":[],"mappings":"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"}
@@ -546,6 +546,14 @@ export interface GroupUpdateEnvelope {
546
546
  * be able to tell what the room will look like afterwards without opening it.
547
547
  */
548
548
  export declare function renderGroupUpdate(envelope: GroupUpdateEnvelope, nameOf?: (agentId: string) => string): string;
549
+ /**
550
+ * What room membership means, said the same way in every tool description and
551
+ * on every approval card: the coordinator may ask members (group.ask) in the
552
+ * room's own conversations, and nothing else is granted.
553
+ */
554
+ export declare const GROUP_MEMBERSHIP_NOTE = "The coordinator may ask the room's members in that room's conversations; each member keeps its own tools and approvals.";
555
+ /** The sentence the owner approves for a new group. */
556
+ export declare function renderGroupCreate(name: string, coordinator: string, members: string[]): string;
549
557
  export declare function createPlatformManifest(registry: ToolRegistry): PluginManifest;
550
558
  export {};
551
559
  //# sourceMappingURL=platform.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../src/agents/platform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../src/agents/platform.ts"],"names":[],"mappings":"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"}
@@ -1533,6 +1533,17 @@ export function renderGroupUpdate(envelope, nameOf = (id) => id) {
1533
1533
  const sentence = parts.length === 0 ? `leave ${room} exactly as it is` : parts.join('; ');
1534
1534
  return sentence.charAt(0).toUpperCase() + sentence.slice(1);
1535
1535
  }
1536
+ /**
1537
+ * What room membership means, said the same way in every tool description and
1538
+ * on every approval card: the coordinator may ask members (group.ask) in the
1539
+ * room's own conversations, and nothing else is granted.
1540
+ */
1541
+ export const GROUP_MEMBERSHIP_NOTE = "The coordinator may ask the room's members in that room's conversations; each member keeps its own tools and approvals.";
1542
+ /** The sentence the owner approves for a new group. */
1543
+ export function renderGroupCreate(name, coordinator, members) {
1544
+ const list = members.length <= 1 ? (members[0] ?? '') : `${members.slice(0, -1).join(', ')} and ${members[members.length - 1]}`;
1545
+ return `Create the group "${name}": ${coordinator} coordinates, with ${list}. ${GROUP_MEMBERSHIP_NOTE}`;
1546
+ }
1536
1547
  export function createPlatformManifest(registry) {
1537
1548
  const [catalogueTool, installAgent] = createCatalogueTools(registry, CATALOGUE_HELPERS);
1538
1549
  /* ---- groups: a team of agents in one conversation (docs/groups.md) ---- */
@@ -1559,34 +1570,46 @@ export function createPlatformManifest(registry) {
1559
1570
  const createGroupInput = z.object({
1560
1571
  name: z.string().min(1).max(80).describe('What the team is for, as the owner would say it: "Household finances".'),
1561
1572
  coordinator: z.string().min(1).describe('The agent that reads the owner\'s request and brings members in, by handle or id. Usually the front desk.'),
1562
- members: z.array(z.string().min(1)).min(1).max(12).describe('The other agents in the room, by handle or id. Membership grants no tool and no access; each keeps its own.'),
1573
+ members: z.array(z.string().min(1)).min(1).max(12).describe(`The other agents in the room, by handle or id. ${GROUP_MEMBERSHIP_NOTE}`),
1563
1574
  }).strict();
1575
+ /** The coordinator and members a create_group call names, or a refusal. */
1576
+ const resolveNewGroup = (input) => {
1577
+ const binding = resolved(registry);
1578
+ const find = (ref) => {
1579
+ const wanted = ref.trim().replace(/^@/, '');
1580
+ return binding.catalog.get(wanted) ?? binding.catalog.byHandle(wanted);
1581
+ };
1582
+ const coordinator = find(input.coordinator);
1583
+ if (!coordinator)
1584
+ throw new PlatformRefusal('unknown-agent', `No installed agent is "${input.coordinator}". Use platform.list_agents.`);
1585
+ const members = [];
1586
+ for (const ref of input.members) {
1587
+ const agent = find(ref);
1588
+ if (!agent)
1589
+ throw new PlatformRefusal('unknown-agent', `No installed agent is "${ref}". Use platform.list_agents.`);
1590
+ if (agent.id !== coordinator.id && !members.some((m) => m.id === agent.id))
1591
+ members.push(agent);
1592
+ }
1593
+ if (members.length === 0)
1594
+ throw new PlatformRefusal('too-small', 'A group needs at least one member besides the coordinator.');
1595
+ return { coordinator, members };
1596
+ };
1564
1597
  const createGroup = {
1565
1598
  name: 'platform.create_group',
1566
1599
  description: 'Create a group: a named team of installed agents that share one conversation, with one coordinator. ' +
1567
- 'Propose it in words first and create it only when the owner agrees. Membership grants nothing — each member ' +
1568
- 'keeps its own account, tools and approvals — and what is said in the room is seen by the room.',
1600
+ 'Propose it in words first and create it only when the owner agrees. ' + GROUP_MEMBERSHIP_NOTE + ' ' +
1601
+ 'What is said in the room is seen by the room.',
1569
1602
  tier: 'gated',
1570
1603
  input: createGroupInput,
1604
+ async describe(input) {
1605
+ const { coordinator, members } = resolveNewGroup(input);
1606
+ // The arguments stay the envelope, as they were before this tool had a
1607
+ // preview, so an approval already waiting still matches.
1608
+ return { envelope: input, preview: renderGroupCreate(input.name.trim(), coordinator.name, members.map((m) => m.name)) };
1609
+ },
1571
1610
  async execute(input, ctx) {
1572
1611
  const binding = resolved(registry);
1573
- const find = (ref) => {
1574
- const wanted = ref.trim().replace(/^@/, '');
1575
- return binding.catalog.get(wanted) ?? binding.catalog.byHandle(wanted);
1576
- };
1577
- const coordinator = find(input.coordinator);
1578
- if (!coordinator)
1579
- throw new PlatformRefusal('unknown-agent', `No installed agent is "${input.coordinator}". Use platform.list_agents.`);
1580
- const members = [];
1581
- for (const ref of input.members) {
1582
- const agent = find(ref);
1583
- if (!agent)
1584
- throw new PlatformRefusal('unknown-agent', `No installed agent is "${ref}". Use platform.list_agents.`);
1585
- if (agent.id !== coordinator.id && !members.some((m) => m.id === agent.id))
1586
- members.push(agent);
1587
- }
1588
- if (members.length === 0)
1589
- throw new PlatformRefusal('too-small', 'A group needs at least one member besides the coordinator.');
1612
+ const { coordinator, members } = resolveNewGroup(input);
1590
1613
  const existing = (await coreListGroups(ctx.db)).find((g) => g.name.trim().toLowerCase() === input.name.trim().toLowerCase());
1591
1614
  if (existing)
1592
1615
  throw new PlatformRefusal('duplicate-group', `A group called "${existing.name}" already exists.`);
@@ -1673,13 +1696,16 @@ export function createPlatformManifest(registry) {
1673
1696
  'conversation — a rename is THIS tool, never a new group and an archive. `members` REPLACES the ' +
1674
1697
  'membership, so pass everyone who should be in the room, the coordinator included; a member taken ' +
1675
1698
  'out keeps every turn it already spoke there. The coordinator has to be one of the members, a room ' +
1676
- 'needs somebody besides it, and membership still grants nothing. ' +
1699
+ 'needs somebody besides it. ' + GROUP_MEMBERSHIP_NOTE + ' ' +
1677
1700
  CONDUCT,
1678
1701
  tier: 'gated',
1679
1702
  input: updateGroupInput,
1680
1703
  async describe(input, ctx) {
1681
1704
  const planned = await planGroupUpdate(input, ctx.db);
1682
- return { envelope: planned.envelope, preview: renderGroupUpdate(planned.envelope, planned.names) };
1705
+ const { before, after } = planned.envelope;
1706
+ const joins = after.members.some((id) => !before.members.includes(id)) || after.coordinator !== before.coordinator;
1707
+ const sentence = renderGroupUpdate(planned.envelope, planned.names);
1708
+ return { envelope: planned.envelope, preview: joins ? `${sentence}. ${GROUP_MEMBERSHIP_NOTE}` : sentence };
1683
1709
  },
1684
1710
  async execute(input, ctx) {
1685
1711
  const planned = await planGroupUpdate(input, ctx.db);