Skip to content

Commit 8a3b80e

Browse files
committed
Make copying selected files to temporary directory optional during agentic CLI invocation
- In `invoke_agentic_cli`, add a `copy_checked_files?: boolean` parameter so the isolated temp directory remains empty by default, and set it to `true` only in `handle-invoke-agentic-cli.ts`. └── apps └── editor └── src ├── commands │ ├── code-at-cursor-command │ │ └── utils │ │ └── perform-code-at-cursor.ts │ └── generate-commit-message-commands │ └── actions │ └── run-generate-action.ts ├── features │ ├── agentic-search │ │ └── agentic-search.ts │ └── search-files │ └── search-modes │ └── perform-intelligent-search-mode.ts ├── utils │ └── agentic-cli-invocation │ ├── agents │ │ ├── antigravity.ts │ │ ├── claude.ts │ │ ├── codex.ts │ │ ├── cursor.ts │ │ ├── grok.ts │ │ ├── index.ts │ │ └── opencode.ts │ ├── index.ts │ ├── invoke-agentic-cli.ts │ ├── types.ts │ └── utils │ ├── check-command-exists.ts │ ├── format-duration.ts │ ├── generate-diff-markdown.ts │ └── get-progress-dots.ts └── views └── prompt └── backend └── message-handlers ├── handle-invoke-agentic-cli.ts ├── handle-patch-repair.ts └── handle-voice-input.ts
1 parent 28167c4 commit 8a3b80e

2 files changed

Lines changed: 35 additions & 28 deletions

File tree

‎apps/editor/src/utils/agentic-cli-invocation/invoke-agentic-cli.ts‎

Lines changed: 34 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ export const invoke_agentic_cli = async (params: {
3131
last_used_agent_config_name?: string
3232
show_back_button?: boolean
3333
isolate_in_temp_dir?: boolean
34+
copy_selected_files?: boolean
3435
run_in_terminal?: boolean
3536
generate_diff_for_temp_dir?: boolean
3637
agent_args_type?: 'isolated-dir' | 'integrated-terminal'
@@ -310,34 +311,39 @@ export const invoke_agentic_cli = async (params: {
310311
temp_dir_path = await fs.promises.mkdtemp(
311312
path.join(os.tmpdir(), 'cwc-cli-')
312313
)
313-
const checked_files = params.workspace_provider.get_checked_files()
314-
315-
for (const file_path of checked_files) {
316-
const root =
317-
params.workspace_provider.get_workspace_root_for_file(file_path)
318-
if (!root) continue
319-
const rel = path.relative(root, file_path)
320-
const dest_rel =
321-
roots.length > 1
322-
? path.join(
323-
params.workspace_provider.get_workspace_name(root),
324-
rel
325-
)
326-
: rel
327-
const dest_path = path.join(temp_dir_path, dest_rel)
328-
329-
await fs.promises.mkdir(path.dirname(dest_path), { recursive: true })
330-
await fs.promises.copyFile(file_path, dest_path)
331-
332-
const initial_content = await fs.promises
333-
.readFile(file_path, 'utf-8')
334-
.catch(() => undefined)
335-
336-
file_mappings.set(dest_path, {
337-
original: file_path,
338-
dest_rel: dest_rel.replace(/\\/g, '/'),
339-
initial_content
340-
})
314+
315+
if (params.copy_selected_files) {
316+
const checked_files = params.workspace_provider.get_checked_files()
317+
318+
for (const file_path of checked_files) {
319+
const root =
320+
params.workspace_provider.get_workspace_root_for_file(file_path)
321+
if (!root) continue
322+
const rel = path.relative(root, file_path)
323+
const dest_rel =
324+
roots.length > 1
325+
? path.join(
326+
params.workspace_provider.get_workspace_name(root),
327+
rel
328+
)
329+
: rel
330+
const dest_path = path.join(temp_dir_path, dest_rel)
331+
332+
await fs.promises.mkdir(path.dirname(dest_path), {
333+
recursive: true
334+
})
335+
await fs.promises.copyFile(file_path, dest_path)
336+
337+
const initial_content = await fs.promises
338+
.readFile(file_path, 'utf-8')
339+
.catch(() => undefined)
340+
341+
file_mappings.set(dest_path, {
342+
original: file_path,
343+
dest_rel: dest_rel.replace(/\\/g, '/'),
344+
initial_content
345+
})
346+
}
341347
}
342348

343349
selected_root = temp_dir_path

‎apps/editor/src/views/prompt/backend/message-handlers/handle-invoke-agentic-cli.ts‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ export const handle_invoke_agentic_cli = async (
5252
last_selected_workspace_state_key:
5353
LAST_SELECTED_WORKSPACE_IN_AGENTIC_CLI_STATE_KEY,
5454
isolate_in_temp_dir: true,
55+
copy_selected_files: true,
5556
run_in_terminal: prompt_type == 'ask-about-files',
5657
generate_diff_for_temp_dir: prompt_type == 'edit-files',
5758
agent_args_type:

0 commit comments

Comments
 (0)