apps/server/package.json | 1 + apps/server/src/auth/RpcAuthorization.ts | 1 + apps/server/src/device/DeviceActions.test.ts | 1 + apps/server/src/device/DeviceActions.ts | 2 +- apps/server/src/device/DeviceHost.ts | 3 +- apps/server/src/device/DeviceMultiHost.test.ts | 54 +++- apps/server/src/device/DeviceService.test.ts | 1 + apps/server/src/device/DeviceService.ts | 272 ++++++++++++++++---- apps/server/src/device/DeviceToolchain.ts | 4 +- apps/server/src/device/LocalDeviceHost.ts | 1 + apps/server/src/device/SshDeviceHost.test.ts | 131 ++++++++++ apps/server/src/device/SshDeviceHost.ts | 434 ++++++++++++++++++++++++++++++++ apps/server/src/device/sshDeviceScript.test.ts | 220 ++++++++++++++++ apps/server/src/device/sshDeviceScript.ts | 192 ++++++++++++++ apps/server/src/mcp/McpDeviceToolkit.test.ts | 1 + apps/server/src/mcp/toolkits/device/handlers.ts | 3 + apps/server/src/ws.ts | 4 + apps/web/src/components/device/DeviceHostAvailability.tsx | 27 ++ apps/web/src/components/settings/DeviceHostsSettings.tsx | 334 ++++++++++++++++++++++++ apps/web/src/components/settings/IntegrationsSettings.tsx | 72 +++++- apps/web/src/components/settings/settingsSearch.ts | 6 + docs/internals/devices.md | 12 +- docs/user/devices.md | 29 ++- packages/client-runtime/src/state/device.ts | 4 + packages/contracts/src/device.ts | 24 +- packages/contracts/src/rpc.ts | 10 + packages/contracts/src/settings.test.ts | 13 + packages/contracts/src/settings.ts | 3 + packages/shared/src/serverSettings.test.ts | 10 + pnpm-lock.yaml | 3 + 30 files changed, 1794 insertions(+), 78 deletions(-)