* fix(app): preserve linked resources when pasting prompts
Rich clipboard links carried their destination only in HTML, while the composer let textarea default paste insert the plain label. Convert linked fragments to Markdown at ingestion and replace the selected draft range through the existing editor command.
* fix(app): keep pasted links undoable while drafting offline
Use the browser edit command for converted paste so selection replacement participates in Undo and normal input publication. Keep complete Markdown clipboard text when it already carries the link destinations, and limit connection gating to image uploads.
* fix(app): preserve copied Markdown with normalized links
Copy renders normalized URLs in HTML while retaining original Markdown in plain text. Compare parsed destinations using the same Markdown parser so pasting complete responses keeps tables and formatting intact.
* fix(app): retain external linked tables when pasting prompts
Recovering missing link destinations must retain table rows and columns. Use the existing table converter and keep cell delimiters and line breaks inside their cells.
* test(app): name rich clipboard paste arguments
* fix(app): preserve pasted links around rowless tables
The table converter requires a first row. Convert rowless table content separately so empty markup cannot abort recovery of surrounding destinations.
* test(app): wait for workspace restore before undo teardown
The directory appears before git finishes recreating the worktree. Wait for the host to publish its active workspace before cleanup removes the source repository.
---------
Co-authored-by: paseo-bot[bot] <266920839+paseo-bot[bot]@users.noreply.github.com>