waveterm/pkg
Evan Simkowitz 902ff9baf1
enable wsh file cross-remote copy/move (#1725)
This adds the ability to stream `tar` archives over channels between
`wsh` instances. The main use cases for this are remote copy and move
operations.

It also completes the `wavefs` implementation of the FileShare interface
to allow copy/move interoperability between wavefiles and other storage
types.

The tar streaming functionality has been broken out into the new
`tarcopy` package for easy reuse.

New `fileshare` functions are added for `CopyInternal`, which allows
copying files internal to a filesystem to bypass the expensive interop
layer, and `MoveInternal`, which does the same for moving a file within
a filesystem. Copying between remotes is now handled by `CopyRemote`,
which accepts the source `FileShareClient` as a parameter. `wsh`
connections use the same implementation for `CopyInternal` and
`CopyRemote` as they need to request the channel on the remote
destination, since we don't offer a way to pass channels as a parameter
to a remote call.

This also adds a recursive `-r` flag to `wsh file rm` to allow for
deleting a directory and all its contents.

S3 support will be addressed in a future PR.

---------

Co-authored-by: sawka <mike@commandline.dev>
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-01-31 10:42:39 -08:00
..
authkey Happy new year! (#1684) 2025-01-04 20:56:57 -08:00
blockcontroller initscript -- support for local files, and overrides in connections.json (#1818) 2025-01-23 15:41:13 -08:00
blocklogger conn updates 3 (#1711) 2025-01-10 14:09:32 -08:00
docsite Add license identifiers to missing files (#1806) 2025-01-22 20:06:36 -08:00
eventbus Happy new year! (#1684) 2025-01-04 20:56:57 -08:00
filestore Fix windows path for wsh url (#1798) 2025-01-22 17:28:59 -08:00
genconn WSL Updates for New Architecture (#1756) 2025-01-16 15:54:58 -08:00
gogen Happy new year! (#1684) 2025-01-04 20:56:57 -08:00
ijson Happy new year! (#1684) 2025-01-04 20:56:57 -08:00
panichandler Happy new year! (#1684) 2025-01-04 20:56:57 -08:00
remote enable wsh file cross-remote copy/move (#1725) 2025-01-31 10:42:39 -08:00
service wsh file overhaul without cross-remote copy and S3 (#1790) 2025-01-22 14:50:09 -08:00
shellexec add jwt token back to wsl connections (#1841) 2025-01-24 14:24:15 -08:00
telemetry Happy new year! (#1684) 2025-01-04 20:56:57 -08:00
trimquotes Add license identifiers to missing files (#1806) 2025-01-22 20:06:36 -08:00
tsgen Happy new year! (#1684) 2025-01-04 20:56:57 -08:00
userinput Known Hosts User Input Fix (#1778) 2025-01-20 14:38:40 -08:00
util enable wsh file cross-remote copy/move (#1725) 2025-01-31 10:42:39 -08:00
vdom Happy new year! (#1684) 2025-01-04 20:56:57 -08:00
waveai Fix openai regression (#1758) 2025-01-16 18:02:18 -08:00
waveapp fail any rpc call which blocks the runServer loop for more than 1s (#1861) 2025-01-27 22:38:19 -08:00
wavebase pull cmd:env and initscripts into wave terminals (#1793) 2025-01-22 16:04:08 -08:00
waveobj initscript -- support for local files, and overrides in connections.json (#1818) 2025-01-23 15:41:13 -08:00
wcloud Happy new year! (#1684) 2025-01-04 20:56:57 -08:00
wconfig refactor: remove ConnOverrideConfig (#1842) 2025-01-24 14:35:11 -08:00
wcore wsh file overhaul without cross-remote copy and S3 (#1790) 2025-01-22 14:50:09 -08:00
web enable wsh file cross-remote copy/move (#1725) 2025-01-31 10:42:39 -08:00
wps Add license identifiers to missing files (#1806) 2025-01-22 20:06:36 -08:00
wshrpc enable wsh file cross-remote copy/move (#1725) 2025-01-31 10:42:39 -08:00
wshutil enable wsh file cross-remote copy/move (#1725) 2025-01-31 10:42:39 -08:00
wsl WSL Updates for New Architecture (#1756) 2025-01-16 15:54:58 -08:00
wslconn pull cmd:env and initscripts into wave terminals (#1793) 2025-01-22 16:04:08 -08:00
wstore Happy new year! (#1684) 2025-01-04 20:56:57 -08:00