@withbuddi/buddi 0.1.0-pre.35 → 0.1.0-pre.37
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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/manifest.json +2 -2
- package/node_modules/@buddi/cli/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/cli/dist/doctor-probes.d.ts.map +1 -1
- package/node_modules/@buddi/cli/dist/doctor-probes.js +44 -3
- package/node_modules/@buddi/cli/dist/doctor-probes.js.map +1 -1
- package/node_modules/@buddi/cli/dist/doctor.d.ts +37 -0
- package/node_modules/@buddi/cli/dist/doctor.d.ts.map +1 -1
- package/node_modules/@buddi/cli/dist/doctor.js +37 -0
- package/node_modules/@buddi/cli/dist/doctor.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.map +1 -1
- package/node_modules/@buddi/core/dist/agents/catalog.js +2 -2
- package/node_modules/@buddi/core/dist/agents/catalog.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 +25 -2
- package/node_modules/@buddi/core/dist/host/build.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/host/build.js +169 -8
- package/node_modules/@buddi/core/dist/host/build.js.map +1 -1
- package/node_modules/@buddi/core/dist/host/http.d.ts +97 -0
- package/node_modules/@buddi/core/dist/host/http.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/host/http.js +321 -26
- package/node_modules/@buddi/core/dist/host/http.js.map +1 -1
- package/node_modules/@buddi/core/dist/host/types.d.ts +114 -4
- 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/notifications/notify.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/notifications/notify.js +10 -6
- package/node_modules/@buddi/core/dist/notifications/notify.js.map +1 -1
- package/node_modules/@buddi/core/dist/notifications/store.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/notifications/store.js +2 -1
- package/node_modules/@buddi/core/dist/notifications/store.js.map +1 -1
- package/node_modules/@buddi/core/dist/notifications/types.d.ts +8 -0
- package/node_modules/@buddi/core/dist/notifications/types.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/notifications/types.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 +449 -20
- package/node_modules/@buddi/core/dist/pages.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/pages.js +223 -8
- package/node_modules/@buddi/core/dist/pages.js.map +1 -1
- package/node_modules/@buddi/core/dist/plugin/assets.d.ts +52 -0
- package/node_modules/@buddi/core/dist/plugin/assets.d.ts.map +1 -0
- package/node_modules/@buddi/core/dist/plugin/assets.js +59 -0
- package/node_modules/@buddi/core/dist/plugin/assets.js.map +1 -0
- package/node_modules/@buddi/core/dist/plugin/index.d.ts +10 -4
- package/node_modules/@buddi/core/dist/plugin/index.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/plugin/index.js +4 -1
- package/node_modules/@buddi/core/dist/plugin/index.js.map +1 -1
- package/node_modules/@buddi/core/dist/plugin/requires.d.ts +3 -1
- package/node_modules/@buddi/core/dist/plugin/requires.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/plugin/requires.js +5 -3
- package/node_modules/@buddi/core/dist/plugin/requires.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/uses.d.ts +1 -1
- package/node_modules/@buddi/core/dist/plugin/uses.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/plugin/uses.js +2 -0
- package/node_modules/@buddi/core/dist/plugin/uses.js.map +1 -1
- 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/plugin-assets.d.ts +21 -0
- package/node_modules/@buddi/core/dist/plugin-assets.d.ts.map +1 -0
- package/node_modules/@buddi/core/dist/plugin-assets.js +140 -0
- package/node_modules/@buddi/core/dist/plugin-assets.js.map +1 -0
- 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/types.d.ts +1 -1
- package/node_modules/@buddi/core/dist/questions/types.js +1 -1
- package/node_modules/@buddi/core/dist/queue/jobs.d.ts +57 -2
- package/node_modules/@buddi/core/dist/queue/jobs.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/queue/jobs.js +114 -0
- package/node_modules/@buddi/core/dist/queue/jobs.js.map +1 -1
- package/node_modules/@buddi/core/dist/queue/worker.d.ts +24 -2
- package/node_modules/@buddi/core/dist/queue/worker.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/queue/worker.js +66 -11
- package/node_modules/@buddi/core/dist/queue/worker.js.map +1 -1
- package/node_modules/@buddi/core/dist/registry.d.ts +17 -0
- package/node_modules/@buddi/core/dist/registry.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/registry.js +48 -4
- package/node_modules/@buddi/core/dist/registry.js.map +1 -1
- package/node_modules/@buddi/core/dist/scheduler/missions.d.ts +14 -0
- package/node_modules/@buddi/core/dist/scheduler/missions.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/scheduler/missions.js +17 -4
- package/node_modules/@buddi/core/dist/scheduler/missions.js.map +1 -1
- package/node_modules/@buddi/core/dist/scheduler/types.d.ts +13 -0
- package/node_modules/@buddi/core/dist/scheduler/types.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/scheduler/types.js +14 -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/surfaces.d.ts +10 -0
- package/node_modules/@buddi/core/dist/surfaces.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/surfaces.js +11 -0
- package/node_modules/@buddi/core/dist/surfaces.js.map +1 -1
- package/node_modules/@buddi/core/dist/tools.d.ts +72 -1
- package/node_modules/@buddi/core/dist/tools.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/tools.js +38 -0
- package/node_modules/@buddi/core/dist/tools.js.map +1 -1
- package/node_modules/@buddi/core/dist/views.d.ts +29 -12
- package/node_modules/@buddi/core/dist/views.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/views.js +1 -0
- package/node_modules/@buddi/core/dist/views.js.map +1 -1
- package/node_modules/@buddi/core/dist/widget-settings.d.ts +2 -1
- package/node_modules/@buddi/core/dist/widget-settings.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/widget-settings.js +8 -2
- package/node_modules/@buddi/core/dist/widget-settings.js.map +1 -1
- package/node_modules/@buddi/core/dist/widgets.d.ts +46 -3
- package/node_modules/@buddi/core/dist/widgets.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/widgets.js +68 -5
- package/node_modules/@buddi/core/dist/widgets.js.map +1 -1
- package/node_modules/@buddi/core/migrations/073_mission_report.sql +15 -0
- package/node_modules/@buddi/core/migrations/074_owner_identity.sql +14 -0
- package/node_modules/@buddi/gateway/dist/.tsbuildinfo +1 -1
- 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 +76 -0
- package/node_modules/@buddi/gateway/dist/agents/catalogue-package.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/agents/catalogue-package.js +29 -5
- package/node_modules/@buddi/gateway/dist/agents/catalogue-package.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/agents/owner-text.d.ts +19 -0
- package/node_modules/@buddi/gateway/dist/agents/owner-text.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/agents/owner-text.js +44 -0
- package/node_modules/@buddi/gateway/dist/agents/owner-text.js.map +1 -0
- 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 +68 -3
- package/node_modules/@buddi/gateway/dist/agents/platform-catalogue.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/agents/platform-catalogue.js +264 -32
- package/node_modules/@buddi/gateway/dist/agents/platform-catalogue.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/agents/platform.d.ts +11 -4
- package/node_modules/@buddi/gateway/dist/agents/platform.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/agents/platform.js +15 -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 +7 -1
- package/node_modules/@buddi/gateway/dist/bootstrap.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 +2 -1
- package/node_modules/@buddi/gateway/dist/index.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/index.js +2 -1
- package/node_modules/@buddi/gateway/dist/index.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/missions/agent-run.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/missions/agent-run.js +2 -0
- package/node_modules/@buddi/gateway/dist/missions/agent-run.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/defaults.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/missions/defaults.js +2 -0
- package/node_modules/@buddi/gateway/dist/missions/defaults.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/missions/execute.d.ts +25 -1
- package/node_modules/@buddi/gateway/dist/missions/execute.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/missions/execute.js +80 -8
- package/node_modules/@buddi/gateway/dist/missions/execute.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/missions/report.d.ts +25 -2
- package/node_modules/@buddi/gateway/dist/missions/report.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/missions/report.js +71 -11
- 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/owner-notify.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/owner-notify.js +7 -3
- package/node_modules/@buddi/gateway/dist/owner-notify.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/plugins/asset-image-worker.d.ts +2 -0
- package/node_modules/@buddi/gateway/dist/plugins/asset-image-worker.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/plugins/asset-image-worker.js +18 -0
- package/node_modules/@buddi/gateway/dist/plugins/asset-image-worker.js.map +1 -0
- package/node_modules/@buddi/gateway/dist/plugins/asset-image.d.ts +31 -0
- package/node_modules/@buddi/gateway/dist/plugins/asset-image.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/plugins/asset-image.js +332 -0
- package/node_modules/@buddi/gateway/dist/plugins/asset-image.js.map +1 -0
- package/node_modules/@buddi/gateway/dist/plugins/load.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/plugins/load.js +14 -1
- package/node_modules/@buddi/gateway/dist/plugins/load.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/plugins/stage.d.ts +6 -0
- package/node_modules/@buddi/gateway/dist/plugins/stage.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/plugins/stage.js +5 -0
- package/node_modules/@buddi/gateway/dist/plugins/stage.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/plugins/uninstall.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/plugins/uninstall.js +8 -0
- package/node_modules/@buddi/gateway/dist/plugins/uninstall.js.map +1 -1
- 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.map +1 -1
- package/node_modules/@buddi/gateway/dist/serve.js +50 -5
- package/node_modules/@buddi/gateway/dist/serve.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 +76 -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/channel.d.ts +12 -0
- package/node_modules/@buddi/gateway/dist/telegram/channel.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/telegram/channel.js +49 -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/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/tips/facts.d.ts +2 -0
- package/node_modules/@buddi/gateway/dist/tips/facts.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/tips/facts.js +4 -1
- package/node_modules/@buddi/gateway/dist/tips/facts.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/tips/rules.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/tips/rules.js +10 -0
- package/node_modules/@buddi/gateway/dist/tips/rules.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/api-routes.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/api-routes.js +80 -11
- 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/catalogue.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/catalogue.js +7 -4
- package/node_modules/@buddi/gateway/dist/web/catalogue.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/chat.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/chat.js +9 -0
- package/node_modules/@buddi/gateway/dist/web/chat.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 +12 -0
- package/node_modules/@buddi/gateway/dist/web/extension.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/extension.js +11 -1
- package/node_modules/@buddi/gateway/dist/web/extension.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/lock.d.ts +6 -0
- package/node_modules/@buddi/gateway/dist/web/lock.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/lock.js +33 -2
- package/node_modules/@buddi/gateway/dist/web/lock.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/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 +4 -0
- package/node_modules/@buddi/gateway/dist/web/server.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/server.js +171 -13
- package/node_modules/@buddi/gateway/dist/web/server.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/widgets.js +2 -2
- package/node_modules/@buddi/gateway/dist/web/widgets.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/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.js +11 -1
- 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/runtime/dist/transport.d.ts +1 -1
- package/node_modules/@buddi/runtime/dist/transport.d.ts.map +1 -1
- package/node_modules/@buddi/runtime/dist/transport.js +6 -0
- package/node_modules/@buddi/runtime/dist/transport.js.map +1 -1
- 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/computer.d.ts +13 -0
- package/node_modules/@buddi/tool-browser/dist/computer.d.ts.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/computer.js +22 -2
- package/node_modules/@buddi/tool-browser/dist/computer.js.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/controller.d.ts +4 -0
- package/node_modules/@buddi/tool-browser/dist/controller.d.ts.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/controller.js +8 -3
- package/node_modules/@buddi/tool-browser/dist/controller.js.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/index.d.ts +1 -1
- package/node_modules/@buddi/tool-browser/dist/index.d.ts.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/index.js +1 -1
- package/node_modules/@buddi/tool-browser/dist/index.js.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/native/buddi-computer +0 -0
- package/node_modules/@buddi/tool-browser/dist/service.d.ts +5 -0
- package/node_modules/@buddi/tool-browser/dist/service.d.ts.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/service.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 +8 -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/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/package.json +4 -4
- package/node_modules/pino/CONTRIBUTING.md +5 -1
- package/node_modules/pino/LICENSE +1 -1
- package/node_modules/pino/README.md +1 -1
- package/node_modules/pino/SECURITY.md +18 -2
- package/node_modules/pino/browser.js +68 -8
- package/node_modules/pino/docs/api.md +75 -4
- package/node_modules/pino/docs/asynchronous.md +18 -3
- package/node_modules/pino/docs/browser.md +63 -0
- package/node_modules/pino/docs/child-loggers.md +22 -1
- package/node_modules/pino/docs/ecosystem.md +1 -0
- package/node_modules/pino/docs/help.md +11 -3
- package/node_modules/pino/docs/lts.md +29 -0
- package/node_modules/pino/docs/pretty.md +3 -0
- package/node_modules/pino/docs/redaction.md +3 -8
- package/node_modules/pino/docs/transports.md +71 -0
- package/node_modules/pino/docs/web.md +11 -14
- package/node_modules/pino/eslint.config.js +15 -7
- package/node_modules/pino/lib/caller.js +10 -0
- package/node_modules/pino/lib/meta.js +1 -1
- package/node_modules/pino/lib/multistream.js +15 -7
- package/node_modules/pino/lib/redaction.js +8 -3
- package/node_modules/pino/lib/symbols.js +3 -1
- package/node_modules/pino/lib/tools.js +2 -2
- package/node_modules/pino/lib/transport.js +14 -1
- package/node_modules/pino/lib/worker.js +4 -1
- package/node_modules/pino/package.json +14 -22
- package/node_modules/pino/pino.d.ts +709 -736
- package/node_modules/pino/pino.js +27 -2
- package/node_modules/pino/test/basic.test.js +66 -0
- package/node_modules/pino/test/browser-bindings.test.js +114 -0
- package/node_modules/pino/test/browser-redaction.test.js +264 -0
- package/node_modules/pino/test/browser-set-bindings.test.js +99 -0
- package/node_modules/pino/test/caller.test.js +20 -0
- package/node_modules/pino/test/escaping.test.js +17 -0
- package/node_modules/pino/test/fixtures/caller-loop.js +6 -0
- package/node_modules/pino/test/fixtures/ts/transpile.cjs +3 -3
- package/node_modules/pino/test/helper.js +6 -2
- package/node_modules/pino/test/multistream.test.js +64 -0
- package/node_modules/pino/test/redact.test.js +30 -0
- package/node_modules/pino/test/smoke.js +59 -0
- package/node_modules/pino/test/transport/core.test.js +85 -0
- package/node_modules/pino/test/transport/sync-false.test.js +12 -0
- package/node_modules/pino/test/transport/uses-pino-config.test.js +4 -4
- package/node_modules/pino/test/types/pino-import.tst.cts +30 -0
- package/node_modules/pino/test/types/pino-import.tst.js +73 -0
- package/node_modules/pino/test/types/pino-multistream.tst.ts +49 -0
- package/node_modules/pino/test/types/pino-top-export.tst.ts +32 -0
- package/node_modules/pino/test/types/{pino-transport.test-d.ts → pino-transport.tst.ts} +85 -70
- package/node_modules/pino/test/types/pino-type-only.tst.ts +77 -0
- package/node_modules/pino/test/types/pino.ts +14 -7
- package/node_modules/pino/test/types/{pino.test-d.ts → pino.tst.ts} +135 -137
- package/node_modules/pino/test/types/tsconfig.json +10 -0
- package/node_modules/pino/tsconfig.json +6 -6
- package/node_modules/real-require/README.md +6 -6
- package/node_modules/real-require/package.json +10 -21
- package/node_modules/real-require/src/index.js +2 -2
- package/package.json +2 -2
- package/packages/cli/dist/.tsbuildinfo +1 -1
- package/packages/cli/dist/doctor-probes.d.ts.map +1 -1
- package/packages/cli/dist/doctor-probes.js +44 -3
- package/packages/cli/dist/doctor-probes.js.map +1 -1
- package/packages/cli/dist/doctor.d.ts +37 -0
- package/packages/cli/dist/doctor.d.ts.map +1 -1
- package/packages/cli/dist/doctor.js +37 -0
- package/packages/cli/dist/doctor.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.map +1 -1
- package/packages/core/dist/agents/catalog.js +2 -2
- package/packages/core/dist/agents/catalog.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 +25 -2
- package/packages/core/dist/host/build.d.ts.map +1 -1
- package/packages/core/dist/host/build.js +169 -8
- package/packages/core/dist/host/build.js.map +1 -1
- package/packages/core/dist/host/http.d.ts +97 -0
- package/packages/core/dist/host/http.d.ts.map +1 -1
- package/packages/core/dist/host/http.js +321 -26
- package/packages/core/dist/host/http.js.map +1 -1
- package/packages/core/dist/host/types.d.ts +114 -4
- 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/notifications/notify.d.ts.map +1 -1
- package/packages/core/dist/notifications/notify.js +10 -6
- package/packages/core/dist/notifications/notify.js.map +1 -1
- package/packages/core/dist/notifications/store.d.ts.map +1 -1
- package/packages/core/dist/notifications/store.js +2 -1
- package/packages/core/dist/notifications/store.js.map +1 -1
- package/packages/core/dist/notifications/types.d.ts +8 -0
- package/packages/core/dist/notifications/types.d.ts.map +1 -1
- package/packages/core/dist/notifications/types.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 +449 -20
- package/packages/core/dist/pages.d.ts.map +1 -1
- package/packages/core/dist/pages.js +223 -8
- package/packages/core/dist/pages.js.map +1 -1
- package/packages/core/dist/plugin/assets.d.ts +52 -0
- package/packages/core/dist/plugin/assets.d.ts.map +1 -0
- package/packages/core/dist/plugin/assets.js +59 -0
- package/packages/core/dist/plugin/assets.js.map +1 -0
- package/packages/core/dist/plugin/index.d.ts +10 -4
- package/packages/core/dist/plugin/index.d.ts.map +1 -1
- package/packages/core/dist/plugin/index.js +4 -1
- package/packages/core/dist/plugin/index.js.map +1 -1
- package/packages/core/dist/plugin/requires.d.ts +3 -1
- package/packages/core/dist/plugin/requires.d.ts.map +1 -1
- package/packages/core/dist/plugin/requires.js +5 -3
- package/packages/core/dist/plugin/requires.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/uses.d.ts +1 -1
- package/packages/core/dist/plugin/uses.d.ts.map +1 -1
- package/packages/core/dist/plugin/uses.js +2 -0
- package/packages/core/dist/plugin/uses.js.map +1 -1
- package/packages/core/dist/plugin/version.d.ts +1 -1
- package/packages/core/dist/plugin/version.js +1 -1
- package/packages/core/dist/plugin-assets.d.ts +21 -0
- package/packages/core/dist/plugin-assets.d.ts.map +1 -0
- package/packages/core/dist/plugin-assets.js +140 -0
- package/packages/core/dist/plugin-assets.js.map +1 -0
- 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/types.d.ts +1 -1
- package/packages/core/dist/questions/types.js +1 -1
- package/packages/core/dist/queue/jobs.d.ts +57 -2
- package/packages/core/dist/queue/jobs.d.ts.map +1 -1
- package/packages/core/dist/queue/jobs.js +114 -0
- package/packages/core/dist/queue/jobs.js.map +1 -1
- package/packages/core/dist/queue/worker.d.ts +24 -2
- package/packages/core/dist/queue/worker.d.ts.map +1 -1
- package/packages/core/dist/queue/worker.js +66 -11
- package/packages/core/dist/queue/worker.js.map +1 -1
- package/packages/core/dist/registry.d.ts +17 -0
- package/packages/core/dist/registry.d.ts.map +1 -1
- package/packages/core/dist/registry.js +48 -4
- package/packages/core/dist/registry.js.map +1 -1
- package/packages/core/dist/scheduler/missions.d.ts +14 -0
- package/packages/core/dist/scheduler/missions.d.ts.map +1 -1
- package/packages/core/dist/scheduler/missions.js +17 -4
- package/packages/core/dist/scheduler/missions.js.map +1 -1
- package/packages/core/dist/scheduler/types.d.ts +13 -0
- package/packages/core/dist/scheduler/types.d.ts.map +1 -1
- package/packages/core/dist/scheduler/types.js +14 -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/surfaces.d.ts +10 -0
- package/packages/core/dist/surfaces.d.ts.map +1 -1
- package/packages/core/dist/surfaces.js +11 -0
- package/packages/core/dist/surfaces.js.map +1 -1
- package/packages/core/dist/tools.d.ts +72 -1
- package/packages/core/dist/tools.d.ts.map +1 -1
- package/packages/core/dist/tools.js +38 -0
- package/packages/core/dist/tools.js.map +1 -1
- package/packages/core/dist/views.d.ts +29 -12
- package/packages/core/dist/views.d.ts.map +1 -1
- package/packages/core/dist/views.js +1 -0
- package/packages/core/dist/views.js.map +1 -1
- package/packages/core/dist/widget-settings.d.ts +2 -1
- package/packages/core/dist/widget-settings.d.ts.map +1 -1
- package/packages/core/dist/widget-settings.js +8 -2
- package/packages/core/dist/widget-settings.js.map +1 -1
- package/packages/core/dist/widgets.d.ts +46 -3
- package/packages/core/dist/widgets.d.ts.map +1 -1
- package/packages/core/dist/widgets.js +68 -5
- package/packages/core/dist/widgets.js.map +1 -1
- package/packages/core/migrations/073_mission_report.sql +15 -0
- package/packages/core/migrations/074_owner_identity.sql +14 -0
- package/packages/gateway/dist/.tsbuildinfo +1 -1
- 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 +76 -0
- package/packages/gateway/dist/agents/catalogue-package.d.ts.map +1 -1
- package/packages/gateway/dist/agents/catalogue-package.js +29 -5
- package/packages/gateway/dist/agents/catalogue-package.js.map +1 -1
- package/packages/gateway/dist/agents/owner-text.d.ts +19 -0
- package/packages/gateway/dist/agents/owner-text.d.ts.map +1 -0
- package/packages/gateway/dist/agents/owner-text.js +44 -0
- package/packages/gateway/dist/agents/owner-text.js.map +1 -0
- 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 +68 -3
- package/packages/gateway/dist/agents/platform-catalogue.d.ts.map +1 -1
- package/packages/gateway/dist/agents/platform-catalogue.js +264 -32
- package/packages/gateway/dist/agents/platform-catalogue.js.map +1 -1
- package/packages/gateway/dist/agents/platform.d.ts +11 -4
- package/packages/gateway/dist/agents/platform.d.ts.map +1 -1
- package/packages/gateway/dist/agents/platform.js +15 -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 +7 -1
- package/packages/gateway/dist/bootstrap.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 +2 -1
- package/packages/gateway/dist/index.d.ts.map +1 -1
- package/packages/gateway/dist/index.js +2 -1
- package/packages/gateway/dist/index.js.map +1 -1
- package/packages/gateway/dist/missions/agent-run.d.ts.map +1 -1
- package/packages/gateway/dist/missions/agent-run.js +2 -0
- package/packages/gateway/dist/missions/agent-run.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/defaults.d.ts.map +1 -1
- package/packages/gateway/dist/missions/defaults.js +2 -0
- package/packages/gateway/dist/missions/defaults.js.map +1 -1
- package/packages/gateway/dist/missions/execute.d.ts +25 -1
- package/packages/gateway/dist/missions/execute.d.ts.map +1 -1
- package/packages/gateway/dist/missions/execute.js +80 -8
- package/packages/gateway/dist/missions/execute.js.map +1 -1
- package/packages/gateway/dist/missions/report.d.ts +25 -2
- package/packages/gateway/dist/missions/report.d.ts.map +1 -1
- package/packages/gateway/dist/missions/report.js +71 -11
- 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/owner-notify.d.ts.map +1 -1
- package/packages/gateway/dist/owner-notify.js +7 -3
- package/packages/gateway/dist/owner-notify.js.map +1 -1
- package/packages/gateway/dist/plugins/asset-image-worker.d.ts +2 -0
- package/packages/gateway/dist/plugins/asset-image-worker.d.ts.map +1 -0
- package/packages/gateway/dist/plugins/asset-image-worker.js +18 -0
- package/packages/gateway/dist/plugins/asset-image-worker.js.map +1 -0
- package/packages/gateway/dist/plugins/asset-image.d.ts +31 -0
- package/packages/gateway/dist/plugins/asset-image.d.ts.map +1 -0
- package/packages/gateway/dist/plugins/asset-image.js +332 -0
- package/packages/gateway/dist/plugins/asset-image.js.map +1 -0
- package/packages/gateway/dist/plugins/load.d.ts.map +1 -1
- package/packages/gateway/dist/plugins/load.js +14 -1
- package/packages/gateway/dist/plugins/load.js.map +1 -1
- package/packages/gateway/dist/plugins/stage.d.ts +6 -0
- package/packages/gateway/dist/plugins/stage.d.ts.map +1 -1
- package/packages/gateway/dist/plugins/stage.js +5 -0
- package/packages/gateway/dist/plugins/stage.js.map +1 -1
- package/packages/gateway/dist/plugins/uninstall.d.ts.map +1 -1
- package/packages/gateway/dist/plugins/uninstall.js +8 -0
- package/packages/gateway/dist/plugins/uninstall.js.map +1 -1
- 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.map +1 -1
- package/packages/gateway/dist/serve.js +50 -5
- package/packages/gateway/dist/serve.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 +76 -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/channel.d.ts +12 -0
- package/packages/gateway/dist/telegram/channel.d.ts.map +1 -1
- package/packages/gateway/dist/telegram/channel.js +49 -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/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/tips/facts.d.ts +2 -0
- package/packages/gateway/dist/tips/facts.d.ts.map +1 -1
- package/packages/gateway/dist/tips/facts.js +4 -1
- package/packages/gateway/dist/tips/facts.js.map +1 -1
- package/packages/gateway/dist/tips/rules.d.ts.map +1 -1
- package/packages/gateway/dist/tips/rules.js +10 -0
- package/packages/gateway/dist/tips/rules.js.map +1 -1
- package/packages/gateway/dist/web/api-routes.d.ts.map +1 -1
- package/packages/gateway/dist/web/api-routes.js +80 -11
- 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/catalogue.d.ts.map +1 -1
- package/packages/gateway/dist/web/catalogue.js +7 -4
- package/packages/gateway/dist/web/catalogue.js.map +1 -1
- package/packages/gateway/dist/web/chat.d.ts.map +1 -1
- package/packages/gateway/dist/web/chat.js +9 -0
- package/packages/gateway/dist/web/chat.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 +12 -0
- package/packages/gateway/dist/web/extension.d.ts.map +1 -1
- package/packages/gateway/dist/web/extension.js +11 -1
- package/packages/gateway/dist/web/extension.js.map +1 -1
- package/packages/gateway/dist/web/lock.d.ts +6 -0
- package/packages/gateway/dist/web/lock.d.ts.map +1 -1
- package/packages/gateway/dist/web/lock.js +33 -2
- package/packages/gateway/dist/web/lock.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/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 +4 -0
- package/packages/gateway/dist/web/server.d.ts.map +1 -1
- package/packages/gateway/dist/web/server.js +171 -13
- package/packages/gateway/dist/web/server.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/widgets.js +2 -2
- package/packages/gateway/dist/web/widgets.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/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.js +11 -1
- 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/runtime/dist/transport.d.ts +1 -1
- package/packages/runtime/dist/transport.d.ts.map +1 -1
- package/packages/runtime/dist/transport.js +6 -0
- package/packages/runtime/dist/transport.js.map +1 -1
- 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/computer.d.ts +13 -0
- package/packages/tools/browser/dist/computer.d.ts.map +1 -1
- package/packages/tools/browser/dist/computer.js +22 -2
- package/packages/tools/browser/dist/computer.js.map +1 -1
- package/packages/tools/browser/dist/controller.d.ts +4 -0
- package/packages/tools/browser/dist/controller.d.ts.map +1 -1
- package/packages/tools/browser/dist/controller.js +8 -3
- package/packages/tools/browser/dist/controller.js.map +1 -1
- package/packages/tools/browser/dist/index.d.ts +1 -1
- package/packages/tools/browser/dist/index.d.ts.map +1 -1
- package/packages/tools/browser/dist/index.js +1 -1
- package/packages/tools/browser/dist/index.js.map +1 -1
- package/packages/tools/browser/dist/native/buddi-computer +0 -0
- package/packages/tools/browser/dist/service.d.ts +5 -0
- package/packages/tools/browser/dist/service.d.ts.map +1 -1
- package/packages/tools/browser/dist/service.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-CN1AXMI1.css +1 -0
- package/packages/web/dist/assets/index-CQRE9LJX.js +145 -0
- package/packages/web/dist/assets/{lottie_light-DYHnHRWL.js → lottie_light-CKJ88Yuk.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/pino/test/types/pino-import.test-d.cts +0 -30
- package/node_modules/pino/test/types/pino-multistream.test-d.ts +0 -28
- package/node_modules/pino/test/types/pino-top-export.test-d.ts +0 -34
- package/node_modules/pino/test/types/pino-type-only.test-d.ts +0 -75
- package/node_modules/thread-stream/node_modules/real-require/LICENSE.md +0 -21
- package/node_modules/thread-stream/node_modules/real-require/README.md +0 -51
- package/node_modules/thread-stream/node_modules/real-require/package.json +0 -38
- package/node_modules/thread-stream/node_modules/real-require/src/index.js +0 -14
- package/packages/web/dist/assets/index-ZauRFo4G.js +0 -134
- package/packages/web/dist/assets/index-viBWQfeT.css +0 -1
|
@@ -200,6 +200,116 @@ export function registerHttpUrlDestination() {
|
|
|
200
200
|
export function isOwnUrlBinding(binding, plugin) {
|
|
201
201
|
return binding.kind === HTTP_URL_KIND && asUrlTarget(binding.target)?.plugin === plugin;
|
|
202
202
|
}
|
|
203
|
+
/* ------------------------------------------------------------------ *
|
|
204
|
+
* The `http.basic` destination (since host API 1.26)
|
|
205
|
+
* ------------------------------------------------------------------ */
|
|
206
|
+
/**
|
|
207
|
+
* Core's own Basic-auth destination (docs/owner-secrets.md §3): a secret that
|
|
208
|
+
* is a password, sent as `Authorization: Basic base64(username:password)` to
|
|
209
|
+
* the hosts its binding names — a CalDAV account's app-specific password. The
|
|
210
|
+
* plugin names the user (it is not the secret); core reads the password,
|
|
211
|
+
* builds the header after the address checks and inserts it, so the plugin
|
|
212
|
+
* never holds the password.
|
|
213
|
+
*/
|
|
214
|
+
export const HTTP_BASIC_KIND = 'http.basic';
|
|
215
|
+
/** The methods a Basic-auth request may use: reads and the WebDAV verbs a calendar or contacts server needs. */
|
|
216
|
+
export const HTTP_BASIC_METHODS = new Set(['GET', 'HEAD', 'OPTIONS', 'PROPFIND', 'REPORT', 'PUT', 'DELETE']);
|
|
217
|
+
/** The largest body a Basic-auth request may carry: an event, not an upload. */
|
|
218
|
+
export const HTTP_BASIC_MAX_BODY = 256 * 1024;
|
|
219
|
+
/** The largest answer it may read, whatever the caller asks for. */
|
|
220
|
+
export const HTTP_BASIC_MAX_RESPONSE = 10 * 1024 * 1024;
|
|
221
|
+
/** How many Basic-auth requests one plugin may make with one secret in a minute. */
|
|
222
|
+
export const HTTP_BASIC_PER_MINUTE = 120;
|
|
223
|
+
function asBasicTarget(target) {
|
|
224
|
+
if (typeof target !== 'object' || target === null)
|
|
225
|
+
return undefined;
|
|
226
|
+
const { plugin, host } = target;
|
|
227
|
+
if (typeof plugin !== 'string' || typeof host !== 'string' || plugin.trim() === '')
|
|
228
|
+
return undefined;
|
|
229
|
+
const h = host.toLowerCase();
|
|
230
|
+
if (h.startsWith('*.')) {
|
|
231
|
+
if (!/^[a-z0-9-]+(\.[a-z0-9-]+)+$/.test(h.slice(2)))
|
|
232
|
+
return undefined;
|
|
233
|
+
}
|
|
234
|
+
else if (!/^[a-z0-9-]+(\.[a-z0-9-]+)*$/.test(h))
|
|
235
|
+
return undefined;
|
|
236
|
+
return { plugin: plugin.trim(), host: h };
|
|
237
|
+
}
|
|
238
|
+
/** Whether a request host is one a bound host names: the same, or under its `*.` domain. */
|
|
239
|
+
export function basicHostCovers(bound, host) {
|
|
240
|
+
if (bound.startsWith('*.'))
|
|
241
|
+
return host.endsWith(bound.slice(1)) && host.length > bound.length - 1;
|
|
242
|
+
return bound === host;
|
|
243
|
+
}
|
|
244
|
+
/** Register `http.basic` under core's own name, beside `http.header` and `http.url`. */
|
|
245
|
+
export function registerHttpBasicDestination() {
|
|
246
|
+
registerSecretDestination(HTTP_HEADER_PLUGIN, {
|
|
247
|
+
kind: HTTP_BASIC_KIND,
|
|
248
|
+
maxRule: 'pre-approved',
|
|
249
|
+
checkTarget(target, bound) {
|
|
250
|
+
const asked = asBasicTarget(target);
|
|
251
|
+
const boundBasic = asBasicTarget(bound);
|
|
252
|
+
if (asked === undefined || boundBasic === undefined || asked.host.startsWith('*.'))
|
|
253
|
+
return false;
|
|
254
|
+
return asked.plugin === boundBasic.plugin && basicHostCovers(boundBasic.host, asked.host);
|
|
255
|
+
},
|
|
256
|
+
describe(target) {
|
|
257
|
+
const asked = asBasicTarget(target);
|
|
258
|
+
return asked === undefined
|
|
259
|
+
? 'the password of a web sign-in'
|
|
260
|
+
: `the password ${asked.plugin} signs in with at ${asked.host}`;
|
|
261
|
+
},
|
|
262
|
+
deliver() {
|
|
263
|
+
throw new Error('http.basic delivers through the http area itself, never through a destination');
|
|
264
|
+
},
|
|
265
|
+
});
|
|
266
|
+
}
|
|
267
|
+
/** Whether a binding names `http.basic` for this plugin (`secrets.put`, since 1.26). */
|
|
268
|
+
export function isOwnBasicBinding(binding, plugin) {
|
|
269
|
+
return binding.kind === HTTP_BASIC_KIND && asBasicTarget(binding.target)?.plugin === plugin;
|
|
270
|
+
}
|
|
271
|
+
/* ------------------------------------------------------------------ *
|
|
272
|
+
* The `http.bearer` destination (since host API 1.28)
|
|
273
|
+
* ------------------------------------------------------------------ */
|
|
274
|
+
/**
|
|
275
|
+
* Core's own OAuth destination (docs/owner-secrets.md §3): a secret that is
|
|
276
|
+
* an OAuth sign-in core made for a plugin (`secrets.signIn`) — the token
|
|
277
|
+
* envelope — sent as `Authorization: Bearer <access token>` to the host its
|
|
278
|
+
* binding names, refreshed by core at the provider that issued it. The plugin
|
|
279
|
+
* never holds a token.
|
|
280
|
+
*/
|
|
281
|
+
export const HTTP_BEARER_KIND = 'http.bearer';
|
|
282
|
+
/** The methods a bearer request may use: an API's reads and writes. */
|
|
283
|
+
export const HTTP_BEARER_METHODS = new Set(['GET', 'HEAD', 'POST', 'PUT', 'PATCH', 'DELETE']);
|
|
284
|
+
/** How many bearer requests one plugin may make with one sign-in in a minute. */
|
|
285
|
+
export const HTTP_BEARER_PER_MINUTE = 300;
|
|
286
|
+
/** Register `http.bearer` under core's own name, beside the other `http.*` kinds. Its target is `http.basic`'s shape. */
|
|
287
|
+
export function registerHttpBearerDestination() {
|
|
288
|
+
registerSecretDestination(HTTP_HEADER_PLUGIN, {
|
|
289
|
+
kind: HTTP_BEARER_KIND,
|
|
290
|
+
maxRule: 'pre-approved',
|
|
291
|
+
checkTarget(target, bound) {
|
|
292
|
+
const asked = asBasicTarget(target);
|
|
293
|
+
const boundBearer = asBasicTarget(bound);
|
|
294
|
+
if (asked === undefined || boundBearer === undefined || asked.host.startsWith('*.'))
|
|
295
|
+
return false;
|
|
296
|
+
return asked.plugin === boundBearer.plugin && basicHostCovers(boundBearer.host, asked.host);
|
|
297
|
+
},
|
|
298
|
+
describe(target) {
|
|
299
|
+
const asked = asBasicTarget(target);
|
|
300
|
+
return asked === undefined
|
|
301
|
+
? 'the sign-in of a web service'
|
|
302
|
+
: `the sign-in ${asked.plugin} uses at ${asked.host}`;
|
|
303
|
+
},
|
|
304
|
+
deliver() {
|
|
305
|
+
throw new Error('http.bearer delivers through the http area itself, never through a destination');
|
|
306
|
+
},
|
|
307
|
+
});
|
|
308
|
+
}
|
|
309
|
+
/** Whether a binding names `http.bearer` for this plugin (written by `secrets.signIn`, since 1.28). */
|
|
310
|
+
export function isOwnBearerBinding(binding, plugin) {
|
|
311
|
+
return binding.kind === HTTP_BEARER_KIND && asBasicTarget(binding.target)?.plugin === plugin;
|
|
312
|
+
}
|
|
203
313
|
/** A use that waits on the owner: the plugin is told, and may say so onward. */
|
|
204
314
|
export class SecretPendingError extends Error {
|
|
205
315
|
actionId;
|
|
@@ -209,6 +319,68 @@ export class SecretPendingError extends Error {
|
|
|
209
319
|
this.actionId = actionId;
|
|
210
320
|
}
|
|
211
321
|
}
|
|
322
|
+
export function createBasicBudget(perMinute = HTTP_BASIC_PER_MINUTE) {
|
|
323
|
+
const sent = new Map();
|
|
324
|
+
return {
|
|
325
|
+
take(plugin, secret, at) {
|
|
326
|
+
// Bounded cleanup: whenever the map grows past a handful of keys, drop the stale ones.
|
|
327
|
+
if (sent.size > 64) {
|
|
328
|
+
for (const [key, stamps] of sent)
|
|
329
|
+
if (stamps.every((t) => at - t >= 60_000))
|
|
330
|
+
sent.delete(key);
|
|
331
|
+
}
|
|
332
|
+
const key = `${plugin}\u0000${secret}`;
|
|
333
|
+
const recent = (sent.get(key) ?? []).filter((t) => at - t < 60_000);
|
|
334
|
+
if (recent.length >= perMinute) {
|
|
335
|
+
sent.set(key, recent);
|
|
336
|
+
return false;
|
|
337
|
+
}
|
|
338
|
+
recent.push(at);
|
|
339
|
+
sent.set(key, recent);
|
|
340
|
+
return true;
|
|
341
|
+
},
|
|
342
|
+
refund(plugin, secret, at) {
|
|
343
|
+
const key = `${plugin}\u0000${secret}`;
|
|
344
|
+
const stamps = sent.get(key);
|
|
345
|
+
const i = stamps?.indexOf(at) ?? -1;
|
|
346
|
+
if (stamps !== undefined && i >= 0)
|
|
347
|
+
stamps.splice(i, 1);
|
|
348
|
+
if (stamps !== undefined && stamps.length === 0)
|
|
349
|
+
sent.delete(key);
|
|
350
|
+
},
|
|
351
|
+
};
|
|
352
|
+
}
|
|
353
|
+
const sharedBasicBudget = createBasicBudget();
|
|
354
|
+
const sharedBearerBudget = createBasicBudget(HTTP_BEARER_PER_MINUTE);
|
|
355
|
+
/**
|
|
356
|
+
* Headers a caller may not set on a request that carries a secret: anything
|
|
357
|
+
* that names which server or virtual host the request is for (`Host` decides
|
|
358
|
+
* TLS SNI and a CDN's routing; the forwarding headers decide it behind some
|
|
359
|
+
* proxies) or that carries a proxy credential. The URL's own host is the only
|
|
360
|
+
* identity a secret is bound to. `Cookie` stays the caller's: it is the
|
|
361
|
+
* plugin's own state, never the owner's secret.
|
|
362
|
+
*/
|
|
363
|
+
const IDENTITY_HEADERS = new Set([
|
|
364
|
+
'host',
|
|
365
|
+
'x-forwarded-host',
|
|
366
|
+
'x-forwarded-server',
|
|
367
|
+
'x-host',
|
|
368
|
+
'x-original-host',
|
|
369
|
+
'forwarded',
|
|
370
|
+
'proxy-authorization',
|
|
371
|
+
]);
|
|
372
|
+
/** The caller's headers without the identity headers and without `drop` (case-insensitive). */
|
|
373
|
+
function withoutIdentity(headers, drop) {
|
|
374
|
+
const lower = drop.toLowerCase();
|
|
375
|
+
return Object.fromEntries(Object.entries(headers ?? {}).filter(([name]) => {
|
|
376
|
+
const n = name.toLowerCase();
|
|
377
|
+
return n !== lower && !IDENTITY_HEADERS.has(n);
|
|
378
|
+
}));
|
|
379
|
+
}
|
|
380
|
+
/** A response cap that is a finite, non-negative whole number, or undefined. */
|
|
381
|
+
function validCap(maxBytes) {
|
|
382
|
+
return typeof maxBytes === 'number' && Number.isSafeInteger(maxBytes) && maxBytes >= 0 ? maxBytes : undefined;
|
|
383
|
+
}
|
|
212
384
|
/** Hosts already said to be undeclared, per plugin, so a loop logs once. */
|
|
213
385
|
const undeclaredSeen = new Set();
|
|
214
386
|
function hostMatches(declared, host) {
|
|
@@ -229,6 +401,42 @@ function hostMatches(declared, host) {
|
|
|
229
401
|
export function createHttpArea(options) {
|
|
230
402
|
const policy = options.policy ?? DEFAULT_POLICY;
|
|
231
403
|
let transport;
|
|
404
|
+
const basicBudget = options.basicBudget ?? sharedBasicBudget;
|
|
405
|
+
const bearerBudget = options.bearerBudget ?? sharedBearerBudget;
|
|
406
|
+
const now = options.now ?? (() => Date.now());
|
|
407
|
+
/** Send one checked request on the transport; `capped`: a sign-in's answer, at most 10 MB. */
|
|
408
|
+
const dispatch = (req, url, headers, capped) => {
|
|
409
|
+
const host = new URL(url).hostname.replace(/^\[|\]$/g, '').toLowerCase();
|
|
410
|
+
/*
|
|
411
|
+
* Logged, not refused, in 1.0: the hosts a manifest lists were
|
|
412
|
+
* documentation until now, and refusing an undeclared one before every
|
|
413
|
+
* plugin has written its down would break plugins that did nothing
|
|
414
|
+
* wrong (§4.2).
|
|
415
|
+
*/
|
|
416
|
+
if (!options.network.some((declared) => hostMatches(declared, host))) {
|
|
417
|
+
const key = `${options.plugin}\u0000${host}`;
|
|
418
|
+
if (!undeclaredSeen.has(key)) {
|
|
419
|
+
undeclaredSeen.add(key);
|
|
420
|
+
options.log(`a request to ${host}, which its manifest does not declare under network`);
|
|
421
|
+
}
|
|
422
|
+
}
|
|
423
|
+
if (options.transport === undefined) {
|
|
424
|
+
return Promise.reject(new Error('This process has no HTTP transport for plugins.'));
|
|
425
|
+
}
|
|
426
|
+
transport ??= options.transport({ lookup: guardedLookup(options.resolve, policy) });
|
|
427
|
+
// A cap that is not a whole number of bytes (NaN, Infinity, -1) is no cap at all to the transport: it counts as unset, so the default applies.
|
|
428
|
+
const cap = validCap(req.maxBytes);
|
|
429
|
+
return transport(url, {
|
|
430
|
+
method: req.method ?? 'GET',
|
|
431
|
+
headers,
|
|
432
|
+
...(req.body === undefined ? {} : { body: req.body }),
|
|
433
|
+
...(req.signal === undefined ? {} : { signal: req.signal }),
|
|
434
|
+
...(req.idleTimeoutMs === undefined ? {} : { idleTimeoutMs: req.idleTimeoutMs }),
|
|
435
|
+
...(capped
|
|
436
|
+
? { maxBytes: Math.min(cap ?? HTTP_BASIC_MAX_RESPONSE, HTTP_BASIC_MAX_RESPONSE) }
|
|
437
|
+
: cap === undefined ? {} : { maxBytes: cap }),
|
|
438
|
+
});
|
|
439
|
+
};
|
|
232
440
|
return {
|
|
233
441
|
async request(req) {
|
|
234
442
|
let parsedUrl;
|
|
@@ -259,6 +467,7 @@ export function createHttpArea(options) {
|
|
|
259
467
|
*/
|
|
260
468
|
let url = req.url;
|
|
261
469
|
let secretUrl;
|
|
470
|
+
let basicCap = false;
|
|
262
471
|
if (req.auth !== undefined && req.auth.as === 'url') {
|
|
263
472
|
if (parsedUrl.protocol !== 'https:')
|
|
264
473
|
throw new Error('a secret goes only into an HTTPS request');
|
|
@@ -291,6 +500,114 @@ export function createHttpArea(options) {
|
|
|
291
500
|
checkUrl(stored.toString(), policy);
|
|
292
501
|
url = stored.toString();
|
|
293
502
|
secretUrl = { name, value: url };
|
|
503
|
+
// The address is the credential: no caller header may point it at another virtual host.
|
|
504
|
+
headers = withoutIdentity(req.headers, 'host');
|
|
505
|
+
}
|
|
506
|
+
else if (req.auth !== undefined && req.auth.as === 'bearer') {
|
|
507
|
+
/*
|
|
508
|
+
* An OAuth sign-in (`as: 'bearer'`, since 1.28): core reads the token
|
|
509
|
+
* envelope the binding allows for this plugin and this host, refreshes
|
|
510
|
+
* it at its provider when it is about to expire, and inserts the
|
|
511
|
+
* access token itself. A 401 is answered once: refreshed (unless
|
|
512
|
+
* another request already did) and sent again. The same fences as a
|
|
513
|
+
* Basic sign-in, with an API's verbs.
|
|
514
|
+
*/
|
|
515
|
+
if (parsedUrl.protocol !== 'https:')
|
|
516
|
+
throw new Error('a secret goes only into an HTTPS request');
|
|
517
|
+
const method = (req.method ?? 'GET').toUpperCase();
|
|
518
|
+
if (!HTTP_BEARER_METHODS.has(method)) {
|
|
519
|
+
throw new Error(`a sign-in is sent only with ${[...HTTP_BEARER_METHODS].join(', ')}, not ${method}`);
|
|
520
|
+
}
|
|
521
|
+
if (req.auth.header !== undefined || req.auth.username !== undefined)
|
|
522
|
+
throw new Error('a bearer sign-in always goes into Authorization, with no user name');
|
|
523
|
+
const size = req.body === undefined ? 0 : typeof req.body === 'string' ? Buffer.byteLength(req.body) : req.body.length;
|
|
524
|
+
if (size > HTTP_BASIC_MAX_BODY)
|
|
525
|
+
throw new Error(`a request with a sign-in carries at most ${HTTP_BASIC_MAX_BODY / 1024} KiB`);
|
|
526
|
+
const deliverBearer = options.secrets?.deliverBearerFor;
|
|
527
|
+
if (deliverBearer === undefined)
|
|
528
|
+
throw new Error('This process cannot deliver a secret into a request.');
|
|
529
|
+
const secretName = req.auth.secret;
|
|
530
|
+
const token = async (rejected) => {
|
|
531
|
+
const at = now();
|
|
532
|
+
if (!bearerBudget.take(options.plugin, secretName, at)) {
|
|
533
|
+
throw new Error(`too many requests with "${secretName}" this minute (at most ${HTTP_BEARER_PER_MINUTE}); try again shortly`);
|
|
534
|
+
}
|
|
535
|
+
let delivered;
|
|
536
|
+
try {
|
|
537
|
+
delivered = await deliverBearer(secretName, host, rejected);
|
|
538
|
+
}
|
|
539
|
+
catch (err) {
|
|
540
|
+
bearerBudget.refund(options.plugin, secretName, at);
|
|
541
|
+
throw err;
|
|
542
|
+
}
|
|
543
|
+
if (!('ok' in delivered))
|
|
544
|
+
bearerBudget.refund(options.plugin, secretName, at);
|
|
545
|
+
if ('pending' in delivered)
|
|
546
|
+
throw new SecretPendingError(delivered.pending);
|
|
547
|
+
if ('refused' in delivered)
|
|
548
|
+
throw new Error(delivered.refused);
|
|
549
|
+
return delivered.value;
|
|
550
|
+
};
|
|
551
|
+
const base = withoutIdentity(req.headers, 'authorization');
|
|
552
|
+
const first = await token();
|
|
553
|
+
const send = (access) => dispatch(req, url, { ...base, Authorization: `Bearer ${access}` }, true);
|
|
554
|
+
const answer = await send(first);
|
|
555
|
+
if (answer.status !== 401)
|
|
556
|
+
return answer;
|
|
557
|
+
// Read and drop the 401's body so its connection is free, then once more with a fresh token.
|
|
558
|
+
await answer.arrayBuffer().catch(() => undefined);
|
|
559
|
+
return send(await token(first));
|
|
560
|
+
}
|
|
561
|
+
else if (req.auth !== undefined && req.auth.as === 'basic') {
|
|
562
|
+
/*
|
|
563
|
+
* A sign-in's password (`as: 'basic'`, since 1.26): the caller names
|
|
564
|
+
* the user, core reads the password the binding allows for this
|
|
565
|
+
* plugin and this host, and builds the Authorization header itself.
|
|
566
|
+
* HTTPS only, the WebDAV verbs and no others, a small body, a capped
|
|
567
|
+
* answer and a per-minute budget, so a plugin holding a sign-in
|
|
568
|
+
* cannot turn it into an upload channel or a flood.
|
|
569
|
+
*/
|
|
570
|
+
if (parsedUrl.protocol !== 'https:')
|
|
571
|
+
throw new Error('a secret goes only into an HTTPS request');
|
|
572
|
+
const method = (req.method ?? 'GET').toUpperCase();
|
|
573
|
+
if (!HTTP_BASIC_METHODS.has(method)) {
|
|
574
|
+
throw new Error(`a sign-in is sent only with ${[...HTTP_BASIC_METHODS].join(', ')}, not ${method}`);
|
|
575
|
+
}
|
|
576
|
+
if (req.auth.header !== undefined)
|
|
577
|
+
throw new Error('a sign-in always goes into Authorization');
|
|
578
|
+
const username = req.auth.username;
|
|
579
|
+
if (typeof username !== 'string' || username.length === 0 || username.length > 256 || /[:\r\n\u0000]/.test(username)) {
|
|
580
|
+
throw new Error('a sign-in needs a user name without a colon or a line break');
|
|
581
|
+
}
|
|
582
|
+
const size = req.body === undefined ? 0 : typeof req.body === 'string' ? Buffer.byteLength(req.body) : req.body.length;
|
|
583
|
+
if (size > HTTP_BASIC_MAX_BODY)
|
|
584
|
+
throw new Error(`a request with a sign-in carries at most ${HTTP_BASIC_MAX_BODY / 1024} KiB`);
|
|
585
|
+
if (options.secrets?.deliverBasicFor === undefined) {
|
|
586
|
+
throw new Error('This process cannot deliver a secret into a request.');
|
|
587
|
+
}
|
|
588
|
+
// Counted before the delivery, so concurrent requests cannot all slip
|
|
589
|
+
// under the line; given back when no password is delivered.
|
|
590
|
+
const at = now();
|
|
591
|
+
if (!basicBudget.take(options.plugin, req.auth.secret, at)) {
|
|
592
|
+
throw new Error(`too many requests with "${req.auth.secret}" this minute (at most ${HTTP_BASIC_PER_MINUTE}); try again shortly`);
|
|
593
|
+
}
|
|
594
|
+
let delivered;
|
|
595
|
+
try {
|
|
596
|
+
delivered = await options.secrets.deliverBasicFor(req.auth.secret, host);
|
|
597
|
+
}
|
|
598
|
+
catch (err) {
|
|
599
|
+
basicBudget.refund(options.plugin, req.auth.secret, at);
|
|
600
|
+
throw err;
|
|
601
|
+
}
|
|
602
|
+
if (!('ok' in delivered))
|
|
603
|
+
basicBudget.refund(options.plugin, req.auth.secret, at);
|
|
604
|
+
if ('pending' in delivered)
|
|
605
|
+
throw new SecretPendingError(delivered.pending);
|
|
606
|
+
if ('refused' in delivered)
|
|
607
|
+
throw new Error(delivered.refused);
|
|
608
|
+
headers = withoutIdentity(req.headers, 'authorization');
|
|
609
|
+
headers.Authorization = `Basic ${Buffer.from(`${username}:${delivered.value}`, 'utf8').toString('base64')}`;
|
|
610
|
+
basicCap = true;
|
|
294
611
|
}
|
|
295
612
|
else if (req.auth !== undefined) {
|
|
296
613
|
if (parsedUrl.protocol !== 'https:') {
|
|
@@ -306,34 +623,12 @@ export function createHttpArea(options) {
|
|
|
306
623
|
if ('refused' in delivered)
|
|
307
624
|
throw new Error(delivered.refused);
|
|
308
625
|
// The caller's own spelling of the same header goes, whatever its case: one header, the bound value.
|
|
309
|
-
|
|
626
|
+
if (IDENTITY_HEADERS.has(headerName.toLowerCase()))
|
|
627
|
+
throw new Error(`a secret cannot go into ${headerName}`);
|
|
628
|
+
headers = withoutIdentity(req.headers, headerName);
|
|
310
629
|
headers[headerName] = delivered.value;
|
|
311
630
|
}
|
|
312
|
-
|
|
313
|
-
* Logged, not refused, in 1.0: the hosts a manifest lists were
|
|
314
|
-
* documentation until now, and refusing an undeclared one before every
|
|
315
|
-
* plugin has written its down would break plugins that did nothing
|
|
316
|
-
* wrong (§4.2).
|
|
317
|
-
*/
|
|
318
|
-
if (!options.network.some((declared) => hostMatches(declared, host))) {
|
|
319
|
-
const key = `${options.plugin}\u0000${host}`;
|
|
320
|
-
if (!undeclaredSeen.has(key)) {
|
|
321
|
-
undeclaredSeen.add(key);
|
|
322
|
-
options.log(`a request to ${host}, which its manifest does not declare under network`);
|
|
323
|
-
}
|
|
324
|
-
}
|
|
325
|
-
if (options.transport === undefined) {
|
|
326
|
-
throw new Error('This process has no HTTP transport for plugins.');
|
|
327
|
-
}
|
|
328
|
-
transport ??= options.transport({ lookup: guardedLookup(options.resolve, policy) });
|
|
329
|
-
const sent = transport(url, {
|
|
330
|
-
method: req.method ?? 'GET',
|
|
331
|
-
headers: headers ?? {},
|
|
332
|
-
...(req.body === undefined ? {} : { body: req.body }),
|
|
333
|
-
...(req.signal === undefined ? {} : { signal: req.signal }),
|
|
334
|
-
...(req.idleTimeoutMs === undefined ? {} : { idleTimeoutMs: req.idleTimeoutMs }),
|
|
335
|
-
...(req.maxBytes === undefined ? {} : { maxBytes: req.maxBytes }),
|
|
336
|
-
});
|
|
631
|
+
const sent = dispatch(req, url, headers ?? {}, basicCap);
|
|
337
632
|
if (secretUrl === undefined)
|
|
338
633
|
return sent;
|
|
339
634
|
const { name, value } = secretUrl;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/host/http.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/host/http.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,9 @@
|
|
|
14
14
|
* `@buddi/core/plugin`.
|
|
15
15
|
*/
|
|
16
16
|
import type { OwnerPlace } from '../places.js';
|
|
17
|
+
import type { PluginAsset } from '../plugin/assets.js';
|
|
18
|
+
import type { OAuthProvider, OAuthSignInRequest, OAuthSignInStart, OAuthSignInStatus } from '../plugin/sign-in.js';
|
|
19
|
+
import type { Vault } from '../vault/types.js';
|
|
17
20
|
import type { ToolPermission } from '../actions/permissions.js';
|
|
18
21
|
import type { ArtifactKind, ArtifactRow, ArtifactSource } from '../artifacts/store.js';
|
|
19
22
|
import type { ProposePolicyInput } from '../learning/policies.js';
|
|
@@ -64,8 +67,10 @@ export interface BuddiHost {
|
|
|
64
67
|
secrets?: SecretsArea;
|
|
65
68
|
/** Declared as `owner:channel`. Since 1.3. */
|
|
66
69
|
channels?: ChannelsArea;
|
|
67
|
-
/** Present when the manifest declares `requires
|
|
70
|
+
/** Present when the manifest declares `requires` (1.18) or `optional` (1.27). */
|
|
68
71
|
plugins?: PluginsArea;
|
|
72
|
+
/** Declared as `assets`. Since 1.27. */
|
|
73
|
+
assets?: AssetsArea;
|
|
69
74
|
}
|
|
70
75
|
/** Who this installation belongs to, and what they said about themselves. */
|
|
71
76
|
export interface OwnerArea {
|
|
@@ -122,10 +127,37 @@ export interface PluginsArea {
|
|
|
122
127
|
/**
|
|
123
128
|
* Call `plugin`'s export `name` with `args`, validated by the export's own
|
|
124
129
|
* parameters. Refused — a `PluginCallRefusal` naming why — when `plugin` is
|
|
125
|
-
* not in this manifest's `requires`, is not loaded, is outside
|
|
126
|
-
* or exports no such name. A write inside it fails as a page
|
|
130
|
+
* not in this manifest's `requires` or `optional`, is not loaded, is outside
|
|
131
|
+
* the range, or exports no such name. A write inside it fails as a page
|
|
132
|
+
* query's does.
|
|
127
133
|
*/
|
|
128
134
|
call<T = unknown>(plugin: string, name: string, args?: unknown): Promise<T>;
|
|
135
|
+
/**
|
|
136
|
+
* Whether `plugin` — one this manifest names in `requires` or `optional` —
|
|
137
|
+
* is loaded now, at a version in the range. False for any other name. For a
|
|
138
|
+
* plugin that adapts to another being there ("Needs Speech"). Since 1.27;
|
|
139
|
+
* absent before.
|
|
140
|
+
*/
|
|
141
|
+
has?(plugin: string): boolean;
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Small images this plugin fetched — an outlet's logo — kept by core and
|
|
145
|
+
* served by buddi (since 1.27), so a page or a widget draws them without the
|
|
146
|
+
* dashboard reaching the host they came from. Declared as `assets`.
|
|
147
|
+
*
|
|
148
|
+
* `put` takes PNG, JPEG, GIF (its first frame) or ICO, at most 256 KB, and
|
|
149
|
+
* refuses SVG; core decodes it and keeps PNGs it drew itself, 64 and 128
|
|
150
|
+
* pixels square, served session-gated at `/api/plugin-assets/<plugin>/<key>`.
|
|
151
|
+
* 20 MB per plugin; everything is removed with the plugin. Refusals are
|
|
152
|
+
* thrown with the sentence why.
|
|
153
|
+
*/
|
|
154
|
+
export interface AssetsArea {
|
|
155
|
+
/** Keep `bytes` under `key` (lower case, digits, `.`, `_`, `-`), replacing what was there. */
|
|
156
|
+
put(key: string, bytes: Buffer, mime: string): Promise<PluginAsset>;
|
|
157
|
+
/** Delete one. False when there was none. */
|
|
158
|
+
delete(key: string): Promise<boolean>;
|
|
159
|
+
/** Every asset this plugin keeps. */
|
|
160
|
+
list(): Promise<PluginAsset[]>;
|
|
129
161
|
}
|
|
130
162
|
/**
|
|
131
163
|
* What a plugin may say to the owner: an urgency, a title, a few lines, a
|
|
@@ -288,11 +320,30 @@ export interface HttpRequest {
|
|
|
288
320
|
* address instead, once it is HTTPS on that same host and passes the
|
|
289
321
|
* address rules. GET only, no body, no `header`; the binding names this
|
|
290
322
|
* plugin and the host, so no other plugin can fetch it.
|
|
323
|
+
*
|
|
324
|
+
* `as: 'basic'` (since 1.26): the secret is a password (`http.basic`), and
|
|
325
|
+
* core sends `Authorization: Basic base64(username:password)` with the
|
|
326
|
+
* `username` the caller names — a CalDAV account's app-specific password.
|
|
327
|
+
* HTTPS only; GET, HEAD, OPTIONS, PROPFIND, REPORT, PUT or DELETE; a body
|
|
328
|
+
* of at most 256 KiB; an answer of at most 10 MB; 120 requests a minute per
|
|
329
|
+
* secret. The binding names this plugin and the host (or `*.` a domain),
|
|
330
|
+
* so no other plugin can sign in with it.
|
|
331
|
+
*
|
|
332
|
+
* `as: 'bearer'` (since 1.28): the secret is an OAuth sign-in core made
|
|
333
|
+
* with `secrets.signIn` (`http.bearer`), and core sends `Authorization:
|
|
334
|
+
* Bearer <access token>`, refreshing the token at the provider first when
|
|
335
|
+
* it is about to expire, and once more — then sending again — when the
|
|
336
|
+
* answer is 401. HTTPS only, to the host the binding names; GET, HEAD,
|
|
337
|
+
* POST, PUT, PATCH or DELETE; a body of at most 256 KiB; an answer of at
|
|
338
|
+
* most 10 MB; 300 requests a minute per secret. When the provider refuses
|
|
339
|
+
* the refresh (revoked, expired), the request throws `SignInExpiredError`
|
|
340
|
+
* (`code: 'sign-in-expired'`): the owner signs in again.
|
|
291
341
|
*/
|
|
292
342
|
auth?: {
|
|
293
343
|
secret: string;
|
|
294
344
|
header?: string;
|
|
295
|
-
as?: 'header' | 'url';
|
|
345
|
+
as?: 'header' | 'url' | 'basic' | 'bearer';
|
|
346
|
+
username?: string;
|
|
296
347
|
};
|
|
297
348
|
body?: string | Buffer;
|
|
298
349
|
signal?: AbortSignal;
|
|
@@ -558,6 +609,65 @@ export interface SecretsArea {
|
|
|
558
609
|
rebind(name: string, bindings: SecretBinding[]): Promise<boolean>;
|
|
559
610
|
/** Owner only. Delete a secret bound only to this plugin's kinds, value and all. */
|
|
560
611
|
delete(name: string): Promise<boolean>;
|
|
612
|
+
/**
|
|
613
|
+
* Owner only (1.28; with `http` declared). Start an OAuth sign-in to one of
|
|
614
|
+
* core's providers (`OAUTH_PROVIDERS`): PKCE and a state, core listening on
|
|
615
|
+
* a loopback port for the provider's answer. The tokens never reach the
|
|
616
|
+
* plugin: core keeps them as the owner secret `secret`, bound to
|
|
617
|
+
* `http.bearer` for this plugin and `host`, and sends them with `auth: {
|
|
618
|
+
* secret, as: 'bearer' }`. Signing in again under the same secret replaces
|
|
619
|
+
* the tokens and keeps the name. Absent on an older buddi.
|
|
620
|
+
*/
|
|
621
|
+
signIn?(req: OAuthSignInRequest): Promise<OAuthSignInStart>;
|
|
622
|
+
/** Where one of this plugin's sign-ins stands; `expired` once it is gone. */
|
|
623
|
+
signInStatus?(id: string): Promise<OAuthSignInStatus>;
|
|
624
|
+
/**
|
|
625
|
+
* Owner only. Finish a sign-in with what the owner pasted: the address the
|
|
626
|
+
* provider sent the browser to (when that browser is on another computer,
|
|
627
|
+
* the loopback page does not load) or the code alone.
|
|
628
|
+
*/
|
|
629
|
+
signInFinish?(id: string, pasted: string): Promise<OAuthSignInStatus>;
|
|
630
|
+
/** Owner only. Drop a sign-in that is still waiting. */
|
|
631
|
+
signInCancel?(id: string): Promise<void>;
|
|
632
|
+
}
|
|
633
|
+
/**
|
|
634
|
+
* How core runs a plugin's OAuth sign-in and keeps its tokens fresh: the
|
|
635
|
+
* loopback listener, PKCE, the code exchange and the refresh. Built by the
|
|
636
|
+
* composition root over `@buddi/runtime`'s OAuth pieces (core may not import
|
|
637
|
+
* the runtime) and handed in with `configurePluginHost({ signIns })`. Never a
|
|
638
|
+
* plugin's surface: the `secrets` area scopes every call to its plugin, and
|
|
639
|
+
* `save` is core writing the owner secret.
|
|
640
|
+
*/
|
|
641
|
+
export interface PluginSignInService {
|
|
642
|
+
begin(input: {
|
|
643
|
+
plugin: string;
|
|
644
|
+
provider: OAuthProvider;
|
|
645
|
+
clientId: string;
|
|
646
|
+
clientSecret?: string;
|
|
647
|
+
scopes: readonly string[];
|
|
648
|
+
/** Keep the envelope (JSON): core writes it as the owner secret. */
|
|
649
|
+
save(envelope: string): Promise<void>;
|
|
650
|
+
}): Promise<{
|
|
651
|
+
id: string;
|
|
652
|
+
authorizeUrl: string;
|
|
653
|
+
redirectUri: string;
|
|
654
|
+
expiresAt: number;
|
|
655
|
+
}>;
|
|
656
|
+
status(plugin: string, id: string): OAuthSignInStatus | undefined;
|
|
657
|
+
finish(plugin: string, id: string, pasted: string): Promise<OAuthSignInStatus>;
|
|
658
|
+
cancel(plugin: string, id: string): void;
|
|
659
|
+
/**
|
|
660
|
+
* The access token under vault entry `ref`, refreshed first when it expires
|
|
661
|
+
* within five minutes, or when `rejected` is the token stored (a 401
|
|
662
|
+
* answered it). Throws `SignInExpiredError` when the provider refuses the
|
|
663
|
+
* refresh. `refreshed` says the entry changed (the scrubber rebuilds).
|
|
664
|
+
*/
|
|
665
|
+
fresh(vault: Pick<Vault, 'get' | 'set'>, ref: string, secret: string, opts?: {
|
|
666
|
+
rejected?: string;
|
|
667
|
+
}): Promise<{
|
|
668
|
+
accessToken: string;
|
|
669
|
+
refreshed: boolean;
|
|
670
|
+
}>;
|
|
561
671
|
}
|
|
562
672
|
/**
|
|
563
673
|
* A way to reach the owner that this plugin carries: its mail account, a
|