{"_id":"@ahmadposten/talos-agent","name":"@ahmadposten/talos-agent","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@ahmadposten/talos-agent","version":"0.1.0","description":"CLI client for controlling Talos agents remotely","author":{"name":"Kirill Dubovitskiy"},"license":"MIT","type":"module","bin":{"talos-agent":"bin/talos-agent.mjs"},"main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.cts","exports":{".":{"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"},"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"}}},"dependencies":{"axios":"^1.13.2","chalk":"^5.6.2","commander":"^13.1.0","qrcode-terminal":"^0.12.0","socket.io-client":"^4.8.1","tweetnacl":"^1.0.3","@ahmadposten/talos-wire":"0.1.0"},"devDependencies":{"@types/node":">=20","@types/qrcode-terminal":"^0.12.2","pkgroll":"^2.14.2","release-it":"^19.0.6","tsx":"^4.20.6","typescript":"5.9.3","vitest":"^3.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org","access":"public"},"homepage":"https://talosapp.ai","scripts":{"typecheck":"tsc --noEmit","build":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\" && tsc --noEmit && pkgroll","test":"$npm_execpath run build && vitest run","test:integration":"$npm_execpath run build && vitest run --config vitest.integration.config.ts","dev":"tsx src/index.ts","release":"node ../../scripts/release.cjs agent"},"_id":"@ahmadposten/talos-agent@0.1.0","_integrity":"sha512-k8AHjQf8SRWfk00SHNUuxlhZFKf8qpd643vP30oMMQ00EZViZSF9ibJk4PezG9Hzx+BIZWFCphK8Y5yMq9rFwg==","_resolved":"/private/var/folders/h3/q9ncwgkx7qgbrzg3y31c_rhw0000gn/T/e7625bdddf9bec91bec9c1b305f8ebd1/ahmadposten-talos-agent-0.1.0.tgz","_from":"file:ahmadposten-talos-agent-0.1.0.tgz","_nodeVersion":"25.1.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-k8AHjQf8SRWfk00SHNUuxlhZFKf8qpd643vP30oMMQ00EZViZSF9ibJk4PezG9Hzx+BIZWFCphK8Y5yMq9rFwg==","shasum":"a6962580ac6de4da62c50c941e90627db0edfc95","tarball":"https://registry.npmjs.org/@ahmadposten/talos-agent/-/talos-agent-0.1.0.tgz","fileCount":8,"unpackedSize":104528,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIGghU78BMWQ5Z/4utS9Pe4bGKTdnEvM6HNUytweMqKGQAiEA+HDEMd7jNDY5sg0Yts/xYmm5reWqkv1zbRQTHzifRYk="}]},"_npmUser":{"name":"ahmadposten","email":"ahmad.hassan612@gmail.com"},"directories":{},"maintainers":[{"name":"ahmadposten","email":"ahmad.hassan612@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/talos-agent_0.1.0_1788731012838_0.43271664468771975"},"_hasShrinkwrap":false}},"time":{"created":"2026-09-06T21:43:32.695Z","0.1.0":"2026-09-06T21:43:32.966Z","modified":"2026-09-06T21:43:33.142Z"},"maintainers":[{"name":"ahmadposten","email":"ahmad.hassan612@gmail.com"}],"description":"CLI client for controlling Talos agents remotely","homepage":"https://talosapp.ai","author":{"name":"Kirill Dubovitskiy"},"license":"MIT","readme":"# Talos Agent\n\nCLI client for controlling Talos agents remotely.\n\nUnlike `talosapp` which both runs and controls agents, `talos-agent` only controls them — listing machines, spawning sessions on a machine, creating sessions, sending messages, reading history, monitoring state, and stopping sessions.\n\n## Installation\n\n```bash\nnpm install -g @ahmadposten/talos-agent\n```\n\nThe installed command is `talos-agent`. For source development, run `pnpm --filter @ahmadposten/talos-agent build` from the monorepo.\n\n## Authentication\n\nTalos Agent uses account authentication via QR code, the same flow as linking a device in the Talos mobile app.\n\n```bash\n# Authenticate by scanning QR code with the Talos mobile app\ntalos-agent auth login\n\n# Check authentication status\ntalos-agent auth status\n\n# Clear stored credentials\ntalos-agent auth logout\n```\n\nCredentials are stored at `~/.talos/agent.key`.\n\n## Commands\n\n### List sessions\n\n```bash\n# List all sessions\ntalos-agent list\n\n# List only active sessions\ntalos-agent list --active\n\n# Output as JSON\ntalos-agent list --json\n```\n\n### List machines\n\n```bash\n# List all machines\ntalos-agent machines\n\n# List only active machines\ntalos-agent machines --active\n\n# Output as JSON\ntalos-agent machines --json\n```\n\n### Spawn on a machine\n\n```bash\n# Spawn a session on a specific machine\ntalos-agent spawn --machine <machine-id> --path ~/project\n\n# Let the daemon create the directory if needed\ntalos-agent spawn --machine <machine-id> --path ~/new-project --create-dir\n\n# Choose a specific agent\ntalos-agent spawn --machine <machine-id> --path ~/project --agent codex\n\n# Output as JSON\ntalos-agent spawn --machine <machine-id> --path ~/project --json\n```\n\n### Session status\n\n```bash\n# Get live session state (supports ID prefix matching)\ntalos-agent status <session-id>\n\n# Output as JSON\ntalos-agent status <session-id> --json\n```\n\n### Create a session\n\n```bash\n# Create a new session with a tag\ntalos-agent create --tag my-project\n\n# Specify a working directory\ntalos-agent create --tag my-project --path /home/user/project\n\n# Output as JSON\ntalos-agent create --tag my-project --json\n```\n\n### Send a message\n\n```bash\n# Send a message to a session\ntalos-agent send <session-id> \"Fix the login bug\"\n\n# Send with yolo permissions\ntalos-agent send <session-id> \"Ship it\" --yolo\n\n# Send and wait for the agent to finish\ntalos-agent send <session-id> \"Run the tests\" --wait\n\n# Output as JSON\ntalos-agent send <session-id> \"Hello\" --json\n```\n\n### Message history\n\n```bash\n# View message history\ntalos-agent history <session-id>\n\n# Limit to last N messages\ntalos-agent history <session-id> --limit 10\n\n# Output as JSON\ntalos-agent history <session-id> --json\n```\n\n### Stop a session\n\n```bash\ntalos-agent stop <session-id>\n```\n\n### Wait for idle\n\n```bash\n# Wait for agent to become idle (default 300s timeout)\ntalos-agent wait <session-id>\n\n# Custom timeout\ntalos-agent wait <session-id> --timeout 60\n```\n\nExit code 0 when agent becomes idle, 1 on timeout.\n\n## Environment Variables\n\n- `TALOS_SERVER_URL` - API server URL (default: `http://localhost:3005`)\n- `TALOS_HOME_DIR` - Home directory for credential storage (default: `~/.talos`)\n\n## Session ID Matching\n\nAll commands that accept a `<session-id>` support prefix matching. You can provide the first few characters of a session ID and the CLI will resolve the full ID.\n\nMachine-aware commands such as `spawn --machine <machine-id>` also support ID prefix matching.\n\n## Encryption\n\nAll machine and session data is end-to-end encrypted. New records use AES-256-GCM with per-record keys. Existing records created by other clients are decrypted using the appropriate key scheme (AES-256-GCM or legacy NaCl secretbox).\n\n## Requirements\n\n- Node.js >= 20.0.0\n- A Talos mobile app account for authentication\n\n## Preparing a release\n\nPublish the wire dependency first, then use `pnpm publish --access public --no-git-checks` from this package directory. The prepublish script builds and tests the release. `.release-it.json` remains a local versioning helper; repository pushes and hosted releases are configured separately.\n\nFor local verification, run `pnpm --filter @ahmadposten/talos-agent build` and `pnpm --filter @ahmadposten/talos-agent test`. See [the rebrand release requirements](../../docs/rebrand/README.md).\n\n## License\n\nMIT\n","readmeFilename":"README.md","_rev":"1-9343c6886b437a2183e7fbdd950f53e1"}