What to build
Dropping any file on a Deck Terminal should hand that file to the pane as part of the current prompt instead of opening it in an editor tab or silently losing it.
This deliberately extends the decisions shipped through #176 and #179. A drag carrying local file: URIs keeps the original absolute paths, so source-file identity is preserved. When a Finder, browser, screenshot thumbnail, or other source exposes only browser File objects, Deck acquires every file synchronously and materializes the bytes under the OS temp directory. Losing the original identity is an explicit trade-off for byte-only sources: the webview has no source path to preserve, and the alternative is not delivering the file at all.
Both sources converge into one FileDrop result: one ordered bracketed paste containing every resolved path. The gesture does not submit or execute input, does not mutate the clipboard, and remains independent of whether Deck currently recognizes an agent in the pane. Image MIME mapping may help preserve conventional image extensions, but ImageDrop should no longer be a separate protocol or user-facing concept.
A mixed payload must not discard byte-backed files merely because it also contains an unusable URI such as https: or untitled:. Distinct files must not be deduplicated by coincidentally sharing a basename and byte length.
Acceptance criteria
Blocked by
None - can start immediately
What to build
Dropping any file on a Deck Terminal should hand that file to the pane as part of the current prompt instead of opening it in an editor tab or silently losing it.
This deliberately extends the decisions shipped through #176 and #179. A drag carrying local
file:URIs keeps the original absolute paths, so source-file identity is preserved. When a Finder, browser, screenshot thumbnail, or other source exposes only browserFileobjects, Deck acquires every file synchronously and materializes the bytes under the OS temp directory. Losing the original identity is an explicit trade-off for byte-only sources: the webview has no source path to preserve, and the alternative is not delivering the file at all.Both sources converge into one FileDrop result: one ordered bracketed paste containing every resolved path. The gesture does not submit or execute input, does not mutate the clipboard, and remains independent of whether Deck currently recognizes an agent in the pane. Image MIME mapping may help preserve conventional image extensions, but ImageDrop should no longer be a separate protocol or user-facing concept.
A mixed payload must not discard byte-backed files merely because it also contains an unusable URI such as
https:oruntitled:. Distinct files must not be deduplicated by coincidentally sharing a basename and byte length.Acceptance criteria
Blocked by
None - can start immediately