Dashboard › cli › Distillation
27939152-58d2-4c6d-a980-8e389e7e54e1["lore_tm_v1_fKk1M0iaM_1AL9dmG9lLiKgQlOJGs72KT9vEbPih0zw","lore_tm_v1_JNBH71e0URXu3OCD5Szb9RHiaXm_xknA7u7EbM3STzk","lore_tm_v1_DPby9WSQKL1rH_yyX3aLzbHNtbCfD2TbANp8D3HixTY","lore_tm_v1_WGAyOcwlQBdT3UQcsxN1LpwixGbI41HTO1I7QEuoCRY","lore_tm_v1_txxcCfgLwnN5SkMZCjlf55QQzA6lItDoUiD9vC0rm7Y","lore_tm_v1_1CBdaCHAWQhp3WwVMazDqE4ym3_qUlDeQrHM-vkyOfA","lore_tm_v1_8vjMY3GcGWKbvcyykyYBft57nzdERheQb1wa5PIPXgE"]
/home/byk/Code/getsentry/cli-pr-1558/packages/cli passed exactly 155 tests across 6 test files; duration was 15.36s, with transform 19.30s, setup 883ms, import 29.17s, tests 8.60s, and environment 1ms.test.poolOptions was removed in Vitest 4, and all previous poolOptions are now top-level options; migration guide: https://vitest.dev/guide/migration#pool-rework.--org and --project map to SENTRY_ORG and SENTRY_PROJECT, including values my-org/my-proj, new, my-project, new-org, sentry/cli, new-proj, and flag-org/flag-proj.exitCode assertions found at least 100 matches, with additional matches truncated, across tests including packages/cli/test/e2e/trace.test.ts, feedback.test.ts, event.test.ts, completion.test.ts, bundle.test.ts, auth.test.ts, api.test.ts, project.test.ts, packages/cli/test/lib/command.test.ts, upgrade.test.ts, and wizard-runner-handle-final-result.mocked.test.ts.No files found./home/byk/Code/getsentry/cli-pr-1558/packages/cli/test/e2e/helpers.ts failed because that file does not exist.packages/cli/test/e2e/trace.test.ts imports createE2EContext from ../fixture.js and cleanupTestDir/createTestConfigDir from ../helpers.js; its sentry trace list tests cover unauthenticated failure, authenticated positional target ${TEST_ORG}/${TEST_PROJECT}, and --json output whose parsed envelope has an array data and boolean hasMore.packages/cli/src/lib/command.ts, global flags in ALWAYS_STRIP are always stripped so the command never sees them; currently ALWAYS_STRIP = new Set([LOG_LEVEL_KEY]).packages/cli/src/lib/command.ts adds canonical command documentation handling: prepareNativeDocs() prepares command-owned examples before schema enrichment, attachDocumentationMetadata() stores the primary custom usage as __primaryUsage and canonical examples as __examples, and stricliCommand() receives stricliDocs.packages/cli/src/lib/command.ts: command-owned examples are prepared before enrichDocsWithSchema() so JSON field documentation retains its established position at the end of native help.packages/cli/src/lib/introspect.ts adds Command.__examples?: readonly CommandExample[]; buildCommandInfo() prefers these canonical examples and formats each as # ${description}\n${command}, falling back to externally supplied documentation examples only when __examples is absent or empty.getPositionalString() in packages/cli/src/lib/introspect.ts now renders optional tuple positionals in brackets, producing [<placeholder>] instead of always rendering <placeholder>.extractPositionals() in packages/cli/src/lib/introspect.ts preserves each tuple positionalβs placeholder, brief, and optional state; array positionals are represented as ${placeholder}... and marked optional.packages/cli/src/lib/list-command.ts changes buildListCommand() and OrgListCommandDocs to use CommandDocumentation, allowing canonical examples and richer documentation to flow through shared list-command builders.buildListCommand() always injects --fresh unless the command already defines it.buildListCommand(), the first positional argument is always the target using the org/project pattern; the wrapper passes it through interceptSubcommand() to handle plural-alias confusion.buildListCommand() also injects --cursor unless options.noCursorFlag is set or the command defines it; injects -f β fresh unless options.noFreshAlias is set or -f exists; injects -c β cursor unless cursor is opted out or -c exists; and calls applyFreshFlag(flags) before the original command function.packages/cli/src/lib/mutate-command.ts changes buildDeleteCommand() documentation typing to CommandDocumentation.buildDeleteCommand() always injects --yes unless the command already defines it.buildDeleteCommand() injects --force and -f unless options.noForceFlag is set or the corresponding key exists; injects --dry-run and -n unless options.noDryRunFlag is set or the corresponding key exists; and injects -y β yes unless -y already exists.buildDeleteCommand() runs guardNonInteractive() before the original command unless options.noNonInteractiveGuard is set; non-interactive execution requires --yes or --force, while --dry-run bypasses the guard because it makes no changes.