Files
Jamie Pine 5c1c8dea88 feat(core): implement bidirectional remote file copy (PULL support)
Extends the FileCopyJob to support PULL operations, enabling files to be
copied FROM remote devices TO the local device. Previously, only PUSH
operations worked (local -> remote).

Changes:
- Add PullRequest/PullResponse messages to FileTransferMessage enum
- Add TransferDirection enum to detect PUSH vs PULL operations
- Refactor RemoteTransferStrategy to detect direction automatically
- Implement execute_pull() for remote source -> local destination
- Add handle_pull_request() handler on the protocol side
- Add path validation for security (prevent directory traversal)
- Add integration test for PULL operations

The strategy automatically detects direction based on SdPath:
- Source is local + Destination is remote = PUSH (existing behavior)
- Source is remote + Destination is local = PULL (new behavior)

This enables users to drag files from remote device explorers to local
folders, which previously failed with 'Source must be local path' error.

Closes FILE-005
2025-12-26 12:38:49 -08:00
..
2025-12-03 15:56:27 -08:00
2025-10-18 10:33:20 -07:00
2025-10-11 13:14:01 -07:00
2025-10-11 13:14:01 -07:00
2025-09-07 01:44:02 -04:00
2025-10-11 13:14:01 -07:00
2025-10-11 13:14:01 -07:00
2025-12-03 15:56:27 -08:00
2025-10-11 13:14:01 -07:00
2025-10-11 13:14:01 -07:00