From 9d19b42df982b5124af201a8c82ed66f9ce338a7 Mon Sep 17 00:00:00 2001 From: jamie-at-bunny Date: Thu, 21 May 2026 14:14:41 +0100 Subject: [PATCH 1/2] fix(cli): thread --verbose through resolveConfig so credential-source debug lines respect the flag --- AGENTS.md | 6 +++--- CLAUDE.md | 2 +- packages/cli/src/commands/api.ts | 2 +- packages/cli/src/commands/apps/delete.ts | 2 +- packages/cli/src/commands/apps/deploy.ts | 2 +- packages/cli/src/commands/apps/endpoints/add.ts | 2 +- packages/cli/src/commands/apps/endpoints/list.ts | 2 +- packages/cli/src/commands/apps/endpoints/remove.ts | 2 +- packages/cli/src/commands/apps/env/list.ts | 2 +- packages/cli/src/commands/apps/env/pull.ts | 2 +- packages/cli/src/commands/apps/env/remove.ts | 2 +- packages/cli/src/commands/apps/env/set.ts | 2 +- packages/cli/src/commands/apps/init.ts | 2 +- packages/cli/src/commands/apps/list.ts | 2 +- packages/cli/src/commands/apps/pull.ts | 2 +- packages/cli/src/commands/apps/push.ts | 2 +- packages/cli/src/commands/apps/regions/list.ts | 2 +- packages/cli/src/commands/apps/regions/show.ts | 2 +- packages/cli/src/commands/apps/restart.ts | 2 +- packages/cli/src/commands/apps/show.ts | 2 +- packages/cli/src/commands/apps/undeploy.ts | 2 +- packages/cli/src/commands/apps/volumes/list.ts | 2 +- packages/cli/src/commands/apps/volumes/remove.ts | 2 +- packages/cli/src/commands/auth/login.ts | 2 +- packages/cli/src/commands/config/show.ts | 4 ++-- packages/cli/src/commands/db/create.ts | 2 +- packages/cli/src/commands/db/delete.ts | 2 +- packages/cli/src/commands/db/link.ts | 2 +- packages/cli/src/commands/db/list.ts | 2 +- packages/cli/src/commands/db/quickstart.ts | 2 +- packages/cli/src/commands/db/regions/add.ts | 2 +- packages/cli/src/commands/db/regions/list.ts | 2 +- packages/cli/src/commands/db/regions/remove.ts | 2 +- packages/cli/src/commands/db/regions/update.ts | 2 +- packages/cli/src/commands/db/shell.ts | 2 +- packages/cli/src/commands/db/show.ts | 2 +- packages/cli/src/commands/db/studio.ts | 2 +- packages/cli/src/commands/db/tokens/create.ts | 2 +- packages/cli/src/commands/db/tokens/invalidate.ts | 2 +- packages/cli/src/commands/db/usage.ts | 2 +- packages/cli/src/commands/registries/add.ts | 2 +- packages/cli/src/commands/registries/list.ts | 2 +- packages/cli/src/commands/registries/remove.ts | 2 +- packages/cli/src/commands/scripts/create.ts | 2 +- packages/cli/src/commands/scripts/delete.ts | 2 +- packages/cli/src/commands/scripts/deploy.ts | 2 +- packages/cli/src/commands/scripts/deployments/list.ts | 2 +- packages/cli/src/commands/scripts/env/list.ts | 2 +- packages/cli/src/commands/scripts/env/pull.ts | 2 +- packages/cli/src/commands/scripts/env/remove.ts | 2 +- packages/cli/src/commands/scripts/env/set.ts | 2 +- packages/cli/src/commands/scripts/link.ts | 2 +- packages/cli/src/commands/scripts/list.ts | 2 +- packages/cli/src/commands/scripts/show.ts | 2 +- packages/cli/src/commands/whoami.ts | 2 +- 55 files changed, 58 insertions(+), 58 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 01c5679..6b0cad2 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -435,7 +435,7 @@ Config files are written with permissions `0o660`. ### Config resolution precedence -When resolving the active configuration (in `resolveConfig(profile, apiKeyOverride?)`), the following priority applies — highest wins: +When resolving the active configuration (in `resolveConfig(profile, apiKeyOverride?, verbose?)`), the following priority applies — highest wins: 1. **`--api-key` flag** — Passed as `apiKeyOverride` to `resolveConfig()` 2. **Environment variables** — `BUNNYNET_API_KEY` and `BUNNYNET_API_URL` @@ -911,7 +911,7 @@ import { resolveConfig } from "../../config/index.ts"; import { clientOptions } from "../../core/client-options.ts"; handler: async ({ profile, apiKey, verbose }) => { - const config = resolveConfig(profile, apiKey); + const config = resolveConfig(profile, apiKey, verbose); const api = createCoreClient(clientOptions(config, verbose)); const { data, error } = await api.GET("/pullzone/{id}", { @@ -1152,7 +1152,7 @@ bunny db shell seed.sql 4. **Add flag equivalents for every interactive prompt** so the command is fully scriptable (see "Agent & Scripting Compatibility"). 5. Use `preRun` for validation that should prevent execution. 6. Access global flags (`profile`, `verbose`, `output`) directly from the args object. -7. Resolve config via `resolveConfig(args.profile, args.apiKey)` when API access is needed. +7. Resolve config via `resolveConfig(args.profile, args.apiKey, args.verbose)` when API access is needed. 8. Use `logger` for all output. **Every command that returns data must support `--output json`.** 9. Throw `UserError` for expected failures. Let unexpected errors propagate to the factory's catch block. 10. Register the new command/namespace in `packages/cli/src/cli.ts`. diff --git a/CLAUDE.md b/CLAUDE.md index f2093f3..127c9c3 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -38,7 +38,7 @@ This is a Bun workspace monorepo with four packages: - See `AGENTS.md` for full architecture documentation. - Commands use `defineCommand()` from `packages/cli/src/core/define-command.ts`. - Namespaces use `defineNamespace()` from `packages/cli/src/core/define-namespace.ts`. -- Resolve config via `resolveConfig(profile, apiKey)` — always pass both args. +- Resolve config via `resolveConfig(profile, apiKey, verbose)` — always pass `profile` and `apiKey`; pass `verbose` so credential-source debug lines respect the flag. - Use `formatTable()` / `formatKeyValue()` from `packages/cli/src/core/format.ts` for non-JSON output. - Handle `--output json` first in every handler, then pass `output` to format functions. - Use `logger` from `packages/cli/src/core/logger.ts` for all user-facing output. diff --git a/packages/cli/src/commands/api.ts b/packages/cli/src/commands/api.ts index e7c96c3..a96dd27 100644 --- a/packages/cli/src/commands/api.ts +++ b/packages/cli/src/commands/api.ts @@ -94,7 +94,7 @@ export const apiCommand = defineCommand({ ); } - const config = resolveConfig(profile, apiKey); + const config = resolveConfig(profile, apiKey, verbose); if (!config.apiKey) { throw new UserError( "Not logged in.", diff --git a/packages/cli/src/commands/apps/delete.ts b/packages/cli/src/commands/apps/delete.ts index 861a47c..a371d93 100644 --- a/packages/cli/src/commands/apps/delete.ts +++ b/packages/cli/src/commands/apps/delete.ts @@ -32,7 +32,7 @@ export const appsDeleteCommand = defineCommand({ handler: async ({ id: rawId, force, profile, output, verbose, apiKey }) => { const appId = resolveAppId(rawId); - const config = resolveConfig(profile, apiKey); + const config = resolveConfig(profile, apiKey, verbose); const client = createMcClient(clientOptions(config, verbose)); if (!force) { diff --git a/packages/cli/src/commands/apps/deploy.ts b/packages/cli/src/commands/apps/deploy.ts index 5c708ae..1d3bf26 100644 --- a/packages/cli/src/commands/apps/deploy.ts +++ b/packages/cli/src/commands/apps/deploy.ts @@ -39,7 +39,7 @@ export const appsDeployCommand = defineCommand({ handler: async ({ image, profile, output, verbose, apiKey }) => { const toml = loadConfig(); - const config = resolveConfig(profile, apiKey); + const config = resolveConfig(profile, apiKey, verbose); const client = createMcClient(clientOptions(config, verbose)); let appId = toml.app.id; diff --git a/packages/cli/src/commands/apps/endpoints/add.ts b/packages/cli/src/commands/apps/endpoints/add.ts index f5c7271..6d17ec4 100644 --- a/packages/cli/src/commands/apps/endpoints/add.ts +++ b/packages/cli/src/commands/apps/endpoints/add.ts @@ -65,7 +65,7 @@ export const appsEndpointsAddCommand = defineCommand({ apiKey, }) => { const appId = resolveAppId(rawId); - const config = resolveConfig(profile, apiKey); + const config = resolveConfig(profile, apiKey, verbose); const client = createMcClient(clientOptions(config, verbose)); const { data: app } = await client.GET("/apps/{appId}", { diff --git a/packages/cli/src/commands/apps/endpoints/list.ts b/packages/cli/src/commands/apps/endpoints/list.ts index 99d2ef6..f56e999 100644 --- a/packages/cli/src/commands/apps/endpoints/list.ts +++ b/packages/cli/src/commands/apps/endpoints/list.ts @@ -40,7 +40,7 @@ export const appsEndpointsListCommand = defineCommand({ apiKey, }) => { const appId = resolveAppId(rawId); - const config = resolveConfig(profile, apiKey); + const config = resolveConfig(profile, apiKey, verbose); const client = createMcClient(clientOptions(config, verbose)); const spin = spinner("Fetching endpoints..."); diff --git a/packages/cli/src/commands/apps/endpoints/remove.ts b/packages/cli/src/commands/apps/endpoints/remove.ts index 4eca2ee..96cb38f 100644 --- a/packages/cli/src/commands/apps/endpoints/remove.ts +++ b/packages/cli/src/commands/apps/endpoints/remove.ts @@ -46,7 +46,7 @@ export const appsEndpointsRemoveCommand = defineCommand({ apiKey, }) => { const appId = resolveAppId(rawId); - const config = resolveConfig(profile, apiKey); + const config = resolveConfig(profile, apiKey, verbose); const client = createMcClient(clientOptions(config, verbose)); if (!force) { diff --git a/packages/cli/src/commands/apps/env/list.ts b/packages/cli/src/commands/apps/env/list.ts index 80730fd..84b45a6 100644 --- a/packages/cli/src/commands/apps/env/list.ts +++ b/packages/cli/src/commands/apps/env/list.ts @@ -40,7 +40,7 @@ export const appsEnvListCommand = defineCommand({ apiKey, }) => { const appId = resolveAppId(rawId); - const config = resolveConfig(profile, apiKey); + const config = resolveConfig(profile, apiKey, verbose); const client = createMcClient(clientOptions(config, verbose)); const spin = spinner("Fetching environment variables..."); diff --git a/packages/cli/src/commands/apps/env/pull.ts b/packages/cli/src/commands/apps/env/pull.ts index 594633d..a1335fa 100644 --- a/packages/cli/src/commands/apps/env/pull.ts +++ b/packages/cli/src/commands/apps/env/pull.ts @@ -48,7 +48,7 @@ export const appsEnvPullCommand = defineCommand({ apiKey, }) => { const appId = resolveAppId(rawId); - const config = resolveConfig(profile, apiKey); + const config = resolveConfig(profile, apiKey, verbose); const client = createMcClient(clientOptions(config, verbose)); const spin = spinner("Fetching environment variables..."); diff --git a/packages/cli/src/commands/apps/env/remove.ts b/packages/cli/src/commands/apps/env/remove.ts index 39b32e2..f54affe 100644 --- a/packages/cli/src/commands/apps/env/remove.ts +++ b/packages/cli/src/commands/apps/env/remove.ts @@ -46,7 +46,7 @@ export const appsEnvRemoveCommand = defineCommand({ apiKey, }) => { const appId = resolveAppId(rawId); - const config = resolveConfig(profile, apiKey); + const config = resolveConfig(profile, apiKey, verbose); const client = createMcClient(clientOptions(config, verbose)); const spin = spinner("Fetching current variables..."); diff --git a/packages/cli/src/commands/apps/env/set.ts b/packages/cli/src/commands/apps/env/set.ts index a1e0abf..bddf8f4 100644 --- a/packages/cli/src/commands/apps/env/set.ts +++ b/packages/cli/src/commands/apps/env/set.ts @@ -53,7 +53,7 @@ export const appsEnvSetCommand = defineCommand({ apiKey, }) => { const appId = resolveAppId(rawId); - const config = resolveConfig(profile, apiKey); + const config = resolveConfig(profile, apiKey, verbose); const client = createMcClient(clientOptions(config, verbose)); // Read-modify-write: fetch current vars, update, PUT all diff --git a/packages/cli/src/commands/apps/init.ts b/packages/cli/src/commands/apps/init.ts index b75fbe6..645dcdd 100644 --- a/packages/cli/src/commands/apps/init.ts +++ b/packages/cli/src/commands/apps/init.ts @@ -64,7 +64,7 @@ export const appsInitCommand = defineCommand({ } if (!name) throw new UserError("App name is required."); - const config = resolveConfig(profile, apiKey); + const config = resolveConfig(profile, apiKey, verbose); const client = createMcClient(clientOptions(config, verbose)); // Detect Dockerfile in cwd diff --git a/packages/cli/src/commands/apps/list.ts b/packages/cli/src/commands/apps/list.ts index cdaad66..466e74e 100644 --- a/packages/cli/src/commands/apps/list.ts +++ b/packages/cli/src/commands/apps/list.ts @@ -16,7 +16,7 @@ export const appsListCommand = defineCommand({ aliases: ["ls"], handler: async ({ profile, output, verbose, apiKey }) => { - const config = resolveConfig(profile, apiKey); + const config = resolveConfig(profile, apiKey, verbose); const client = createMcClient(clientOptions(config, verbose)); const spin = spinner("Fetching apps..."); diff --git a/packages/cli/src/commands/apps/pull.ts b/packages/cli/src/commands/apps/pull.ts index 9523797..c1a7e17 100644 --- a/packages/cli/src/commands/apps/pull.ts +++ b/packages/cli/src/commands/apps/pull.ts @@ -37,7 +37,7 @@ export const appsPullCommand = defineCommand({ handler: async ({ id: rawId, force, profile, output, verbose, apiKey }) => { const appId = resolveAppId(rawId); - const config = resolveConfig(profile, apiKey); + const config = resolveConfig(profile, apiKey, verbose); const client = createMcClient(clientOptions(config, verbose)); if (configExists() && !force) { diff --git a/packages/cli/src/commands/apps/push.ts b/packages/cli/src/commands/apps/push.ts index 02887ea..456e699 100644 --- a/packages/cli/src/commands/apps/push.ts +++ b/packages/cli/src/commands/apps/push.ts @@ -26,7 +26,7 @@ export const appsPushCommand = defineCommand({ handler: async ({ "dry-run": dryRun, profile, output, verbose, apiKey }) => { const appId = resolveAppId(); const toml = loadConfig(); - const config = resolveConfig(profile, apiKey); + const config = resolveConfig(profile, apiKey, verbose); const client = createMcClient(clientOptions(config, verbose)); const spin = spinner("Fetching current app state..."); diff --git a/packages/cli/src/commands/apps/regions/list.ts b/packages/cli/src/commands/apps/regions/list.ts index 92b382e..f0e0216 100644 --- a/packages/cli/src/commands/apps/regions/list.ts +++ b/packages/cli/src/commands/apps/regions/list.ts @@ -15,7 +15,7 @@ export const appsRegionsListCommand = defineCommand({ aliases: ["ls"], handler: async ({ profile, output, verbose, apiKey }) => { - const config = resolveConfig(profile, apiKey); + const config = resolveConfig(profile, apiKey, verbose); const client = createMcClient(clientOptions(config, verbose)); const spin = spinner("Fetching regions..."); diff --git a/packages/cli/src/commands/apps/regions/show.ts b/packages/cli/src/commands/apps/regions/show.ts index 80addc6..ac96237 100644 --- a/packages/cli/src/commands/apps/regions/show.ts +++ b/packages/cli/src/commands/apps/regions/show.ts @@ -26,7 +26,7 @@ export const appsRegionsShowCommand = defineCommand({ handler: async ({ id: rawId, profile, output, verbose, apiKey }) => { const appId = resolveAppId(rawId); - const config = resolveConfig(profile, apiKey); + const config = resolveConfig(profile, apiKey, verbose); const client = createMcClient(clientOptions(config, verbose)); const spin = spinner("Fetching region settings..."); diff --git a/packages/cli/src/commands/apps/restart.ts b/packages/cli/src/commands/apps/restart.ts index 4274f9f..edb03f6 100644 --- a/packages/cli/src/commands/apps/restart.ts +++ b/packages/cli/src/commands/apps/restart.ts @@ -25,7 +25,7 @@ export const appsRestartCommand = defineCommand({ handler: async ({ id: rawId, profile, output, verbose, apiKey }) => { const appId = resolveAppId(rawId); - const config = resolveConfig(profile, apiKey); + const config = resolveConfig(profile, apiKey, verbose); const client = createMcClient(clientOptions(config, verbose)); const spin = spinner("Restarting app..."); diff --git a/packages/cli/src/commands/apps/show.ts b/packages/cli/src/commands/apps/show.ts index 248107f..1c37e62 100644 --- a/packages/cli/src/commands/apps/show.ts +++ b/packages/cli/src/commands/apps/show.ts @@ -27,7 +27,7 @@ export const appsShowCommand = defineCommand({ handler: async ({ id: rawId, profile, output, verbose, apiKey }) => { const appId = resolveAppId(rawId); - const config = resolveConfig(profile, apiKey); + const config = resolveConfig(profile, apiKey, verbose); const client = createMcClient(clientOptions(config, verbose)); const spin = spinner("Fetching app..."); diff --git a/packages/cli/src/commands/apps/undeploy.ts b/packages/cli/src/commands/apps/undeploy.ts index 82fd539..bba739e 100644 --- a/packages/cli/src/commands/apps/undeploy.ts +++ b/packages/cli/src/commands/apps/undeploy.ts @@ -32,7 +32,7 @@ export const appsUndeployCommand = defineCommand({ handler: async ({ id: rawId, force, profile, output, verbose, apiKey }) => { const appId = resolveAppId(rawId); - const config = resolveConfig(profile, apiKey); + const config = resolveConfig(profile, apiKey, verbose); const client = createMcClient(clientOptions(config, verbose)); if (!force) { diff --git a/packages/cli/src/commands/apps/volumes/list.ts b/packages/cli/src/commands/apps/volumes/list.ts index d3e5a75..1691901 100644 --- a/packages/cli/src/commands/apps/volumes/list.ts +++ b/packages/cli/src/commands/apps/volumes/list.ts @@ -27,7 +27,7 @@ export const appsVolumesListCommand = defineCommand({ handler: async ({ id: rawId, profile, output, verbose, apiKey }) => { const appId = resolveAppId(rawId); - const config = resolveConfig(profile, apiKey); + const config = resolveConfig(profile, apiKey, verbose); const client = createMcClient(clientOptions(config, verbose)); const spin = spinner("Fetching volumes..."); diff --git a/packages/cli/src/commands/apps/volumes/remove.ts b/packages/cli/src/commands/apps/volumes/remove.ts index 96523cd..76c1314 100644 --- a/packages/cli/src/commands/apps/volumes/remove.ts +++ b/packages/cli/src/commands/apps/volumes/remove.ts @@ -46,7 +46,7 @@ export const appsVolumesRemoveCommand = defineCommand({ apiKey, }) => { const appId = resolveAppId(rawId); - const config = resolveConfig(profile, apiKey); + const config = resolveConfig(profile, apiKey, verbose); const client = createMcClient(clientOptions(config, verbose)); if (!force) { diff --git a/packages/cli/src/commands/auth/login.ts b/packages/cli/src/commands/auth/login.ts index 9483af4..bdc9809 100644 --- a/packages/cli/src/commands/auth/login.ts +++ b/packages/cli/src/commands/auth/login.ts @@ -150,7 +150,7 @@ export const authLoginCommand = defineCommand<{ force: boolean }>({ setProfile(profile, apiKey); // Fetch user details for a personalised greeting - const config = resolveConfig(profile); + const config = resolveConfig(profile, undefined, verbose); const client = createCoreClient(clientOptions(config, verbose)); const spin = spinner("Verifying credentials..."); diff --git a/packages/cli/src/commands/config/show.ts b/packages/cli/src/commands/config/show.ts index 00fb1a3..42ef5b9 100644 --- a/packages/cli/src/commands/config/show.ts +++ b/packages/cli/src/commands/config/show.ts @@ -7,8 +7,8 @@ export const configShowCommand = defineCommand({ command: "show", describe: "Show the loaded configuration.", - handler: async ({ profile, output, apiKey }) => { - const cfg = resolveConfig(profile, apiKey); + handler: async ({ profile, output, apiKey, verbose }) => { + const cfg = resolveConfig(profile, apiKey, verbose); if (output === "json") { const { apiKey: rawKey, ...rest } = cfg; diff --git a/packages/cli/src/commands/db/create.ts b/packages/cli/src/commands/db/create.ts index dfb213b..1b2cf9f 100644 --- a/packages/cli/src/commands/db/create.ts +++ b/packages/cli/src/commands/db/create.ts @@ -127,7 +127,7 @@ export const dbCreateCommand = defineCommand({ handler: async (args) => { const { profile, output, verbose, apiKey } = args; - const config = resolveConfig(profile, apiKey); + const config = resolveConfig(profile, apiKey, verbose); const client = createDbClient(clientOptions(config, verbose)); // Step 1: Database name diff --git a/packages/cli/src/commands/db/delete.ts b/packages/cli/src/commands/db/delete.ts index a882c7f..1554763 100644 --- a/packages/cli/src/commands/db/delete.ts +++ b/packages/cli/src/commands/db/delete.ts @@ -84,7 +84,7 @@ export const dbDeleteCommand = defineCommand({ verbose, apiKey, }) => { - const config = resolveConfig(profile, apiKey); + const config = resolveConfig(profile, apiKey, verbose); const client = createDbClient(clientOptions(config, verbose)); const { id: databaseId, source } = await resolveDbId(client, databaseIdArg); diff --git a/packages/cli/src/commands/db/link.ts b/packages/cli/src/commands/db/link.ts index 4e3c372..4d12769 100644 --- a/packages/cli/src/commands/db/link.ts +++ b/packages/cli/src/commands/db/link.ts @@ -59,7 +59,7 @@ export const dbLinkCommand = defineCommand({ verbose, apiKey, }) => { - const config = resolveConfig(profile, apiKey); + const config = resolveConfig(profile, apiKey, verbose); const client = createDbClient(clientOptions(config, verbose)); if (databaseIdArg) { diff --git a/packages/cli/src/commands/db/list.ts b/packages/cli/src/commands/db/list.ts index d20a5c1..a2e5252 100644 --- a/packages/cli/src/commands/db/list.ts +++ b/packages/cli/src/commands/db/list.ts @@ -40,7 +40,7 @@ export const dbListCommand = defineCommand({ describe: DESCRIPTION, handler: async ({ profile, output, verbose, apiKey }) => { - const config = resolveConfig(profile, apiKey); + const config = resolveConfig(profile, apiKey, verbose); const client = createDbClient(clientOptions(config, verbose)); const spin = spinner("Fetching databases..."); diff --git a/packages/cli/src/commands/db/quickstart.ts b/packages/cli/src/commands/db/quickstart.ts index 232dc71..1ee8d49 100644 --- a/packages/cli/src/commands/db/quickstart.ts +++ b/packages/cli/src/commands/db/quickstart.ts @@ -225,7 +225,7 @@ export const dbQuickstartCommand = defineCommand<{ // Resolve URL and token from API if not provided via flags if (!url || !token) { - const config = resolveConfig(profile, apiKey); + const config = resolveConfig(profile, apiKey, verbose); const client = createDbClient(clientOptions(config, verbose)); const { id: databaseId } = await resolveDbId(client, databaseIdArg); diff --git a/packages/cli/src/commands/db/regions/add.ts b/packages/cli/src/commands/db/regions/add.ts index d1c799f..d52397f 100644 --- a/packages/cli/src/commands/db/regions/add.ts +++ b/packages/cli/src/commands/db/regions/add.ts @@ -82,7 +82,7 @@ export const dbRegionsAddCommand = defineCommand({ verbose, apiKey, }) => { - const config = resolveConfig(profile, apiKey); + const config = resolveConfig(profile, apiKey, verbose); const client = createDbClient(clientOptions(config, verbose)); const { id: databaseId } = await resolveDbId(client, databaseIdArg); diff --git a/packages/cli/src/commands/db/regions/list.ts b/packages/cli/src/commands/db/regions/list.ts index 6e7a573..87a8187 100644 --- a/packages/cli/src/commands/db/regions/list.ts +++ b/packages/cli/src/commands/db/regions/list.ts @@ -46,7 +46,7 @@ export const dbRegionsListCommand = defineCommand({ verbose, apiKey, }) => { - const config = resolveConfig(profile, apiKey); + const config = resolveConfig(profile, apiKey, verbose); const client = createDbClient(clientOptions(config, verbose)); const { id: databaseId } = await resolveDbId(client, databaseIdArg); diff --git a/packages/cli/src/commands/db/regions/remove.ts b/packages/cli/src/commands/db/regions/remove.ts index fe9750a..c28935a 100644 --- a/packages/cli/src/commands/db/regions/remove.ts +++ b/packages/cli/src/commands/db/regions/remove.ts @@ -90,7 +90,7 @@ export const dbRegionsRemoveCommand = defineCommand({ verbose, apiKey, }) => { - const config = resolveConfig(profile, apiKey); + const config = resolveConfig(profile, apiKey, verbose); const client = createDbClient(clientOptions(config, verbose)); const { id: databaseId } = await resolveDbId(client, databaseIdArg); diff --git a/packages/cli/src/commands/db/regions/update.ts b/packages/cli/src/commands/db/regions/update.ts index 406f1a1..4ededc3 100644 --- a/packages/cli/src/commands/db/regions/update.ts +++ b/packages/cli/src/commands/db/regions/update.ts @@ -70,7 +70,7 @@ export const dbRegionsUpdateCommand = defineCommand({ verbose, apiKey, }) => { - const config = resolveConfig(profile, apiKey); + const config = resolveConfig(profile, apiKey, verbose); const client = createDbClient(clientOptions(config, verbose)); const { id: databaseId } = await resolveDbId(client, databaseIdArg); diff --git a/packages/cli/src/commands/db/shell.ts b/packages/cli/src/commands/db/shell.ts index 468cd6a..e29b967 100644 --- a/packages/cli/src/commands/db/shell.ts +++ b/packages/cli/src/commands/db/shell.ts @@ -71,7 +71,7 @@ async function resolveCredentials( return { url, token, databaseId: databaseIdArg, tokenGenerated: false }; } - const config = resolveConfig(profile, apiKeyOverride); + const config = resolveConfig(profile, apiKeyOverride, verbose); const apiClient = createDbClient(clientOptions(config, verbose)); const { id: databaseId } = await resolveDbId(apiClient, databaseIdArg); diff --git a/packages/cli/src/commands/db/show.ts b/packages/cli/src/commands/db/show.ts index 8cad279..16b4fb8 100644 --- a/packages/cli/src/commands/db/show.ts +++ b/packages/cli/src/commands/db/show.ts @@ -52,7 +52,7 @@ export const dbShowCommand = defineCommand({ verbose, apiKey, }) => { - const config = resolveConfig(profile, apiKey); + const config = resolveConfig(profile, apiKey, verbose); const client = createDbClient(clientOptions(config, verbose)); const { id: databaseId } = await resolveDbId(client, databaseIdArg); diff --git a/packages/cli/src/commands/db/studio.ts b/packages/cli/src/commands/db/studio.ts index 9cfb655..81af773 100644 --- a/packages/cli/src/commands/db/studio.ts +++ b/packages/cli/src/commands/db/studio.ts @@ -42,7 +42,7 @@ async function resolveCredentials( if (url && token) return { url, token, databaseId: databaseIdArg }; - const config = resolveConfig(profile, apiKeyOverride); + const config = resolveConfig(profile, apiKeyOverride, verbose); const apiClient = createDbClient(clientOptions(config, verbose)); const { id: databaseId } = await resolveDbId(apiClient, databaseIdArg); diff --git a/packages/cli/src/commands/db/tokens/create.ts b/packages/cli/src/commands/db/tokens/create.ts index cc5140c..52a8ff9 100644 --- a/packages/cli/src/commands/db/tokens/create.ts +++ b/packages/cli/src/commands/db/tokens/create.ts @@ -156,7 +156,7 @@ export const dbTokensCreateCommand = defineCommand<{ verbose, apiKey, }) => { - const config = resolveConfig(profile, apiKey); + const config = resolveConfig(profile, apiKey, verbose); const client = createDbClient(clientOptions(config, verbose)); const authorization = readOnly ? "read-only" : "full-access"; diff --git a/packages/cli/src/commands/db/tokens/invalidate.ts b/packages/cli/src/commands/db/tokens/invalidate.ts index e0943c9..ce1c2e5 100644 --- a/packages/cli/src/commands/db/tokens/invalidate.ts +++ b/packages/cli/src/commands/db/tokens/invalidate.ts @@ -107,7 +107,7 @@ export const dbTokensInvalidateCommand = defineCommand<{ verbose, apiKey, }) => { - const config = resolveConfig(profile, apiKey); + const config = resolveConfig(profile, apiKey, verbose); const client = createDbClient(clientOptions(config, verbose)); // Resolve the target database — explicit ID, .env, or interactive prompt diff --git a/packages/cli/src/commands/db/usage.ts b/packages/cli/src/commands/db/usage.ts index 676ec60..d7ba1c5 100644 --- a/packages/cli/src/commands/db/usage.ts +++ b/packages/cli/src/commands/db/usage.ts @@ -128,7 +128,7 @@ export const dbUsageCommand = defineCommand({ verbose, apiKey, }) => { - const config = resolveConfig(profile, apiKey); + const config = resolveConfig(profile, apiKey, verbose); const client = createDbClient(clientOptions(config, verbose)); // Resolve time range diff --git a/packages/cli/src/commands/registries/add.ts b/packages/cli/src/commands/registries/add.ts index 94b2f52..9d6f070 100644 --- a/packages/cli/src/commands/registries/add.ts +++ b/packages/cli/src/commands/registries/add.ts @@ -83,7 +83,7 @@ export const registryAddCommand = defineCommand({ } if (!password) throw new UserError("Password is required."); - const config = resolveConfig(profile, apiKey); + const config = resolveConfig(profile, apiKey, verbose); const client = createMcClient(clientOptions(config, verbose)); const spin = spinner("Adding registry..."); diff --git a/packages/cli/src/commands/registries/list.ts b/packages/cli/src/commands/registries/list.ts index 8964fbb..7277c96 100644 --- a/packages/cli/src/commands/registries/list.ts +++ b/packages/cli/src/commands/registries/list.ts @@ -15,7 +15,7 @@ export const registryListCommand = defineCommand({ aliases: ["ls"], handler: async ({ profile, output, verbose, apiKey }) => { - const config = resolveConfig(profile, apiKey); + const config = resolveConfig(profile, apiKey, verbose); const client = createMcClient(clientOptions(config, verbose)); const spin = spinner("Fetching registries..."); diff --git a/packages/cli/src/commands/registries/remove.ts b/packages/cli/src/commands/registries/remove.ts index 84a598f..5d94f0d 100644 --- a/packages/cli/src/commands/registries/remove.ts +++ b/packages/cli/src/commands/registries/remove.ts @@ -39,7 +39,7 @@ export const registryRemoveCommand = defineCommand({ verbose, apiKey, }) => { - const config = resolveConfig(profile, apiKey); + const config = resolveConfig(profile, apiKey, verbose); const client = createMcClient(clientOptions(config, verbose)); if (!force) { diff --git a/packages/cli/src/commands/scripts/create.ts b/packages/cli/src/commands/scripts/create.ts index 6a1ba50..78eaaf0 100644 --- a/packages/cli/src/commands/scripts/create.ts +++ b/packages/cli/src/commands/scripts/create.ts @@ -61,7 +61,7 @@ export async function createScript(opts: { createLinkedPullZone: boolean; linkedPullZoneName?: string; }): Promise { - const config = resolveConfig(opts.profile, opts.apiKey); + const config = resolveConfig(opts.profile, opts.apiKey, opts.verbose); const client = createComputeClient(clientOptions(config, opts.verbose)); const spin = spinner(`Creating script "${opts.name}"...`); diff --git a/packages/cli/src/commands/scripts/delete.ts b/packages/cli/src/commands/scripts/delete.ts index aa67285..c47c587 100644 --- a/packages/cli/src/commands/scripts/delete.ts +++ b/packages/cli/src/commands/scripts/delete.ts @@ -79,7 +79,7 @@ export const scriptsDeleteCommand = defineCommand({ apiKey, }) => { const id = resolveManifestId(SCRIPT_MANIFEST, rawId, "script"); - const config = resolveConfig(profile, apiKey); + const config = resolveConfig(profile, apiKey, verbose); const client = createComputeClient(clientOptions(config, verbose)); const fetchSpin = spinner("Fetching Edge Script..."); diff --git a/packages/cli/src/commands/scripts/deploy.ts b/packages/cli/src/commands/scripts/deploy.ts index 91f8142..4a244c9 100644 --- a/packages/cli/src/commands/scripts/deploy.ts +++ b/packages/cli/src/commands/scripts/deploy.ts @@ -91,7 +91,7 @@ export const scriptsDeployCommand = defineCommand({ const code = await Bun.file(absPath).text(); - const config = resolveConfig(profile, apiKey); + const config = resolveConfig(profile, apiKey, verbose); const client = createComputeClient(clientOptions(config, verbose)); const spin = spinner("Uploading code..."); diff --git a/packages/cli/src/commands/scripts/deployments/list.ts b/packages/cli/src/commands/scripts/deployments/list.ts index d6c7ec7..df0e336 100644 --- a/packages/cli/src/commands/scripts/deployments/list.ts +++ b/packages/cli/src/commands/scripts/deployments/list.ts @@ -74,7 +74,7 @@ export const scriptsDeploymentsListCommand = defineCommand({ handler: async ({ [ARG_ID]: rawId, profile, output, verbose, apiKey }) => { const id = resolveManifestId(SCRIPT_MANIFEST, rawId, "script"); - const config = resolveConfig(profile, apiKey); + const config = resolveConfig(profile, apiKey, verbose); const client = createComputeClient(clientOptions(config, verbose)); const spin = spinner("Fetching deployments..."); diff --git a/packages/cli/src/commands/scripts/env/list.ts b/packages/cli/src/commands/scripts/env/list.ts index 1231f21..5d35f46 100644 --- a/packages/cli/src/commands/scripts/env/list.ts +++ b/packages/cli/src/commands/scripts/env/list.ts @@ -63,7 +63,7 @@ export const scriptsEnvListCommand = defineCommand({ handler: async ({ [ARG_ID]: rawId, profile, output, verbose, apiKey }) => { const id = resolveManifestId(SCRIPT_MANIFEST, rawId, "script"); - const config = resolveConfig(profile, apiKey); + const config = resolveConfig(profile, apiKey, verbose); const client = createComputeClient(clientOptions(config, verbose)); const spin = spinner("Fetching environment variables..."); diff --git a/packages/cli/src/commands/scripts/env/pull.ts b/packages/cli/src/commands/scripts/env/pull.ts index 161263d..c442396 100644 --- a/packages/cli/src/commands/scripts/env/pull.ts +++ b/packages/cli/src/commands/scripts/env/pull.ts @@ -75,7 +75,7 @@ export const scriptsEnvPullCommand = defineCommand({ apiKey, }) => { const id = resolveManifestId(SCRIPT_MANIFEST, rawId, "script"); - const config = resolveConfig(profile, apiKey); + const config = resolveConfig(profile, apiKey, verbose); const client = createComputeClient(clientOptions(config, verbose)); const spin = spinner("Fetching environment variables..."); diff --git a/packages/cli/src/commands/scripts/env/remove.ts b/packages/cli/src/commands/scripts/env/remove.ts index fccb458..5ecc63d 100644 --- a/packages/cli/src/commands/scripts/env/remove.ts +++ b/packages/cli/src/commands/scripts/env/remove.ts @@ -99,7 +99,7 @@ export const scriptsEnvRemoveCommand = defineCommand({ apiKey, }) => { const id = resolveManifestId(SCRIPT_MANIFEST, rawId, "script"); - const config = resolveConfig(profile, apiKey); + const config = resolveConfig(profile, apiKey, verbose); const client = createComputeClient(clientOptions(config, verbose)); const spin = spinner("Fetching environment variables..."); diff --git a/packages/cli/src/commands/scripts/env/set.ts b/packages/cli/src/commands/scripts/env/set.ts index 73ebf2a..fd13852 100644 --- a/packages/cli/src/commands/scripts/env/set.ts +++ b/packages/cli/src/commands/scripts/env/set.ts @@ -135,7 +135,7 @@ export const scriptsEnvSetCommand = defineCommand({ name = name.toUpperCase(); - const config = resolveConfig(profile, apiKey); + const config = resolveConfig(profile, apiKey, verbose); const client = createComputeClient(clientOptions(config, verbose)); const spin = spinner("Checking for conflicts..."); diff --git a/packages/cli/src/commands/scripts/link.ts b/packages/cli/src/commands/scripts/link.ts index 210b663..39c0b43 100644 --- a/packages/cli/src/commands/scripts/link.ts +++ b/packages/cli/src/commands/scripts/link.ts @@ -59,7 +59,7 @@ export const scriptsLinkCommand = defineCommand({ }), handler: async ({ [ARG_ID]: id, profile, output, verbose, apiKey }) => { - const config = resolveConfig(profile, apiKey); + const config = resolveConfig(profile, apiKey, verbose); const client = createComputeClient(clientOptions(config, verbose)); if (id) { diff --git a/packages/cli/src/commands/scripts/list.ts b/packages/cli/src/commands/scripts/list.ts index de14c8e..d3466de 100644 --- a/packages/cli/src/commands/scripts/list.ts +++ b/packages/cli/src/commands/scripts/list.ts @@ -37,7 +37,7 @@ export const scriptsListCommand = defineCommand({ ], handler: async ({ profile, output, verbose, apiKey }) => { - const config = resolveConfig(profile, apiKey); + const config = resolveConfig(profile, apiKey, verbose); const client = createComputeClient(clientOptions(config, verbose)); const spin = spinner("Fetching Edge Scripts..."); diff --git a/packages/cli/src/commands/scripts/show.ts b/packages/cli/src/commands/scripts/show.ts index 7ff4625..8c49886 100644 --- a/packages/cli/src/commands/scripts/show.ts +++ b/packages/cli/src/commands/scripts/show.ts @@ -57,7 +57,7 @@ export const scriptsShowCommand = defineCommand({ handler: async ({ [ARG_ID]: rawId, profile, output, verbose, apiKey }) => { const id = resolveManifestId(SCRIPT_MANIFEST, rawId, "script"); - const config = resolveConfig(profile, apiKey); + const config = resolveConfig(profile, apiKey, verbose); const client = createComputeClient(clientOptions(config, verbose)); const spin = spinner("Fetching Edge Script..."); diff --git a/packages/cli/src/commands/whoami.ts b/packages/cli/src/commands/whoami.ts index 7aaa53b..b30a738 100644 --- a/packages/cli/src/commands/whoami.ts +++ b/packages/cli/src/commands/whoami.ts @@ -34,7 +34,7 @@ export const whoamiCommand = defineCommand({ ], handler: async ({ profile, output, verbose, apiKey }) => { - const config = resolveConfig(profile, apiKey); + const config = resolveConfig(profile, apiKey, verbose); if (!config.apiKey) { throw new UserError( From 11260ef69680e8eb4965ce9a9e773c77541f5d92 Mon Sep 17 00:00:00 2001 From: jamie-at-bunny Date: Thu, 21 May 2026 14:15:26 +0100 Subject: [PATCH 2/2] changeset --- .changeset/sixty-carpets-unite.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/sixty-carpets-unite.md diff --git a/.changeset/sixty-carpets-unite.md b/.changeset/sixty-carpets-unite.md new file mode 100644 index 0000000..21fad6f --- /dev/null +++ b/.changeset/sixty-carpets-unite.md @@ -0,0 +1,5 @@ +--- +"@bunny.net/cli": patch +--- + +Thread `--verbose` through `resolveConfig()` everywhere