| 1 | import { TOOL_CALL_READ_ONLY_WORKSPACE_ROOT } from "../src/orchestration-v2/testkit/fixtures/shared.ts"; |
| 2 | |
| 3 | const SEEDED_CURSOR_REPLAY_SCENARIOS = new Set(["subagent", "tool_call_read_only", "todo_list"]); |
| 4 | |
| 5 | export function cursorReplayPromptsForWorkspace(input: { |
| 6 | readonly scenario: string; |
| 7 | readonly configuredPrompts: ReadonlyArray<string>; |
| 8 | readonly packageJsonPath: string; |
| 9 | readonly tsconfigPath: string; |
| 10 | }): ReadonlyArray<string> { |
| 11 | if (input.scenario !== "tool_call_read_only") { |
| 12 | return input.configuredPrompts; |
| 13 | } |
| 14 | |
| 15 | return [ |
| 16 | `Read ${input.packageJsonPath} and ${input.tsconfigPath}, then answer exactly: read only tool fixture complete`, |
| 17 | ]; |
| 18 | } |
| 19 | |
| 20 | export function shouldSeedCursorReplayWorkspace(input: { |
| 21 | readonly scenario: string; |
| 22 | readonly owned: boolean; |
| 23 | }): boolean { |
| 24 | return input.owned && SEEDED_CURSOR_REPLAY_SCENARIOS.has(input.scenario); |
| 25 | } |
| 26 | |
| 27 | export function cursorReplayTranscriptCwd(scenario: string): string | undefined { |
| 28 | return scenario === "tool_call_read_only" ? TOOL_CALL_READ_ONLY_WORKSPACE_ROOT : undefined; |
| 29 | } |