Dashboard › cli › Distillation
9de09ff9-3d12-43bd-a1a9-acd068b4e7cd["lore_tm_v1_OuTFWQ2vRvfN1tG9Ceh3LHx2Zn3eYyL25PqNW35px_U"]
/; therefore a view target may contain at most one slash, using [<org>/]<conversation-id>.packages/cli/src/commands/agent-conversation/list.ts now defines reusable POSITIONAL metadata for one optional org tuple parameter and derives USAGE_HINT as sentry agent-conversation list ${getPositionalString(POSITIONAL)}; unresolved-organization ContextError now uses that canonical hint, yielding sentry agent-conversation list [<org>].packages/cli/src/commands/agent-conversation/list.ts replaced inline positional metadata with positional: POSITIONAL and replaced examples embedded in fullDescription with 5 canonical docs.examples, ordered: 1. sentry agent-conversation list — list recent agent conversations; 2. sentry agent-conversation list my-org — explicit organization; 3. sentry agent-conversation list --limit 50 --period 24h — show more for 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.packages/cli/src/commands/agent-conversation/view.ts now defines USAGE = "[<org>/]<conversation-id>", derives USAGE_HINT = "sentry agent-conversation view [<org>/]<conversation-id>", and exposes customUsage: [USAGE].parseConversationTarget() in packages/cli/src/commands/agent-conversation/view.ts now rejects targets containing multiple / characters with validationError("Conversation target must contain at most one '/'.", [USAGE_HINT], "conversation-id"); it rejects empty organization or conversation-ID segments with validationError("Conversation target must include both an organization and conversation ID when using '/'.", [USAGE_HINT], "conversation-id"). These cases previously fell through or used ContextError.packages/cli/src/commands/agent-conversation/view.ts retains no-slash behavior where the entire trimmed target is the conversation ID and the organization is auto-detected; one valid slash splits the explicit organization before / from the conversation ID after it.packages/cli/src/commands/agent-conversation/view.ts replaced examples embedded in fullDescription with 3 canonical docs.examples, ordered: 1. sentry agent-conversation view conv-123 — full transcript with organization auto-detected; 2. sentry agent-conversation view my-org/conv-123 — explicit organization; 3. sentry agent-conversation view my-org/conv-123 --json — JSON output.packages/cli/test/commands/agent-conversation/list.test.ts adds a regression asserting unresolved organization errors expose command: "sentry agent-conversation list [<org>]".packages/cli/test/commands/agent-conversation/view.test.ts now imports ValidationError and adds a parameterized regression covering exactly 5 malformed targets: ${ORG}/${CONVERSATION_ID}/extra, ${ORG}//${CONVERSATION_ID}, ${ORG}/${CONVERSATION_ID}/, /${CONVERSATION_ID}, and ${ORG}/.packages/cli/test/commands/agent-conversation/view.test.ts requires each malformed value to throw ValidationError with field: "conversation-id" and a message containing sentry agent-conversation view [<org>/]<conversation-id> before either resolveOrg() or getConversationSpans() is called.