@withbuddi/buddi 0.1.0-pre.24 → 0.1.0-pre.25
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/README.md +62 -47
- package/extension/background.js +24 -1
- package/extension/blob.png +0 -0
- package/extension/fonts/dm-mono-latin-400-normal.woff2 +0 -0
- package/extension/fonts/dm-mono-latin-500-normal.woff2 +0 -0
- package/extension/fonts/dm-sans-latin-ext-standard-normal.woff2 +0 -0
- package/extension/fonts/dm-sans-latin-standard-normal.woff2 +0 -0
- package/extension/icons/128.png +0 -0
- package/extension/icons/16.png +0 -0
- package/extension/icons/32.png +0 -0
- package/extension/icons/48.png +0 -0
- package/extension/manifest.json +4 -3
- package/extension/popup.css +199 -81
- package/extension/popup.html +39 -17
- package/extension/popup.js +133 -37
- package/node_modules/@buddi/cli/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/cli/dist/args.d.ts +59 -0
- package/node_modules/@buddi/cli/dist/args.d.ts.map +1 -1
- package/node_modules/@buddi/cli/dist/args.js +141 -0
- package/node_modules/@buddi/cli/dist/args.js.map +1 -1
- package/node_modules/@buddi/cli/dist/commands.d.ts +2 -0
- package/node_modules/@buddi/cli/dist/commands.d.ts.map +1 -1
- package/node_modules/@buddi/cli/dist/commands.js +71 -1
- package/node_modules/@buddi/cli/dist/commands.js.map +1 -1
- package/node_modules/@buddi/cli/dist/connections-cmd.d.ts +93 -0
- package/node_modules/@buddi/cli/dist/connections-cmd.d.ts.map +1 -0
- package/node_modules/@buddi/cli/dist/connections-cmd.js +657 -0
- package/node_modules/@buddi/cli/dist/connections-cmd.js.map +1 -0
- package/node_modules/@buddi/cli/dist/doctor-probes.d.ts.map +1 -1
- package/node_modules/@buddi/cli/dist/doctor-probes.js +53 -9
- package/node_modules/@buddi/cli/dist/doctor-probes.js.map +1 -1
- package/node_modules/@buddi/cli/dist/doctor.d.ts +1 -8
- package/node_modules/@buddi/cli/dist/doctor.d.ts.map +1 -1
- package/node_modules/@buddi/cli/dist/doctor.js +1 -15
- package/node_modules/@buddi/cli/dist/doctor.js.map +1 -1
- package/node_modules/@buddi/cli/dist/init-plan.d.ts +1 -2
- package/node_modules/@buddi/cli/dist/init-plan.d.ts.map +1 -1
- package/node_modules/@buddi/cli/dist/init-plan.js +2 -6
- package/node_modules/@buddi/cli/dist/init-plan.js.map +1 -1
- package/node_modules/@buddi/cli/dist/init.d.ts.map +1 -1
- package/node_modules/@buddi/cli/dist/init.js +5 -29
- package/node_modules/@buddi/cli/dist/init.js.map +1 -1
- package/node_modules/@buddi/cli/dist/main.d.ts.map +1 -1
- package/node_modules/@buddi/cli/dist/main.js +10 -1
- package/node_modules/@buddi/cli/dist/main.js.map +1 -1
- package/node_modules/@buddi/cli/dist/mcp/gateway-client.d.ts +5 -0
- package/node_modules/@buddi/cli/dist/mcp/gateway-client.d.ts.map +1 -1
- package/node_modules/@buddi/cli/dist/mcp/gateway-client.js +15 -4
- package/node_modules/@buddi/cli/dist/mcp/gateway-client.js.map +1 -1
- package/node_modules/@buddi/cli/dist/service/index.d.ts +4 -2
- package/node_modules/@buddi/cli/dist/service/index.d.ts.map +1 -1
- package/node_modules/@buddi/cli/dist/service/index.js +5 -7
- package/node_modules/@buddi/cli/dist/service/index.js.map +1 -1
- package/node_modules/@buddi/core/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/core/dist/agents/provider-from-env.d.ts +7 -6
- package/node_modules/@buddi/core/dist/agents/provider-from-env.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/agents/provider-from-env.js +9 -12
- package/node_modules/@buddi/core/dist/agents/provider-from-env.js.map +1 -1
- package/node_modules/@buddi/core/dist/backup/load.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/backup/load.js +37 -0
- package/node_modules/@buddi/core/dist/backup/load.js.map +1 -1
- package/node_modules/@buddi/core/dist/backup/restore.js +2 -2
- package/node_modules/@buddi/core/dist/backup/restore.js.map +1 -1
- package/node_modules/@buddi/core/dist/connection-config.d.ts +96 -0
- package/node_modules/@buddi/core/dist/connection-config.d.ts.map +1 -0
- package/node_modules/@buddi/core/dist/connection-config.js +308 -0
- package/node_modules/@buddi/core/dist/connection-config.js.map +1 -0
- package/node_modules/@buddi/core/dist/failures/owner-message.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/failures/owner-message.js +37 -10
- package/node_modules/@buddi/core/dist/failures/owner-message.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 +17 -1
- package/node_modules/@buddi/core/dist/onboarding/store.js.map +1 -1
- package/node_modules/@buddi/core/dist/onboarding/types.d.ts +14 -0
- package/node_modules/@buddi/core/dist/onboarding/types.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/provider-accounts.d.ts +21 -1
- package/node_modules/@buddi/core/dist/provider-accounts.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/provider-accounts.js +31 -1
- package/node_modules/@buddi/core/dist/provider-accounts.js.map +1 -1
- package/node_modules/@buddi/core/dist/provider.d.ts +4 -3
- package/node_modules/@buddi/core/dist/provider.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/provider.js +7 -4
- package/node_modules/@buddi/core/dist/provider.js.map +1 -1
- package/node_modules/@buddi/core/dist/testing/accounts.d.ts +12 -0
- package/node_modules/@buddi/core/dist/testing/accounts.d.ts.map +1 -0
- package/node_modules/@buddi/core/dist/testing/accounts.js +7 -0
- package/node_modules/@buddi/core/dist/testing/accounts.js.map +1 -0
- package/node_modules/@buddi/core/dist/testing/index.d.ts +1 -0
- package/node_modules/@buddi/core/dist/testing/index.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/testing/index.js +1 -0
- package/node_modules/@buddi/core/dist/testing/index.js.map +1 -1
- package/node_modules/@buddi/core/dist/vault/resolve.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/vault/resolve.js +0 -2
- package/node_modules/@buddi/core/dist/vault/resolve.js.map +1 -1
- package/node_modules/@buddi/core/migrations/053_drop_legacy_anthropic_env.sql +31 -0
- package/node_modules/@buddi/core/package.json +4 -0
- package/node_modules/@buddi/gateway/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/gateway/dist/agents-cli.js +1 -1
- package/node_modules/@buddi/gateway/dist/agents-cli.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/bootstrap.d.ts +1 -3
- package/node_modules/@buddi/gateway/dist/bootstrap.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/bootstrap.js +13 -8
- package/node_modules/@buddi/gateway/dist/bootstrap.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/cli.js +1 -1
- package/node_modules/@buddi/gateway/dist/mlxh.d.ts +44 -0
- package/node_modules/@buddi/gateway/dist/mlxh.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/mlxh.js +98 -0
- package/node_modules/@buddi/gateway/dist/mlxh.js.map +1 -0
- package/node_modules/@buddi/gateway/dist/owner-secrets.d.ts +21 -1
- package/node_modules/@buddi/gateway/dist/owner-secrets.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/owner-secrets.js +96 -2
- package/node_modules/@buddi/gateway/dist/owner-secrets.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/plugins/stage.d.ts +4 -0
- package/node_modules/@buddi/gateway/dist/plugins/stage.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/plugins/stage.js +3 -0
- package/node_modules/@buddi/gateway/dist/plugins/stage.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/plugins/update.d.ts +8 -0
- package/node_modules/@buddi/gateway/dist/plugins/update.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/plugins/update.js +8 -2
- package/node_modules/@buddi/gateway/dist/plugins/update.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/provider-accounts.d.ts +6 -13
- package/node_modules/@buddi/gateway/dist/provider-accounts.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/provider-accounts.js +76 -16
- package/node_modules/@buddi/gateway/dist/provider-accounts.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/providers.d.ts +3 -3
- package/node_modules/@buddi/gateway/dist/providers.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/providers.js +7 -7
- package/node_modules/@buddi/gateway/dist/providers.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/serve.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/serve.js +2 -0
- package/node_modules/@buddi/gateway/dist/serve.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/surfaces/context-budget.d.ts +1 -1
- package/node_modules/@buddi/gateway/dist/surfaces/context-budget.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/surfaces/context-budget.js +46 -3
- package/node_modules/@buddi/gateway/dist/surfaces/context-budget.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/surfaces/pending-question.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/surfaces/pending-question.js +2 -1
- package/node_modules/@buddi/gateway/dist/surfaces/pending-question.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/agents.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/agents.js +5 -1
- package/node_modules/@buddi/gateway/dist/web/agents.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/connections.d.ts +15 -5
- package/node_modules/@buddi/gateway/dist/web/connections.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/connections.js +70 -2
- package/node_modules/@buddi/gateway/dist/web/connections.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/extension.d.ts +6 -0
- package/node_modules/@buddi/gateway/dist/web/extension.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/extension.js +5 -1
- package/node_modules/@buddi/gateway/dist/web/extension.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/market.d.ts +18 -0
- package/node_modules/@buddi/gateway/dist/web/market.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/market.js +20 -14
- package/node_modules/@buddi/gateway/dist/web/market.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/onboarding.d.ts +21 -7
- package/node_modules/@buddi/gateway/dist/web/onboarding.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/onboarding.js +59 -9
- package/node_modules/@buddi/gateway/dist/web/onboarding.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/plugins.d.ts +5 -0
- package/node_modules/@buddi/gateway/dist/web/plugins.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/plugins.js +11 -1
- package/node_modules/@buddi/gateway/dist/web/plugins.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/recovery.js +1 -1
- package/node_modules/@buddi/gateway/dist/web/recovery.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/server.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/server.js +68 -3
- package/node_modules/@buddi/gateway/dist/web/server.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/static.d.ts +8 -0
- package/node_modules/@buddi/gateway/dist/web/static.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/static.js +21 -1
- package/node_modules/@buddi/gateway/dist/web/static.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/take-on.d.ts +91 -0
- package/node_modules/@buddi/gateway/dist/web/take-on.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/take-on.js +287 -0
- package/node_modules/@buddi/gateway/dist/web/take-on.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/anthropic.d.ts +7 -0
- package/node_modules/@buddi/runtime/dist/anthropic.d.ts.map +1 -1
- package/node_modules/@buddi/runtime/dist/anthropic.js +29 -3
- package/node_modules/@buddi/runtime/dist/anthropic.js.map +1 -1
- package/node_modules/@buddi/runtime/dist/provider-models.d.ts +2 -0
- package/node_modules/@buddi/runtime/dist/provider-models.d.ts.map +1 -1
- package/node_modules/@buddi/runtime/dist/provider-models.js +22 -0
- package/node_modules/@buddi/runtime/dist/provider-models.js.map +1 -1
- package/node_modules/@buddi/runtime/dist/search.js +2 -2
- package/node_modules/@buddi/tool-artifacts/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/tool-browser/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/tool-email/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/tool-host/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/tool-mcp/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/tool-mcp/dist/catalog.d.ts +32 -2
- package/node_modules/@buddi/tool-mcp/dist/catalog.d.ts.map +1 -1
- package/node_modules/@buddi/tool-mcp/dist/catalog.js +41 -7
- package/node_modules/@buddi/tool-mcp/dist/catalog.js.map +1 -1
- package/node_modules/@buddi/tool-mcp/dist/device.d.ts +53 -0
- package/node_modules/@buddi/tool-mcp/dist/device.d.ts.map +1 -0
- package/node_modules/@buddi/tool-mcp/dist/device.js +100 -0
- package/node_modules/@buddi/tool-mcp/dist/device.js.map +1 -0
- package/node_modules/@buddi/tool-mcp/dist/fetch.d.ts +10 -1
- package/node_modules/@buddi/tool-mcp/dist/fetch.d.ts.map +1 -1
- package/node_modules/@buddi/tool-mcp/dist/fetch.js +7 -1
- package/node_modules/@buddi/tool-mcp/dist/fetch.js.map +1 -1
- package/node_modules/@buddi/tool-mcp/dist/index.d.ts +5 -3
- package/node_modules/@buddi/tool-mcp/dist/index.d.ts.map +1 -1
- package/node_modules/@buddi/tool-mcp/dist/index.js +7 -4
- package/node_modules/@buddi/tool-mcp/dist/index.js.map +1 -1
- package/node_modules/@buddi/tool-mcp/dist/ports.d.ts +31 -0
- package/node_modules/@buddi/tool-mcp/dist/ports.d.ts.map +1 -1
- package/node_modules/@buddi/tool-mcp/dist/preview.d.ts +16 -0
- package/node_modules/@buddi/tool-mcp/dist/preview.d.ts.map +1 -0
- package/node_modules/@buddi/tool-mcp/dist/preview.js +52 -0
- package/node_modules/@buddi/tool-mcp/dist/preview.js.map +1 -0
- package/node_modules/@buddi/tool-mcp/dist/program.d.ts +73 -0
- package/node_modules/@buddi/tool-mcp/dist/program.d.ts.map +1 -0
- package/node_modules/@buddi/tool-mcp/dist/program.js +306 -0
- package/node_modules/@buddi/tool-mcp/dist/program.js.map +1 -0
- package/node_modules/@buddi/tool-mcp/dist/service.d.ts +131 -22
- package/node_modules/@buddi/tool-mcp/dist/service.d.ts.map +1 -1
- package/node_modules/@buddi/tool-mcp/dist/service.js +717 -29
- package/node_modules/@buddi/tool-mcp/dist/service.js.map +1 -1
- package/node_modules/@buddi/tool-mcp/dist/session.d.ts +13 -1
- package/node_modules/@buddi/tool-mcp/dist/session.d.ts.map +1 -1
- package/node_modules/@buddi/tool-mcp/dist/session.js +27 -4
- package/node_modules/@buddi/tool-mcp/dist/session.js.map +1 -1
- package/node_modules/@buddi/tool-mcp/dist/store.d.ts +39 -1
- package/node_modules/@buddi/tool-mcp/dist/store.d.ts.map +1 -1
- package/node_modules/@buddi/tool-mcp/dist/store.js +24 -0
- package/node_modules/@buddi/tool-mcp/dist/store.js.map +1 -1
- package/node_modules/@buddi/tool-mcp/dist/testing/fake.d.ts +6 -0
- package/node_modules/@buddi/tool-mcp/dist/testing/fake.d.ts.map +1 -1
- package/node_modules/@buddi/tool-mcp/dist/testing/fake.js +26 -0
- package/node_modules/@buddi/tool-mcp/dist/testing/fake.js.map +1 -1
- package/node_modules/@buddi/tool-mcp/migrations/003_token_auth.sql +14 -0
- package/node_modules/@buddi/tool-mcp/migrations/004_programs.sql +26 -0
- package/node_modules/@buddi/tool-memory/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/tool-web/dist/.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/packages/cli/dist/.tsbuildinfo +1 -1
- package/packages/cli/dist/args.d.ts +59 -0
- package/packages/cli/dist/args.d.ts.map +1 -1
- package/packages/cli/dist/args.js +141 -0
- package/packages/cli/dist/args.js.map +1 -1
- package/packages/cli/dist/commands.d.ts +2 -0
- package/packages/cli/dist/commands.d.ts.map +1 -1
- package/packages/cli/dist/commands.js +71 -1
- package/packages/cli/dist/commands.js.map +1 -1
- package/packages/cli/dist/connections-cmd.d.ts +93 -0
- package/packages/cli/dist/connections-cmd.d.ts.map +1 -0
- package/packages/cli/dist/connections-cmd.js +657 -0
- package/packages/cli/dist/connections-cmd.js.map +1 -0
- package/packages/cli/dist/doctor-probes.d.ts.map +1 -1
- package/packages/cli/dist/doctor-probes.js +53 -9
- package/packages/cli/dist/doctor-probes.js.map +1 -1
- package/packages/cli/dist/doctor.d.ts +1 -8
- package/packages/cli/dist/doctor.d.ts.map +1 -1
- package/packages/cli/dist/doctor.js +1 -15
- package/packages/cli/dist/doctor.js.map +1 -1
- package/packages/cli/dist/init-plan.d.ts +1 -2
- package/packages/cli/dist/init-plan.d.ts.map +1 -1
- package/packages/cli/dist/init-plan.js +2 -6
- package/packages/cli/dist/init-plan.js.map +1 -1
- package/packages/cli/dist/init.d.ts.map +1 -1
- package/packages/cli/dist/init.js +5 -29
- package/packages/cli/dist/init.js.map +1 -1
- package/packages/cli/dist/main.d.ts.map +1 -1
- package/packages/cli/dist/main.js +10 -1
- package/packages/cli/dist/main.js.map +1 -1
- package/packages/cli/dist/mcp/gateway-client.d.ts +5 -0
- package/packages/cli/dist/mcp/gateway-client.d.ts.map +1 -1
- package/packages/cli/dist/mcp/gateway-client.js +15 -4
- package/packages/cli/dist/mcp/gateway-client.js.map +1 -1
- package/packages/cli/dist/service/index.d.ts +4 -2
- package/packages/cli/dist/service/index.d.ts.map +1 -1
- package/packages/cli/dist/service/index.js +5 -7
- package/packages/cli/dist/service/index.js.map +1 -1
- package/packages/core/dist/.tsbuildinfo +1 -1
- package/packages/core/dist/agents/provider-from-env.d.ts +7 -6
- package/packages/core/dist/agents/provider-from-env.d.ts.map +1 -1
- package/packages/core/dist/agents/provider-from-env.js +9 -12
- package/packages/core/dist/agents/provider-from-env.js.map +1 -1
- package/packages/core/dist/backup/load.d.ts.map +1 -1
- package/packages/core/dist/backup/load.js +37 -0
- package/packages/core/dist/backup/load.js.map +1 -1
- package/packages/core/dist/backup/restore.js +2 -2
- package/packages/core/dist/backup/restore.js.map +1 -1
- package/packages/core/dist/connection-config.d.ts +96 -0
- package/packages/core/dist/connection-config.d.ts.map +1 -0
- package/packages/core/dist/connection-config.js +308 -0
- package/packages/core/dist/connection-config.js.map +1 -0
- package/packages/core/dist/failures/owner-message.d.ts.map +1 -1
- package/packages/core/dist/failures/owner-message.js +37 -10
- package/packages/core/dist/failures/owner-message.js.map +1 -1
- package/packages/core/dist/onboarding/store.d.ts.map +1 -1
- package/packages/core/dist/onboarding/store.js +17 -1
- package/packages/core/dist/onboarding/store.js.map +1 -1
- package/packages/core/dist/onboarding/types.d.ts +14 -0
- package/packages/core/dist/onboarding/types.d.ts.map +1 -1
- package/packages/core/dist/provider-accounts.d.ts +21 -1
- package/packages/core/dist/provider-accounts.d.ts.map +1 -1
- package/packages/core/dist/provider-accounts.js +31 -1
- package/packages/core/dist/provider-accounts.js.map +1 -1
- package/packages/core/dist/provider.d.ts +4 -3
- package/packages/core/dist/provider.d.ts.map +1 -1
- package/packages/core/dist/provider.js +7 -4
- package/packages/core/dist/provider.js.map +1 -1
- package/packages/core/dist/testing/accounts.d.ts +12 -0
- package/packages/core/dist/testing/accounts.d.ts.map +1 -0
- package/packages/core/dist/testing/accounts.js +7 -0
- package/packages/core/dist/testing/accounts.js.map +1 -0
- package/packages/core/dist/testing/index.d.ts +1 -0
- package/packages/core/dist/testing/index.d.ts.map +1 -1
- package/packages/core/dist/testing/index.js +1 -0
- package/packages/core/dist/testing/index.js.map +1 -1
- package/packages/core/dist/vault/resolve.d.ts.map +1 -1
- package/packages/core/dist/vault/resolve.js +0 -2
- package/packages/core/dist/vault/resolve.js.map +1 -1
- package/packages/core/migrations/053_drop_legacy_anthropic_env.sql +31 -0
- package/packages/core/package.json +4 -0
- package/packages/gateway/dist/.tsbuildinfo +1 -1
- package/packages/gateway/dist/agents-cli.js +1 -1
- package/packages/gateway/dist/agents-cli.js.map +1 -1
- package/packages/gateway/dist/bootstrap.d.ts +1 -3
- package/packages/gateway/dist/bootstrap.d.ts.map +1 -1
- package/packages/gateway/dist/bootstrap.js +13 -8
- package/packages/gateway/dist/bootstrap.js.map +1 -1
- package/packages/gateway/dist/cli.js +1 -1
- package/packages/gateway/dist/mlxh.d.ts +44 -0
- package/packages/gateway/dist/mlxh.d.ts.map +1 -0
- package/packages/gateway/dist/mlxh.js +98 -0
- package/packages/gateway/dist/mlxh.js.map +1 -0
- package/packages/gateway/dist/owner-secrets.d.ts +21 -1
- package/packages/gateway/dist/owner-secrets.d.ts.map +1 -1
- package/packages/gateway/dist/owner-secrets.js +96 -2
- package/packages/gateway/dist/owner-secrets.js.map +1 -1
- package/packages/gateway/dist/plugins/stage.d.ts +4 -0
- package/packages/gateway/dist/plugins/stage.d.ts.map +1 -1
- package/packages/gateway/dist/plugins/stage.js +3 -0
- package/packages/gateway/dist/plugins/stage.js.map +1 -1
- package/packages/gateway/dist/plugins/update.d.ts +8 -0
- package/packages/gateway/dist/plugins/update.d.ts.map +1 -1
- package/packages/gateway/dist/plugins/update.js +8 -2
- package/packages/gateway/dist/plugins/update.js.map +1 -1
- package/packages/gateway/dist/provider-accounts.d.ts +6 -13
- package/packages/gateway/dist/provider-accounts.d.ts.map +1 -1
- package/packages/gateway/dist/provider-accounts.js +76 -16
- package/packages/gateway/dist/provider-accounts.js.map +1 -1
- package/packages/gateway/dist/providers.d.ts +3 -3
- package/packages/gateway/dist/providers.d.ts.map +1 -1
- package/packages/gateway/dist/providers.js +7 -7
- package/packages/gateway/dist/providers.js.map +1 -1
- package/packages/gateway/dist/serve.d.ts.map +1 -1
- package/packages/gateway/dist/serve.js +2 -0
- package/packages/gateway/dist/serve.js.map +1 -1
- package/packages/gateway/dist/surfaces/context-budget.d.ts +1 -1
- package/packages/gateway/dist/surfaces/context-budget.d.ts.map +1 -1
- package/packages/gateway/dist/surfaces/context-budget.js +46 -3
- package/packages/gateway/dist/surfaces/context-budget.js.map +1 -1
- package/packages/gateway/dist/surfaces/pending-question.d.ts.map +1 -1
- package/packages/gateway/dist/surfaces/pending-question.js +2 -1
- package/packages/gateway/dist/surfaces/pending-question.js.map +1 -1
- package/packages/gateway/dist/web/agents.d.ts.map +1 -1
- package/packages/gateway/dist/web/agents.js +5 -1
- package/packages/gateway/dist/web/agents.js.map +1 -1
- package/packages/gateway/dist/web/connections.d.ts +15 -5
- package/packages/gateway/dist/web/connections.d.ts.map +1 -1
- package/packages/gateway/dist/web/connections.js +70 -2
- package/packages/gateway/dist/web/connections.js.map +1 -1
- package/packages/gateway/dist/web/extension.d.ts +6 -0
- package/packages/gateway/dist/web/extension.d.ts.map +1 -1
- package/packages/gateway/dist/web/extension.js +5 -1
- package/packages/gateway/dist/web/extension.js.map +1 -1
- package/packages/gateway/dist/web/market.d.ts +18 -0
- package/packages/gateway/dist/web/market.d.ts.map +1 -1
- package/packages/gateway/dist/web/market.js +20 -14
- package/packages/gateway/dist/web/market.js.map +1 -1
- package/packages/gateway/dist/web/onboarding.d.ts +21 -7
- package/packages/gateway/dist/web/onboarding.d.ts.map +1 -1
- package/packages/gateway/dist/web/onboarding.js +59 -9
- package/packages/gateway/dist/web/onboarding.js.map +1 -1
- package/packages/gateway/dist/web/plugins.d.ts +5 -0
- package/packages/gateway/dist/web/plugins.d.ts.map +1 -1
- package/packages/gateway/dist/web/plugins.js +11 -1
- package/packages/gateway/dist/web/plugins.js.map +1 -1
- package/packages/gateway/dist/web/recovery.js +1 -1
- package/packages/gateway/dist/web/recovery.js.map +1 -1
- package/packages/gateway/dist/web/server.d.ts.map +1 -1
- package/packages/gateway/dist/web/server.js +68 -3
- package/packages/gateway/dist/web/server.js.map +1 -1
- package/packages/gateway/dist/web/static.d.ts +8 -0
- package/packages/gateway/dist/web/static.d.ts.map +1 -1
- package/packages/gateway/dist/web/static.js +21 -1
- package/packages/gateway/dist/web/static.js.map +1 -1
- package/packages/gateway/dist/web/take-on.d.ts +91 -0
- package/packages/gateway/dist/web/take-on.d.ts.map +1 -0
- package/packages/gateway/dist/web/take-on.js +287 -0
- package/packages/gateway/dist/web/take-on.js.map +1 -0
- package/packages/install/dist/.tsbuildinfo +1 -1
- package/packages/runtime/dist/.tsbuildinfo +1 -1
- package/packages/runtime/dist/anthropic.d.ts +7 -0
- package/packages/runtime/dist/anthropic.d.ts.map +1 -1
- package/packages/runtime/dist/anthropic.js +29 -3
- package/packages/runtime/dist/anthropic.js.map +1 -1
- package/packages/runtime/dist/provider-models.d.ts +2 -0
- package/packages/runtime/dist/provider-models.d.ts.map +1 -1
- package/packages/runtime/dist/provider-models.js +22 -0
- package/packages/runtime/dist/provider-models.js.map +1 -1
- package/packages/runtime/dist/search.js +2 -2
- package/packages/tools/artifacts/dist/.tsbuildinfo +1 -1
- package/packages/tools/browser/dist/.tsbuildinfo +1 -1
- package/packages/tools/email/dist/.tsbuildinfo +1 -1
- package/packages/tools/host/dist/.tsbuildinfo +1 -1
- package/packages/tools/mcp/dist/.tsbuildinfo +1 -1
- package/packages/tools/mcp/dist/catalog.d.ts +32 -2
- package/packages/tools/mcp/dist/catalog.d.ts.map +1 -1
- package/packages/tools/mcp/dist/catalog.js +41 -7
- package/packages/tools/mcp/dist/catalog.js.map +1 -1
- package/packages/tools/mcp/dist/device.d.ts +53 -0
- package/packages/tools/mcp/dist/device.d.ts.map +1 -0
- package/packages/tools/mcp/dist/device.js +100 -0
- package/packages/tools/mcp/dist/device.js.map +1 -0
- package/packages/tools/mcp/dist/fetch.d.ts +10 -1
- package/packages/tools/mcp/dist/fetch.d.ts.map +1 -1
- package/packages/tools/mcp/dist/fetch.js +7 -1
- package/packages/tools/mcp/dist/fetch.js.map +1 -1
- package/packages/tools/mcp/dist/index.d.ts +5 -3
- package/packages/tools/mcp/dist/index.d.ts.map +1 -1
- package/packages/tools/mcp/dist/index.js +7 -4
- package/packages/tools/mcp/dist/index.js.map +1 -1
- package/packages/tools/mcp/dist/ports.d.ts +31 -0
- package/packages/tools/mcp/dist/ports.d.ts.map +1 -1
- package/packages/tools/mcp/dist/preview.d.ts +16 -0
- package/packages/tools/mcp/dist/preview.d.ts.map +1 -0
- package/packages/tools/mcp/dist/preview.js +52 -0
- package/packages/tools/mcp/dist/preview.js.map +1 -0
- package/packages/tools/mcp/dist/program.d.ts +73 -0
- package/packages/tools/mcp/dist/program.d.ts.map +1 -0
- package/packages/tools/mcp/dist/program.js +306 -0
- package/packages/tools/mcp/dist/program.js.map +1 -0
- package/packages/tools/mcp/dist/service.d.ts +131 -22
- package/packages/tools/mcp/dist/service.d.ts.map +1 -1
- package/packages/tools/mcp/dist/service.js +717 -29
- package/packages/tools/mcp/dist/service.js.map +1 -1
- package/packages/tools/mcp/dist/session.d.ts +13 -1
- package/packages/tools/mcp/dist/session.d.ts.map +1 -1
- package/packages/tools/mcp/dist/session.js +27 -4
- package/packages/tools/mcp/dist/session.js.map +1 -1
- package/packages/tools/mcp/dist/store.d.ts +39 -1
- package/packages/tools/mcp/dist/store.d.ts.map +1 -1
- package/packages/tools/mcp/dist/store.js +24 -0
- package/packages/tools/mcp/dist/store.js.map +1 -1
- package/packages/tools/mcp/dist/testing/fake.d.ts +6 -0
- package/packages/tools/mcp/dist/testing/fake.d.ts.map +1 -1
- package/packages/tools/mcp/dist/testing/fake.js +26 -0
- package/packages/tools/mcp/dist/testing/fake.js.map +1 -1
- package/packages/tools/mcp/migrations/003_token_auth.sql +14 -0
- package/packages/tools/mcp/migrations/004_programs.sql +26 -0
- package/packages/tools/memory/dist/.tsbuildinfo +1 -1
- package/packages/tools/web/dist/.tsbuildinfo +1 -1
- package/packages/web/dist/assets/index-DIXokQ4n.css +1 -0
- package/packages/web/dist/assets/index-uqQyuYjR.js +128 -0
- package/packages/web/dist/assets/{lottie_light-D7STH9tF.js → lottie_light-j3HICV9o.js} +1 -1
- package/packages/web/dist/build.json +1 -1
- package/packages/web/dist/index.html +2 -2
- package/packages/web/dist/manifest.webmanifest +24 -5
- package/packages/web/dist/precache.json +4 -4
- package/packages/web/dist/assets/index-C-NAQ_MT.css +0 -1
- package/packages/web/dist/assets/index-DzFS39N3.js +0 -125
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* "I have a config" on Settings → Connections (docs/connections.md,
|
|
3
|
+
* "Connect"): the block other MCP clients take, read into what the connect
|
|
4
|
+
* screens ask for. The standard `{ "mcpServers": { "<name>": { … } } }`, or
|
|
5
|
+
* one server's `{ "url": …, "headers": … }` on its own.
|
|
6
|
+
*
|
|
7
|
+
* A header becomes the token sign-in: its name, the value as the token, and
|
|
8
|
+
* `Bearer ` or `Basic ` as the words before it when the value starts with
|
|
9
|
+
* one. Nothing here keeps, logs or shows the value; the caller hands it to
|
|
10
|
+
* the token screen and clears the box.
|
|
11
|
+
*
|
|
12
|
+
* A program (`{ command, args, env }`, or a `claude mcp add … -- <command>`
|
|
13
|
+
* line) is read by `parsePastedServer` into what "A program on this computer"
|
|
14
|
+
* asks for: the command, its arguments, and each variable with a Secret
|
|
15
|
+
* switch already on when its name looks like one.
|
|
16
|
+
*
|
|
17
|
+
* Shared by the dashboard's paste box and `buddi connections add --json`, so
|
|
18
|
+
* both read a block and refuse one with the same sentences. A leaf module
|
|
19
|
+
* (no imports), reached through the `@buddi/core/connection-config` subpath
|
|
20
|
+
* so the dashboard bundle loads nothing else from core.
|
|
21
|
+
*/
|
|
22
|
+
export const CONFIG_REFUSALS = {
|
|
23
|
+
json: 'That is not JSON. Paste the whole block, braces included.',
|
|
24
|
+
empty: 'There is no server in it.',
|
|
25
|
+
command: 'It starts a program on this computer rather than naming an address. Use "A program on this computer" instead.',
|
|
26
|
+
sse: 'buddi speaks Streamable HTTP; this server is SSE-only.',
|
|
27
|
+
url: 'It has no url. buddi connects to a server by its https:// address.',
|
|
28
|
+
};
|
|
29
|
+
const isObject = (value) => typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
30
|
+
/** Read a pasted config, or throw a sentence saying why not. */
|
|
31
|
+
export function parseConnectionConfig(text) {
|
|
32
|
+
let parsed;
|
|
33
|
+
try {
|
|
34
|
+
parsed = JSON.parse(text.trim());
|
|
35
|
+
}
|
|
36
|
+
catch {
|
|
37
|
+
throw new Error(CONFIG_REFUSALS.json);
|
|
38
|
+
}
|
|
39
|
+
if (!isObject(parsed))
|
|
40
|
+
throw new Error(CONFIG_REFUSALS.json);
|
|
41
|
+
let name;
|
|
42
|
+
let server = parsed;
|
|
43
|
+
if ('mcpServers' in parsed) {
|
|
44
|
+
const servers = parsed.mcpServers;
|
|
45
|
+
if (!isObject(servers))
|
|
46
|
+
throw new Error(CONFIG_REFUSALS.empty);
|
|
47
|
+
const names = Object.keys(servers);
|
|
48
|
+
if (names.length === 0)
|
|
49
|
+
throw new Error(CONFIG_REFUSALS.empty);
|
|
50
|
+
if (names.length > 1)
|
|
51
|
+
throw new Error(`It names ${names.length} servers (${names.join(', ')}). Paste one at a time.`);
|
|
52
|
+
name = names[0];
|
|
53
|
+
const entry = servers[name];
|
|
54
|
+
if (!isObject(entry))
|
|
55
|
+
throw new Error(CONFIG_REFUSALS.url);
|
|
56
|
+
server = entry;
|
|
57
|
+
}
|
|
58
|
+
if ('command' in server)
|
|
59
|
+
throw new Error(CONFIG_REFUSALS.command);
|
|
60
|
+
if (typeof server.type === 'string' && server.type.toLowerCase() === 'sse')
|
|
61
|
+
throw new Error(CONFIG_REFUSALS.sse);
|
|
62
|
+
const url = typeof server.url === 'string' ? server.url.trim() : '';
|
|
63
|
+
if (url === '')
|
|
64
|
+
throw new Error(CONFIG_REFUSALS.url);
|
|
65
|
+
const headers = isObject(server.headers)
|
|
66
|
+
? Object.entries(server.headers).filter((entry) => typeof entry[1] === 'string' && entry[0].trim() !== '')
|
|
67
|
+
: [];
|
|
68
|
+
const chosen = headers.find(([key]) => key.toLowerCase() === 'authorization') ?? headers[0];
|
|
69
|
+
let header;
|
|
70
|
+
let placeholder = false;
|
|
71
|
+
if (chosen) {
|
|
72
|
+
const [key, raw] = chosen;
|
|
73
|
+
const words = /^(Bearer|Basic)\s+/i.exec(raw.trim());
|
|
74
|
+
const prefix = words ? `${words[1].charAt(0).toUpperCase()}${words[1].slice(1).toLowerCase()} ` : '';
|
|
75
|
+
let value = words ? raw.trim().slice(words[0].length).trim() : raw.trim();
|
|
76
|
+
if (/\$\{[^}]*\}|^\$[A-Z_][A-Z0-9_]*$|^<[^>]+>$/i.test(value)) {
|
|
77
|
+
placeholder = true;
|
|
78
|
+
value = '';
|
|
79
|
+
}
|
|
80
|
+
header = { name: key.trim(), prefix, value };
|
|
81
|
+
}
|
|
82
|
+
return {
|
|
83
|
+
url,
|
|
84
|
+
...(name ? { name } : {}),
|
|
85
|
+
...(header ? { header } : {}),
|
|
86
|
+
dropped: headers.filter((entry) => entry !== chosen).map(([key]) => key),
|
|
87
|
+
placeholder,
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
export const PROGRAM_REFUSALS = {
|
|
91
|
+
command: 'It names no command to run.',
|
|
92
|
+
claude: 'That claude mcp add line names no server and no command. It looks like: claude mcp add <name> -- <command> <args…>',
|
|
93
|
+
quote: 'A quote in that line is never closed.',
|
|
94
|
+
env: 'An environment variable is written NAME=value.',
|
|
95
|
+
};
|
|
96
|
+
/** A variable whose name says it is a credential: its Secret switch starts on. */
|
|
97
|
+
export function looksSecret(name) {
|
|
98
|
+
return /TOKEN|KEY|SECRET|PASSWORD|PASSWD|CREDENTIAL|AUTH/i.test(name);
|
|
99
|
+
}
|
|
100
|
+
const ENV_NAME = /^[A-Za-z_][A-Za-z0-9_]*$/;
|
|
101
|
+
function isPlaceholder(value) {
|
|
102
|
+
return /\$\{[^}]*\}|^\$[A-Z_][A-Z0-9_]*$|^<[^>]+>$|^your[_-]/i.test(value.trim());
|
|
103
|
+
}
|
|
104
|
+
function pastedEnv(name, raw) {
|
|
105
|
+
const placeholder = isPlaceholder(raw);
|
|
106
|
+
return { name, value: placeholder ? '' : raw, secret: looksSecret(name), placeholder };
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Split a shell line into words the way a POSIX shell would for the simple
|
|
110
|
+
* cases a server's docs print: spaces, 'single' and "double" quotes, a
|
|
111
|
+
* backslash escape, and a backslash at the end of a line continuing it.
|
|
112
|
+
* No expansion of any kind.
|
|
113
|
+
*/
|
|
114
|
+
export function shellWords(line) {
|
|
115
|
+
const words = [];
|
|
116
|
+
let word = '';
|
|
117
|
+
let started = false;
|
|
118
|
+
let quote = null;
|
|
119
|
+
for (let i = 0; i < line.length; i += 1) {
|
|
120
|
+
const c = line[i];
|
|
121
|
+
if (quote === "'") {
|
|
122
|
+
if (c === "'")
|
|
123
|
+
quote = null;
|
|
124
|
+
else
|
|
125
|
+
word += c;
|
|
126
|
+
continue;
|
|
127
|
+
}
|
|
128
|
+
if (quote === '"') {
|
|
129
|
+
if (c === '"')
|
|
130
|
+
quote = null;
|
|
131
|
+
else if (c === '\\' && i + 1 < line.length && '"\\$`\n'.includes(line[i + 1])) {
|
|
132
|
+
const next = line[++i];
|
|
133
|
+
if (next !== '\n')
|
|
134
|
+
word += next;
|
|
135
|
+
}
|
|
136
|
+
else
|
|
137
|
+
word += c;
|
|
138
|
+
continue;
|
|
139
|
+
}
|
|
140
|
+
if (c === '\\') {
|
|
141
|
+
const next = line[i + 1];
|
|
142
|
+
if (next === undefined)
|
|
143
|
+
continue;
|
|
144
|
+
i += 1;
|
|
145
|
+
if (next === '\n' || (next === '\r' && line[i + 1] === '\n')) {
|
|
146
|
+
if (next === '\r')
|
|
147
|
+
i += 1;
|
|
148
|
+
continue;
|
|
149
|
+
}
|
|
150
|
+
word += next;
|
|
151
|
+
started = true;
|
|
152
|
+
continue;
|
|
153
|
+
}
|
|
154
|
+
if (c === "'" || c === '"') {
|
|
155
|
+
quote = c;
|
|
156
|
+
started = true;
|
|
157
|
+
continue;
|
|
158
|
+
}
|
|
159
|
+
if (/\s/.test(c)) {
|
|
160
|
+
if (started) {
|
|
161
|
+
words.push(word);
|
|
162
|
+
word = '';
|
|
163
|
+
started = false;
|
|
164
|
+
}
|
|
165
|
+
continue;
|
|
166
|
+
}
|
|
167
|
+
word += c;
|
|
168
|
+
started = true;
|
|
169
|
+
}
|
|
170
|
+
if (quote)
|
|
171
|
+
throw new Error(PROGRAM_REFUSALS.quote);
|
|
172
|
+
if (started)
|
|
173
|
+
words.push(word);
|
|
174
|
+
return words;
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* `claude mcp add <name> [-e|--env K=V]... [-s|--scope x] [-t|--transport stdio] -- <command> <args…>`,
|
|
178
|
+
* what servers' docs print. An http or sse transport with an address reads
|
|
179
|
+
* as a remote server instead (its `-H` header as the token).
|
|
180
|
+
*/
|
|
181
|
+
export function parseClaudeMcpAdd(line) {
|
|
182
|
+
const words = shellWords(line.trim());
|
|
183
|
+
let i = 0;
|
|
184
|
+
if (words[i] === 'claude')
|
|
185
|
+
i += 1;
|
|
186
|
+
if (words[i] === 'mcp')
|
|
187
|
+
i += 1;
|
|
188
|
+
if (words[i] === 'add')
|
|
189
|
+
i += 1;
|
|
190
|
+
const env = [];
|
|
191
|
+
const headers = [];
|
|
192
|
+
let transport = 'stdio';
|
|
193
|
+
let name;
|
|
194
|
+
let program;
|
|
195
|
+
const takeEnv = (pair) => {
|
|
196
|
+
const at = pair.indexOf('=');
|
|
197
|
+
const key = at > 0 ? pair.slice(0, at).trim() : '';
|
|
198
|
+
if (!ENV_NAME.test(key))
|
|
199
|
+
throw new Error(PROGRAM_REFUSALS.env);
|
|
200
|
+
env.push(pastedEnv(key, pair.slice(at + 1)));
|
|
201
|
+
};
|
|
202
|
+
const rest = [];
|
|
203
|
+
for (; i < words.length; i += 1) {
|
|
204
|
+
const w = words[i];
|
|
205
|
+
if (w === '--') {
|
|
206
|
+
program = words.slice(i + 1);
|
|
207
|
+
break;
|
|
208
|
+
}
|
|
209
|
+
const [flag, inline] = w.startsWith('--') && w.includes('=') ? [w.slice(0, w.indexOf('=')), w.slice(w.indexOf('=') + 1)] : [w, undefined];
|
|
210
|
+
if (flag === '-e' || flag === '--env') {
|
|
211
|
+
if (inline !== undefined) {
|
|
212
|
+
takeEnv(inline);
|
|
213
|
+
continue;
|
|
214
|
+
}
|
|
215
|
+
// Variadic in claude's own parser: every NAME=value that follows.
|
|
216
|
+
let took = false;
|
|
217
|
+
while (i + 1 < words.length && /^[A-Za-z_][A-Za-z0-9_]*=/.test(words[i + 1])) {
|
|
218
|
+
takeEnv(words[++i]);
|
|
219
|
+
took = true;
|
|
220
|
+
}
|
|
221
|
+
if (!took)
|
|
222
|
+
throw new Error(PROGRAM_REFUSALS.env);
|
|
223
|
+
continue;
|
|
224
|
+
}
|
|
225
|
+
if (flag === '-s' || flag === '--scope') {
|
|
226
|
+
if (inline === undefined)
|
|
227
|
+
i += 1;
|
|
228
|
+
continue;
|
|
229
|
+
}
|
|
230
|
+
if (flag === '-t' || flag === '--transport') {
|
|
231
|
+
transport = (inline ?? words[++i] ?? 'stdio').toLowerCase();
|
|
232
|
+
continue;
|
|
233
|
+
}
|
|
234
|
+
if (flag === '-H' || flag === '--header') {
|
|
235
|
+
const h = inline ?? words[++i];
|
|
236
|
+
if (h)
|
|
237
|
+
headers.push(h);
|
|
238
|
+
continue;
|
|
239
|
+
}
|
|
240
|
+
if (flag.startsWith('-') && name === undefined)
|
|
241
|
+
continue;
|
|
242
|
+
if (name === undefined) {
|
|
243
|
+
name = w;
|
|
244
|
+
continue;
|
|
245
|
+
}
|
|
246
|
+
rest.push(w);
|
|
247
|
+
}
|
|
248
|
+
if (program === undefined)
|
|
249
|
+
program = rest;
|
|
250
|
+
else if (rest.length > 0)
|
|
251
|
+
program = [...rest, ...program];
|
|
252
|
+
if (transport === 'http' || transport === 'sse' || (program.length === 1 && /^https?:\/\//i.test(program[0]))) {
|
|
253
|
+
const url = program[0];
|
|
254
|
+
if (!url)
|
|
255
|
+
throw new Error(CONFIG_REFUSALS.url);
|
|
256
|
+
const header = {};
|
|
257
|
+
for (const h of headers) {
|
|
258
|
+
const at = h.indexOf(':');
|
|
259
|
+
if (at > 0)
|
|
260
|
+
header[h.slice(0, at).trim()] = h.slice(at + 1).trim();
|
|
261
|
+
}
|
|
262
|
+
return { kind: 'remote', config: parseConnectionConfig(JSON.stringify({ mcpServers: { [name ?? 'server']: { type: transport, url, headers: header } } })) };
|
|
263
|
+
}
|
|
264
|
+
if (!name || program.length === 0)
|
|
265
|
+
throw new Error(PROGRAM_REFUSALS.claude);
|
|
266
|
+
return { kind: 'program', program: { name, command: program[0], args: program.slice(1), env } };
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* What the paste box and `--json` read: a `claude mcp add` line, or the
|
|
270
|
+
* `mcpServers` block (or one server of it), remote or a program.
|
|
271
|
+
*/
|
|
272
|
+
export function parsePastedServer(text) {
|
|
273
|
+
const trimmed = text.trim();
|
|
274
|
+
if (/^claude\s+mcp\s+add\b/.test(trimmed))
|
|
275
|
+
return parseClaudeMcpAdd(trimmed);
|
|
276
|
+
let parsed;
|
|
277
|
+
try {
|
|
278
|
+
parsed = JSON.parse(trimmed);
|
|
279
|
+
}
|
|
280
|
+
catch {
|
|
281
|
+
throw new Error(CONFIG_REFUSALS.json);
|
|
282
|
+
}
|
|
283
|
+
if (!isObject(parsed))
|
|
284
|
+
throw new Error(CONFIG_REFUSALS.json);
|
|
285
|
+
let name;
|
|
286
|
+
let server = parsed;
|
|
287
|
+
if ('mcpServers' in parsed) {
|
|
288
|
+
const servers = parsed.mcpServers;
|
|
289
|
+
if (!isObject(servers))
|
|
290
|
+
throw new Error(CONFIG_REFUSALS.empty);
|
|
291
|
+
const names = Object.keys(servers);
|
|
292
|
+
if (names.length === 1 && isObject(servers[names[0]])) {
|
|
293
|
+
name = names[0];
|
|
294
|
+
server = servers[name];
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
if (!('command' in server))
|
|
298
|
+
return { kind: 'remote', config: parseConnectionConfig(trimmed) };
|
|
299
|
+
const command = typeof server.command === 'string' ? server.command.trim() : '';
|
|
300
|
+
if (command === '')
|
|
301
|
+
throw new Error(PROGRAM_REFUSALS.command);
|
|
302
|
+
const args = Array.isArray(server.args) ? server.args.map((a) => String(a)) : [];
|
|
303
|
+
const env = isObject(server.env)
|
|
304
|
+
? Object.entries(server.env).filter(([key]) => ENV_NAME.test(key)).map(([key, value]) => pastedEnv(key, String(value ?? '')))
|
|
305
|
+
: [];
|
|
306
|
+
return { kind: 'program', program: { ...(name ? { name } : {}), command, args, env } };
|
|
307
|
+
}
|
|
308
|
+
//# sourceMappingURL=connection-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connection-config.js","sourceRoot":"","sources":["../src/connection-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"owner-message.d.ts","sourceRoot":"","sources":["../../src/failures/owner-message.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,OAAO,EAAmB,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAG9E,8EAA8E;AAC9E,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,YAAY,CAAC;IACpB,mEAAmE;IACnE,IAAI,EAAE,MAAM,CAAC;IACb;;;;;;;OAOG;IACH,SAAS,EAAE,OAAO,CAAC;IACnB,8EAA8E;IAC9E,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,sBAAsB;IACrC,6EAA6E;IAC7E,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC;AAED,gFAAgF;AAChF,eAAO,MAAM,iBAAiB,cAAc,CAAC;AAE7C;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAO7D;
|
|
1
|
+
{"version":3,"file":"owner-message.d.ts","sourceRoot":"","sources":["../../src/failures/owner-message.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,OAAO,EAAmB,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAG9E,8EAA8E;AAC9E,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,YAAY,CAAC;IACpB,mEAAmE;IACnE,IAAI,EAAE,MAAM,CAAC;IACb;;;;;;;OAOG;IACH,SAAS,EAAE,OAAO,CAAC;IACnB,8EAA8E;IAC9E,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,sBAAsB;IACrC,6EAA6E;IAC7E,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC;AAED,gFAAgF;AAChF,eAAO,MAAM,iBAAiB,cAAc,CAAC;AAE7C;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAO7D;AAeD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAQjE;AAsDD;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,OAAO,EACZ,OAAO,GAAE,sBAA2B,GACnC,YAAY,CAwDd;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,eAAgB,SAAQ,YAAY;IACnD,+DAA+D;IAC/D,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,aAAa,CAC3B,GAAG,EAAE,OAAO,EACZ,OAAO,GAAE,sBAA2B,GACnC,eAAe,CASjB"}
|
|
@@ -63,17 +63,8 @@ const TRANSIENT_TEXT = "I couldn't reach the model just now — the connection d
|
|
|
63
63
|
'That is almost always a passing blip, and trying again usually works.';
|
|
64
64
|
const UNKNOWN_TEXT = "Sorry — that went wrong on my side, and I can't tell you anything useful about why. " +
|
|
65
65
|
'The details are in the log. Trying again is worth a go.';
|
|
66
|
-
/**
|
|
67
|
-
* Environment variables whose absence has a specific cure worth naming.
|
|
68
|
-
*
|
|
69
|
-
* Not a list of every credential — just the two an Anthropic install actually
|
|
70
|
-
* uses, because "run claude setup-token" is a real instruction and "set the
|
|
71
|
-
* credential" is not.
|
|
72
|
-
*/
|
|
66
|
+
/** The cure for a credential variable that is not set. */
|
|
73
67
|
function howToSet(envVar) {
|
|
74
|
-
if (/OAUTH_TOKEN$/.test(envVar)) {
|
|
75
|
-
return `Run "claude setup-token", put what it gives you in ${envVar} in your .env, and restart buddi.`;
|
|
76
|
-
}
|
|
77
68
|
return `Set ${envVar} in your .env and restart buddi.`;
|
|
78
69
|
}
|
|
79
70
|
/**
|
|
@@ -94,6 +85,32 @@ export function credentialEnvVar(err) {
|
|
|
94
85
|
const match = /environment variable ([A-Z][A-Z0-9_]*) is (?:not set|empty)/.exec(message);
|
|
95
86
|
return match?.[1];
|
|
96
87
|
}
|
|
88
|
+
/**
|
|
89
|
+
* A refusal about the account's usage or billing, in the provider's own words.
|
|
90
|
+
*
|
|
91
|
+
* Anthropic answered a subscription sign-in on 2026-09-29 with "Third-party
|
|
92
|
+
* apps now draw from your extra usage, not your plan limits. Add more at
|
|
93
|
+
* claude.ai/settings/usage and keep going." — a sentence written for a
|
|
94
|
+
* person, about the account rather than the request. Filed under the
|
|
95
|
+
* credential sentence it read as "replace the key in your .env", which was
|
|
96
|
+
* wrong twice over. When a 4xx carries a sentence like that, the owner reads
|
|
97
|
+
* it: it is the provider's prose, not a stack, and it names the cure.
|
|
98
|
+
*/
|
|
99
|
+
function usageRefusal(err) {
|
|
100
|
+
if (typeof err !== 'object' || err === null)
|
|
101
|
+
return undefined;
|
|
102
|
+
const e = err;
|
|
103
|
+
const status = typeof e.status === 'number' ? e.status : undefined;
|
|
104
|
+
if (status === undefined || status < 400 || status >= 500)
|
|
105
|
+
return undefined;
|
|
106
|
+
const message = typeof e.message === 'string' ? e.message.trim() : '';
|
|
107
|
+
if (!/\b(extra usage|plan limits?|usage limits?|credits?|billing|quota|spending limit|balance)\b/i.test(message))
|
|
108
|
+
return undefined;
|
|
109
|
+
// Prose only: a sentence with spaces and no JSON, no braces, no code.
|
|
110
|
+
if (message.length < 20 || message.length > 400 || /[{}<>`]/.test(message))
|
|
111
|
+
return undefined;
|
|
112
|
+
return message;
|
|
113
|
+
}
|
|
97
114
|
/** Auth failures that are about a credential rather than about the request. */
|
|
98
115
|
function isCredentialFailure(err) {
|
|
99
116
|
if (credentialEnvVar(err) !== undefined)
|
|
@@ -155,6 +172,16 @@ export function describeFailure(err, options = {}) {
|
|
|
155
172
|
return { class: 'permanent', retryable: false, detail,
|
|
156
173
|
text: 'The selected model is not available for this provider account. Open agent settings and choose a model supported by the assigned account, then send your message again.' };
|
|
157
174
|
}
|
|
175
|
+
const usage = usageRefusal(err);
|
|
176
|
+
if (usage !== undefined) {
|
|
177
|
+
const who = options.agentName ? `${options.agentName} can't` : "I can't";
|
|
178
|
+
return {
|
|
179
|
+
class: 'permanent', retryable: false, detail,
|
|
180
|
+
text: `${who} use the model right now: its provider refused the call because of the account, not the request. ` +
|
|
181
|
+
`It said: "${usage.replace(/"/g, "'")}" ` +
|
|
182
|
+
'Trying again changes nothing until the account does: add usage there, or give this agent another account in Settings → Model accounts.',
|
|
183
|
+
};
|
|
184
|
+
}
|
|
158
185
|
if (isCredentialFailure(err)) {
|
|
159
186
|
const envVar = credentialEnvVar(err);
|
|
160
187
|
const who = options.agentName ? `${options.agentName} can't` : "I can't";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"owner-message.js","sourceRoot":"","sources":["../../src/failures/owner-message.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,OAAO,EAAE,eAAe,EAAqB,MAAM,0BAA0B,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAiC3C,gFAAgF;AAChF,MAAM,CAAC,MAAM,iBAAiB,GAAG,WAAW,CAAC;AAE7C;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,iBAAiB,CAAC,WAAmB;IACnD,MAAM,KAAK,GAAG,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,WAAW,QAAQ,CAAC;IACtE,OAAO,CACL,6BAA6B,KAAK,kDAAkD;QACpF,wFAAwF;QACxF,+CAA+C,CAChD,CAAC;AACJ,CAAC;AAED,MAAM,cAAc,GAClB,2EAA2E;IAC3E,uEAAuE,CAAC;AAE1E,MAAM,YAAY,GAChB,sFAAsF;IACtF,yDAAyD,CAAC;AAE5D
|
|
1
|
+
{"version":3,"file":"owner-message.js","sourceRoot":"","sources":["../../src/failures/owner-message.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/onboarding/store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAAyB,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,KAAK,EACV,UAAU,EACV,iBAAiB,
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/onboarding/store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAAyB,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,KAAK,EACV,UAAU,EACV,iBAAiB,EAEjB,eAAe,EACf,YAAY,EACZ,iBAAiB,EAClB,MAAM,YAAY,CAAC;AA2EpB,0EAA0E;AAC1E,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,MAAiB,GAAG,UAAU,CAexE;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAMxE;AAED;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,eAAe,CAAC,CAe1B;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAiBrF;AAED;;;;;;;GAOG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,iBAAiB,GACvB,OAAO,CAAC,UAAU,CAAC,CAsBrB;AAED;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,UAAU,CAAC,CAcrB;AAED;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAyB1F;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,CAG5E;AAqBD,kFAAkF;AAClF,wBAAsB,eAAe,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,CAO5E;AAID;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,iBAAiB,GACvB,OAAO,CAAC,YAAY,CAAC,CAkCvB"}
|
|
@@ -59,6 +59,17 @@ function details(value) {
|
|
|
59
59
|
out.conversationId = row.conversationId;
|
|
60
60
|
if (typeof row.accountId === 'string')
|
|
61
61
|
out.accountId = row.accountId;
|
|
62
|
+
if (Array.isArray(row.takeOn))
|
|
63
|
+
out.takeOn = row.takeOn.filter((tile) => typeof tile === 'string');
|
|
64
|
+
if (row.reach && typeof row.reach === 'object' && !Array.isArray(row.reach)) {
|
|
65
|
+
const reach = {};
|
|
66
|
+
for (const key of ['phone', 'mailbox', 'app', 'browser']) {
|
|
67
|
+
const value = row.reach[key];
|
|
68
|
+
if (typeof value === 'boolean')
|
|
69
|
+
reach[key] = value;
|
|
70
|
+
}
|
|
71
|
+
out.reach = reach;
|
|
72
|
+
}
|
|
62
73
|
return out;
|
|
63
74
|
}
|
|
64
75
|
function safeParse(text) {
|
|
@@ -162,7 +173,12 @@ export async function markStepDone(pool, step) {
|
|
|
162
173
|
* needs to rejoin a conversation it already started.
|
|
163
174
|
*/
|
|
164
175
|
export async function setOnboardingDetails(pool, patch) {
|
|
165
|
-
|
|
176
|
+
// A string worth keeping, a list of strings (an empty list is an answer:
|
|
177
|
+
// "just an assistant"), or a small record of yes and no.
|
|
178
|
+
const entries = Object.entries(patch).filter(([, value]) => (typeof value === 'string' && value !== '') ||
|
|
179
|
+
(Array.isArray(value) && value.every((item) => typeof item === 'string')) ||
|
|
180
|
+
(value !== null && typeof value === 'object' && !Array.isArray(value) &&
|
|
181
|
+
Object.values(value).every((item) => typeof item === 'boolean')));
|
|
166
182
|
if (entries.length === 0)
|
|
167
183
|
return getOnboarding(pool);
|
|
168
184
|
const merge = JSON.stringify(Object.fromEntries(entries));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/onboarding/store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAkB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/onboarding/store.ts"],"names":[],"mappings":"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"}
|
|
@@ -65,6 +65,20 @@ export interface OnboardingDetails {
|
|
|
65
65
|
conversationId?: string;
|
|
66
66
|
/** The account chosen during first run, which is the assistant's brain. */
|
|
67
67
|
accountId?: string;
|
|
68
|
+
/**
|
|
69
|
+
* What the owner asked buddi to take on in chapter 3 (`days`, `mail`, …).
|
|
70
|
+
* An empty list is an answer too: "just an assistant for now".
|
|
71
|
+
*/
|
|
72
|
+
takeOn?: string[];
|
|
73
|
+
/** Which of chapter 4's rows the owner did: the phone, a mailbox, the app, the browser. */
|
|
74
|
+
reach?: OnboardingReach;
|
|
75
|
+
}
|
|
76
|
+
/** Chapter 4 of first run, as the record keeps it: what was done, never how. */
|
|
77
|
+
export interface OnboardingReach {
|
|
78
|
+
phone?: boolean;
|
|
79
|
+
mailbox?: boolean;
|
|
80
|
+
app?: boolean;
|
|
81
|
+
browser?: boolean;
|
|
68
82
|
}
|
|
69
83
|
/** One row of `core.onboarding`, or the synthetic pending row before there is one. */
|
|
70
84
|
export interface Onboarding {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/onboarding/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,0DAA0D;AAC1D,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,aAAa,GAAG,MAAM,GAAG,SAAS,CAAC;AAE7E,iFAAiF;AACjF,eAAO,MAAM,iBAAiB,EAAE,SAAS,eAAe,EAKvD,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,8DAA+D,CAAC;AAE7F,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/D;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,sBAAsB,CAAC;AAExD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,uBAAuB,oBAAoB,CAAC;AAEzD;;;;;;;;;GASG;AACH,eAAO,MAAM,0BAA0B,uBAAuB,CAAC;AAE/D;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAChC,gFAAgF;IAChF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/onboarding/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,0DAA0D;AAC1D,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,aAAa,GAAG,MAAM,GAAG,SAAS,CAAC;AAE7E,iFAAiF;AACjF,eAAO,MAAM,iBAAiB,EAAE,SAAS,eAAe,EAKvD,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,8DAA+D,CAAC;AAE7F,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/D;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,sBAAsB,CAAC;AAExD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,uBAAuB,oBAAoB,CAAC;AAEzD;;;;;;;;;GASG;AACH,eAAO,MAAM,0BAA0B,uBAAuB,CAAC;AAE/D;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAChC,gFAAgF;IAChF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,2FAA2F;IAC3F,KAAK,CAAC,EAAE,eAAe,CAAC;CACzB;AAED,gFAAgF;AAChF,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,sFAAsF;AACtF,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,eAAe,CAAC;IACvB,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC;IACvB,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC;IACzB,mEAAmE;IACnE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,wEAAwE;IACxE,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,oEAAoE;IACpE,OAAO,EAAE,iBAAiB,CAAC;IAC3B,+DAA+D;IAC/D,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC;IACzB,qDAAqD;IACrD,UAAU,EAAE,MAAM,CAAC;IACnB,qDAAqD;IACrD,UAAU,EAAE,IAAI,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC;CACxB;AAED,+EAA+E;AAC/E,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,UAAU,CAAC;CACxB;AAED,sEAAsE;AACtE,MAAM,WAAW,YAAY;IAC3B,mEAAmE;IACnE,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,0DAA0D;IAC1D,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,oDAAoD;IACpD,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB;;;OAGG;IACH,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,8EAA8E;IAC9E,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,4EAA4E;AAC5E,MAAM,WAAW,iBAAiB;IAChC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type ProviderKind, type ResolvedProvider } from './provider.js';
|
|
2
2
|
/** Account identity is separate from the protocol used by the runtime adapter. */
|
|
3
3
|
export type ProviderAccountKind = 'anthropic' | 'openai' | 'openai-compatible' | 'codex';
|
|
4
|
-
export type ProviderAccountAuth = 'api-key' | 'none' | '
|
|
4
|
+
export type ProviderAccountAuth = 'api-key' | 'none' | 'chatgpt' | 'anthropic-oauth' | 'device-key';
|
|
5
5
|
/**
|
|
6
6
|
* Where an Ollama Cloud account connected with a device key points. The key is
|
|
7
7
|
* only ever used to sign requests to this address
|
|
@@ -16,6 +16,26 @@ export declare const OLLAMA_CLOUD_ACCOUNT_URL = "https://ollama.com/v1";
|
|
|
16
16
|
*/
|
|
17
17
|
export declare const GEMINI_BASE_URL = "https://generativelanguage.googleapis.com/v1beta/openai/";
|
|
18
18
|
export declare const GEMINI_KEY_URL = "https://aistudio.google.com/apikey";
|
|
19
|
+
/**
|
|
20
|
+
* mlxh, the local MLX model server for Apple Silicon: an ordinary
|
|
21
|
+
* `openai-compatible` account on this Mac. Port 1060 is MLX in Roman numerals.
|
|
22
|
+
* Any key is accepted, so the account needs none.
|
|
23
|
+
*/
|
|
24
|
+
export declare const MLXH_BASE_URL = "http://127.0.0.1:1060/v1";
|
|
25
|
+
/**
|
|
26
|
+
* mlxh refuses a prompt over its `max_prompt_tokens` with a 400, and ships with
|
|
27
|
+
* this limit. Its model manager does not report the number, so a window for an
|
|
28
|
+
* mlxh account is this one unless the server said otherwise.
|
|
29
|
+
*/
|
|
30
|
+
export declare const MLXH_DEFAULT_MAX_PROMPT_TOKENS = 8192;
|
|
31
|
+
/**
|
|
32
|
+
* Whether an account points at mlxh: the address it was saved with (or the
|
|
33
|
+
* `MLXH_BASE_URL` override), or any loopback address on mlxh's port.
|
|
34
|
+
*/
|
|
35
|
+
export declare function isMlxhAccount(row: {
|
|
36
|
+
kind: string;
|
|
37
|
+
baseUrl: string;
|
|
38
|
+
}, mlxhBaseUrl?: string): boolean;
|
|
19
39
|
export interface ProviderAccount {
|
|
20
40
|
id: string;
|
|
21
41
|
label: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-accounts.d.ts","sourceRoot":"","sources":["../src/provider-accounts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,YAAY,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEvF,kFAAkF;AAClF,MAAM,MAAM,mBAAmB,GAAG,WAAW,GAAG,QAAQ,GAAG,mBAAmB,GAAG,OAAO,CAAC;AACzF,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,MAAM,GAAG,
|
|
1
|
+
{"version":3,"file":"provider-accounts.d.ts","sourceRoot":"","sources":["../src/provider-accounts.ts"],"names":[],"mappings":"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"}
|