From 5a783868c3628b6d021de6c632d2c372b78102f9 Mon Sep 17 00:00:00 2001 From: Pete Bacon Darwin Date: Fri, 23 Jan 2026 12:03:10 +0000 Subject: [PATCH] refactor(wrangler): add safe command/args handling for telemetry - Rename 'command' to 'safeCommand' (without 'wrangler ' prefix) and 'args' to 'safeArgs' in telemetry events - Add 'logArgs' boolean to control whether command arguments are included in telemetry - Commands must explicitly opt-in via metadata.logArgs: true to log arguments - Safe commands (list, info, get, etc.) that don't handle sensitive data opt-in to logging - Sensitive commands (secret put/delete/bulk, hyperdrive create) intentionally do not opt-in - Update fallback telemetry in index.ts to use new format with logArgs: false --- .changeset/safe-command-args-metrics.md | 18 ++++++ .../wrangler/src/__tests__/metrics.test.ts | 7 +- packages/wrangler/src/ai/listCatalog.ts | 1 + packages/wrangler/src/ai/listFinetune.ts | 1 + .../src/core/register-yargs-command.ts | 22 +++++-- packages/wrangler/src/core/types.ts | 7 ++ packages/wrangler/src/d1/delete.ts | 1 + packages/wrangler/src/d1/info.ts | 1 + packages/wrangler/src/d1/insights.ts | 1 + packages/wrangler/src/d1/list.ts | 1 + packages/wrangler/src/d1/migrations/list.ts | 1 + packages/wrangler/src/d1/timeTravel/info.ts | 1 + .../wrangler/src/d1/timeTravel/restore.ts | 1 + packages/wrangler/src/delete.ts | 1 + packages/wrangler/src/dispatch-namespace.ts | 5 ++ packages/wrangler/src/docs/index.ts | 1 + packages/wrangler/src/hyperdrive/delete.ts | 1 + packages/wrangler/src/hyperdrive/get.ts | 1 + packages/wrangler/src/hyperdrive/list.ts | 1 + packages/wrangler/src/index.ts | 20 +++--- packages/wrangler/src/init.ts | 1 + packages/wrangler/src/kv/index.ts | 11 ++++ packages/wrangler/src/metrics/commands.ts | 3 + .../src/metrics/metrics-dispatcher.ts | 34 +++++----- packages/wrangler/src/metrics/sanitization.ts | 13 ++-- packages/wrangler/src/metrics/types.ts | 64 ++++++++++--------- packages/wrangler/src/mtls-certificate/cli.ts | 3 + packages/wrangler/src/pages/build-env.ts | 1 + .../wrangler/src/pages/deployment-tails.ts | 1 + packages/wrangler/src/pages/deployments.ts | 1 + packages/wrangler/src/pages/projects.ts | 3 + packages/wrangler/src/pages/secret/index.ts | 1 + packages/wrangler/src/pipelines/cli/create.ts | 1 + packages/wrangler/src/pipelines/cli/delete.ts | 1 + packages/wrangler/src/pipelines/cli/get.ts | 1 + packages/wrangler/src/pipelines/cli/list.ts | 1 + .../src/pipelines/cli/sinks/delete.ts | 1 + .../wrangler/src/pipelines/cli/sinks/get.ts | 1 + .../wrangler/src/pipelines/cli/sinks/list.ts | 1 + .../src/pipelines/cli/streams/create.ts | 1 + .../src/pipelines/cli/streams/delete.ts | 1 + .../wrangler/src/pipelines/cli/streams/get.ts | 1 + .../src/pipelines/cli/streams/list.ts | 1 + .../wrangler/src/queues/cli/commands/info.ts | 1 + .../wrangler/src/queues/cli/commands/list.ts | 1 + .../queues/cli/commands/subscription/get.ts | 1 + .../queues/cli/commands/subscription/list.ts | 1 + .../src/queues/cli/commands/update.ts | 1 + packages/wrangler/src/r2/bucket.ts | 5 ++ packages/wrangler/src/r2/catalog.ts | 7 ++ packages/wrangler/src/r2/cors.ts | 3 + packages/wrangler/src/r2/lifecycle.ts | 4 ++ packages/wrangler/src/r2/lock.ts | 4 ++ packages/wrangler/src/r2/notification.ts | 3 + packages/wrangler/src/r2/public-dev-url.ts | 3 + packages/wrangler/src/r2/sippy.ts | 3 + packages/wrangler/src/secret/index.ts | 1 + packages/wrangler/src/tail/index.ts | 1 + packages/wrangler/src/triggers/index.ts | 1 + .../wrangler/src/type-generation/index.ts | 1 + packages/wrangler/src/user/commands.ts | 4 ++ .../src/vectorize/createMetadataIndex.ts | 1 + .../wrangler/src/vectorize/deleteByIds.ts | 1 + .../src/vectorize/deleteMetadataIndex.ts | 1 + packages/wrangler/src/vectorize/get.ts | 1 + packages/wrangler/src/vectorize/getByIds.ts | 1 + packages/wrangler/src/vectorize/info.ts | 1 + packages/wrangler/src/vectorize/list.ts | 1 + .../src/vectorize/listMetadataIndex.ts | 1 + .../wrangler/src/vectorize/listVectors.ts | 1 + packages/wrangler/src/vectorize/query.ts | 1 + packages/wrangler/src/versions/deploy.ts | 1 + .../wrangler/src/versions/deployments/list.ts | 1 + .../src/versions/deployments/status.ts | 1 + .../wrangler/src/versions/deployments/view.ts | 1 + packages/wrangler/src/versions/list.ts | 1 + .../wrangler/src/versions/rollback/index.ts | 1 + .../wrangler/src/versions/secrets/list.ts | 1 + packages/wrangler/src/versions/view.ts | 1 + packages/wrangler/src/vpc/create.ts | 1 + packages/wrangler/src/vpc/delete.ts | 1 + packages/wrangler/src/vpc/get.ts | 1 + packages/wrangler/src/vpc/list.ts | 1 + packages/wrangler/src/vpc/update.ts | 1 + .../src/workflows/commands/describe.ts | 1 + .../workflows/commands/instances/describe.ts | 1 + .../src/workflows/commands/instances/list.ts | 1 + .../src/workflows/commands/instances/pause.ts | 1 + .../workflows/commands/instances/restart.ts | 1 + .../workflows/commands/instances/resume.ts | 1 + .../workflows/commands/instances/terminate.ts | 1 + .../wrangler/src/workflows/commands/list.ts | 1 + 92 files changed, 248 insertions(+), 68 deletions(-) create mode 100644 .changeset/safe-command-args-metrics.md diff --git a/.changeset/safe-command-args-metrics.md b/.changeset/safe-command-args-metrics.md new file mode 100644 index 000000000000..24d0ba2736e8 --- /dev/null +++ b/.changeset/safe-command-args-metrics.md @@ -0,0 +1,18 @@ +--- +"wrangler": patch +--- + +Sanitize commands in telemetry to prevent accidentally capturing sensitive information that users may have mistakenly pasted as command arguments. + +The following commands will no longer collect any telemetry on argument usage: + +- All secret commands: `wrangler secret put/bulk`, `wrangler pages secret put/bulk`, `wrangler versions secret put/bulk` +- `wrangler login` +- `wrangler kv key put`, `wrangler kv bulk put` +- `wrangler hyperdrive create/update` +- `wrangler r2 bucket sippy enable` +- `wrangler d1 execute` +- `wrangler secrets-store secret create/update` +- `wrangler workflows trigger`, `wrangler workflows instances send-event` +- Generally commands with file paths that could reveal sensitive structure +- Any command not explicitly marked as safe diff --git a/packages/wrangler/src/__tests__/metrics.test.ts b/packages/wrangler/src/__tests__/metrics.test.ts index 02ecdecacf30..485d8f520774 100644 --- a/packages/wrangler/src/__tests__/metrics.test.ts +++ b/packages/wrangler/src/__tests__/metrics.test.ts @@ -241,8 +241,9 @@ describe("metrics", () => { argsUsed: [], argsCombination: "", agent: null, - command: "wrangler docs", - args: {}, + safeCommand: "docs", + safeArgs: {}, + logArgs: true, }; beforeEach(() => { // Default: no agent detected @@ -480,7 +481,7 @@ describe("metrics", () => { expect(requests.count).toBe(2); expect(std.debug).toContain('"argsCombination":""'); - expect(std.debug).toContain('"command":"wrangler login"'); + expect(std.debug).toContain('"safeCommand":"login"'); }); it("should include args provided by the user", async () => { diff --git a/packages/wrangler/src/ai/listCatalog.ts b/packages/wrangler/src/ai/listCatalog.ts index f6885529ec5a..54b751f56c0d 100644 --- a/packages/wrangler/src/ai/listCatalog.ts +++ b/packages/wrangler/src/ai/listCatalog.ts @@ -8,6 +8,7 @@ export const aiModelsCommand = createCommand({ description: "List catalog models", status: "stable", owner: "Product: AI", + logArgs: true, }, behaviour: { printBanner: (args) => !args.json, diff --git a/packages/wrangler/src/ai/listFinetune.ts b/packages/wrangler/src/ai/listFinetune.ts index 607289f88909..4cc76d407a5d 100644 --- a/packages/wrangler/src/ai/listFinetune.ts +++ b/packages/wrangler/src/ai/listFinetune.ts @@ -9,6 +9,7 @@ export const aiFineTuneListCommand = createCommand({ description: "List your finetune files", status: "stable", owner: "Product: AI", + logArgs: true, }, behaviour: { printBanner: (args) => !args.json, diff --git a/packages/wrangler/src/core/register-yargs-command.ts b/packages/wrangler/src/core/register-yargs-command.ts index a17ffa69b02c..ed1182ceb3dd 100644 --- a/packages/wrangler/src/core/register-yargs-command.ts +++ b/packages/wrangler/src/core/register-yargs-command.ts @@ -214,9 +214,17 @@ function createHandler( } } + // Compute safe telemetry properties + // Strip "wrangler " prefix to get safeCommand (e.g., "wrangler dev" -> "dev") + const safeCommand = commandName.replace(/^wrangler\s*/, ""); + const logArgs = def.metadata.logArgs ?? false; + // If logArgs is false, send empty object; otherwise pass full args + const safeArgs = logArgs ? args : {}; + dispatcher.sendCommandEvent("wrangler command started", { - command: commandName, - args, + safeCommand, + safeArgs, + logArgs, }); try { @@ -230,8 +238,9 @@ function createHandler( const durationMs = Date.now() - startTime; dispatcher.sendCommandEvent("wrangler command completed", { - command: commandName, - args, + safeCommand, + safeArgs, + logArgs, durationMs, durationSeconds: durationMs / 1000, durationMinutes: durationMs / 1000 / 60, @@ -247,8 +256,9 @@ function createHandler( const durationMs = Date.now() - startTime; dispatcher.sendCommandEvent("wrangler command errored", { - command: commandName, - args, + safeCommand, + safeArgs, + logArgs, durationMs, durationSeconds: durationMs / 1000, durationMinutes: durationMs / 1000 / 60, diff --git a/packages/wrangler/src/core/types.ts b/packages/wrangler/src/core/types.ts index 96c96d3c0238..e57be67c8d55 100644 --- a/packages/wrangler/src/core/types.ts +++ b/packages/wrangler/src/core/types.ts @@ -76,6 +76,13 @@ export type Metadata = { * Commands without a category will appear under the default "COMMANDS" group. */ category?: MetadataCategory; + /** + * If true, arguments for this command will be included in telemetry. + * + * @default false - Arguments are not logged by default. + * Set to `true` to explicitly include this command's args in telemetry. + */ + logArgs?: boolean; }; export type ArgDefinition = Omit & diff --git a/packages/wrangler/src/d1/delete.ts b/packages/wrangler/src/d1/delete.ts index 78bdc05690e0..7784d8a329f1 100644 --- a/packages/wrangler/src/d1/delete.ts +++ b/packages/wrangler/src/d1/delete.ts @@ -14,6 +14,7 @@ export const d1DeleteCommand = createCommand({ status: "stable", epilogue: "This command acts on remote D1 Databases.", owner: "Product: D1", + logArgs: true, }, behaviour: { printBanner: true, diff --git a/packages/wrangler/src/d1/info.ts b/packages/wrangler/src/d1/info.ts index c3e8640b599a..b71efb879272 100644 --- a/packages/wrangler/src/d1/info.ts +++ b/packages/wrangler/src/d1/info.ts @@ -16,6 +16,7 @@ export const d1InfoCommand = createCommand({ epilogue: "This command acts on remote D1 Databases.", status: "stable", owner: "Product: D1", + logArgs: true, }, behaviour: { printBanner: (args) => !args.json, diff --git a/packages/wrangler/src/d1/insights.ts b/packages/wrangler/src/d1/insights.ts index e810abf7a709..97d371d97d8b 100644 --- a/packages/wrangler/src/d1/insights.ts +++ b/packages/wrangler/src/d1/insights.ts @@ -60,6 +60,7 @@ export const d1InsightsCommand = createCommand({ epilogue: "This command acts on remote D1 Databases.", status: "experimental", owner: "Product: D1", + logArgs: true, }, behaviour: { printBanner: (args) => !args.json, diff --git a/packages/wrangler/src/d1/list.ts b/packages/wrangler/src/d1/list.ts index f182ca44a5a3..2f31af5fafdf 100644 --- a/packages/wrangler/src/d1/list.ts +++ b/packages/wrangler/src/d1/list.ts @@ -11,6 +11,7 @@ export const d1ListCommand = createCommand({ epilogue: "This command acts on remote D1 Databases.", status: "stable", owner: "Product: D1", + logArgs: true, }, behaviour: { printBanner: (args) => !args.json, diff --git a/packages/wrangler/src/d1/migrations/list.ts b/packages/wrangler/src/d1/migrations/list.ts index 226ba289ce5f..00ccee815307 100644 --- a/packages/wrangler/src/d1/migrations/list.ts +++ b/packages/wrangler/src/d1/migrations/list.ts @@ -16,6 +16,7 @@ export const d1MigrationsListCommand = createCommand({ description: "View a list of unapplied migration files", status: "stable", owner: "Product: D1", + logArgs: true, }, behaviour: { printResourceLocation: true, diff --git a/packages/wrangler/src/d1/timeTravel/info.ts b/packages/wrangler/src/d1/timeTravel/info.ts index a6a602a5ef61..f1e73a9015dd 100644 --- a/packages/wrangler/src/d1/timeTravel/info.ts +++ b/packages/wrangler/src/d1/timeTravel/info.ts @@ -16,6 +16,7 @@ export const d1TimeTravelInfoCommand = createCommand({ For more information about Time Travel, see https://developers.cloudflare.com/d1/reference/time-travel/`, status: "stable", owner: "Product: D1", + logArgs: true, }, behaviour: { printBanner: (args) => !args.json, diff --git a/packages/wrangler/src/d1/timeTravel/restore.ts b/packages/wrangler/src/d1/timeTravel/restore.ts index 1906e79aac2d..9b2f3b2aaacd 100644 --- a/packages/wrangler/src/d1/timeTravel/restore.ts +++ b/packages/wrangler/src/d1/timeTravel/restore.ts @@ -20,6 +20,7 @@ export const d1TimeTravelRestoreCommand = createCommand({ For more information about Time Travel, see https://developers.cloudflare.com/d1/reference/time-travel/`, status: "stable", owner: "Product: D1", + logArgs: true, }, behaviour: { printBanner: (args) => !args.json, diff --git a/packages/wrangler/src/delete.ts b/packages/wrangler/src/delete.ts index 11dc09dfcf53..b0d4f1aa6542 100644 --- a/packages/wrangler/src/delete.ts +++ b/packages/wrangler/src/delete.ts @@ -64,6 +64,7 @@ export const deleteCommand = createCommand({ owner: "Workers: Authoring and Testing", status: "stable", category: "Compute & AI", + logArgs: true, }, args: { script: { diff --git a/packages/wrangler/src/dispatch-namespace.ts b/packages/wrangler/src/dispatch-namespace.ts index 5d55a818c708..ecb80be327ee 100644 --- a/packages/wrangler/src/dispatch-namespace.ts +++ b/packages/wrangler/src/dispatch-namespace.ts @@ -135,6 +135,7 @@ export const dispatchNamespaceListCommand = createCommand({ description: "List all dispatch namespaces", owner: "Workers: Deploy and Config", status: "stable", + logArgs: true, }, async handler(_, { config }) { const accountId = await requireAuth(config); @@ -149,6 +150,7 @@ export const dispatchNamespaceGetCommand = createCommand({ description: "Get information about a dispatch namespace", owner: "Workers: Deploy and Config", status: "stable", + logArgs: true, }, args: { name: { @@ -172,6 +174,7 @@ export const dispatchNamespaceCreateCommand = createCommand({ description: "Create a dispatch namespace", owner: "Workers: Deploy and Config", status: "stable", + logArgs: true, }, args: { name: { @@ -195,6 +198,7 @@ export const dispatchNamespaceDeleteCommand = createCommand({ description: "Delete a dispatch namespace", owner: "Workers: Deploy and Config", status: "stable", + logArgs: true, }, args: { name: { @@ -218,6 +222,7 @@ export const dispatchNamespaceRenameCommand = createCommand({ description: "Rename a dispatch namespace", owner: "Workers: Deploy and Config", status: "stable", + logArgs: true, }, args: { oldName: { diff --git a/packages/wrangler/src/docs/index.ts b/packages/wrangler/src/docs/index.ts index ba3ebf64aea6..f4b9f721c81d 100644 --- a/packages/wrangler/src/docs/index.ts +++ b/packages/wrangler/src/docs/index.ts @@ -9,6 +9,7 @@ export const docs = createCommand({ description: "📚 Open Wrangler's command documentation in your browser", owner: "Workers: Authoring and Testing", status: "stable", + logArgs: true, }, args: { search: { diff --git a/packages/wrangler/src/hyperdrive/delete.ts b/packages/wrangler/src/hyperdrive/delete.ts index 8b7d0663a378..57fc5510e8a2 100644 --- a/packages/wrangler/src/hyperdrive/delete.ts +++ b/packages/wrangler/src/hyperdrive/delete.ts @@ -7,6 +7,7 @@ export const hyperdriveDeleteCommand = createCommand({ description: "Delete a Hyperdrive config", status: "stable", owner: "Product: Hyperdrive", + logArgs: true, }, args: { id: { diff --git a/packages/wrangler/src/hyperdrive/get.ts b/packages/wrangler/src/hyperdrive/get.ts index e9871d9ef669..e918a47307dc 100644 --- a/packages/wrangler/src/hyperdrive/get.ts +++ b/packages/wrangler/src/hyperdrive/get.ts @@ -7,6 +7,7 @@ export const hyperdriveGetCommand = createCommand({ description: "Get a Hyperdrive config", status: "stable", owner: "Product: Hyperdrive", + logArgs: true, }, args: { id: { diff --git a/packages/wrangler/src/hyperdrive/list.ts b/packages/wrangler/src/hyperdrive/list.ts index 4f260a297d2c..97a69a75c4fa 100644 --- a/packages/wrangler/src/hyperdrive/list.ts +++ b/packages/wrangler/src/hyperdrive/list.ts @@ -8,6 +8,7 @@ export const hyperdriveListCommand = createCommand({ description: "List Hyperdrive configs", status: "stable", owner: "Product: Hyperdrive", + logArgs: true, }, args: {}, async handler(_, { config }) { diff --git a/packages/wrangler/src/index.ts b/packages/wrangler/src/index.ts index cd7932a62a63..96e8fae51cc6 100644 --- a/packages/wrangler/src/index.ts +++ b/packages/wrangler/src/index.ts @@ -1929,7 +1929,7 @@ export async function main(argv: string[]): Promise { }, /* applyBeforeValidation */ true); const startTime = Date.now(); - let command: string | undefined; + let safeCommand: string | undefined; let configArgs: ReadConfigCommandArgs = {}; let dispatcher: ReturnType | undefined; @@ -1937,7 +1937,7 @@ export async function main(argv: string[]): Promise { const wranglerWithTelemetry = wranglerWithMiddleware.middleware((args) => { // Capture command and args for potential fallback telemetry // (used when yargs validation errors occur before handler runs) - command = `wrangler ${args._.join(" ")}`; + safeCommand = args._.join(" "); configArgs = args; try { @@ -1970,10 +1970,10 @@ export async function main(argv: string[]): Promise { // The error occurred before Command handler ran // (e.g., yargs validation errors like unknown commands or invalid arguments). // So we need to handle telemetry and error reporting here. - if (dispatcher && command) { + if (dispatcher && safeCommand) { dispatchGenericCommandErrorEvent( dispatcher, - command, + safeCommand, configArgs, startTime, e @@ -2021,7 +2021,7 @@ export async function main(argv: string[]): Promise { */ function dispatchGenericCommandErrorEvent( dispatcher: ReturnType, - command: string, + safeCommand: string, configArgs: ReadConfigCommandArgs, startTime: number, error: unknown @@ -2030,13 +2030,15 @@ function dispatchGenericCommandErrorEvent( // Send "started" event since handler never got to send it. dispatcher.sendCommandEvent("wrangler command started", { - command, - args: configArgs, + safeCommand, + safeArgs: {}, + logArgs: false, }); dispatcher.sendCommandEvent("wrangler command errored", { - command, - args: configArgs, + safeCommand, + safeArgs: {}, + logArgs: false, durationMs, durationSeconds: durationMs / 1000, durationMinutes: durationMs / 1000 / 60, diff --git a/packages/wrangler/src/init.ts b/packages/wrangler/src/init.ts index 42d0bf37ff79..02e703ea1cb0 100644 --- a/packages/wrangler/src/init.ts +++ b/packages/wrangler/src/init.ts @@ -29,6 +29,7 @@ export const init = createCommand({ owner: "Workers: Authoring and Testing", status: "stable", category: "Compute & AI", + logArgs: true, }, args: { name: { diff --git a/packages/wrangler/src/kv/index.ts b/packages/wrangler/src/kv/index.ts index c5d02a22e49a..79c8b7dec5a2 100644 --- a/packages/wrangler/src/kv/index.ts +++ b/packages/wrangler/src/kv/index.ts @@ -83,6 +83,7 @@ export const kvNamespaceCreateCommand = createCommand({ description: "Create a new namespace", status: "stable", owner: "Product: KV", + logArgs: true, }, args: { @@ -159,6 +160,7 @@ export const kvNamespaceListCommand = createCommand({ "Output a list of all KV namespaces associated with your account id", status: "stable", owner: "Product: KV", + logArgs: true, }, args: {}, @@ -190,6 +192,7 @@ export const kvNamespaceDeleteCommand = createCommand({ description: "Delete a given namespace.", status: "stable", owner: "Product: KV", + logArgs: true, }, args: { binding: { @@ -275,6 +278,7 @@ export const kvNamespaceRenameCommand = createCommand({ description: "Rename a KV namespace", status: "stable", owner: "Product: KV", + logArgs: true, }, positionalArgs: ["old-name"], args: { @@ -406,6 +410,7 @@ export const kvKeyPutCommand = createCommand({ description: "Write a single key/value pair to the given namespace", status: "stable", owner: "Product: KV", + logArgs: true, }, behaviour: { printResourceLocation: true, @@ -497,6 +502,7 @@ export const kvKeyListCommand = createCommand({ description: "Output a list of all keys in a given namespace", status: "stable", owner: "Product: KV", + logArgs: true, }, behaviour: { // implicitly expects to output JSON only @@ -621,6 +627,7 @@ export const kvKeyGetCommand = createCommand({ description: "Read a single value by key from the given namespace", status: "stable", owner: "Product: KV", + logArgs: true, }, behaviour: { printBanner: false, @@ -728,6 +735,7 @@ export const kvKeyDeleteCommand = createCommand({ description: "Remove a single key value pair from the given namespace", status: "stable", owner: "Product: KV", + logArgs: true, }, behaviour: { printResourceLocation: true, @@ -776,6 +784,7 @@ export const kvBulkGetCommand = createCommand({ description: "Gets multiple key-value pairs from a namespace", status: "open beta", owner: "Product: KV", + logArgs: true, }, behaviour: { printBanner: false, @@ -872,6 +881,7 @@ export const kvBulkPutCommand = createCommand({ description: "Upload multiple key-value pairs to a namespace", status: "stable", owner: "Product: KV", + logArgs: true, }, behaviour: { printResourceLocation: true, @@ -995,6 +1005,7 @@ export const kvBulkDeleteCommand = createCommand({ description: "Delete multiple key-value pairs from a namespace", status: "stable", owner: "Product: KV", + logArgs: true, }, behaviour: { printResourceLocation: true, diff --git a/packages/wrangler/src/metrics/commands.ts b/packages/wrangler/src/metrics/commands.ts index adebabce62a4..78f57ebd2b1b 100644 --- a/packages/wrangler/src/metrics/commands.ts +++ b/packages/wrangler/src/metrics/commands.ts @@ -26,6 +26,7 @@ export const telemetryDisableCommand = createCommand({ description: "Disable Wrangler telemetry collection", owner: "Workers: Authoring and Testing", status: "stable", + logArgs: true, }, async handler() { updateMetricsPermission(false); @@ -41,6 +42,7 @@ export const telemetryEnableCommand = createCommand({ description: "Enable Wrangler telemetry collection", owner: "Workers: Authoring and Testing", status: "stable", + logArgs: true, }, async handler() { updateMetricsPermission(true); @@ -56,6 +58,7 @@ export const telemetryStatusCommand = createCommand({ description: "Check whether Wrangler telemetry collection is enabled", owner: "Workers: Authoring and Testing", status: "stable", + logArgs: true, }, async handler(_, { config }) { const savedConfig = readMetricsConfig(); diff --git a/packages/wrangler/src/metrics/metrics-dispatcher.ts b/packages/wrangler/src/metrics/metrics-dispatcher.ts index 86cf2454ad56..50f44a43e628 100644 --- a/packages/wrangler/src/metrics/metrics-dispatcher.ts +++ b/packages/wrangler/src/metrics/metrics-dispatcher.ts @@ -45,7 +45,8 @@ export function waitForAllMetricsDispatches(): Promise { /** * A list of all the command args that can be included in the event. * - * The "*" command applies to all sub commands at this level. + * A wildcard " *" applies to all sub-commands of ``. + * The top level "*" applies to all commands. * Specific commands can override or add to the allow list. * * Each arg can have one of three values: @@ -54,13 +55,13 @@ export function waitForAllMetricsDispatches(): Promise { * - ALLOW: all values for that arg are allowed */ const COMMAND_ARG_ALLOW_LIST: AllowList = { - // * applies to all sub commands - "wrangler *": { + // * applies to all commands + "*": { format: ALLOW, logLevel: ALLOW, }, - "wrangler tail": { status: ALLOW }, - "wrangler types": { + tail: { status: ALLOW }, + types: { xIncludeRuntime: [".wrangler/types/runtime.d.ts"], path: ["worker-configuration.d.ts"], }, @@ -128,26 +129,29 @@ export function getMetricsDispatcher(options: MetricsConfigOptions) { > ) { try { - if (properties.command?.startsWith("wrangler login")) { - properties.command = "wrangler login"; + // Truncate login commands to just "login" to avoid capturing tokens + if (properties.safeCommand?.startsWith("login")) { + properties.safeCommand = "login"; } + // Don't send metrics for telemetry/metrics disable commands if ( - properties.command === "wrangler telemetry disable" || - properties.command === "wrangler metrics disable" + properties.safeCommand === "telemetry disable" || + properties.safeCommand === "metrics disable" ) { return; } + // Show metrics banner for certain commands if ( - properties.command === "wrangler deploy" || - properties.command === "wrangler dev" || + properties.safeCommand === "deploy" || + properties.safeCommand === "dev" || // for testing purposes - properties.command === "wrangler docs" + properties.safeCommand === "docs" ) { printMetricsBanner(); } const sanitizedArgs = sanitizeArgKeys( - properties.args ?? {}, + properties.safeArgs ?? {}, options.argv ); const sanitizedArgsKeys = Object.keys(sanitizedArgs).sort(); @@ -177,9 +181,9 @@ export function getMetricsDispatcher(options: MetricsConfigOptions) { // get the args where we don't want to redact their values const allowedArgs = getAllowedArgs( COMMAND_ARG_ALLOW_LIST, - properties.command ?? "wrangler" + properties.safeCommand ); - properties.args = sanitizeArgValues(sanitizedArgs, allowedArgs); + properties.safeArgs = sanitizeArgValues(sanitizedArgs, allowedArgs); dispatch({ name, diff --git a/packages/wrangler/src/metrics/sanitization.ts b/packages/wrangler/src/metrics/sanitization.ts index 7ef6e6b6e16f..7aae6a5877dd 100644 --- a/packages/wrangler/src/metrics/sanitization.ts +++ b/packages/wrangler/src/metrics/sanitization.ts @@ -35,21 +35,26 @@ export type AllowList = Record; /** * Returns the allowed args for a given command. * - * This takes into account wildcard commands (e.g., "wrangler *"). + * This takes into account: + * - Global "*" allow-list that applies to all commands + * - Wildcard commands (e.g., "deploy *" for subcommands) + * - Specific command entries that override less specific ones */ export function getAllowedArgs( commandArgAllowList: AllowList, command: string ): AllowedArgs { - let allowedArgs: AllowedArgs = {}; + // Start with the global "*" allow list as a base + let allowedArgs: AllowedArgs = { ...commandArgAllowList["*"] }; const commandParts = command.split(" "); while (commandParts.length > 0) { const subCommand = commandParts.join(" "); - allowedArgs = { ...commandArgAllowList[subCommand], ...allowedArgs }; + // Merge so that more specific command entries override less specific ones + allowedArgs = { ...allowedArgs, ...commandArgAllowList[subCommand] }; commandParts.pop(); if (commandParts.length > 0) { const wildcardCommand = commandParts.join(" ") + " *"; - allowedArgs = { ...commandArgAllowList[wildcardCommand], ...allowedArgs }; + allowedArgs = { ...allowedArgs, ...commandArgAllowList[wildcardCommand] }; } } return allowedArgs; diff --git a/packages/wrangler/src/metrics/types.ts b/packages/wrangler/src/metrics/types.ts index d91518dba143..51de1f902d31 100644 --- a/packages/wrangler/src/metrics/types.ts +++ b/packages/wrangler/src/metrics/types.ts @@ -78,34 +78,45 @@ export type CommonEventProperties = { agent: string | null; }; +/** + * Properties included in all "wrangler command started / completed / errored" events + */ +type CommandEventProperties = CommonEventProperties & { + /** + * The command that was used, e.g. `dev`. + * Does not include the "wrangler" prefix. + * When logArgs is false, positional arguments are stripped to prevent + * accidentally capturing secrets in telemetry. + * + * Named `safeCommand` to distinguish from historical `command` field which + * may have contained sensitive positional arguments in older Wrangler versions. + */ + safeCommand: string; + /** + * The args and flags that were passed in when running the command. + * All user-inputted string values are redacted, except for some cases where there are set options. + * When logArgs is false, this is an empty object. + * + * Named `safeArgs` to distinguish from historical `args` field which + * may have contained sensitive data in older Wrangler versions. + */ + safeArgs: Record; + /** + * If true, this command's args are included in telemetry. + * Passed from the command definition's metadata.logArgs. + */ + logArgs: boolean; +}; + /** We send a metrics event at the start and end of a command run */ export type Events = | { name: "wrangler command started"; - properties: CommonEventProperties & { - /** - * The command that was used, e.g. `wrangler dev` - */ - command: string; - /** - * The args and flags that were passed in when running the command. - * All user-inputted string values are redacted, except for some cases where there are set options. - */ - args: Record; - }; + properties: CommandEventProperties; } | { name: "wrangler command completed"; - properties: CommonEventProperties & { - /** - * The command that was used, e.g. `wrangler dev` - */ - command: string | undefined; - /** - * The args and flags that were passed in when running the command. - * All user-inputted string values are redacted, except for some cases where there are set options. - */ - args: Record | undefined; + properties: CommandEventProperties & { /** * The time elapsed between the "wrangler command started" and "wrangler command completed" events */ @@ -116,16 +127,7 @@ export type Events = } | { name: "wrangler command errored"; - properties: CommonEventProperties & { - /** - * The command that was used, e.g. `wrangler dev` - */ - command: string | undefined; - /** - * The args and flags that were passed in when running the command. - * All user-inputted string values are redacted, except for some cases where there are set options. - */ - args: Record | undefined; + properties: CommandEventProperties & { /** * The time elapsed between the "wrangler command started" and "wrangler command errored" events */ diff --git a/packages/wrangler/src/mtls-certificate/cli.ts b/packages/wrangler/src/mtls-certificate/cli.ts index b9504432048e..8d73ee2a23ab 100644 --- a/packages/wrangler/src/mtls-certificate/cli.ts +++ b/packages/wrangler/src/mtls-certificate/cli.ts @@ -16,6 +16,7 @@ export const mTlsCertificateUploadCommand = createCommand({ description: "Upload an mTLS certificate", owner: "Product: SSL", status: "stable", + logArgs: true, }, args: { cert: { @@ -64,6 +65,7 @@ export const mTlsCertificateListCommand = createCommand({ description: "List uploaded mTLS certificates", owner: "Product: SSL", status: "stable", + logArgs: true, }, async handler(_, { config }) { const accountId = await requireAuth(config); @@ -90,6 +92,7 @@ export const mTlsCertificateDeleteCommand = createCommand({ description: "Delete an mTLS certificate", owner: "Product: SSL", status: "stable", + logArgs: true, }, args: { id: { diff --git a/packages/wrangler/src/pages/build-env.ts b/packages/wrangler/src/pages/build-env.ts index 4e74944b08fe..501ffc7ad4f9 100644 --- a/packages/wrangler/src/pages/build-env.ts +++ b/packages/wrangler/src/pages/build-env.ts @@ -20,6 +20,7 @@ export const pagesFunctionsBuildEnvCommand = createCommand({ status: "stable", owner: "Workers: Authoring and Testing", hidden: true, + logArgs: true, }, behaviour: { provideConfig: false, diff --git a/packages/wrangler/src/pages/deployment-tails.ts b/packages/wrangler/src/pages/deployment-tails.ts index cd1a85e57c10..8b0911c0f688 100644 --- a/packages/wrangler/src/pages/deployment-tails.ts +++ b/packages/wrangler/src/pages/deployment-tails.ts @@ -39,6 +39,7 @@ export const pagesDeploymentTailCommand = createCommand({ status: "stable", owner: "Workers: Authoring and Testing", hideGlobalFlags: ["config", "env"], + logArgs: true, }, behaviour: { provideConfig: false, diff --git a/packages/wrangler/src/pages/deployments.ts b/packages/wrangler/src/pages/deployments.ts index 2d32fcfbd1be..72daf8862f49 100644 --- a/packages/wrangler/src/pages/deployments.ts +++ b/packages/wrangler/src/pages/deployments.ts @@ -20,6 +20,7 @@ export const pagesDeploymentListCommand = createCommand({ status: "stable", owner: "Workers: Authoring and Testing", hideGlobalFlags: ["config", "env"], + logArgs: true, }, behaviour: { provideConfig: false, diff --git a/packages/wrangler/src/pages/projects.ts b/packages/wrangler/src/pages/projects.ts index 00c771fe4e36..4bb4478e8dc7 100644 --- a/packages/wrangler/src/pages/projects.ts +++ b/packages/wrangler/src/pages/projects.ts @@ -21,6 +21,7 @@ export const pagesProjectListCommand = createCommand({ status: "stable", owner: "Workers: Authoring and Testing", hideGlobalFlags: ["config", "env"], + logArgs: true, }, behaviour: { provideConfig: false, @@ -88,6 +89,7 @@ export const pagesProjectCreateCommand = createCommand({ status: "stable", owner: "Workers: Authoring and Testing", hideGlobalFlags: ["config", "env"], + logArgs: true, }, behaviour: { provideConfig: false, @@ -212,6 +214,7 @@ export const pagesProjectDeleteCommand = createCommand({ status: "stable", owner: "Workers: Authoring and Testing", hideGlobalFlags: ["config", "env"], + logArgs: true, }, behaviour: { provideConfig: false, diff --git a/packages/wrangler/src/pages/secret/index.ts b/packages/wrangler/src/pages/secret/index.ts index 60daf1d25193..ad0467db077f 100644 --- a/packages/wrangler/src/pages/secret/index.ts +++ b/packages/wrangler/src/pages/secret/index.ts @@ -354,6 +354,7 @@ export const pagesSecretListCommand = createCommand({ status: "stable", owner: "Workers: Authoring and Testing", hideGlobalFlags: ["config", "env"], + logArgs: true, }, behaviour: { provideConfig: false, diff --git a/packages/wrangler/src/pipelines/cli/create.ts b/packages/wrangler/src/pipelines/cli/create.ts index 32a693514479..2bd9b7e105cc 100644 --- a/packages/wrangler/src/pipelines/cli/create.ts +++ b/packages/wrangler/src/pipelines/cli/create.ts @@ -12,6 +12,7 @@ export const pipelinesCreateCommand = createCommand({ description: "Create a new pipeline", owner: "Product: Pipelines", status: "open beta", + logArgs: true, }, args: { pipeline: { diff --git a/packages/wrangler/src/pipelines/cli/delete.ts b/packages/wrangler/src/pipelines/cli/delete.ts index 516ee833d38b..5b39e6f81f06 100644 --- a/packages/wrangler/src/pipelines/cli/delete.ts +++ b/packages/wrangler/src/pipelines/cli/delete.ts @@ -11,6 +11,7 @@ export const pipelinesDeleteCommand = createCommand({ description: "Delete a pipeline", owner: "Product: Pipelines", status: "open beta", + logArgs: true, }, args: { pipeline: { diff --git a/packages/wrangler/src/pipelines/cli/get.ts b/packages/wrangler/src/pipelines/cli/get.ts index 6420eebe6296..07307fa82d38 100644 --- a/packages/wrangler/src/pipelines/cli/get.ts +++ b/packages/wrangler/src/pipelines/cli/get.ts @@ -11,6 +11,7 @@ export const pipelinesGetCommand = createCommand({ description: "Get details about a specific pipeline", owner: "Product: Pipelines", status: "open beta", + logArgs: true, }, behaviour: { printBanner: (args) => !args.json, diff --git a/packages/wrangler/src/pipelines/cli/list.ts b/packages/wrangler/src/pipelines/cli/list.ts index 68467522b8c1..83d52d3fde35 100644 --- a/packages/wrangler/src/pipelines/cli/list.ts +++ b/packages/wrangler/src/pipelines/cli/list.ts @@ -9,6 +9,7 @@ export const pipelinesListCommand = createCommand({ description: "List all pipelines", owner: "Product: Pipelines", status: "open beta", + logArgs: true, }, behaviour: { printBanner: (args) => !args.json, diff --git a/packages/wrangler/src/pipelines/cli/sinks/delete.ts b/packages/wrangler/src/pipelines/cli/sinks/delete.ts index 48a06d5e77e9..225a2236871d 100644 --- a/packages/wrangler/src/pipelines/cli/sinks/delete.ts +++ b/packages/wrangler/src/pipelines/cli/sinks/delete.ts @@ -9,6 +9,7 @@ export const pipelinesSinksDeleteCommand = createCommand({ description: "Delete a sink", owner: "Product: Pipelines", status: "open beta", + logArgs: true, }, positionalArgs: ["sink"], args: { diff --git a/packages/wrangler/src/pipelines/cli/sinks/get.ts b/packages/wrangler/src/pipelines/cli/sinks/get.ts index f37ea17d84bb..dcbb53ec4805 100644 --- a/packages/wrangler/src/pipelines/cli/sinks/get.ts +++ b/packages/wrangler/src/pipelines/cli/sinks/get.ts @@ -11,6 +11,7 @@ export const pipelinesSinksGetCommand = createCommand({ description: "Get details about a specific sink", owner: "Product: Pipelines", status: "open beta", + logArgs: true, }, behaviour: { printBanner: (args) => !args.json, diff --git a/packages/wrangler/src/pipelines/cli/sinks/list.ts b/packages/wrangler/src/pipelines/cli/sinks/list.ts index 47b8b0312174..eaeceebc1d2d 100644 --- a/packages/wrangler/src/pipelines/cli/sinks/list.ts +++ b/packages/wrangler/src/pipelines/cli/sinks/list.ts @@ -8,6 +8,7 @@ export const pipelinesSinksListCommand = createCommand({ description: "List all sinks", owner: "Product: Pipelines", status: "open beta", + logArgs: true, }, behaviour: { printBanner: (args) => !args.json, diff --git a/packages/wrangler/src/pipelines/cli/streams/create.ts b/packages/wrangler/src/pipelines/cli/streams/create.ts index 68d4255ad7a7..fbbfe76759e4 100644 --- a/packages/wrangler/src/pipelines/cli/streams/create.ts +++ b/packages/wrangler/src/pipelines/cli/streams/create.ts @@ -14,6 +14,7 @@ export const pipelinesStreamsCreateCommand = createCommand({ description: "Create a new stream", owner: "Product: Pipelines", status: "open beta", + logArgs: true, }, positionalArgs: ["stream"], args: { diff --git a/packages/wrangler/src/pipelines/cli/streams/delete.ts b/packages/wrangler/src/pipelines/cli/streams/delete.ts index 498e81fdeb1f..dbf6ab550c7e 100644 --- a/packages/wrangler/src/pipelines/cli/streams/delete.ts +++ b/packages/wrangler/src/pipelines/cli/streams/delete.ts @@ -9,6 +9,7 @@ export const pipelinesStreamsDeleteCommand = createCommand({ description: "Delete a stream", owner: "Product: Pipelines", status: "open beta", + logArgs: true, }, positionalArgs: ["stream"], args: { diff --git a/packages/wrangler/src/pipelines/cli/streams/get.ts b/packages/wrangler/src/pipelines/cli/streams/get.ts index 0e1e709a471b..0f4482088f4b 100644 --- a/packages/wrangler/src/pipelines/cli/streams/get.ts +++ b/packages/wrangler/src/pipelines/cli/streams/get.ts @@ -9,6 +9,7 @@ export const pipelinesStreamsGetCommand = createCommand({ description: "Get details about a specific stream", owner: "Product: Pipelines", status: "open beta", + logArgs: true, }, behaviour: { printBanner: (args) => !args.json, diff --git a/packages/wrangler/src/pipelines/cli/streams/list.ts b/packages/wrangler/src/pipelines/cli/streams/list.ts index f4a1702f13e3..33439ec89277 100644 --- a/packages/wrangler/src/pipelines/cli/streams/list.ts +++ b/packages/wrangler/src/pipelines/cli/streams/list.ts @@ -8,6 +8,7 @@ export const pipelinesStreamsListCommand = createCommand({ description: "List all streams", owner: "Product: Pipelines", status: "open beta", + logArgs: true, }, behaviour: { printBanner: (args) => !args.json, diff --git a/packages/wrangler/src/queues/cli/commands/info.ts b/packages/wrangler/src/queues/cli/commands/info.ts index 7c72352f53d5..85ab741515b0 100644 --- a/packages/wrangler/src/queues/cli/commands/info.ts +++ b/packages/wrangler/src/queues/cli/commands/info.ts @@ -9,6 +9,7 @@ export const queuesInfoCommand = createCommand({ description: "Get queue information", owner: "Product: Queues", status: "stable", + logArgs: true, }, args: { name: { diff --git a/packages/wrangler/src/queues/cli/commands/list.ts b/packages/wrangler/src/queues/cli/commands/list.ts index ade912cf1c9e..436019f896c4 100644 --- a/packages/wrangler/src/queues/cli/commands/list.ts +++ b/packages/wrangler/src/queues/cli/commands/list.ts @@ -7,6 +7,7 @@ export const queuesListCommand = createCommand({ description: "List queues", status: "stable", owner: "Product: Queues", + logArgs: true, }, args: { page: { diff --git a/packages/wrangler/src/queues/cli/commands/subscription/get.ts b/packages/wrangler/src/queues/cli/commands/subscription/get.ts index 32b733d68f3f..84e078a07387 100644 --- a/packages/wrangler/src/queues/cli/commands/subscription/get.ts +++ b/packages/wrangler/src/queues/cli/commands/subscription/get.ts @@ -9,6 +9,7 @@ export const queuesSubscriptionGetCommand = createCommand({ description: "Get details about a specific event subscription", owner: "Product: Queues", status: "stable", + logArgs: true, }, behaviour: { printBanner: (args) => !args.json, diff --git a/packages/wrangler/src/queues/cli/commands/subscription/list.ts b/packages/wrangler/src/queues/cli/commands/subscription/list.ts index 222a80556570..00a33a5cd69d 100644 --- a/packages/wrangler/src/queues/cli/commands/subscription/list.ts +++ b/packages/wrangler/src/queues/cli/commands/subscription/list.ts @@ -8,6 +8,7 @@ export const queuesSubscriptionListCommand = createCommand({ description: "List event subscriptions for a queue", owner: "Product: Queues", status: "stable", + logArgs: true, }, behaviour: { printBanner: (args) => !args.json, diff --git a/packages/wrangler/src/queues/cli/commands/update.ts b/packages/wrangler/src/queues/cli/commands/update.ts index 5fdd3f1e172f..44461a5634bb 100644 --- a/packages/wrangler/src/queues/cli/commands/update.ts +++ b/packages/wrangler/src/queues/cli/commands/update.ts @@ -16,6 +16,7 @@ export const queuesUpdateCommand = createCommand({ description: "Update a queue", owner: "Product: Queues", status: "stable", + logArgs: true, }, args: { name: { diff --git a/packages/wrangler/src/r2/bucket.ts b/packages/wrangler/src/r2/bucket.ts index 584b8ecbdf54..9a70703fd0cf 100644 --- a/packages/wrangler/src/r2/bucket.ts +++ b/packages/wrangler/src/r2/bucket.ts @@ -38,6 +38,7 @@ export const r2BucketCreateCommand = createCommand({ description: "Create a new R2 bucket", status: "stable", owner: "Product: R2", + logArgs: true, }, positionalArgs: ["name"], args: { @@ -132,6 +133,7 @@ export const r2BucketUpdateStorageClassCommand = createCommand({ description: "Update the default storage class of an existing R2 bucket", status: "stable", owner: "Product: R2", + logArgs: true, }, positionalArgs: ["name"], args: { @@ -182,6 +184,7 @@ export const r2BucketListCommand = createCommand({ description: "List R2 buckets", status: "stable", owner: "Product: R2", + logArgs: true, }, args: { jurisdiction: { @@ -207,6 +210,7 @@ export const r2BucketInfoCommand = createCommand({ description: "Get information about an R2 bucket", status: "stable", owner: "Product: R2", + logArgs: true, }, positionalArgs: ["bucket"], args: { @@ -274,6 +278,7 @@ export const r2BucketDeleteCommand = createCommand({ description: "Delete an R2 bucket", status: "stable", owner: "Product: R2", + logArgs: true, }, positionalArgs: ["bucket"], args: { diff --git a/packages/wrangler/src/r2/catalog.ts b/packages/wrangler/src/r2/catalog.ts index 4edf865aacc1..496b203f2ba6 100644 --- a/packages/wrangler/src/r2/catalog.ts +++ b/packages/wrangler/src/r2/catalog.ts @@ -37,6 +37,7 @@ export const r2BucketCatalogEnableCommand = createCommand({ description: "Enable the data catalog on an R2 bucket", status: "open beta", owner: "Product: R2 Data Catalog", + logArgs: true, }, positionalArgs: ["bucket"], args: { @@ -77,6 +78,7 @@ export const r2BucketCatalogDisableCommand = createCommand({ description: "Disable the data catalog for an R2 bucket", status: "open beta", owner: "Product: R2 Data Catalog", + logArgs: true, }, positionalArgs: ["bucket"], args: { @@ -121,6 +123,7 @@ export const r2BucketCatalogGetCommand = createCommand({ description: "Get the status of the data catalog for an R2 bucket", status: "open beta", owner: "Product: R2 Data Catalog", + logArgs: true, }, positionalArgs: ["bucket"], args: { @@ -183,6 +186,7 @@ export const r2BucketCatalogCompactionEnableCommand = createCommand({ "Enable automatic file compaction for your R2 data catalog or a specific table", status: "open beta", owner: "Product: R2 Data Catalog", + logArgs: true, }, positionalArgs: ["bucket", "namespace", "table"], args: { @@ -279,6 +283,7 @@ export const r2BucketCatalogCompactionDisableCommand = createCommand({ "Disable automatic file compaction for your R2 data catalog or a specific table", status: "open beta", owner: "Product: R2 Data Catalog", + logArgs: true, }, positionalArgs: ["bucket", "namespace", "table"], args: { @@ -365,6 +370,7 @@ export const r2BucketCatalogSnapshotExpirationEnableCommand = createCommand({ "Enable automatic snapshot expiration for your R2 data catalog or a specific table", status: "open beta", owner: "Product: R2 Data Catalog", + logArgs: true, }, positionalArgs: ["bucket", "namespace", "table"], args: { @@ -467,6 +473,7 @@ export const r2BucketCatalogSnapshotExpirationDisableCommand = createCommand({ "Disable automatic snapshot expiration for your R2 data catalog or a specific table", status: "open beta", owner: "Product: R2 Data Catalog", + logArgs: true, }, positionalArgs: ["bucket", "namespace", "table"], args: { diff --git a/packages/wrangler/src/r2/cors.ts b/packages/wrangler/src/r2/cors.ts index 941d61e4b230..dc43735be229 100644 --- a/packages/wrangler/src/r2/cors.ts +++ b/packages/wrangler/src/r2/cors.ts @@ -26,6 +26,7 @@ export const r2BucketCORSListCommand = createCommand({ description: "List the CORS rules for an R2 bucket", status: "stable", owner: "Product: R2", + logArgs: true, }, positionalArgs: ["bucket"], args: { @@ -68,6 +69,7 @@ export const r2BucketCORSSetCommand = createCommand({ description: "Set the CORS configuration for an R2 bucket from a JSON file", status: "stable", owner: "Product: R2", + logArgs: true, }, positionalArgs: ["bucket"], args: { @@ -140,6 +142,7 @@ export const r2BucketCORSDeleteCommand = createCommand({ description: "Clear the CORS configuration for an R2 bucket", status: "stable", owner: "Product: R2", + logArgs: true, }, positionalArgs: ["bucket"], args: { diff --git a/packages/wrangler/src/r2/lifecycle.ts b/packages/wrangler/src/r2/lifecycle.ts index 9909ee9a5fce..4d276ad0b189 100644 --- a/packages/wrangler/src/r2/lifecycle.ts +++ b/packages/wrangler/src/r2/lifecycle.ts @@ -30,6 +30,7 @@ export const r2BucketLifecycleListCommand = createCommand({ description: "List lifecycle rules for an R2 bucket", status: "stable", owner: "Product: R2", + logArgs: true, }, positionalArgs: ["bucket"], args: { @@ -73,6 +74,7 @@ export const r2BucketLifecycleAddCommand = createCommand({ description: "Add a lifecycle rule to an R2 bucket", status: "stable", owner: "Product: R2", + logArgs: true, }, positionalArgs: ["bucket", "name", "prefix"], args: { @@ -329,6 +331,7 @@ export const r2BucketLifecycleRemoveCommand = createCommand({ description: "Remove a lifecycle rule from an R2 bucket", status: "stable", owner: "Product: R2", + logArgs: true, }, positionalArgs: ["bucket"], args: { @@ -391,6 +394,7 @@ export const r2BucketLifecycleSetCommand = createCommand({ "Set the lifecycle configuration for an R2 bucket from a JSON file", status: "stable", owner: "Product: R2", + logArgs: true, }, positionalArgs: ["bucket"], args: { diff --git a/packages/wrangler/src/r2/lock.ts b/packages/wrangler/src/r2/lock.ts index de6ab4a810b4..8b4618325919 100644 --- a/packages/wrangler/src/r2/lock.ts +++ b/packages/wrangler/src/r2/lock.ts @@ -26,6 +26,7 @@ export const r2BucketLockListCommand = createCommand({ description: "List lock rules for an R2 bucket", status: "stable", owner: "Product: R2", + logArgs: true, }, positionalArgs: ["bucket"], args: { @@ -69,6 +70,7 @@ export const r2BucketLockAddCommand = createCommand({ description: "Add a lock rule to an R2 bucket", status: "stable", owner: "Product: R2", + logArgs: true, }, positionalArgs: ["bucket", "name", "prefix"], args: { @@ -256,6 +258,7 @@ export const r2BucketLockRemoveCommand = createCommand({ description: "Remove a bucket lock rule from an R2 bucket", status: "stable", owner: "Product: R2", + logArgs: true, }, positionalArgs: ["bucket"], args: { @@ -321,6 +324,7 @@ export const r2BucketLockSetCommand = createCommand({ description: "Set the lock configuration for an R2 bucket from a JSON file", status: "stable", owner: "Product: R2", + logArgs: true, }, positionalArgs: ["bucket"], args: { diff --git a/packages/wrangler/src/r2/notification.ts b/packages/wrangler/src/r2/notification.ts index 80f7c686990a..7a896d0a876f 100644 --- a/packages/wrangler/src/r2/notification.ts +++ b/packages/wrangler/src/r2/notification.ts @@ -32,6 +32,7 @@ export const r2BucketNotificationListCommand = createCommand({ description: "List event notification rules for an R2 bucket", status: "stable", owner: "Product: R2", + logArgs: true, }, positionalArgs: ["bucket"], args: { @@ -74,6 +75,7 @@ export const r2BucketNotificationCreateCommand = createCommand({ description: "Create an event notification rule for an R2 bucket", status: "stable", owner: "Product: R2", + logArgs: true, }, positionalArgs: ["bucket"], args: { @@ -154,6 +156,7 @@ export const r2BucketNotificationDeleteCommand = createCommand({ description: "Delete an event notification rule from an R2 bucket", status: "stable", owner: "Product: R2", + logArgs: true, }, positionalArgs: ["bucket"], args: { diff --git a/packages/wrangler/src/r2/public-dev-url.ts b/packages/wrangler/src/r2/public-dev-url.ts index 3dc883caaa9e..00e878aed5cf 100644 --- a/packages/wrangler/src/r2/public-dev-url.ts +++ b/packages/wrangler/src/r2/public-dev-url.ts @@ -17,6 +17,7 @@ export const r2BucketDevUrlGetCommand = createCommand({ description: "Get the r2.dev URL and status for an R2 bucket", status: "stable", owner: "Product: R2", + logArgs: true, }, positionalArgs: ["bucket"], args: { @@ -57,6 +58,7 @@ export const r2BucketDevUrlEnableCommand = createCommand({ description: "Enable public access via the r2.dev URL for an R2 bucket", status: "stable", owner: "Product: R2", + logArgs: true, }, positionalArgs: ["bucket"], args: { @@ -114,6 +116,7 @@ export const r2BucketDevUrlDisableCommand = createCommand({ description: "Disable public access via the r2.dev URL for an R2 bucket", status: "stable", owner: "Product: R2", + logArgs: true, }, positionalArgs: ["bucket"], args: { diff --git a/packages/wrangler/src/r2/sippy.ts b/packages/wrangler/src/r2/sippy.ts index acfde27d3cde..861d6a40a215 100644 --- a/packages/wrangler/src/r2/sippy.ts +++ b/packages/wrangler/src/r2/sippy.ts @@ -22,6 +22,7 @@ export const r2BucketSippyEnableCommand = createCommand({ description: "Enable Sippy on an R2 bucket", status: "stable", owner: "Product: R2", + logArgs: true, }, positionalArgs: ["name"], args: { @@ -259,6 +260,7 @@ export const r2BucketSippyDisableCommand = createCommand({ description: "Disable Sippy on an R2 bucket", status: "stable", owner: "Product: R2", + logArgs: true, }, positionalArgs: ["name"], args: { @@ -288,6 +290,7 @@ export const r2BucketSippyGetCommand = createCommand({ description: "Check the status of Sippy on an R2 bucket", status: "stable", owner: "Product: R2", + logArgs: true, }, positionalArgs: ["name"], args: { diff --git a/packages/wrangler/src/secret/index.ts b/packages/wrangler/src/secret/index.ts index 4d6dc13be711..09dc7ad84f3f 100644 --- a/packages/wrangler/src/secret/index.ts +++ b/packages/wrangler/src/secret/index.ts @@ -349,6 +349,7 @@ export const secretListCommand = createCommand({ description: "List all secrets for a Worker", status: "stable", owner: "Workers: Deploy and Config", + logArgs: true, }, args: { name: { diff --git a/packages/wrangler/src/tail/index.ts b/packages/wrangler/src/tail/index.ts index eaa4eb2b33b0..dba271989bb2 100644 --- a/packages/wrangler/src/tail/index.ts +++ b/packages/wrangler/src/tail/index.ts @@ -28,6 +28,7 @@ export const tailCommand = createCommand({ status: "stable", owner: "Workers: Workers Observability", category: "Compute & AI", + logArgs: true, }, positionalArgs: ["worker"], args: { diff --git a/packages/wrangler/src/triggers/index.ts b/packages/wrangler/src/triggers/index.ts index 02707b8f1434..d85b0e3033aa 100644 --- a/packages/wrangler/src/triggers/index.ts +++ b/packages/wrangler/src/triggers/index.ts @@ -20,6 +20,7 @@ export const triggersDeployCommand = createCommand({ "Apply changes to triggers (Routes or domains and Cron Triggers) when using `wrangler versions upload`", status: "experimental", owner: "Workers: Authoring and Testing", + logArgs: true, }, args: { name: { diff --git a/packages/wrangler/src/type-generation/index.ts b/packages/wrangler/src/type-generation/index.ts index 3d3f4692f199..162cfb14fcce 100644 --- a/packages/wrangler/src/type-generation/index.ts +++ b/packages/wrangler/src/type-generation/index.ts @@ -41,6 +41,7 @@ export const typesCommand = createCommand({ epilogue: "📖 Learn more at https://developers.cloudflare.com/workers/languages/typescript/#generate-types", category: "Compute & AI", + logArgs: true, }, behaviour: { provideConfig: false, diff --git a/packages/wrangler/src/user/commands.ts b/packages/wrangler/src/user/commands.ts index d9fb71090738..4ed4f67db168 100644 --- a/packages/wrangler/src/user/commands.ts +++ b/packages/wrangler/src/user/commands.ts @@ -26,6 +26,7 @@ export const loginCommand = createCommand({ owner: "Workers: Authoring and Testing", status: "stable", category: "Account", + logArgs: true, }, behaviour: { printConfigWarnings: false, @@ -104,6 +105,7 @@ export const logoutCommand = createCommand({ owner: "Workers: Authoring and Testing", status: "stable", category: "Account", + logArgs: true, }, behaviour: { printConfigWarnings: false, @@ -122,6 +124,7 @@ export const whoamiCommand = createCommand({ owner: "Workers: Authoring and Testing", status: "stable", category: "Account", + logArgs: true, }, behaviour: { printConfigWarnings: false, @@ -155,6 +158,7 @@ export const authTokenCommand = createCommand({ description: "🔑 Retrieve the current authentication token or credentials", owner: "Workers: Authoring and Testing", status: "stable", + logArgs: true, }, behaviour: { printBanner: (args) => !args.json, diff --git a/packages/wrangler/src/vectorize/createMetadataIndex.ts b/packages/wrangler/src/vectorize/createMetadataIndex.ts index d43b62ca9e85..69b6bb3f16da 100644 --- a/packages/wrangler/src/vectorize/createMetadataIndex.ts +++ b/packages/wrangler/src/vectorize/createMetadataIndex.ts @@ -11,6 +11,7 @@ export const vectorizeCreateMetadataIndexCommand = createCommand({ description: "Enable metadata filtering on the specified property", owner: "Product: Vectorize", status: "stable", + logArgs: true, }, args: { name: { diff --git a/packages/wrangler/src/vectorize/deleteByIds.ts b/packages/wrangler/src/vectorize/deleteByIds.ts index b58d612804b7..0291cd8fd2be 100644 --- a/packages/wrangler/src/vectorize/deleteByIds.ts +++ b/packages/wrangler/src/vectorize/deleteByIds.ts @@ -9,6 +9,7 @@ export const vectorizeDeleteVectorsCommand = createCommand({ description: "Delete vectors in a Vectorize index", owner: "Product: Vectorize", status: "stable", + logArgs: true, }, args: { name: { diff --git a/packages/wrangler/src/vectorize/deleteMetadataIndex.ts b/packages/wrangler/src/vectorize/deleteMetadataIndex.ts index 1d8093ce9b4e..f08a9faace86 100644 --- a/packages/wrangler/src/vectorize/deleteMetadataIndex.ts +++ b/packages/wrangler/src/vectorize/deleteMetadataIndex.ts @@ -8,6 +8,7 @@ export const vectorizeDeleteMetadataIndexCommand = createCommand({ description: "Delete metadata indexes", owner: "Product: Vectorize", status: "stable", + logArgs: true, }, args: { name: { diff --git a/packages/wrangler/src/vectorize/get.ts b/packages/wrangler/src/vectorize/get.ts index 177d8b5e4d34..7477eb338f72 100644 --- a/packages/wrangler/src/vectorize/get.ts +++ b/packages/wrangler/src/vectorize/get.ts @@ -8,6 +8,7 @@ export const vectorizeGetCommand = createCommand({ description: "Get a Vectorize index by name", status: "stable", owner: "Product: Vectorize", + logArgs: true, }, behaviour: { printBanner: (args) => !args.json, diff --git a/packages/wrangler/src/vectorize/getByIds.ts b/packages/wrangler/src/vectorize/getByIds.ts index f85aebf9b52b..5b184a98077f 100644 --- a/packages/wrangler/src/vectorize/getByIds.ts +++ b/packages/wrangler/src/vectorize/getByIds.ts @@ -9,6 +9,7 @@ export const vectorizeGetVectorsCommand = createCommand({ description: "Get vectors from a Vectorize index", owner: "Product: Vectorize", status: "stable", + logArgs: true, }, args: { name: { diff --git a/packages/wrangler/src/vectorize/info.ts b/packages/wrangler/src/vectorize/info.ts index 5ccd679f9263..2270bc2cdefc 100644 --- a/packages/wrangler/src/vectorize/info.ts +++ b/packages/wrangler/src/vectorize/info.ts @@ -7,6 +7,7 @@ export const vectorizeInfoCommand = createCommand({ description: "Get additional details about the index", owner: "Product: Vectorize", status: "stable", + logArgs: true, }, behaviour: { printBanner: (args) => !args.json, diff --git a/packages/wrangler/src/vectorize/list.ts b/packages/wrangler/src/vectorize/list.ts index ebe1a5be8d5a..da4cf4d749d1 100644 --- a/packages/wrangler/src/vectorize/list.ts +++ b/packages/wrangler/src/vectorize/list.ts @@ -8,6 +8,7 @@ export const vectorizeListCommand = createCommand({ description: "List your Vectorize indexes", status: "stable", owner: "Product: Vectorize", + logArgs: true, }, behaviour: { printBanner: (args) => !args.json, diff --git a/packages/wrangler/src/vectorize/listMetadataIndex.ts b/packages/wrangler/src/vectorize/listMetadataIndex.ts index 5568650ceeb5..4563d273e49d 100644 --- a/packages/wrangler/src/vectorize/listMetadataIndex.ts +++ b/packages/wrangler/src/vectorize/listMetadataIndex.ts @@ -8,6 +8,7 @@ export const vectorizeListMetadataIndexCommand = createCommand({ "List metadata properties on which metadata filtering is enabled", owner: "Product: Vectorize", status: "stable", + logArgs: true, }, behaviour: { printBanner: (args) => !args.json, diff --git a/packages/wrangler/src/vectorize/listVectors.ts b/packages/wrangler/src/vectorize/listVectors.ts index da7c738c2041..d41082745a84 100644 --- a/packages/wrangler/src/vectorize/listVectors.ts +++ b/packages/wrangler/src/vectorize/listVectors.ts @@ -21,6 +21,7 @@ export const vectorizeListVectorsCommand = createCommand({ description: "Continue listing from a specific cursor position", }, ], + logArgs: true, }, behaviour: { printBanner: (args) => !args.json, diff --git a/packages/wrangler/src/vectorize/query.ts b/packages/wrangler/src/vectorize/query.ts index af4a8d7ab7f7..7f84362628f4 100644 --- a/packages/wrangler/src/vectorize/query.ts +++ b/packages/wrangler/src/vectorize/query.ts @@ -32,6 +32,7 @@ export const vectorizeQueryCommand = createCommand({ description: "Filter the query results.", }, ], + logArgs: true, }, args: { name: { diff --git a/packages/wrangler/src/versions/deploy.ts b/packages/wrangler/src/versions/deploy.ts index 397cdff7f2e8..63547727206e 100644 --- a/packages/wrangler/src/versions/deploy.ts +++ b/packages/wrangler/src/versions/deploy.ts @@ -45,6 +45,7 @@ export const versionsDeployCommand = createCommand({ "Safely roll out new Versions of your Worker by splitting traffic between multiple Versions", owner: "Workers: Authoring and Testing", status: "stable", + logArgs: true, }, behaviour: { useConfigRedirectIfAvailable: true, diff --git a/packages/wrangler/src/versions/deployments/list.ts b/packages/wrangler/src/versions/deployments/list.ts index 883178852a6a..927eb13cf67c 100644 --- a/packages/wrangler/src/versions/deployments/list.ts +++ b/packages/wrangler/src/versions/deployments/list.ts @@ -17,6 +17,7 @@ export const deploymentsListCommand = createCommand({ description: "Displays the 10 most recent deployments of your Worker", owner: "Workers: Authoring and Testing", status: "stable", + logArgs: true, }, args: { name: { diff --git a/packages/wrangler/src/versions/deployments/status.ts b/packages/wrangler/src/versions/deployments/status.ts index e5f19b2bc80c..f3d2b01fba27 100644 --- a/packages/wrangler/src/versions/deployments/status.ts +++ b/packages/wrangler/src/versions/deployments/status.ts @@ -17,6 +17,7 @@ export const deploymentsStatusCommand = createCommand({ description: "View the current state of your production", owner: "Workers: Authoring and Testing", status: "stable", + logArgs: true, }, args: { name: { diff --git a/packages/wrangler/src/versions/deployments/view.ts b/packages/wrangler/src/versions/deployments/view.ts index bc210c1b74d7..470a2723f1ef 100644 --- a/packages/wrangler/src/versions/deployments/view.ts +++ b/packages/wrangler/src/versions/deployments/view.ts @@ -7,6 +7,7 @@ export const deploymentsViewCommand = createCommand({ owner: "Workers: Authoring and Testing", status: "stable", hidden: true, + logArgs: true, }, args: { name: { diff --git a/packages/wrangler/src/versions/list.ts b/packages/wrangler/src/versions/list.ts index 908e6f07887e..1612351d5ac1 100644 --- a/packages/wrangler/src/versions/list.ts +++ b/packages/wrangler/src/versions/list.ts @@ -14,6 +14,7 @@ export const versionsListCommand = createCommand({ description: "List the 10 most recent Versions of your Worker", owner: "Workers: Authoring and Testing", status: "stable", + logArgs: true, }, behaviour: { printBanner: (args) => !args.json, diff --git a/packages/wrangler/src/versions/rollback/index.ts b/packages/wrangler/src/versions/rollback/index.ts index 643b4ac4d7db..422484557b07 100644 --- a/packages/wrangler/src/versions/rollback/index.ts +++ b/packages/wrangler/src/versions/rollback/index.ts @@ -42,6 +42,7 @@ export const versionsRollbackCommand = createCommand({ owner: "Workers: Authoring and Testing", status: "stable", category: "Compute & AI", + logArgs: true, }, handler: async function handleRollback(args, { config }) { const accountId = await requireAuth(config); diff --git a/packages/wrangler/src/versions/secrets/list.ts b/packages/wrangler/src/versions/secrets/list.ts index c63450e7b3f9..074ce978e566 100644 --- a/packages/wrangler/src/versions/secrets/list.ts +++ b/packages/wrangler/src/versions/secrets/list.ts @@ -13,6 +13,7 @@ export const versionsSecretsListCommand = createCommand({ description: "List the secrets currently deployed", owner: "Workers: Authoring and Testing", status: "stable", + logArgs: true, }, behaviour: { printConfigWarnings: false, diff --git a/packages/wrangler/src/versions/view.ts b/packages/wrangler/src/versions/view.ts index 507885a63264..5964a2fb4f8a 100644 --- a/packages/wrangler/src/versions/view.ts +++ b/packages/wrangler/src/versions/view.ts @@ -16,6 +16,7 @@ export const versionsViewCommand = createCommand({ description: "View the details of a specific version of your Worker", owner: "Workers: Authoring and Testing", status: "stable", + logArgs: true, }, behaviour: { printBanner: (args) => !args.json, diff --git a/packages/wrangler/src/vpc/create.ts b/packages/wrangler/src/vpc/create.ts index a9ee89d76e39..8ec25781c10b 100644 --- a/packages/wrangler/src/vpc/create.ts +++ b/packages/wrangler/src/vpc/create.ts @@ -9,6 +9,7 @@ export const vpcServiceCreateCommand = createCommand({ description: "Create a new VPC service", status: "stable", owner: "Product: WVPC", + logArgs: true, }, args: { ...serviceOptions, diff --git a/packages/wrangler/src/vpc/delete.ts b/packages/wrangler/src/vpc/delete.ts index b54909bd627d..a8c9ae1a0370 100644 --- a/packages/wrangler/src/vpc/delete.ts +++ b/packages/wrangler/src/vpc/delete.ts @@ -7,6 +7,7 @@ export const vpcServiceDeleteCommand = createCommand({ description: "Delete a VPC service", status: "stable", owner: "Product: WVPC", + logArgs: true, }, args: { "service-id": { diff --git a/packages/wrangler/src/vpc/get.ts b/packages/wrangler/src/vpc/get.ts index 6a6880c26769..b2038c9cc301 100644 --- a/packages/wrangler/src/vpc/get.ts +++ b/packages/wrangler/src/vpc/get.ts @@ -8,6 +8,7 @@ export const vpcServiceGetCommand = createCommand({ description: "Get a VPC service", status: "stable", owner: "Product: WVPC", + logArgs: true, }, args: { "service-id": { diff --git a/packages/wrangler/src/vpc/list.ts b/packages/wrangler/src/vpc/list.ts index 031e4c60b2ee..b01c86d22393 100644 --- a/packages/wrangler/src/vpc/list.ts +++ b/packages/wrangler/src/vpc/list.ts @@ -8,6 +8,7 @@ export const vpcServiceListCommand = createCommand({ description: "List VPC services", status: "stable", owner: "Product: WVPC", + logArgs: true, }, args: {}, async handler(args, { config }) { diff --git a/packages/wrangler/src/vpc/update.ts b/packages/wrangler/src/vpc/update.ts index c0817addbcb4..6b4a71c59a59 100644 --- a/packages/wrangler/src/vpc/update.ts +++ b/packages/wrangler/src/vpc/update.ts @@ -9,6 +9,7 @@ export const vpcServiceUpdateCommand = createCommand({ description: "Update a VPC service", status: "stable", owner: "Product: WVPC", + logArgs: true, }, args: { "service-id": { diff --git a/packages/wrangler/src/workflows/commands/describe.ts b/packages/wrangler/src/workflows/commands/describe.ts index 7addbf82af87..3576de46e5fd 100644 --- a/packages/wrangler/src/workflows/commands/describe.ts +++ b/packages/wrangler/src/workflows/commands/describe.ts @@ -11,6 +11,7 @@ export const workflowsDescribeCommand = createCommand({ description: "Describe Workflow resource", owner: "Product: Workflows", status: "stable", + logArgs: true, }, args: { name: { diff --git a/packages/wrangler/src/workflows/commands/instances/describe.ts b/packages/wrangler/src/workflows/commands/instances/describe.ts index d8ec8542b4fb..a0f9e7443e02 100644 --- a/packages/wrangler/src/workflows/commands/instances/describe.ts +++ b/packages/wrangler/src/workflows/commands/instances/describe.ts @@ -31,6 +31,7 @@ export const workflowsInstancesDescribeCommand = createCommand({ "Describe a workflow instance - see its logs, retries and errors", owner: "Product: Workflows", status: "stable", + logArgs: true, }, positionalArgs: ["name", "id"], diff --git a/packages/wrangler/src/workflows/commands/instances/list.ts b/packages/wrangler/src/workflows/commands/instances/list.ts index 659b20c80800..3cda449ef1d8 100644 --- a/packages/wrangler/src/workflows/commands/instances/list.ts +++ b/packages/wrangler/src/workflows/commands/instances/list.ts @@ -11,6 +11,7 @@ export const workflowsInstancesListCommand = createCommand({ "Instance related commands (list, describe, terminate, pause, resume)", owner: "Product: Workflows", status: "stable", + logArgs: true, }, positionalArgs: ["name"], diff --git a/packages/wrangler/src/workflows/commands/instances/pause.ts b/packages/wrangler/src/workflows/commands/instances/pause.ts index 20074ab2d456..012d92dc3e2a 100644 --- a/packages/wrangler/src/workflows/commands/instances/pause.ts +++ b/packages/wrangler/src/workflows/commands/instances/pause.ts @@ -8,6 +8,7 @@ export const workflowsInstancesPauseCommand = createCommand({ description: "Pause a workflow instance", owner: "Product: Workflows", status: "stable", + logArgs: true, }, positionalArgs: ["name", "id"], diff --git a/packages/wrangler/src/workflows/commands/instances/restart.ts b/packages/wrangler/src/workflows/commands/instances/restart.ts index e6b53a61dba3..8f33664c1b20 100644 --- a/packages/wrangler/src/workflows/commands/instances/restart.ts +++ b/packages/wrangler/src/workflows/commands/instances/restart.ts @@ -8,6 +8,7 @@ export const workflowsInstancesRestartCommand = createCommand({ description: "Restart a workflow instance", owner: "Product: Workflows", status: "stable", + logArgs: true, }, positionalArgs: ["name", "id"], diff --git a/packages/wrangler/src/workflows/commands/instances/resume.ts b/packages/wrangler/src/workflows/commands/instances/resume.ts index 8e7060495d48..7a6c85536d8c 100644 --- a/packages/wrangler/src/workflows/commands/instances/resume.ts +++ b/packages/wrangler/src/workflows/commands/instances/resume.ts @@ -8,6 +8,7 @@ export const workflowsInstancesResumeCommand = createCommand({ description: "Resume a workflow instance", owner: "Product: Workflows", status: "stable", + logArgs: true, }, positionalArgs: ["name", "id"], diff --git a/packages/wrangler/src/workflows/commands/instances/terminate.ts b/packages/wrangler/src/workflows/commands/instances/terminate.ts index 72d28412913b..dad00ccaff64 100644 --- a/packages/wrangler/src/workflows/commands/instances/terminate.ts +++ b/packages/wrangler/src/workflows/commands/instances/terminate.ts @@ -8,6 +8,7 @@ export const workflowsInstancesTerminateCommand = createCommand({ description: "Terminate a workflow instance", owner: "Product: Workflows", status: "stable", + logArgs: true, }, positionalArgs: ["name", "id"], diff --git a/packages/wrangler/src/workflows/commands/list.ts b/packages/wrangler/src/workflows/commands/list.ts index bda8f1cbd1c0..802886cae5e0 100644 --- a/packages/wrangler/src/workflows/commands/list.ts +++ b/packages/wrangler/src/workflows/commands/list.ts @@ -9,6 +9,7 @@ export const workflowsListCommand = createCommand({ description: "List Workflows associated to account", owner: "Product: Workflows", status: "stable", + logArgs: true, }, args: { page: {