Files
orca/src/shared/rpc-contract/reference-params.ts
T
Neil 15717a4e53 Add CLI commands to manage and find workspace references (#26807)
* Add CLI commands to manage and find workspace references

* Fix reference review findings: source-context twins, legacy link collapse, closed chats, old-host errors

- Keep same-URL links with different source contexts separate; CLI add/remove no longer drops a twin
- Restore merging a bare legacy link into its single matching URL link (no duplicate PR rows, no resurrection on older-client removal)
- Carry absorbed data through collapse chains; resolve repoId conflicts deterministically
- Identity: ignore www., case-insensitive GitHub/GitLab/Gitea paths (stored URL keeps case), no Jira match on git hosts; find accepts self-hosted issue URLs
- reference find: skip closed native chats, require a session id for linked, include an explicitly named archived workspace, warm-cache fallback for --worktree
- Selector parity: collapse same-host duplicate paths, issue: ignores unlinked rows
- CLI: clear update-host error for hosts without reference.*, local flag checks before host probe, help text fixes

* Fix CI: add reference rm alias for verb policy; expect linkedItems in worktree ps summary

* Simplify reference CLI: share identifier/legacy-match helpers, drop redundant dedupe
2026-10-09 22:22:01 -07:00

21 lines
629 B
TypeScript

import { z } from 'zod'
import { requiredString, OptionalString } from './rpc-param-primitives'
export const ReferenceList = z.object({
worktree: requiredString('Missing worktree selector'),
cwd: OptionalString
})
export const ReferenceFind = z
.object({
query: requiredString('Missing reference URL or issue key'),
worktree: OptionalString,
cwd: OptionalString,
repo: OptionalString,
includeArchived: z.boolean().optional(),
limit: z.number().int().positive().optional()
})
.refine((params) => !(params.worktree && params.repo), {
message: '--repo and --worktree cannot be combined'
})