@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.
- package/examples/agents/concierge/agent.md +5 -0
- package/examples/skills/letterhead/SKILL.md +21 -0
- package/examples/skills/letterhead/assets/letterhead.md +16 -0
- package/examples/skills/letterhead/assets/logo.svg +6 -0
- package/extension/background.js +130 -12
- package/extension/manifest.json +2 -2
- package/node_modules/@buddi/cli/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/cli/dist/access-cmd.d.ts +10 -0
- package/node_modules/@buddi/cli/dist/access-cmd.d.ts.map +1 -0
- package/node_modules/@buddi/cli/dist/access-cmd.js +160 -0
- package/node_modules/@buddi/cli/dist/access-cmd.js.map +1 -0
- package/node_modules/@buddi/cli/dist/args.d.ts +10 -0
- package/node_modules/@buddi/cli/dist/args.d.ts.map +1 -1
- package/node_modules/@buddi/cli/dist/args.js +29 -1
- package/node_modules/@buddi/cli/dist/args.js.map +1 -1
- package/node_modules/@buddi/cli/dist/commands.d.ts.map +1 -1
- package/node_modules/@buddi/cli/dist/commands.js +28 -2
- package/node_modules/@buddi/cli/dist/commands.js.map +1 -1
- package/node_modules/@buddi/cli/dist/doctor-probes.d.ts.map +1 -1
- package/node_modules/@buddi/cli/dist/doctor-probes.js +90 -30
- package/node_modules/@buddi/cli/dist/doctor-probes.js.map +1 -1
- package/node_modules/@buddi/cli/dist/doctor.d.ts +61 -12
- package/node_modules/@buddi/cli/dist/doctor.d.ts.map +1 -1
- package/node_modules/@buddi/cli/dist/doctor.js +60 -9
- package/node_modules/@buddi/cli/dist/doctor.js.map +1 -1
- package/node_modules/@buddi/cli/dist/main.d.ts +2 -0
- package/node_modules/@buddi/cli/dist/main.d.ts.map +1 -1
- package/node_modules/@buddi/cli/dist/main.js +18 -1
- package/node_modules/@buddi/cli/dist/main.js.map +1 -1
- package/node_modules/@buddi/core/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/core/dist/actions/approvals.d.ts +7 -0
- package/node_modules/@buddi/core/dist/actions/approvals.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/actions/approvals.js +11 -1
- package/node_modules/@buddi/core/dist/actions/approvals.js.map +1 -1
- package/node_modules/@buddi/core/dist/agents/catalog.d.ts +2 -0
- package/node_modules/@buddi/core/dist/agents/catalog.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/agents/catalog.js +3 -2
- package/node_modules/@buddi/core/dist/agents/catalog.js.map +1 -1
- package/node_modules/@buddi/core/dist/agents/edit.d.ts +2 -0
- package/node_modules/@buddi/core/dist/agents/edit.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/agents/edit.js +3 -1
- package/node_modules/@buddi/core/dist/agents/edit.js.map +1 -1
- package/node_modules/@buddi/core/dist/agents/frontmatter.d.ts +11 -0
- package/node_modules/@buddi/core/dist/agents/frontmatter.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/agents/frontmatter.js +7 -0
- package/node_modules/@buddi/core/dist/agents/frontmatter.js.map +1 -1
- package/node_modules/@buddi/core/dist/agents/skills.d.ts +60 -1
- package/node_modules/@buddi/core/dist/agents/skills.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/agents/skills.js +157 -17
- package/node_modules/@buddi/core/dist/agents/skills.js.map +1 -1
- package/node_modules/@buddi/core/dist/day-month.d.ts +52 -0
- package/node_modules/@buddi/core/dist/day-month.d.ts.map +1 -0
- package/node_modules/@buddi/core/dist/day-month.js +101 -0
- package/node_modules/@buddi/core/dist/day-month.js.map +1 -0
- package/node_modules/@buddi/core/dist/host/build.d.ts +11 -2
- package/node_modules/@buddi/core/dist/host/build.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/host/build.js +115 -4
- package/node_modules/@buddi/core/dist/host/build.js.map +1 -1
- package/node_modules/@buddi/core/dist/host/http.d.ts +35 -0
- package/node_modules/@buddi/core/dist/host/http.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/host/http.js +133 -29
- package/node_modules/@buddi/core/dist/host/http.js.map +1 -1
- package/node_modules/@buddi/core/dist/host/types.d.ts +72 -1
- package/node_modules/@buddi/core/dist/host/types.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/index.d.ts +3 -0
- package/node_modules/@buddi/core/dist/index.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/index.js +3 -0
- package/node_modules/@buddi/core/dist/index.js.map +1 -1
- package/node_modules/@buddi/core/dist/onboarding/store.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/onboarding/store.js +28 -5
- package/node_modules/@buddi/core/dist/onboarding/store.js.map +1 -1
- package/node_modules/@buddi/core/dist/onboarding/types.d.ts +10 -0
- package/node_modules/@buddi/core/dist/onboarding/types.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/onboarding/types.js.map +1 -1
- package/node_modules/@buddi/core/dist/pages.d.ts +145 -11
- package/node_modules/@buddi/core/dist/pages.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/pages.js +113 -5
- package/node_modules/@buddi/core/dist/pages.js.map +1 -1
- package/node_modules/@buddi/core/dist/plugin/index.d.ts +7 -0
- package/node_modules/@buddi/core/dist/plugin/index.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/plugin/index.js +5 -0
- package/node_modules/@buddi/core/dist/plugin/index.js.map +1 -1
- package/node_modules/@buddi/core/dist/plugin/sign-in.d.ts +78 -0
- package/node_modules/@buddi/core/dist/plugin/sign-in.d.ts.map +1 -0
- package/node_modules/@buddi/core/dist/plugin/sign-in.js +54 -0
- package/node_modules/@buddi/core/dist/plugin/sign-in.js.map +1 -0
- package/node_modules/@buddi/core/dist/plugin/version.d.ts +1 -1
- package/node_modules/@buddi/core/dist/plugin/version.js +1 -1
- package/node_modules/@buddi/core/dist/provider-accounts.d.ts +7 -0
- package/node_modules/@buddi/core/dist/provider-accounts.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/provider-accounts.js +15 -0
- package/node_modules/@buddi/core/dist/provider-accounts.js.map +1 -1
- package/node_modules/@buddi/core/dist/questions/store.d.ts +12 -0
- package/node_modules/@buddi/core/dist/questions/store.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/questions/store.js +11 -1
- package/node_modules/@buddi/core/dist/questions/store.js.map +1 -1
- package/node_modules/@buddi/core/dist/questions/types.d.ts +9 -1
- package/node_modules/@buddi/core/dist/questions/types.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/questions/types.js +16 -1
- package/node_modules/@buddi/core/dist/questions/types.js.map +1 -1
- package/node_modules/@buddi/core/dist/queue/jobs.d.ts +65 -2
- package/node_modules/@buddi/core/dist/queue/jobs.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/queue/jobs.js +123 -3
- package/node_modules/@buddi/core/dist/queue/jobs.js.map +1 -1
- package/node_modules/@buddi/core/dist/queue/worker.d.ts +26 -2
- package/node_modules/@buddi/core/dist/queue/worker.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/queue/worker.js +68 -12
- package/node_modules/@buddi/core/dist/queue/worker.js.map +1 -1
- package/node_modules/@buddi/core/dist/registry.d.ts +15 -1
- package/node_modules/@buddi/core/dist/registry.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/registry.js +88 -13
- package/node_modules/@buddi/core/dist/registry.js.map +1 -1
- package/node_modules/@buddi/core/dist/routes.d.ts +153 -0
- package/node_modules/@buddi/core/dist/routes.d.ts.map +1 -0
- package/node_modules/@buddi/core/dist/routes.js +47 -0
- package/node_modules/@buddi/core/dist/routes.js.map +1 -0
- package/node_modules/@buddi/core/dist/scheduler/missions.d.ts +5 -3
- package/node_modules/@buddi/core/dist/scheduler/missions.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/scheduler/missions.js +9 -7
- package/node_modules/@buddi/core/dist/scheduler/missions.js.map +1 -1
- package/node_modules/@buddi/core/dist/scheduler/types.d.ts +7 -0
- package/node_modules/@buddi/core/dist/scheduler/types.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/scheduler/types.js +1 -0
- package/node_modules/@buddi/core/dist/scheduler/types.js.map +1 -1
- package/node_modules/@buddi/core/dist/secrets/scrub.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/secrets/scrub.js +15 -0
- package/node_modules/@buddi/core/dist/secrets/scrub.js.map +1 -1
- package/node_modules/@buddi/core/dist/tools.d.ts +88 -2
- package/node_modules/@buddi/core/dist/tools.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/tools.js.map +1 -1
- package/node_modules/@buddi/core/dist/views.d.ts +12 -12
- package/node_modules/@buddi/core/dist/widgets.d.ts +14 -1
- package/node_modules/@buddi/core/dist/widgets.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/widgets.js +30 -0
- package/node_modules/@buddi/core/dist/widgets.js.map +1 -1
- package/node_modules/@buddi/core/migrations/074_owner_identity.sql +14 -0
- package/node_modules/@buddi/core/migrations/075_access_providers.sql +43 -0
- package/node_modules/@buddi/core/migrations/076_mission_browser.sql +7 -0
- package/node_modules/@buddi/gateway/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/gateway/dist/agents/canvas.d.ts +12 -12
- package/node_modules/@buddi/gateway/dist/agents/catalog.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/agents/catalog.js +3 -3
- package/node_modules/@buddi/gateway/dist/agents/catalog.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/agents/catalogue-package.d.ts +46 -20
- package/node_modules/@buddi/gateway/dist/agents/catalogue-package.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/agents/catalogue-package.js +17 -4
- package/node_modules/@buddi/gateway/dist/agents/catalogue-package.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/agents/delegation.d.ts +10 -0
- package/node_modules/@buddi/gateway/dist/agents/delegation.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/agents/delegation.js +1 -0
- package/node_modules/@buddi/gateway/dist/agents/delegation.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/agents/owner-tools.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/agents/owner-tools.js +36 -2
- package/node_modules/@buddi/gateway/dist/agents/owner-tools.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/agents/platform-catalogue.d.ts +26 -1
- package/node_modules/@buddi/gateway/dist/agents/platform-catalogue.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/agents/platform-catalogue.js +123 -6
- package/node_modules/@buddi/gateway/dist/agents/platform-catalogue.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/agents/platform.d.ts +4 -4
- package/node_modules/@buddi/gateway/dist/agents/platform.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/agents/platform.js +11 -0
- package/node_modules/@buddi/gateway/dist/agents/platform.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/bootstrap.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/bootstrap.js +12 -1
- package/node_modules/@buddi/gateway/dist/bootstrap.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/browser-host.d.ts +30 -1
- package/node_modules/@buddi/gateway/dist/browser-host.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/browser-host.js +56 -1
- package/node_modules/@buddi/gateway/dist/browser-host.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/chat/session.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/chat/session.js +9 -5
- package/node_modules/@buddi/gateway/dist/chat/session.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/evals/golden.d.ts +33 -1
- package/node_modules/@buddi/gateway/dist/evals/golden.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/evals/golden.js +168 -3
- package/node_modules/@buddi/gateway/dist/evals/golden.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/index.d.ts +3 -1
- package/node_modules/@buddi/gateway/dist/index.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/index.js +3 -1
- package/node_modules/@buddi/gateway/dist/index.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/missions/dates.d.ts +98 -0
- package/node_modules/@buddi/gateway/dist/missions/dates.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/missions/dates.js +252 -0
- package/node_modules/@buddi/gateway/dist/missions/dates.js.map +1 -0
- package/node_modules/@buddi/gateway/dist/missions/execute.d.ts +42 -1
- package/node_modules/@buddi/gateway/dist/missions/execute.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/missions/execute.js +107 -8
- package/node_modules/@buddi/gateway/dist/missions/execute.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/missions/parked.d.ts +133 -0
- package/node_modules/@buddi/gateway/dist/missions/parked.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/missions/parked.js +249 -0
- package/node_modules/@buddi/gateway/dist/missions/parked.js.map +1 -0
- package/node_modules/@buddi/gateway/dist/missions/report.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/missions/report.js +1 -0
- package/node_modules/@buddi/gateway/dist/missions/report.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/ollama-local.d.ts +90 -0
- package/node_modules/@buddi/gateway/dist/ollama-local.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/ollama-local.js +201 -0
- package/node_modules/@buddi/gateway/dist/ollama-local.js.map +1 -0
- package/node_modules/@buddi/gateway/dist/plugins-cli.d.ts +8 -0
- package/node_modules/@buddi/gateway/dist/plugins-cli.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/plugins-cli.js +22 -1
- package/node_modules/@buddi/gateway/dist/plugins-cli.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/serve.d.ts +7 -0
- package/node_modules/@buddi/gateway/dist/serve.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/serve.js +99 -14
- package/node_modules/@buddi/gateway/dist/serve.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/surfaces/browser-cards.d.ts +18 -0
- package/node_modules/@buddi/gateway/dist/surfaces/browser-cards.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/surfaces/browser-cards.js +42 -0
- package/node_modules/@buddi/gateway/dist/surfaces/browser-cards.js.map +1 -0
- package/node_modules/@buddi/gateway/dist/surfaces/browser-continuation.js +1 -1
- package/node_modules/@buddi/gateway/dist/surfaces/browser-continuation.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/surfaces/owner-request.d.ts +6 -0
- package/node_modules/@buddi/gateway/dist/surfaces/owner-request.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/surfaces/owner-request.js +7 -1
- package/node_modules/@buddi/gateway/dist/surfaces/owner-request.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/surfaces/pending-question.js +2 -2
- package/node_modules/@buddi/gateway/dist/system-context.d.ts +21 -1
- package/node_modules/@buddi/gateway/dist/system-context.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/system-context.js +75 -2
- package/node_modules/@buddi/gateway/dist/system-context.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/telegram/approvals.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/telegram/approvals.js +4 -2
- package/node_modules/@buddi/gateway/dist/telegram/approvals.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/telegram/browser-view.d.ts +17 -17
- package/node_modules/@buddi/gateway/dist/telegram/browser-view.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/telegram/browser-view.js +33 -37
- package/node_modules/@buddi/gateway/dist/telegram/browser-view.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/telegram/channel.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/telegram/channel.js +23 -2
- package/node_modules/@buddi/gateway/dist/telegram/channel.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/telegram/html.d.ts +34 -0
- package/node_modules/@buddi/gateway/dist/telegram/html.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/telegram/html.js +263 -0
- package/node_modules/@buddi/gateway/dist/telegram/html.js.map +1 -0
- package/node_modules/@buddi/gateway/dist/telegram/main.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/telegram/main.js +11 -3
- package/node_modules/@buddi/gateway/dist/telegram/main.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/telegram/notify.d.ts +6 -0
- package/node_modules/@buddi/gateway/dist/telegram/notify.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/telegram/notify.js +25 -3
- package/node_modules/@buddi/gateway/dist/telegram/notify.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/telegram/surface.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/telegram/surface.js +10 -0
- package/node_modules/@buddi/gateway/dist/telegram/surface.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/tips/facts.d.ts +10 -0
- package/node_modules/@buddi/gateway/dist/tips/facts.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/tips/facts.js +12 -3
- package/node_modules/@buddi/gateway/dist/tips/facts.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/tips/rules.d.ts +2 -0
- package/node_modules/@buddi/gateway/dist/tips/rules.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/tips/rules.js +25 -0
- package/node_modules/@buddi/gateway/dist/tips/rules.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/access/arrival.d.ts +24 -0
- package/node_modules/@buddi/gateway/dist/web/access/arrival.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/access/arrival.js +18 -0
- package/node_modules/@buddi/gateway/dist/web/access/arrival.js.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/access/cloudflare-api.d.ts +124 -0
- package/node_modules/@buddi/gateway/dist/web/access/cloudflare-api.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/access/cloudflare-api.js +206 -0
- package/node_modules/@buddi/gateway/dist/web/access/cloudflare-api.js.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/access/cloudflare-setup.d.ts +163 -0
- package/node_modules/@buddi/gateway/dist/web/access/cloudflare-setup.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/access/cloudflare-setup.js +438 -0
- package/node_modules/@buddi/gateway/dist/web/access/cloudflare-setup.js.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/access/cloudflare-token.d.ts +31 -0
- package/node_modules/@buddi/gateway/dist/web/access/cloudflare-token.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/access/cloudflare-token.js +74 -0
- package/node_modules/@buddi/gateway/dist/web/access/cloudflare-token.js.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/access/cloudflare.d.ts +145 -0
- package/node_modules/@buddi/gateway/dist/web/access/cloudflare.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/access/cloudflare.js +474 -0
- package/node_modules/@buddi/gateway/dist/web/access/cloudflare.js.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/access/index.d.ts +9 -0
- package/node_modules/@buddi/gateway/dist/web/access/index.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/access/index.js +9 -0
- package/node_modules/@buddi/gateway/dist/web/access/index.js.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/access/ingress.d.ts +30 -0
- package/node_modules/@buddi/gateway/dist/web/access/ingress.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/access/ingress.js +76 -0
- package/node_modules/@buddi/gateway/dist/web/access/ingress.js.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/access/provider.d.ts +173 -0
- package/node_modules/@buddi/gateway/dist/web/access/provider.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/access/provider.js +11 -0
- package/node_modules/@buddi/gateway/dist/web/access/provider.js.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/access/registry.d.ts +33 -0
- package/node_modules/@buddi/gateway/dist/web/access/registry.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/access/registry.js +32 -0
- package/node_modules/@buddi/gateway/dist/web/access/registry.js.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/{tailscale.d.ts → access/tailscale.d.ts} +27 -0
- package/node_modules/@buddi/gateway/dist/web/access/tailscale.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/{tailscale.js → access/tailscale.js} +118 -3
- package/node_modules/@buddi/gateway/dist/web/access/tailscale.js.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/agents.d.ts +2 -0
- package/node_modules/@buddi/gateway/dist/web/agents.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/agents.js +19 -1
- package/node_modules/@buddi/gateway/dist/web/agents.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/api-routes.d.ts +4 -3
- package/node_modules/@buddi/gateway/dist/web/api-routes.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/api-routes.js +168 -26
- package/node_modules/@buddi/gateway/dist/web/api-routes.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/api-scan.d.ts +1 -1
- package/node_modules/@buddi/gateway/dist/web/api-scan.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/api-scan.js +1 -0
- package/node_modules/@buddi/gateway/dist/web/api-scan.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/attention.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/attention.js +11 -3
- package/node_modules/@buddi/gateway/dist/web/attention.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/chat.d.ts +23 -0
- package/node_modules/@buddi/gateway/dist/web/chat.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/chat.js +71 -2
- package/node_modules/@buddi/gateway/dist/web/chat.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/client-key.d.ts +3 -0
- package/node_modules/@buddi/gateway/dist/web/client-key.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/client-key.js +8 -1
- package/node_modules/@buddi/gateway/dist/web/client-key.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/composer.d.ts +45 -0
- package/node_modules/@buddi/gateway/dist/web/composer.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/composer.js +85 -0
- package/node_modules/@buddi/gateway/dist/web/composer.js.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/extension.d.ts +9 -1
- package/node_modules/@buddi/gateway/dist/web/extension.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/extension.js +61 -1
- package/node_modules/@buddi/gateway/dist/web/extension.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/http.d.ts +7 -0
- package/node_modules/@buddi/gateway/dist/web/http.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/http.js +15 -1
- package/node_modules/@buddi/gateway/dist/web/http.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/index.d.ts +1 -1
- package/node_modules/@buddi/gateway/dist/web/index.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/index.js +1 -1
- package/node_modules/@buddi/gateway/dist/web/index.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/market.d.ts +20 -1
- package/node_modules/@buddi/gateway/dist/web/market.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/market.js +41 -1
- package/node_modules/@buddi/gateway/dist/web/market.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/onboarding.js +1 -1
- package/node_modules/@buddi/gateway/dist/web/onboarding.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/people.d.ts +44 -0
- package/node_modules/@buddi/gateway/dist/web/people.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/people.js +114 -0
- package/node_modules/@buddi/gateway/dist/web/people.js.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/server.d.ts +42 -2
- package/node_modules/@buddi/gateway/dist/web/server.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/server.js +713 -156
- package/node_modules/@buddi/gateway/dist/web/server.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/sessions.d.ts +24 -14
- package/node_modules/@buddi/gateway/dist/web/sessions.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/sessions.js +42 -14
- package/node_modules/@buddi/gateway/dist/web/sessions.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/signed-out.d.ts +10 -0
- package/node_modules/@buddi/gateway/dist/web/signed-out.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/signed-out.js +47 -0
- package/node_modules/@buddi/gateway/dist/web/signed-out.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/skill-bundles.d.ts +101 -0
- package/node_modules/@buddi/gateway/dist/web/skill-bundles.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/skill-bundles.js +439 -0
- package/node_modules/@buddi/gateway/dist/web/skill-bundles.js.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/skills.d.ts +57 -1
- package/node_modules/@buddi/gateway/dist/web/skills.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/skills.js +171 -9
- package/node_modules/@buddi/gateway/dist/web/skills.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/zip-read.d.ts +31 -0
- package/node_modules/@buddi/gateway/dist/web/zip-read.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/zip-read.js +125 -0
- package/node_modules/@buddi/gateway/dist/web/zip-read.js.map +1 -0
- package/node_modules/@buddi/install/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/runtime/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/runtime/dist/delegate.d.ts +8 -0
- package/node_modules/@buddi/runtime/dist/delegate.d.ts.map +1 -1
- package/node_modules/@buddi/runtime/dist/delegate.js +19 -1
- package/node_modules/@buddi/runtime/dist/delegate.js.map +1 -1
- package/node_modules/@buddi/runtime/dist/index.d.ts +1 -0
- package/node_modules/@buddi/runtime/dist/index.d.ts.map +1 -1
- package/node_modules/@buddi/runtime/dist/index.js +1 -0
- package/node_modules/@buddi/runtime/dist/index.js.map +1 -1
- package/node_modules/@buddi/runtime/dist/loop.d.ts +2 -0
- package/node_modules/@buddi/runtime/dist/loop.d.ts.map +1 -1
- package/node_modules/@buddi/runtime/dist/loop.js +29 -5
- package/node_modules/@buddi/runtime/dist/loop.js.map +1 -1
- package/node_modules/@buddi/runtime/dist/plugin-sign-in.d.ts +12 -0
- package/node_modules/@buddi/runtime/dist/plugin-sign-in.d.ts.map +1 -0
- package/node_modules/@buddi/runtime/dist/plugin-sign-in.js +397 -0
- package/node_modules/@buddi/runtime/dist/plugin-sign-in.js.map +1 -0
- package/node_modules/@buddi/tool-artifacts/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/tool-artifacts/dist/tools/write.d.ts.map +1 -1
- package/node_modules/@buddi/tool-artifacts/dist/tools/write.js +1 -0
- package/node_modules/@buddi/tool-artifacts/dist/tools/write.js.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/tool-browser/dist/availability.d.ts +2 -2
- package/node_modules/@buddi/tool-browser/dist/availability.d.ts.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/availability.js +2 -2
- package/node_modules/@buddi/tool-browser/dist/availability.js.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/controller.d.ts +76 -58
- package/node_modules/@buddi/tool-browser/dist/controller.d.ts.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/controller.js +751 -219
- package/node_modules/@buddi/tool-browser/dist/controller.js.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/extension.d.ts +12 -0
- package/node_modules/@buddi/tool-browser/dist/extension.d.ts.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/extension.js +8 -0
- package/node_modules/@buddi/tool-browser/dist/extension.js.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/index.d.ts +13 -5
- package/node_modules/@buddi/tool-browser/dist/index.d.ts.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/index.js +29 -12
- package/node_modules/@buddi/tool-browser/dist/index.js.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/manager.d.ts +39 -21
- package/node_modules/@buddi/tool-browser/dist/manager.d.ts.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/manager.js +229 -136
- package/node_modules/@buddi/tool-browser/dist/manager.js.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/routes.d.ts +130 -0
- package/node_modules/@buddi/tool-browser/dist/routes.d.ts.map +1 -0
- package/node_modules/@buddi/tool-browser/dist/routes.js +283 -0
- package/node_modules/@buddi/tool-browser/dist/routes.js.map +1 -0
- package/node_modules/@buddi/tool-browser/dist/service.d.ts +157 -114
- package/node_modules/@buddi/tool-browser/dist/service.d.ts.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/service.js +379 -390
- package/node_modules/@buddi/tool-browser/dist/service.js.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/settings.d.ts +88 -0
- package/node_modules/@buddi/tool-browser/dist/settings.d.ts.map +1 -0
- package/node_modules/@buddi/tool-browser/dist/settings.js +86 -0
- package/node_modules/@buddi/tool-browser/dist/settings.js.map +1 -0
- package/node_modules/@buddi/tool-browser/dist/telemetry.d.ts +203 -0
- package/node_modules/@buddi/tool-browser/dist/telemetry.d.ts.map +1 -0
- package/node_modules/@buddi/tool-browser/dist/telemetry.js +142 -0
- package/node_modules/@buddi/tool-browser/dist/telemetry.js.map +1 -0
- package/node_modules/@buddi/tool-browser/dist/types.d.ts +14 -3
- package/node_modules/@buddi/tool-browser/dist/types.d.ts.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/types.js +9 -9
- package/node_modules/@buddi/tool-browser/dist/types.js.map +1 -1
- package/node_modules/@buddi/tool-email/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/tool-email/dist/widgets.d.ts.map +1 -1
- package/node_modules/@buddi/tool-email/dist/widgets.js +2 -1
- package/node_modules/@buddi/tool-email/dist/widgets.js.map +1 -1
- package/node_modules/@buddi/tool-host/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/tool-host/dist/index.d.ts +2 -1
- package/node_modules/@buddi/tool-host/dist/index.d.ts.map +1 -1
- package/node_modules/@buddi/tool-host/dist/index.js +3 -2
- package/node_modules/@buddi/tool-host/dist/index.js.map +1 -1
- package/node_modules/@buddi/tool-host/dist/process.d.ts +4 -0
- package/node_modules/@buddi/tool-host/dist/process.d.ts.map +1 -1
- package/node_modules/@buddi/tool-host/dist/process.js +4 -2
- package/node_modules/@buddi/tool-host/dist/process.js.map +1 -1
- package/node_modules/@buddi/tool-host/dist/service.d.ts +66 -17
- package/node_modules/@buddi/tool-host/dist/service.d.ts.map +1 -1
- package/node_modules/@buddi/tool-host/dist/service.js +172 -9
- package/node_modules/@buddi/tool-host/dist/service.js.map +1 -1
- package/node_modules/@buddi/tool-host/dist/skill-run.d.ts +55 -0
- package/node_modules/@buddi/tool-host/dist/skill-run.d.ts.map +1 -0
- package/node_modules/@buddi/tool-host/dist/skill-run.js +132 -0
- package/node_modules/@buddi/tool-host/dist/skill-run.js.map +1 -0
- package/node_modules/@buddi/tool-mcp/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/tool-memory/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/tool-memory/dist/index.d.ts +1 -0
- package/node_modules/@buddi/tool-memory/dist/index.d.ts.map +1 -1
- package/node_modules/@buddi/tool-memory/dist/index.js +7 -2
- package/node_modules/@buddi/tool-memory/dist/index.js.map +1 -1
- package/node_modules/@buddi/tool-memory/dist/people.d.ts +218 -0
- package/node_modules/@buddi/tool-memory/dist/people.d.ts.map +1 -0
- package/node_modules/@buddi/tool-memory/dist/people.js +582 -0
- package/node_modules/@buddi/tool-memory/dist/people.js.map +1 -0
- package/node_modules/@buddi/tool-memory/dist/preamble.d.ts +4 -1
- package/node_modules/@buddi/tool-memory/dist/preamble.d.ts.map +1 -1
- package/node_modules/@buddi/tool-memory/dist/preamble.js +25 -7
- package/node_modules/@buddi/tool-memory/dist/preamble.js.map +1 -1
- package/node_modules/@buddi/tool-memory/migrations/002_people.sql +40 -0
- package/node_modules/@buddi/tool-web/dist/.tsbuildinfo +1 -1
- package/node_modules/imapflow/CHANGELOG.md +23 -0
- package/node_modules/imapflow/dist/cjs/commands/append.js +27 -3
- package/node_modules/imapflow/dist/cjs/commands/store.js +31 -6
- package/node_modules/imapflow/dist/cjs/imap-flow.d.ts +1 -1
- package/node_modules/imapflow/dist/cjs/imap-flow.js +1 -1
- package/node_modules/imapflow/dist/cjs/package-info.d.ts +1 -1
- package/node_modules/imapflow/dist/cjs/package-info.js +1 -1
- package/node_modules/imapflow/dist/cjs/search-compiler.js +21 -31
- package/node_modules/imapflow/dist/esm/commands/append.js +27 -3
- package/node_modules/imapflow/dist/esm/commands/store.js +31 -6
- package/node_modules/imapflow/dist/esm/imap-flow.d.ts +1 -1
- package/node_modules/imapflow/dist/esm/imap-flow.js +1 -1
- package/node_modules/imapflow/dist/esm/package-info.d.ts +1 -1
- package/node_modules/imapflow/dist/esm/package-info.js +1 -1
- package/node_modules/imapflow/dist/esm/search-compiler.js +21 -31
- package/node_modules/imapflow/package.json +3 -3
- package/package.json +2 -2
- package/packages/cli/dist/.tsbuildinfo +1 -1
- package/packages/cli/dist/access-cmd.d.ts +10 -0
- package/packages/cli/dist/access-cmd.d.ts.map +1 -0
- package/packages/cli/dist/access-cmd.js +160 -0
- package/packages/cli/dist/access-cmd.js.map +1 -0
- package/packages/cli/dist/args.d.ts +10 -0
- package/packages/cli/dist/args.d.ts.map +1 -1
- package/packages/cli/dist/args.js +29 -1
- package/packages/cli/dist/args.js.map +1 -1
- package/packages/cli/dist/commands.d.ts.map +1 -1
- package/packages/cli/dist/commands.js +28 -2
- package/packages/cli/dist/commands.js.map +1 -1
- package/packages/cli/dist/doctor-probes.d.ts.map +1 -1
- package/packages/cli/dist/doctor-probes.js +90 -30
- package/packages/cli/dist/doctor-probes.js.map +1 -1
- package/packages/cli/dist/doctor.d.ts +61 -12
- package/packages/cli/dist/doctor.d.ts.map +1 -1
- package/packages/cli/dist/doctor.js +60 -9
- package/packages/cli/dist/doctor.js.map +1 -1
- package/packages/cli/dist/main.d.ts +2 -0
- package/packages/cli/dist/main.d.ts.map +1 -1
- package/packages/cli/dist/main.js +18 -1
- package/packages/cli/dist/main.js.map +1 -1
- package/packages/core/dist/.tsbuildinfo +1 -1
- package/packages/core/dist/actions/approvals.d.ts +7 -0
- package/packages/core/dist/actions/approvals.d.ts.map +1 -1
- package/packages/core/dist/actions/approvals.js +11 -1
- package/packages/core/dist/actions/approvals.js.map +1 -1
- package/packages/core/dist/agents/catalog.d.ts +2 -0
- package/packages/core/dist/agents/catalog.d.ts.map +1 -1
- package/packages/core/dist/agents/catalog.js +3 -2
- package/packages/core/dist/agents/catalog.js.map +1 -1
- package/packages/core/dist/agents/edit.d.ts +2 -0
- package/packages/core/dist/agents/edit.d.ts.map +1 -1
- package/packages/core/dist/agents/edit.js +3 -1
- package/packages/core/dist/agents/edit.js.map +1 -1
- package/packages/core/dist/agents/frontmatter.d.ts +11 -0
- package/packages/core/dist/agents/frontmatter.d.ts.map +1 -1
- package/packages/core/dist/agents/frontmatter.js +7 -0
- package/packages/core/dist/agents/frontmatter.js.map +1 -1
- package/packages/core/dist/agents/skills.d.ts +60 -1
- package/packages/core/dist/agents/skills.d.ts.map +1 -1
- package/packages/core/dist/agents/skills.js +157 -17
- package/packages/core/dist/agents/skills.js.map +1 -1
- package/packages/core/dist/day-month.d.ts +52 -0
- package/packages/core/dist/day-month.d.ts.map +1 -0
- package/packages/core/dist/day-month.js +101 -0
- package/packages/core/dist/day-month.js.map +1 -0
- package/packages/core/dist/host/build.d.ts +11 -2
- package/packages/core/dist/host/build.d.ts.map +1 -1
- package/packages/core/dist/host/build.js +115 -4
- package/packages/core/dist/host/build.js.map +1 -1
- package/packages/core/dist/host/http.d.ts +35 -0
- package/packages/core/dist/host/http.d.ts.map +1 -1
- package/packages/core/dist/host/http.js +133 -29
- package/packages/core/dist/host/http.js.map +1 -1
- package/packages/core/dist/host/types.d.ts +72 -1
- package/packages/core/dist/host/types.d.ts.map +1 -1
- package/packages/core/dist/index.d.ts +3 -0
- package/packages/core/dist/index.d.ts.map +1 -1
- package/packages/core/dist/index.js +3 -0
- package/packages/core/dist/index.js.map +1 -1
- package/packages/core/dist/onboarding/store.d.ts.map +1 -1
- package/packages/core/dist/onboarding/store.js +28 -5
- package/packages/core/dist/onboarding/store.js.map +1 -1
- package/packages/core/dist/onboarding/types.d.ts +10 -0
- package/packages/core/dist/onboarding/types.d.ts.map +1 -1
- package/packages/core/dist/onboarding/types.js.map +1 -1
- package/packages/core/dist/pages.d.ts +145 -11
- package/packages/core/dist/pages.d.ts.map +1 -1
- package/packages/core/dist/pages.js +113 -5
- package/packages/core/dist/pages.js.map +1 -1
- package/packages/core/dist/plugin/index.d.ts +7 -0
- package/packages/core/dist/plugin/index.d.ts.map +1 -1
- package/packages/core/dist/plugin/index.js +5 -0
- package/packages/core/dist/plugin/index.js.map +1 -1
- package/packages/core/dist/plugin/sign-in.d.ts +78 -0
- package/packages/core/dist/plugin/sign-in.d.ts.map +1 -0
- package/packages/core/dist/plugin/sign-in.js +54 -0
- package/packages/core/dist/plugin/sign-in.js.map +1 -0
- package/packages/core/dist/plugin/version.d.ts +1 -1
- package/packages/core/dist/plugin/version.js +1 -1
- package/packages/core/dist/provider-accounts.d.ts +7 -0
- package/packages/core/dist/provider-accounts.d.ts.map +1 -1
- package/packages/core/dist/provider-accounts.js +15 -0
- package/packages/core/dist/provider-accounts.js.map +1 -1
- package/packages/core/dist/questions/store.d.ts +12 -0
- package/packages/core/dist/questions/store.d.ts.map +1 -1
- package/packages/core/dist/questions/store.js +11 -1
- package/packages/core/dist/questions/store.js.map +1 -1
- package/packages/core/dist/questions/types.d.ts +9 -1
- package/packages/core/dist/questions/types.d.ts.map +1 -1
- package/packages/core/dist/questions/types.js +16 -1
- package/packages/core/dist/questions/types.js.map +1 -1
- package/packages/core/dist/queue/jobs.d.ts +65 -2
- package/packages/core/dist/queue/jobs.d.ts.map +1 -1
- package/packages/core/dist/queue/jobs.js +123 -3
- package/packages/core/dist/queue/jobs.js.map +1 -1
- package/packages/core/dist/queue/worker.d.ts +26 -2
- package/packages/core/dist/queue/worker.d.ts.map +1 -1
- package/packages/core/dist/queue/worker.js +68 -12
- package/packages/core/dist/queue/worker.js.map +1 -1
- package/packages/core/dist/registry.d.ts +15 -1
- package/packages/core/dist/registry.d.ts.map +1 -1
- package/packages/core/dist/registry.js +88 -13
- package/packages/core/dist/registry.js.map +1 -1
- package/packages/core/dist/routes.d.ts +153 -0
- package/packages/core/dist/routes.d.ts.map +1 -0
- package/packages/core/dist/routes.js +47 -0
- package/packages/core/dist/routes.js.map +1 -0
- package/packages/core/dist/scheduler/missions.d.ts +5 -3
- package/packages/core/dist/scheduler/missions.d.ts.map +1 -1
- package/packages/core/dist/scheduler/missions.js +9 -7
- package/packages/core/dist/scheduler/missions.js.map +1 -1
- package/packages/core/dist/scheduler/types.d.ts +7 -0
- package/packages/core/dist/scheduler/types.d.ts.map +1 -1
- package/packages/core/dist/scheduler/types.js +1 -0
- package/packages/core/dist/scheduler/types.js.map +1 -1
- package/packages/core/dist/secrets/scrub.d.ts.map +1 -1
- package/packages/core/dist/secrets/scrub.js +15 -0
- package/packages/core/dist/secrets/scrub.js.map +1 -1
- package/packages/core/dist/tools.d.ts +88 -2
- package/packages/core/dist/tools.d.ts.map +1 -1
- package/packages/core/dist/tools.js.map +1 -1
- package/packages/core/dist/views.d.ts +12 -12
- package/packages/core/dist/widgets.d.ts +14 -1
- package/packages/core/dist/widgets.d.ts.map +1 -1
- package/packages/core/dist/widgets.js +30 -0
- package/packages/core/dist/widgets.js.map +1 -1
- package/packages/core/migrations/074_owner_identity.sql +14 -0
- package/packages/core/migrations/075_access_providers.sql +43 -0
- package/packages/core/migrations/076_mission_browser.sql +7 -0
- package/packages/gateway/dist/.tsbuildinfo +1 -1
- package/packages/gateway/dist/agents/canvas.d.ts +12 -12
- package/packages/gateway/dist/agents/catalog.d.ts.map +1 -1
- package/packages/gateway/dist/agents/catalog.js +3 -3
- package/packages/gateway/dist/agents/catalog.js.map +1 -1
- package/packages/gateway/dist/agents/catalogue-package.d.ts +46 -20
- package/packages/gateway/dist/agents/catalogue-package.d.ts.map +1 -1
- package/packages/gateway/dist/agents/catalogue-package.js +17 -4
- package/packages/gateway/dist/agents/catalogue-package.js.map +1 -1
- package/packages/gateway/dist/agents/delegation.d.ts +10 -0
- package/packages/gateway/dist/agents/delegation.d.ts.map +1 -1
- package/packages/gateway/dist/agents/delegation.js +1 -0
- package/packages/gateway/dist/agents/delegation.js.map +1 -1
- package/packages/gateway/dist/agents/owner-tools.d.ts.map +1 -1
- package/packages/gateway/dist/agents/owner-tools.js +36 -2
- package/packages/gateway/dist/agents/owner-tools.js.map +1 -1
- package/packages/gateway/dist/agents/platform-catalogue.d.ts +26 -1
- package/packages/gateway/dist/agents/platform-catalogue.d.ts.map +1 -1
- package/packages/gateway/dist/agents/platform-catalogue.js +123 -6
- package/packages/gateway/dist/agents/platform-catalogue.js.map +1 -1
- package/packages/gateway/dist/agents/platform.d.ts +4 -4
- package/packages/gateway/dist/agents/platform.d.ts.map +1 -1
- package/packages/gateway/dist/agents/platform.js +11 -0
- package/packages/gateway/dist/agents/platform.js.map +1 -1
- package/packages/gateway/dist/bootstrap.d.ts.map +1 -1
- package/packages/gateway/dist/bootstrap.js +12 -1
- package/packages/gateway/dist/bootstrap.js.map +1 -1
- package/packages/gateway/dist/browser-host.d.ts +30 -1
- package/packages/gateway/dist/browser-host.d.ts.map +1 -1
- package/packages/gateway/dist/browser-host.js +56 -1
- package/packages/gateway/dist/browser-host.js.map +1 -1
- package/packages/gateway/dist/chat/session.d.ts.map +1 -1
- package/packages/gateway/dist/chat/session.js +9 -5
- package/packages/gateway/dist/chat/session.js.map +1 -1
- package/packages/gateway/dist/evals/golden.d.ts +33 -1
- package/packages/gateway/dist/evals/golden.d.ts.map +1 -1
- package/packages/gateway/dist/evals/golden.js +168 -3
- package/packages/gateway/dist/evals/golden.js.map +1 -1
- package/packages/gateway/dist/index.d.ts +3 -1
- package/packages/gateway/dist/index.d.ts.map +1 -1
- package/packages/gateway/dist/index.js +3 -1
- package/packages/gateway/dist/index.js.map +1 -1
- package/packages/gateway/dist/missions/dates.d.ts +98 -0
- package/packages/gateway/dist/missions/dates.d.ts.map +1 -0
- package/packages/gateway/dist/missions/dates.js +252 -0
- package/packages/gateway/dist/missions/dates.js.map +1 -0
- package/packages/gateway/dist/missions/execute.d.ts +42 -1
- package/packages/gateway/dist/missions/execute.d.ts.map +1 -1
- package/packages/gateway/dist/missions/execute.js +107 -8
- package/packages/gateway/dist/missions/execute.js.map +1 -1
- package/packages/gateway/dist/missions/parked.d.ts +133 -0
- package/packages/gateway/dist/missions/parked.d.ts.map +1 -0
- package/packages/gateway/dist/missions/parked.js +249 -0
- package/packages/gateway/dist/missions/parked.js.map +1 -0
- package/packages/gateway/dist/missions/report.d.ts.map +1 -1
- package/packages/gateway/dist/missions/report.js +1 -0
- package/packages/gateway/dist/missions/report.js.map +1 -1
- package/packages/gateway/dist/ollama-local.d.ts +90 -0
- package/packages/gateway/dist/ollama-local.d.ts.map +1 -0
- package/packages/gateway/dist/ollama-local.js +201 -0
- package/packages/gateway/dist/ollama-local.js.map +1 -0
- package/packages/gateway/dist/plugins-cli.d.ts +8 -0
- package/packages/gateway/dist/plugins-cli.d.ts.map +1 -1
- package/packages/gateway/dist/plugins-cli.js +22 -1
- package/packages/gateway/dist/plugins-cli.js.map +1 -1
- package/packages/gateway/dist/serve.d.ts +7 -0
- package/packages/gateway/dist/serve.d.ts.map +1 -1
- package/packages/gateway/dist/serve.js +99 -14
- package/packages/gateway/dist/serve.js.map +1 -1
- package/packages/gateway/dist/surfaces/browser-cards.d.ts +18 -0
- package/packages/gateway/dist/surfaces/browser-cards.d.ts.map +1 -0
- package/packages/gateway/dist/surfaces/browser-cards.js +42 -0
- package/packages/gateway/dist/surfaces/browser-cards.js.map +1 -0
- package/packages/gateway/dist/surfaces/browser-continuation.js +1 -1
- package/packages/gateway/dist/surfaces/browser-continuation.js.map +1 -1
- package/packages/gateway/dist/surfaces/owner-request.d.ts +6 -0
- package/packages/gateway/dist/surfaces/owner-request.d.ts.map +1 -1
- package/packages/gateway/dist/surfaces/owner-request.js +7 -1
- package/packages/gateway/dist/surfaces/owner-request.js.map +1 -1
- package/packages/gateway/dist/surfaces/pending-question.js +2 -2
- package/packages/gateway/dist/system-context.d.ts +21 -1
- package/packages/gateway/dist/system-context.d.ts.map +1 -1
- package/packages/gateway/dist/system-context.js +75 -2
- package/packages/gateway/dist/system-context.js.map +1 -1
- package/packages/gateway/dist/telegram/approvals.d.ts.map +1 -1
- package/packages/gateway/dist/telegram/approvals.js +4 -2
- package/packages/gateway/dist/telegram/approvals.js.map +1 -1
- package/packages/gateway/dist/telegram/browser-view.d.ts +17 -17
- package/packages/gateway/dist/telegram/browser-view.d.ts.map +1 -1
- package/packages/gateway/dist/telegram/browser-view.js +33 -37
- package/packages/gateway/dist/telegram/browser-view.js.map +1 -1
- package/packages/gateway/dist/telegram/channel.d.ts.map +1 -1
- package/packages/gateway/dist/telegram/channel.js +23 -2
- package/packages/gateway/dist/telegram/channel.js.map +1 -1
- package/packages/gateway/dist/telegram/html.d.ts +34 -0
- package/packages/gateway/dist/telegram/html.d.ts.map +1 -0
- package/packages/gateway/dist/telegram/html.js +263 -0
- package/packages/gateway/dist/telegram/html.js.map +1 -0
- package/packages/gateway/dist/telegram/main.d.ts.map +1 -1
- package/packages/gateway/dist/telegram/main.js +11 -3
- package/packages/gateway/dist/telegram/main.js.map +1 -1
- package/packages/gateway/dist/telegram/notify.d.ts +6 -0
- package/packages/gateway/dist/telegram/notify.d.ts.map +1 -1
- package/packages/gateway/dist/telegram/notify.js +25 -3
- package/packages/gateway/dist/telegram/notify.js.map +1 -1
- package/packages/gateway/dist/telegram/surface.d.ts.map +1 -1
- package/packages/gateway/dist/telegram/surface.js +10 -0
- package/packages/gateway/dist/telegram/surface.js.map +1 -1
- package/packages/gateway/dist/tips/facts.d.ts +10 -0
- package/packages/gateway/dist/tips/facts.d.ts.map +1 -1
- package/packages/gateway/dist/tips/facts.js +12 -3
- package/packages/gateway/dist/tips/facts.js.map +1 -1
- package/packages/gateway/dist/tips/rules.d.ts +2 -0
- package/packages/gateway/dist/tips/rules.d.ts.map +1 -1
- package/packages/gateway/dist/tips/rules.js +25 -0
- package/packages/gateway/dist/tips/rules.js.map +1 -1
- package/packages/gateway/dist/web/access/arrival.d.ts +24 -0
- package/packages/gateway/dist/web/access/arrival.d.ts.map +1 -0
- package/packages/gateway/dist/web/access/arrival.js +18 -0
- package/packages/gateway/dist/web/access/arrival.js.map +1 -0
- package/packages/gateway/dist/web/access/cloudflare-api.d.ts +124 -0
- package/packages/gateway/dist/web/access/cloudflare-api.d.ts.map +1 -0
- package/packages/gateway/dist/web/access/cloudflare-api.js +206 -0
- package/packages/gateway/dist/web/access/cloudflare-api.js.map +1 -0
- package/packages/gateway/dist/web/access/cloudflare-setup.d.ts +163 -0
- package/packages/gateway/dist/web/access/cloudflare-setup.d.ts.map +1 -0
- package/packages/gateway/dist/web/access/cloudflare-setup.js +438 -0
- package/packages/gateway/dist/web/access/cloudflare-setup.js.map +1 -0
- package/packages/gateway/dist/web/access/cloudflare-token.d.ts +31 -0
- package/packages/gateway/dist/web/access/cloudflare-token.d.ts.map +1 -0
- package/packages/gateway/dist/web/access/cloudflare-token.js +74 -0
- package/packages/gateway/dist/web/access/cloudflare-token.js.map +1 -0
- package/packages/gateway/dist/web/access/cloudflare.d.ts +145 -0
- package/packages/gateway/dist/web/access/cloudflare.d.ts.map +1 -0
- package/packages/gateway/dist/web/access/cloudflare.js +474 -0
- package/packages/gateway/dist/web/access/cloudflare.js.map +1 -0
- package/packages/gateway/dist/web/access/index.d.ts +9 -0
- package/packages/gateway/dist/web/access/index.d.ts.map +1 -0
- package/packages/gateway/dist/web/access/index.js +9 -0
- package/packages/gateway/dist/web/access/index.js.map +1 -0
- package/packages/gateway/dist/web/access/ingress.d.ts +30 -0
- package/packages/gateway/dist/web/access/ingress.d.ts.map +1 -0
- package/packages/gateway/dist/web/access/ingress.js +76 -0
- package/packages/gateway/dist/web/access/ingress.js.map +1 -0
- package/packages/gateway/dist/web/access/provider.d.ts +173 -0
- package/packages/gateway/dist/web/access/provider.d.ts.map +1 -0
- package/packages/gateway/dist/web/access/provider.js +11 -0
- package/packages/gateway/dist/web/access/provider.js.map +1 -0
- package/packages/gateway/dist/web/access/registry.d.ts +33 -0
- package/packages/gateway/dist/web/access/registry.d.ts.map +1 -0
- package/packages/gateway/dist/web/access/registry.js +32 -0
- package/packages/gateway/dist/web/access/registry.js.map +1 -0
- package/packages/gateway/dist/web/{tailscale.d.ts → access/tailscale.d.ts} +27 -0
- package/packages/gateway/dist/web/access/tailscale.d.ts.map +1 -0
- package/packages/gateway/dist/web/{tailscale.js → access/tailscale.js} +118 -3
- package/packages/gateway/dist/web/access/tailscale.js.map +1 -0
- package/packages/gateway/dist/web/agents.d.ts +2 -0
- package/packages/gateway/dist/web/agents.d.ts.map +1 -1
- package/packages/gateway/dist/web/agents.js +19 -1
- package/packages/gateway/dist/web/agents.js.map +1 -1
- package/packages/gateway/dist/web/api-routes.d.ts +4 -3
- package/packages/gateway/dist/web/api-routes.d.ts.map +1 -1
- package/packages/gateway/dist/web/api-routes.js +168 -26
- package/packages/gateway/dist/web/api-routes.js.map +1 -1
- package/packages/gateway/dist/web/api-scan.d.ts +1 -1
- package/packages/gateway/dist/web/api-scan.d.ts.map +1 -1
- package/packages/gateway/dist/web/api-scan.js +1 -0
- package/packages/gateway/dist/web/api-scan.js.map +1 -1
- package/packages/gateway/dist/web/attention.d.ts.map +1 -1
- package/packages/gateway/dist/web/attention.js +11 -3
- package/packages/gateway/dist/web/attention.js.map +1 -1
- package/packages/gateway/dist/web/chat.d.ts +23 -0
- package/packages/gateway/dist/web/chat.d.ts.map +1 -1
- package/packages/gateway/dist/web/chat.js +71 -2
- package/packages/gateway/dist/web/chat.js.map +1 -1
- package/packages/gateway/dist/web/client-key.d.ts +3 -0
- package/packages/gateway/dist/web/client-key.d.ts.map +1 -1
- package/packages/gateway/dist/web/client-key.js +8 -1
- package/packages/gateway/dist/web/client-key.js.map +1 -1
- package/packages/gateway/dist/web/composer.d.ts +45 -0
- package/packages/gateway/dist/web/composer.d.ts.map +1 -0
- package/packages/gateway/dist/web/composer.js +85 -0
- package/packages/gateway/dist/web/composer.js.map +1 -0
- package/packages/gateway/dist/web/extension.d.ts +9 -1
- package/packages/gateway/dist/web/extension.d.ts.map +1 -1
- package/packages/gateway/dist/web/extension.js +61 -1
- package/packages/gateway/dist/web/extension.js.map +1 -1
- package/packages/gateway/dist/web/http.d.ts +7 -0
- package/packages/gateway/dist/web/http.d.ts.map +1 -1
- package/packages/gateway/dist/web/http.js +15 -1
- package/packages/gateway/dist/web/http.js.map +1 -1
- package/packages/gateway/dist/web/index.d.ts +1 -1
- package/packages/gateway/dist/web/index.d.ts.map +1 -1
- package/packages/gateway/dist/web/index.js +1 -1
- package/packages/gateway/dist/web/index.js.map +1 -1
- package/packages/gateway/dist/web/market.d.ts +20 -1
- package/packages/gateway/dist/web/market.d.ts.map +1 -1
- package/packages/gateway/dist/web/market.js +41 -1
- package/packages/gateway/dist/web/market.js.map +1 -1
- package/packages/gateway/dist/web/onboarding.js +1 -1
- package/packages/gateway/dist/web/onboarding.js.map +1 -1
- package/packages/gateway/dist/web/people.d.ts +44 -0
- package/packages/gateway/dist/web/people.d.ts.map +1 -0
- package/packages/gateway/dist/web/people.js +114 -0
- package/packages/gateway/dist/web/people.js.map +1 -0
- package/packages/gateway/dist/web/server.d.ts +42 -2
- package/packages/gateway/dist/web/server.d.ts.map +1 -1
- package/packages/gateway/dist/web/server.js +713 -156
- package/packages/gateway/dist/web/server.js.map +1 -1
- package/packages/gateway/dist/web/sessions.d.ts +24 -14
- package/packages/gateway/dist/web/sessions.d.ts.map +1 -1
- package/packages/gateway/dist/web/sessions.js +42 -14
- package/packages/gateway/dist/web/sessions.js.map +1 -1
- package/packages/gateway/dist/web/signed-out.d.ts +10 -0
- package/packages/gateway/dist/web/signed-out.d.ts.map +1 -1
- package/packages/gateway/dist/web/signed-out.js +47 -0
- package/packages/gateway/dist/web/signed-out.js.map +1 -1
- package/packages/gateway/dist/web/skill-bundles.d.ts +101 -0
- package/packages/gateway/dist/web/skill-bundles.d.ts.map +1 -0
- package/packages/gateway/dist/web/skill-bundles.js +439 -0
- package/packages/gateway/dist/web/skill-bundles.js.map +1 -0
- package/packages/gateway/dist/web/skills.d.ts +57 -1
- package/packages/gateway/dist/web/skills.d.ts.map +1 -1
- package/packages/gateway/dist/web/skills.js +171 -9
- package/packages/gateway/dist/web/skills.js.map +1 -1
- package/packages/gateway/dist/web/zip-read.d.ts +31 -0
- package/packages/gateway/dist/web/zip-read.d.ts.map +1 -0
- package/packages/gateway/dist/web/zip-read.js +125 -0
- package/packages/gateway/dist/web/zip-read.js.map +1 -0
- package/packages/install/dist/.tsbuildinfo +1 -1
- package/packages/runtime/dist/.tsbuildinfo +1 -1
- package/packages/runtime/dist/delegate.d.ts +8 -0
- package/packages/runtime/dist/delegate.d.ts.map +1 -1
- package/packages/runtime/dist/delegate.js +19 -1
- package/packages/runtime/dist/delegate.js.map +1 -1
- package/packages/runtime/dist/index.d.ts +1 -0
- package/packages/runtime/dist/index.d.ts.map +1 -1
- package/packages/runtime/dist/index.js +1 -0
- package/packages/runtime/dist/index.js.map +1 -1
- package/packages/runtime/dist/loop.d.ts +2 -0
- package/packages/runtime/dist/loop.d.ts.map +1 -1
- package/packages/runtime/dist/loop.js +29 -5
- package/packages/runtime/dist/loop.js.map +1 -1
- package/packages/runtime/dist/plugin-sign-in.d.ts +12 -0
- package/packages/runtime/dist/plugin-sign-in.d.ts.map +1 -0
- package/packages/runtime/dist/plugin-sign-in.js +397 -0
- package/packages/runtime/dist/plugin-sign-in.js.map +1 -0
- package/packages/tools/artifacts/dist/.tsbuildinfo +1 -1
- package/packages/tools/artifacts/dist/tools/write.d.ts.map +1 -1
- package/packages/tools/artifacts/dist/tools/write.js +1 -0
- package/packages/tools/artifacts/dist/tools/write.js.map +1 -1
- package/packages/tools/browser/dist/.tsbuildinfo +1 -1
- package/packages/tools/browser/dist/availability.d.ts +2 -2
- package/packages/tools/browser/dist/availability.d.ts.map +1 -1
- package/packages/tools/browser/dist/availability.js +2 -2
- package/packages/tools/browser/dist/availability.js.map +1 -1
- package/packages/tools/browser/dist/controller.d.ts +76 -58
- package/packages/tools/browser/dist/controller.d.ts.map +1 -1
- package/packages/tools/browser/dist/controller.js +751 -219
- package/packages/tools/browser/dist/controller.js.map +1 -1
- package/packages/tools/browser/dist/extension.d.ts +12 -0
- package/packages/tools/browser/dist/extension.d.ts.map +1 -1
- package/packages/tools/browser/dist/extension.js +8 -0
- package/packages/tools/browser/dist/extension.js.map +1 -1
- package/packages/tools/browser/dist/index.d.ts +13 -5
- package/packages/tools/browser/dist/index.d.ts.map +1 -1
- package/packages/tools/browser/dist/index.js +29 -12
- package/packages/tools/browser/dist/index.js.map +1 -1
- package/packages/tools/browser/dist/manager.d.ts +39 -21
- package/packages/tools/browser/dist/manager.d.ts.map +1 -1
- package/packages/tools/browser/dist/manager.js +229 -136
- package/packages/tools/browser/dist/manager.js.map +1 -1
- package/packages/tools/browser/dist/routes.d.ts +130 -0
- package/packages/tools/browser/dist/routes.d.ts.map +1 -0
- package/packages/tools/browser/dist/routes.js +283 -0
- package/packages/tools/browser/dist/routes.js.map +1 -0
- package/packages/tools/browser/dist/service.d.ts +157 -114
- package/packages/tools/browser/dist/service.d.ts.map +1 -1
- package/packages/tools/browser/dist/service.js +379 -390
- package/packages/tools/browser/dist/service.js.map +1 -1
- package/packages/tools/browser/dist/settings.d.ts +88 -0
- package/packages/tools/browser/dist/settings.d.ts.map +1 -0
- package/packages/tools/browser/dist/settings.js +86 -0
- package/packages/tools/browser/dist/settings.js.map +1 -0
- package/packages/tools/browser/dist/telemetry.d.ts +203 -0
- package/packages/tools/browser/dist/telemetry.d.ts.map +1 -0
- package/packages/tools/browser/dist/telemetry.js +142 -0
- package/packages/tools/browser/dist/telemetry.js.map +1 -0
- package/packages/tools/browser/dist/types.d.ts +14 -3
- package/packages/tools/browser/dist/types.d.ts.map +1 -1
- package/packages/tools/browser/dist/types.js +9 -9
- package/packages/tools/browser/dist/types.js.map +1 -1
- package/packages/tools/email/dist/.tsbuildinfo +1 -1
- package/packages/tools/email/dist/widgets.d.ts.map +1 -1
- package/packages/tools/email/dist/widgets.js +2 -1
- package/packages/tools/email/dist/widgets.js.map +1 -1
- package/packages/tools/host/dist/.tsbuildinfo +1 -1
- package/packages/tools/host/dist/index.d.ts +2 -1
- package/packages/tools/host/dist/index.d.ts.map +1 -1
- package/packages/tools/host/dist/index.js +3 -2
- package/packages/tools/host/dist/index.js.map +1 -1
- package/packages/tools/host/dist/process.d.ts +4 -0
- package/packages/tools/host/dist/process.d.ts.map +1 -1
- package/packages/tools/host/dist/process.js +4 -2
- package/packages/tools/host/dist/process.js.map +1 -1
- package/packages/tools/host/dist/service.d.ts +66 -17
- package/packages/tools/host/dist/service.d.ts.map +1 -1
- package/packages/tools/host/dist/service.js +172 -9
- package/packages/tools/host/dist/service.js.map +1 -1
- package/packages/tools/host/dist/skill-run.d.ts +55 -0
- package/packages/tools/host/dist/skill-run.d.ts.map +1 -0
- package/packages/tools/host/dist/skill-run.js +132 -0
- package/packages/tools/host/dist/skill-run.js.map +1 -0
- package/packages/tools/mcp/dist/.tsbuildinfo +1 -1
- package/packages/tools/memory/dist/.tsbuildinfo +1 -1
- package/packages/tools/memory/dist/index.d.ts +1 -0
- package/packages/tools/memory/dist/index.d.ts.map +1 -1
- package/packages/tools/memory/dist/index.js +7 -2
- package/packages/tools/memory/dist/index.js.map +1 -1
- package/packages/tools/memory/dist/people.d.ts +218 -0
- package/packages/tools/memory/dist/people.d.ts.map +1 -0
- package/packages/tools/memory/dist/people.js +582 -0
- package/packages/tools/memory/dist/people.js.map +1 -0
- package/packages/tools/memory/dist/preamble.d.ts +4 -1
- package/packages/tools/memory/dist/preamble.d.ts.map +1 -1
- package/packages/tools/memory/dist/preamble.js +25 -7
- package/packages/tools/memory/dist/preamble.js.map +1 -1
- package/packages/tools/memory/migrations/002_people.sql +40 -0
- package/packages/tools/web/dist/.tsbuildinfo +1 -1
- package/packages/web/dist/assets/index-Bac-CdD-.css +1 -0
- package/packages/web/dist/assets/index-DI8bp_D7.js +146 -0
- package/packages/web/dist/assets/{lottie_light-Dj5SSwxs.js → lottie_light-CuiSMqnl.js} +1 -1
- package/packages/web/dist/build.json +1 -1
- package/packages/web/dist/index.html +2 -2
- package/packages/web/dist/precache.json +4 -4
- package/node_modules/@buddi/gateway/dist/web/apps.d.ts +0 -18
- package/node_modules/@buddi/gateway/dist/web/apps.d.ts.map +0 -1
- package/node_modules/@buddi/gateway/dist/web/apps.js +0 -84
- package/node_modules/@buddi/gateway/dist/web/apps.js.map +0 -1
- package/node_modules/@buddi/gateway/dist/web/tailscale.d.ts.map +0 -1
- package/node_modules/@buddi/gateway/dist/web/tailscale.js.map +0 -1
- package/node_modules/@buddi/tool-browser/dist/computer.d.ts +0 -153
- package/node_modules/@buddi/tool-browser/dist/computer.d.ts.map +0 -1
- package/node_modules/@buddi/tool-browser/dist/computer.js +0 -392
- package/node_modules/@buddi/tool-browser/dist/computer.js.map +0 -1
- package/node_modules/@buddi/tool-browser/dist/native/buddi-computer +0 -0
- package/packages/gateway/dist/web/apps.d.ts +0 -18
- package/packages/gateway/dist/web/apps.d.ts.map +0 -1
- package/packages/gateway/dist/web/apps.js +0 -84
- package/packages/gateway/dist/web/apps.js.map +0 -1
- package/packages/gateway/dist/web/tailscale.d.ts.map +0 -1
- package/packages/gateway/dist/web/tailscale.js.map +0 -1
- package/packages/tools/browser/dist/computer.d.ts +0 -153
- package/packages/tools/browser/dist/computer.d.ts.map +0 -1
- package/packages/tools/browser/dist/computer.js +0 -392
- package/packages/tools/browser/dist/computer.js.map +0 -1
- package/packages/tools/browser/dist/native/buddi-computer +0 -0
- package/packages/web/dist/assets/index-B_P_ux2I.css +0 -1
- 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 (
|
|
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
|
-
//
|
|
47
|
-
//
|
|
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)(
|
|
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
|
-
//
|
|
59
|
-
|
|
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
|
*
|
|
@@ -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(
|
|
70
|
+
value.forEach(entry => attributes.push(toSearchValue((entry || '').toString())));
|
|
58
71
|
}
|
|
59
72
|
else {
|
|
60
|
-
attributes.push(
|
|
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
|
|
107
|
-
*
|
|
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
|
|
110
|
-
* @returns True if
|
|
120
|
+
* @param attributes - Compiled search attributes
|
|
121
|
+
* @returns True if a LITERAL token is present
|
|
111
122
|
*/
|
|
112
|
-
let
|
|
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 (
|
|
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
|
-
//
|
|
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 =>
|
|
40
|
-
|
|
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 (
|
|
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
|
-
//
|
|
44
|
-
//
|
|
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(
|
|
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
|
-
//
|
|
56
|
-
|
|
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,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(
|
|
67
|
+
value.forEach(entry => attributes.push(toSearchValue((entry || '').toString())));
|
|
55
68
|
}
|
|
56
69
|
else {
|
|
57
|
-
attributes.push(
|
|
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
|
|
104
|
-
*
|
|
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
|
|
107
|
-
* @returns True if
|
|
117
|
+
* @param attributes - Compiled search attributes
|
|
118
|
+
* @returns True if a LITERAL token is present
|
|
108
119
|
*/
|
|
109
|
-
let
|
|
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 (
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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": "
|
|
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",
|