Dashboard › cli › Distillation
ec88bc5e-7302-4316-a718-05a15efc9496["lore_tm_v1_mUNQKsxCF6ANjhNMQMz1gmxQ-SJHr_Z9EmUwGjgyj-g","lore_tm_v1_qnn_2KrNqKS5md5ZCAtZBbYsMWOD1PUy3LfAfUFdfZ0","lore_tm_v1_mWNsICn6oyA-4MN9UPp7g88QKRUmRH93k726_oT-EfQ","lore_tm_v1_abFhImj4K2qQ7foFW1MMv0U5q11ocLNfTJoTCJ1xn4Y","lore_tm_v1_-lqpBCWWEtrYPgAvdPJsHO6-auiY8hvmvZO4NoILHIA","lore_tm_v1_iauiUrpkgLaeauZRRUrjUP_oOptW-UJn6kT6o6m6fG8","lore_tm_v1_eCsSFPjClBY4nxW-0aERvGEX9-DJNFYnFZIlhuIzJC0"]
sentry agent-conversation list --help rendered canonical usage sentry agent-conversation list [--limit value] [--query value] [--period value] [--fresh] [--cursor value] [--json] [--fields value] [<org>], with sentry agent-conversation list --help as the alternate usage; .env.local was absent and the CLI continued without it.sentry agent-conversation list β list recent conversations; 2. sentry agent-conversation list my-org β explicit organization; 3. sentry agent-conversation list --limit 50 --period 24h β show more from the last 24 hours; 4. sentry agent-conversation list -q "has:errors" β filter conversations; 5. sentry agent-conversation list my-org -c next β paginate through results.conversationId (string), title (string | null, optional), flow (array), errors (number), llmCalls (number), toolCalls (number), totalTokens (number), totalCost (number), startTimestamp (number), endTimestamp (number), traceCount (number), traceIds (array), firstInput (string | null), lastOutput (string | null), user (object | null, optional), toolNames (array), and toolErrors (number).sentry agent-conversation; flags -n, --limit (1β1000, default 25), -q, --query, -t, --period (examples "7d", "2026-08-01..2026-09-01", ">=2026-08-01", default 7d), -f, --fresh (default false), -c, --cursor ("next", "prev", "first", or a raw cursor), --json (default false), --fields with dot notation and the 18 available fields, -h, --help, and --; its argument table showed [org] as an organization slug.tsx@4.23.5 execution under Node.js v24.16.0 failed with ERR_PACKAGE_PATH_NOT_EXPORTED: no "exports" main was defined in /home/byk/Code/getsentry/cli-pr-1558/packages/cli/node_modules/@sentry/api/package.json; the stack originated in Nodeβs ESM resolver and passed through tsx/dist/register-CptX03bE.cjs.expected: 112, compact: 111, and refs: 111; both compact output and references were missing only sentry help <command...>, with no extra signatures.fc5d50e2324e2b6bb2067976bf1515dab45224fb, merge base bd065083c3b82677747b97a6cc7f5cf57532d3bc, and triple-dot SHA-256 03c5772e78b393b3979c44754709d7f401bb37a71e5679b34c50a9cc8334c2d0; repeated HEAD and merge-base reads were identical.formatHelpHuman definition: /home/byk/Code/getsentry/cli-pr-1558/packages/cli/src/lib/help.ts:764.packages/cli/src/lib/help.ts:667-689 defines formatFlagHuman(): it reverse-resolves a short alias from the command alias map, renders parsed/enum flags as <value> unless variadic, variadic flags as <value>..., appends brief, and includes (default: ${JSON.stringify(flag.default)}) for defined non-boolean defaults.packages/cli/src/lib/help.ts:694-721 defines formatCommandHuman(): it renders the command path plus positional signature, brief description, non-hidden flags, and JSON fields with type, optional marker, and description.packages/cli/src/lib/help.ts:726-753 defines formatGroupHuman(): it renders sentry ${group.name}, the group brief, and aligned subcommand names/descriptions; empty groups display (no commands), while nested routes strip the sentry <group> prefix so names such as widget add remain intact.--json never calls the human formatter; therefore full-tree human rendering is performed inside formatHelpHuman() so JSON output never triggers printCustomHelp()βs sixel probe or terminal I/O.formatHelpHuman(data: HelpJsonResult) in packages/cli/src/lib/help.ts:764-791 dispatches full trees containing routes to printCustomHelp().trimEnd(), route groups containing commands and name to formatGroupHuman(), single commands containing path to formatCommandHuman(), and errors to Error: ...; errors with fuzzy suggestions add Did you mean: ${formatSuggestionList(suggestions)}?, and unknown shapes return "".ContextError because view declares a required Stricli positional at packages/cli/src/commands/agent-conversation/view.ts:99-108; Stricli rejects a missing required tuple before loading the command at packages/cli/node_modules/@stricli/core/dist/index.js:837-848, making the ContextError at view.ts:119-121 unreachable through the real CLI. The test at packages/cli/test/commands/agent-conversation/view.test.ts:268-274 masks this by calling viewCommand.loader() directly; exact-head invocation instead returned Expected argument for org/conversation-id with exit 252, not ContextError exit 22.target?: string, distinguish undefined from a supplied blank string, throw ContextError for omission, and throw a fielded ValidationError for supplied blank input. Proposed regression coverage: dispatch through Stricli with no target and assert ContextError/exit 22; dispatch "" and whitespace-only targets and assert ValidationError with field: "conversation-id" before resolution or API calls.customUsage. The canonical signature is defined at packages/cli/src/commands/agent-conversation/view.ts:30-31,75, but the raw positional remains <org/conversation-id> at view.ts:99-107; the wrapper merely stores __primaryUsage at packages/cli/src/lib/command.ts:458-470. Stricliβs formatUsageLine uses raw parameters at packages/cli/node_modules/@stricli/core/dist/index.js:2116-2118, and route-group help invokes it at index.js:2140-2143, causing parent help to contradict command help, introspection, generated references, and accepted runtime syntax.customUsage entry as the canonical signature. Proposed regression: assert conversationRoute.formatHelp() contains [<org>/]<conversation-id> and never the raw <org/conversation-id> form.extractPositionals() does so at packages/cli/src/lib/introspect.ts:242-249, and the changed formatter wraps every such entry in brackets at packages/cli/script/generate-command-docs.ts:147-160. Resulting contradiction: apps/cli-docs/src/content/docs/commands/issue.md:147-155 shows command signature sentry issue merge <issue...> but argument row [<issue...>], even though packages/cli/src/commands/issue/merge.ts:275-281,306-314 requires at least 2 issues.<name...>. Proposed generated-doc regressions: [<org>] for an optional tuple, <environment> for a required tuple, and <issue...>βnever [<issue...>]βfor issue merge.CommandInfo.examples remains string[] at packages/cli/src/lib/introspect.ts:101-114; metadata examples override legacy examples at introspect.ts:295-309; direct, list, organization-list, and delete wrappers preserve the extended documentation type at packages/cli/src/lib/command.ts:97-114, list-command.ts:544-623,630-692, and mutate-command.ts:328-410.packages/cli/src/lib/command.ts:440-455,561-566, and exact-head list help rendered examples before JSON-field help.POSITIONAL defines optionality and supplies both USAGE_HINT and command parameters at packages/cli/src/commands/agent-conversation/list.ts:64-75,145-146.packages/cli/src/commands/agent-conversation/view.ts:48-69,122-135; tests cover invalid, auto-detected, and explicit-organization paths at packages/cli/test/commands/agent-conversation/view.test.ts:193-266.formatCommandExamples() at packages/cli/script/generate-command-docs.ts:28,212-215 and packages/cli/script/generate-skill.ts:26-30,598-601; legacy examples remain the fallback at packages/cli/src/lib/introspect.ts:304-308; fragment checks skip only metadata-owned commands at packages/cli/script/check-fragments.ts:250-275.packages/cli/src/lib/introspect.ts:327-340,359-380; all 111 emitted non-help skill/reference signatures matched current introspection, and generated agent-conversation examples matched source metadata.apply-label: true, and artifact upload is unconditional at .github/workflows/pr-risk.yml:23-36; getsentry/pr-risk-action@v0 converts the input to --label-pr only when its string value is "true".fc5d50e2324e2b6bb2067976bf1515dab45224fb; merge base bd065083c3b82677747b97a6cc7f5cf57532d3bc; triple-dot SHA-256 03c5772e78b393b3979c44754709d7f401bb37a71e5679b34c50a9cc8334c2d0.DO-NOT-MERGE.