@hallway/remote-agent
v0.0.7
Published
Hallway Remote Agent
Downloads
43
Readme
@hallway/daytona-server
Lightweight Node server with a WebSocket endpoint for receiving commands.
- HTTP health endpoint:
GET /healthz - WebSocket endpoint:
ws://<host>:<port>/ws
CLI Usage
After publishing or installing locally:
npx @hallway/daytona-server --target=./ --instance=abc-asd-asd-asd --port=3001Options:
--target(string, required): Target directory to operate in.--instance(string, required): Instance identifier (free-form string).--port(number, default3001): Port to listen on.
Local Development
Install dependencies and build:
pnpm install
pnpm run buildRun in dev mode (TypeScript, no build):
pnpm run dev -- --target=./ --instance=local-dev --port=3001Run the built CLI:
node bin/cli.js --target=./ --instance=local-built --port=3001Protocol
Messages over the WebSocket are JSON. Basic supported inbound message type is command:
{
"kind": "command",
"id": "optional-id",
"command": "doSomething",
"args": { "foo": "bar" }
}The server acknowledges with an ack message:
{
"kind": "ack",
"id": "optional-id",
"receivedAt": "2025-01-01T00:00:00.000Z"
}Server also emits events:
{ "kind": "ready", "instance": string, "target": string, "port": number }{ "kind": "client_connected", "remoteAddress"?: string }{ "kind": "client_disconnected", "remoteAddress"?: string }
Extending Commands Safely
Currently, received commands are logged. If you extend this to execute processes or access the filesystem within --target, ensure you validate inputs thoroughly to avoid security risks.
