agent-relay 1.1.0 → 1.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.gitattributes +3 -0
- package/.nvmrc +1 -0
- package/.trajectories/completed/2026-01/traj_1dviorhnkcb5.json +65 -0
- package/.trajectories/completed/2026-01/traj_1dviorhnkcb5.md +37 -0
- package/.trajectories/completed/2026-01/traj_1k5if5snst2e.json +65 -0
- package/.trajectories/completed/2026-01/traj_1k5if5snst2e.md +37 -0
- package/.trajectories/completed/2026-01/traj_1rp3rges5811.json +49 -0
- package/.trajectories/completed/2026-01/traj_1rp3rges5811.md +31 -0
- package/.trajectories/completed/2026-01/traj_22bhyulruouw.json +113 -0
- package/.trajectories/completed/2026-01/traj_22bhyulruouw.md +57 -0
- package/.trajectories/completed/2026-01/traj_2dao7ddgnta0.json +53 -0
- package/.trajectories/completed/2026-01/traj_2dao7ddgnta0.md +32 -0
- package/.trajectories/completed/2026-01/traj_3t0440mjeunc.json +26 -0
- package/.trajectories/completed/2026-01/traj_3t0440mjeunc.md +6 -0
- package/.trajectories/completed/2026-01/traj_45x9494d9xnr.json +47 -0
- package/.trajectories/completed/2026-01/traj_45x9494d9xnr.md +32 -0
- package/.trajectories/completed/2026-01/traj_4aa0bb77s4nh.json +53 -0
- package/.trajectories/completed/2026-01/traj_4aa0bb77s4nh.md +32 -0
- package/.trajectories/completed/2026-01/traj_5lhmzq8rxpqv.json +59 -0
- package/.trajectories/completed/2026-01/traj_5lhmzq8rxpqv.md +33 -0
- package/.trajectories/completed/2026-01/traj_5vr4e9erb1fs.json +53 -0
- package/.trajectories/completed/2026-01/traj_5vr4e9erb1fs.md +32 -0
- package/.trajectories/completed/2026-01/traj_6fgiwdoklvym.json +48 -0
- package/.trajectories/completed/2026-01/traj_6fgiwdoklvym.md +24 -0
- package/.trajectories/completed/2026-01/traj_7ludwvz45veh.json +209 -0
- package/.trajectories/completed/2026-01/traj_7ludwvz45veh.md +97 -0
- package/.trajectories/completed/2026-01/traj_9921cuhel0pj.json +48 -0
- package/.trajectories/completed/2026-01/traj_9921cuhel0pj.md +24 -0
- package/.trajectories/completed/2026-01/traj_ajs7zqfux4wc.json +49 -0
- package/.trajectories/completed/2026-01/traj_ajs7zqfux4wc.md +23 -0
- package/.trajectories/completed/2026-01/traj_cvtqhlwcq9s0.json +53 -0
- package/.trajectories/completed/2026-01/traj_cvtqhlwcq9s0.md +32 -0
- package/.trajectories/completed/2026-01/traj_cxofprm2m2en.json +49 -0
- package/.trajectories/completed/2026-01/traj_cxofprm2m2en.md +31 -0
- package/.trajectories/completed/2026-01/traj_d2hhz3k0vrhn.json +26 -0
- package/.trajectories/completed/2026-01/traj_d2hhz3k0vrhn.md +6 -0
- package/.trajectories/completed/2026-01/traj_dfuvww9pege5.json +59 -0
- package/.trajectories/completed/2026-01/traj_dfuvww9pege5.md +37 -0
- package/.trajectories/completed/2026-01/traj_g0fisy9h51mf.json +77 -0
- package/.trajectories/completed/2026-01/traj_g0fisy9h51mf.md +42 -0
- package/.trajectories/completed/2026-01/traj_gjdre5voouod.json +53 -0
- package/.trajectories/completed/2026-01/traj_gjdre5voouod.md +32 -0
- package/.trajectories/completed/2026-01/traj_gtlyqtta3x8l.json +25 -0
- package/.trajectories/completed/2026-01/traj_gtlyqtta3x8l.md +15 -0
- package/.trajectories/completed/2026-01/traj_h4xijiuip3w4.json +101 -0
- package/.trajectories/completed/2026-01/traj_h4xijiuip3w4.md +44 -0
- package/.trajectories/completed/2026-01/traj_hhxte7w4gjjx.json +22 -0
- package/.trajectories/completed/2026-01/traj_hhxte7w4gjjx.md +5 -0
- package/.trajectories/completed/2026-01/traj_hpungyhoj6v5.json +53 -0
- package/.trajectories/completed/2026-01/traj_hpungyhoj6v5.md +32 -0
- package/.trajectories/completed/2026-01/traj_m2xkjv0w2sq7.json +25 -0
- package/.trajectories/completed/2026-01/traj_m2xkjv0w2sq7.md +15 -0
- package/.trajectories/completed/2026-01/traj_noq5zbvnrdvz.json +53 -0
- package/.trajectories/completed/2026-01/traj_noq5zbvnrdvz.md +32 -0
- package/.trajectories/completed/2026-01/traj_ntbs6ppopf46.json +53 -0
- package/.trajectories/completed/2026-01/traj_ntbs6ppopf46.md +32 -0
- package/.trajectories/completed/2026-01/traj_ozd98si6a7ns.json +48 -0
- package/.trajectories/completed/2026-01/traj_ozd98si6a7ns.md +24 -0
- package/.trajectories/completed/2026-01/traj_prdza7a5cxp5.json +53 -0
- package/.trajectories/completed/2026-01/traj_prdza7a5cxp5.md +32 -0
- package/.trajectories/completed/2026-01/traj_qb3twvvywfwi.json +77 -0
- package/.trajectories/completed/2026-01/traj_qb3twvvywfwi.md +42 -0
- package/.trajectories/completed/2026-01/traj_qft54mi7nfor.json +53 -0
- package/.trajectories/completed/2026-01/traj_qft54mi7nfor.md +32 -0
- package/.trajectories/completed/2026-01/traj_qx9uhf8whhxo.json +83 -0
- package/.trajectories/completed/2026-01/traj_qx9uhf8whhxo.md +47 -0
- package/.trajectories/completed/2026-01/traj_rd9toccj18a0.json +59 -0
- package/.trajectories/completed/2026-01/traj_rd9toccj18a0.md +37 -0
- package/.trajectories/completed/2026-01/traj_rt4fiw3ecp50.json +48 -0
- package/.trajectories/completed/2026-01/traj_rt4fiw3ecp50.md +16 -0
- package/.trajectories/completed/2026-01/traj_st8j35b0hrlc.json +59 -0
- package/.trajectories/completed/2026-01/traj_st8j35b0hrlc.md +37 -0
- package/.trajectories/completed/2026-01/traj_t1yy8m7hbuxp.json +53 -0
- package/.trajectories/completed/2026-01/traj_t1yy8m7hbuxp.md +32 -0
- package/.trajectories/completed/2026-01/traj_tmux_orchestrator_analysis.json +84 -0
- package/.trajectories/completed/2026-01/traj_tmux_orchestrator_analysis.md +109 -0
- package/.trajectories/completed/2026-01/traj_u9n9eqasw16k.json +53 -0
- package/.trajectories/completed/2026-01/traj_u9n9eqasw16k.md +32 -0
- package/.trajectories/completed/2026-01/traj_v87hypnongqx.json +71 -0
- package/.trajectories/completed/2026-01/traj_v87hypnongqx.md +42 -0
- package/.trajectories/completed/2026-01/traj_wkp2fgzdyinb.json +53 -0
- package/.trajectories/completed/2026-01/traj_wkp2fgzdyinb.md +32 -0
- package/.trajectories/completed/2026-01/traj_x14t8w8rn7xg.json +20 -0
- package/.trajectories/completed/2026-01/traj_x14t8w8rn7xg.md +6 -0
- package/.trajectories/completed/2026-01/traj_xnwbznkvv8ua.json +175 -0
- package/.trajectories/completed/2026-01/traj_xnwbznkvv8ua.md +82 -0
- package/.trajectories/completed/2026-01/traj_ysjc8zaeqtd3.json +47 -0
- package/.trajectories/completed/2026-01/traj_ysjc8zaeqtd3.md +32 -0
- package/.trajectories/completed/2026-01/traj_yvdadtvdgnz3.json +59 -0
- package/.trajectories/completed/2026-01/traj_yvdadtvdgnz3.md +37 -0
- package/.trajectories/completed/2026-01/traj_z0vcw1wrzide.json +53 -0
- package/.trajectories/completed/2026-01/traj_z0vcw1wrzide.md +32 -0
- package/.trajectories/index.json +314 -0
- package/ARCHITECTURE.md +1245 -0
- package/README.md +1 -1
- package/TESTING.md +278 -0
- package/deploy/init-db.sql +5 -0
- package/deploy/scripts/setup-fly-workspaces.sh +69 -0
- package/deploy/scripts/setup-railway.sh +75 -0
- package/deploy/workspace/entrypoint-browser.sh +118 -0
- package/deploy/workspace/entrypoint.sh +348 -0
- package/deploy/workspace/git-credential-relay +111 -0
- package/dist/bridge/spawner.d.ts +53 -0
- package/dist/bridge/spawner.js +203 -19
- package/dist/bridge/types.d.ts +12 -0
- package/dist/cli/index.js +618 -5
- package/dist/cloud/api/auth.d.ts +3 -2
- package/dist/cloud/api/auth.js +10 -98
- package/dist/cloud/api/billing.js +30 -9
- package/dist/cloud/api/cli-pty-runner.d.ts +54 -0
- package/dist/cloud/api/cli-pty-runner.js +119 -0
- package/dist/cloud/api/codex-auth-helper.d.ts +15 -0
- package/dist/cloud/api/codex-auth-helper.js +100 -0
- package/dist/cloud/api/generic-webhooks.d.ts +8 -0
- package/dist/cloud/api/generic-webhooks.js +129 -0
- package/dist/cloud/api/git.d.ts +8 -0
- package/dist/cloud/api/git.js +152 -0
- package/dist/cloud/api/github-app.d.ts +11 -0
- package/dist/cloud/api/github-app.js +189 -0
- package/dist/cloud/api/middleware/planLimits.d.ts +7 -0
- package/dist/cloud/api/middleware/planLimits.js +39 -1
- package/dist/cloud/api/monitoring.d.ts +11 -0
- package/dist/cloud/api/monitoring.js +578 -0
- package/dist/cloud/api/nango-auth.d.ts +9 -0
- package/dist/cloud/api/nango-auth.js +377 -0
- package/dist/cloud/api/onboarding.d.ts +8 -1
- package/dist/cloud/api/onboarding.js +313 -119
- package/dist/cloud/api/policy.d.ts +8 -0
- package/dist/cloud/api/policy.js +229 -0
- package/dist/cloud/api/providers.js +114 -42
- package/dist/cloud/api/repos.d.ts +1 -0
- package/dist/cloud/api/repos.js +186 -0
- package/dist/cloud/api/test-helpers.d.ts +10 -0
- package/dist/cloud/api/test-helpers.js +575 -0
- package/dist/cloud/api/webhooks.d.ts +8 -0
- package/dist/cloud/api/webhooks.js +645 -0
- package/dist/cloud/api/workspaces.js +320 -12
- package/dist/cloud/billing/plans.js +32 -19
- package/dist/cloud/billing/types.d.ts +9 -3
- package/dist/cloud/config.d.ts +9 -2
- package/dist/cloud/config.js +13 -4
- package/dist/cloud/db/drizzle.d.ts +84 -1
- package/dist/cloud/db/drizzle.js +470 -0
- package/dist/cloud/db/index.d.ts +9 -4
- package/dist/cloud/db/index.js +11 -3
- package/dist/cloud/db/schema.d.ts +3283 -556
- package/dist/cloud/db/schema.js +314 -1
- package/dist/cloud/index.d.ts +1 -0
- package/dist/cloud/index.js +2 -0
- package/dist/cloud/provisioner/index.d.ts +56 -0
- package/dist/cloud/provisioner/index.js +676 -34
- package/dist/cloud/server.d.ts +1 -0
- package/dist/cloud/server.js +362 -13
- package/dist/cloud/services/auto-scaler.d.ts +152 -0
- package/dist/cloud/services/auto-scaler.js +439 -0
- package/dist/cloud/services/capacity-manager.d.ts +148 -0
- package/dist/cloud/services/capacity-manager.js +449 -0
- package/dist/cloud/services/ci-agent-spawner.d.ts +49 -0
- package/dist/cloud/services/ci-agent-spawner.js +373 -0
- package/dist/cloud/services/index.d.ts +12 -0
- package/dist/cloud/services/index.js +15 -0
- package/dist/cloud/services/mention-handler.d.ts +65 -0
- package/dist/cloud/services/mention-handler.js +405 -0
- package/dist/cloud/services/nango.d.ts +186 -0
- package/dist/cloud/services/nango.js +344 -0
- package/dist/cloud/services/persistence.d.ts +131 -0
- package/dist/cloud/services/persistence.js +200 -0
- package/dist/cloud/services/planLimits.d.ts +37 -0
- package/dist/cloud/services/planLimits.js +86 -5
- package/dist/cloud/services/scaling-orchestrator.d.ts +159 -0
- package/dist/cloud/services/scaling-orchestrator.js +502 -0
- package/dist/cloud/services/scaling-policy.d.ts +121 -0
- package/dist/cloud/services/scaling-policy.js +415 -0
- package/dist/cloud/vault/index.js +1 -1
- package/dist/cloud/webhooks/index.d.ts +24 -0
- package/dist/cloud/webhooks/index.js +29 -0
- package/dist/cloud/webhooks/parsers/github.d.ts +8 -0
- package/dist/cloud/webhooks/parsers/github.js +234 -0
- package/dist/cloud/webhooks/parsers/index.d.ts +23 -0
- package/dist/cloud/webhooks/parsers/index.js +30 -0
- package/dist/cloud/webhooks/parsers/linear.d.ts +9 -0
- package/dist/cloud/webhooks/parsers/linear.js +258 -0
- package/dist/cloud/webhooks/parsers/slack.d.ts +9 -0
- package/dist/cloud/webhooks/parsers/slack.js +214 -0
- package/dist/cloud/webhooks/responders/github.d.ts +8 -0
- package/dist/cloud/webhooks/responders/github.js +73 -0
- package/dist/cloud/webhooks/responders/index.d.ts +23 -0
- package/dist/cloud/webhooks/responders/index.js +30 -0
- package/dist/cloud/webhooks/responders/linear.d.ts +9 -0
- package/dist/cloud/webhooks/responders/linear.js +149 -0
- package/dist/cloud/webhooks/responders/slack.d.ts +20 -0
- package/dist/cloud/webhooks/responders/slack.js +178 -0
- package/dist/cloud/webhooks/router.d.ts +25 -0
- package/dist/cloud/webhooks/router.js +504 -0
- package/dist/cloud/webhooks/rules-engine.d.ts +24 -0
- package/dist/cloud/webhooks/rules-engine.js +287 -0
- package/dist/cloud/webhooks/types.d.ts +186 -0
- package/dist/cloud/webhooks/types.js +8 -0
- package/dist/continuity/formatter.d.ts +51 -0
- package/dist/continuity/formatter.js +313 -0
- package/dist/continuity/handoff-store.d.ts +67 -0
- package/dist/continuity/handoff-store.js +472 -0
- package/dist/continuity/index.d.ts +45 -0
- package/dist/continuity/index.js +48 -0
- package/dist/continuity/ledger-store.d.ts +110 -0
- package/dist/continuity/ledger-store.js +500 -0
- package/dist/continuity/manager.d.ts +178 -0
- package/dist/continuity/manager.js +562 -0
- package/dist/continuity/parser.d.ts +76 -0
- package/dist/continuity/parser.js +579 -0
- package/dist/continuity/types.d.ts +180 -0
- package/dist/continuity/types.js +9 -0
- package/dist/daemon/agent-manager.d.ts +27 -0
- package/dist/daemon/agent-manager.js +107 -6
- package/dist/daemon/agent-registry.d.ts +32 -0
- package/dist/daemon/agent-registry.js +42 -2
- package/dist/daemon/api.d.ts +12 -0
- package/dist/daemon/api.js +131 -2
- package/dist/daemon/cli-auth.d.ts +67 -0
- package/dist/daemon/cli-auth.js +537 -0
- package/dist/daemon/cloud-sync.js +9 -7
- package/dist/daemon/orchestrator.js +30 -0
- package/dist/daemon/router.d.ts +5 -0
- package/dist/daemon/router.js +78 -26
- package/dist/daemon/server.d.ts +5 -0
- package/dist/daemon/server.js +9 -1
- package/dist/daemon/services/browser-testing.d.ts +88 -0
- package/dist/daemon/services/browser-testing.js +244 -0
- package/dist/daemon/services/container-spawner.d.ts +135 -0
- package/dist/daemon/services/container-spawner.js +313 -0
- package/dist/daemon/types.d.ts +5 -1
- package/dist/dashboard/out/404.html +1 -1
- package/dist/dashboard/out/_next/static/chunks/116-2502180def231162.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/282-980c2eb8fff20123.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/699-3b1cd6618a45d259.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/724-2dae7627550ab88f.js +9 -0
- package/dist/dashboard/out/_next/static/chunks/766-1f2dd8cb7f766b0b.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/app/app/onboarding/page-3fdfa60e53f2810d.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/app/app/page-e6381e5a6e1fbcfd.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/app/connect-repos/page-3538dfe0ffe984b8.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/app/history/{page-b6edd4dde8d08194.js → page-abb9ab2d329f56e9.js} +1 -1
- package/dist/dashboard/out/_next/static/chunks/app/layout-c0d118c0f92d969c.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/app/login/page-c22d080201cbd9fb.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/app/metrics/page-67a3e98d9a43a6ed.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/app/page-77e9c65420a06cfb.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/app/pricing/page-b08ed1c34d14434a.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/app/providers/page-e88bc117ef7671c3.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/app/signup/page-68d34f50baa8ab6b.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/e868780c-48e5f147c90a3a41.js +18 -0
- package/dist/dashboard/out/_next/static/chunks/{main-app-5d692157a8eb1fd9.js → main-app-6e8e8d3ef4e0192a.js} +1 -1
- package/dist/dashboard/out/_next/static/chunks/{main-c2f423b9c9f4591b.js → main-ed4e1fb6f29c34cf.js} +1 -1
- package/dist/dashboard/out/_next/static/chunks/webpack-1cdd8ed57114d5e1.js +1 -0
- package/dist/dashboard/out/_next/static/css/29852f26181969a0.css +1 -0
- package/dist/dashboard/out/_next/static/css/7c3ae9e8617d42a5.css +1 -0
- package/dist/dashboard/out/app/onboarding.html +1 -0
- package/dist/dashboard/out/app/onboarding.txt +7 -0
- package/dist/dashboard/out/app.html +1 -14
- package/dist/dashboard/out/app.txt +2 -2
- package/dist/dashboard/out/connect-repos.html +1 -0
- package/dist/dashboard/out/connect-repos.txt +7 -0
- package/dist/dashboard/out/history.html +1 -1
- package/dist/dashboard/out/history.txt +2 -2
- package/dist/dashboard/out/index.html +1 -1
- package/dist/dashboard/out/index.txt +2 -2
- package/dist/dashboard/out/login.html +6 -0
- package/dist/dashboard/out/login.txt +7 -0
- package/dist/dashboard/out/metrics.html +1 -1
- package/dist/dashboard/out/metrics.txt +2 -2
- package/dist/dashboard/out/pricing.html +3 -3
- package/dist/dashboard/out/pricing.txt +2 -2
- package/dist/dashboard/out/providers.html +1 -0
- package/dist/dashboard/out/providers.txt +7 -0
- package/dist/dashboard/out/signup.html +6 -0
- package/dist/dashboard/out/signup.txt +7 -0
- package/dist/dashboard-server/server.js +1308 -8
- package/dist/hooks/emitter.d.ts +40 -0
- package/dist/hooks/emitter.js +63 -0
- package/dist/hooks/index.d.ts +3 -0
- package/dist/hooks/index.js +3 -0
- package/dist/hooks/registry.d.ts +173 -0
- package/dist/hooks/registry.js +476 -0
- package/dist/hooks/trajectory-hooks.d.ts +52 -0
- package/dist/hooks/trajectory-hooks.js +183 -0
- package/dist/hooks/types.d.ts +141 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +3 -0
- package/dist/memory/adapters/index.d.ts +8 -0
- package/dist/memory/adapters/index.js +8 -0
- package/dist/memory/adapters/inmemory.d.ts +59 -0
- package/dist/memory/adapters/inmemory.js +195 -0
- package/dist/memory/adapters/supermemory.d.ts +71 -0
- package/dist/memory/adapters/supermemory.js +338 -0
- package/dist/memory/factory.d.ts +48 -0
- package/dist/memory/factory.js +143 -0
- package/dist/memory/index.d.ts +32 -0
- package/dist/memory/index.js +32 -0
- package/dist/memory/memory-hooks.d.ts +60 -0
- package/dist/memory/memory-hooks.js +313 -0
- package/dist/memory/service.d.ts +49 -0
- package/dist/memory/service.js +146 -0
- package/dist/memory/types.d.ts +195 -0
- package/dist/memory/types.js +8 -0
- package/dist/policy/agent-policy.d.ts +225 -0
- package/dist/policy/agent-policy.js +665 -0
- package/dist/policy/cloud-policy-fetcher.d.ts +12 -0
- package/dist/policy/cloud-policy-fetcher.js +64 -0
- package/dist/resiliency/crash-insights.d.ts +156 -0
- package/dist/resiliency/crash-insights.js +492 -0
- package/dist/resiliency/gossip-health.d.ts +137 -0
- package/dist/resiliency/gossip-health.js +241 -0
- package/dist/resiliency/index.d.ts +5 -0
- package/dist/resiliency/index.js +5 -0
- package/dist/resiliency/leader-watchdog.d.ts +109 -0
- package/dist/resiliency/leader-watchdog.js +189 -0
- package/dist/resiliency/memory-monitor.d.ts +172 -0
- package/dist/resiliency/memory-monitor.js +593 -0
- package/dist/resiliency/stateless-lead.d.ts +149 -0
- package/dist/resiliency/stateless-lead.js +308 -0
- package/dist/resiliency/supervisor.d.ts +38 -0
- package/dist/resiliency/supervisor.js +122 -0
- package/dist/shared/cli-auth-config.d.ts +91 -0
- package/dist/shared/cli-auth-config.js +264 -0
- package/dist/storage/adapter.d.ts +1 -1
- package/dist/trajectory/config.d.ts +84 -0
- package/dist/trajectory/config.js +163 -0
- package/dist/trajectory/index.d.ts +8 -0
- package/dist/trajectory/index.js +8 -0
- package/dist/trajectory/integration.d.ts +292 -0
- package/dist/trajectory/integration.js +834 -0
- package/dist/utils/logger.js +1 -1
- package/dist/utils/project-namespace.d.ts +24 -0
- package/dist/utils/project-namespace.js +84 -0
- package/dist/wrapper/parser.d.ts +10 -0
- package/dist/wrapper/parser.js +100 -33
- package/dist/wrapper/pty-wrapper.d.ts +197 -16
- package/dist/wrapper/pty-wrapper.js +943 -106
- package/dist/wrapper/shared.d.ts +165 -0
- package/dist/wrapper/shared.js +270 -0
- package/dist/wrapper/tmux-wrapper.d.ts +73 -11
- package/dist/wrapper/tmux-wrapper.js +541 -120
- package/package.json +16 -16
- package/scripts/postinstall.js +60 -0
- package/test-push.txt +1 -0
- package/bin/tmux +0 -0
- package/dist/bridge/config.d.ts.map +0 -1
- package/dist/bridge/config.js.map +0 -1
- package/dist/bridge/index.d.ts.map +0 -1
- package/dist/bridge/index.js.map +0 -1
- package/dist/bridge/multi-project-client.d.ts.map +0 -1
- package/dist/bridge/multi-project-client.js.map +0 -1
- package/dist/bridge/shadow-cli.d.ts.map +0 -1
- package/dist/bridge/shadow-cli.js.map +0 -1
- package/dist/bridge/shadow-config.d.ts.map +0 -1
- package/dist/bridge/shadow-config.js.map +0 -1
- package/dist/bridge/spawner.d.ts.map +0 -1
- package/dist/bridge/spawner.js.map +0 -1
- package/dist/bridge/teams-config.d.ts.map +0 -1
- package/dist/bridge/teams-config.js.map +0 -1
- package/dist/bridge/types.d.ts.map +0 -1
- package/dist/bridge/types.js.map +0 -1
- package/dist/bridge/utils.d.ts.map +0 -1
- package/dist/bridge/utils.js.map +0 -1
- package/dist/cli/index.d.ts.map +0 -1
- package/dist/cli/index.js.map +0 -1
- package/dist/cloud/api/auth.d.ts.map +0 -1
- package/dist/cloud/api/auth.js.map +0 -1
- package/dist/cloud/api/billing.d.ts.map +0 -1
- package/dist/cloud/api/billing.js.map +0 -1
- package/dist/cloud/api/coordinators.d.ts.map +0 -1
- package/dist/cloud/api/coordinators.js.map +0 -1
- package/dist/cloud/api/daemons.d.ts.map +0 -1
- package/dist/cloud/api/daemons.js.map +0 -1
- package/dist/cloud/api/middleware/planLimits.d.ts.map +0 -1
- package/dist/cloud/api/middleware/planLimits.js.map +0 -1
- package/dist/cloud/api/onboarding.d.ts.map +0 -1
- package/dist/cloud/api/onboarding.js.map +0 -1
- package/dist/cloud/api/providers.d.ts.map +0 -1
- package/dist/cloud/api/providers.js.map +0 -1
- package/dist/cloud/api/repos.d.ts.map +0 -1
- package/dist/cloud/api/repos.js.map +0 -1
- package/dist/cloud/api/teams.d.ts.map +0 -1
- package/dist/cloud/api/teams.js.map +0 -1
- package/dist/cloud/api/usage.d.ts.map +0 -1
- package/dist/cloud/api/usage.js.map +0 -1
- package/dist/cloud/api/workspaces.d.ts.map +0 -1
- package/dist/cloud/api/workspaces.js.map +0 -1
- package/dist/cloud/billing/index.d.ts.map +0 -1
- package/dist/cloud/billing/index.js.map +0 -1
- package/dist/cloud/billing/plans.d.ts.map +0 -1
- package/dist/cloud/billing/plans.js.map +0 -1
- package/dist/cloud/billing/service.d.ts.map +0 -1
- package/dist/cloud/billing/service.js.map +0 -1
- package/dist/cloud/billing/types.d.ts.map +0 -1
- package/dist/cloud/billing/types.js.map +0 -1
- package/dist/cloud/config.d.ts.map +0 -1
- package/dist/cloud/config.js.map +0 -1
- package/dist/cloud/db/drizzle.d.ts.map +0 -1
- package/dist/cloud/db/drizzle.js.map +0 -1
- package/dist/cloud/db/index.d.ts.map +0 -1
- package/dist/cloud/db/index.js.map +0 -1
- package/dist/cloud/db/schema.d.ts.map +0 -1
- package/dist/cloud/db/schema.js.map +0 -1
- package/dist/cloud/index.d.ts.map +0 -1
- package/dist/cloud/index.js.map +0 -1
- package/dist/cloud/provisioner/index.d.ts.map +0 -1
- package/dist/cloud/provisioner/index.js.map +0 -1
- package/dist/cloud/server.d.ts.map +0 -1
- package/dist/cloud/server.js.map +0 -1
- package/dist/cloud/services/coordinator.d.ts.map +0 -1
- package/dist/cloud/services/coordinator.js.map +0 -1
- package/dist/cloud/services/planLimits.d.ts.map +0 -1
- package/dist/cloud/services/planLimits.js.map +0 -1
- package/dist/cloud/vault/index.d.ts.map +0 -1
- package/dist/cloud/vault/index.js.map +0 -1
- package/dist/daemon/agent-manager.d.ts.map +0 -1
- package/dist/daemon/agent-manager.js.map +0 -1
- package/dist/daemon/agent-registry.d.ts.map +0 -1
- package/dist/daemon/agent-registry.js.map +0 -1
- package/dist/daemon/api.d.ts.map +0 -1
- package/dist/daemon/api.js.map +0 -1
- package/dist/daemon/auth.d.ts.map +0 -1
- package/dist/daemon/auth.js.map +0 -1
- package/dist/daemon/cloud-sync.d.ts.map +0 -1
- package/dist/daemon/cloud-sync.js.map +0 -1
- package/dist/daemon/connection.d.ts.map +0 -1
- package/dist/daemon/connection.js.map +0 -1
- package/dist/daemon/index.d.ts.map +0 -1
- package/dist/daemon/index.js.map +0 -1
- package/dist/daemon/orchestrator.d.ts.map +0 -1
- package/dist/daemon/orchestrator.js.map +0 -1
- package/dist/daemon/registry.d.ts.map +0 -1
- package/dist/daemon/registry.js.map +0 -1
- package/dist/daemon/router.d.ts.map +0 -1
- package/dist/daemon/router.js.map +0 -1
- package/dist/daemon/server.d.ts.map +0 -1
- package/dist/daemon/server.js.map +0 -1
- package/dist/daemon/types.d.ts.map +0 -1
- package/dist/daemon/types.js.map +0 -1
- package/dist/daemon/workspace-manager.d.ts.map +0 -1
- package/dist/daemon/workspace-manager.js.map +0 -1
- package/dist/dashboard/out/_next/static/chunks/693-7b3301d8f6bc5014.js +0 -1
- package/dist/dashboard/out/_next/static/chunks/713-f78477eb185f1f4d.js +0 -1
- package/dist/dashboard/out/_next/static/chunks/766-e53e1cfe39b0b5b5.js +0 -1
- package/dist/dashboard/out/_next/static/chunks/900-037c64bfd797fb2a.js +0 -1
- package/dist/dashboard/out/_next/static/chunks/app/app/page-e3d9e1f4466b9bae.js +0 -1
- package/dist/dashboard/out/_next/static/chunks/app/layout-2433bb48965f4333.js +0 -1
- package/dist/dashboard/out/_next/static/chunks/app/metrics/page-e68825a81db67ba1.js +0 -1
- package/dist/dashboard/out/_next/static/chunks/app/page-cc108bf68c8a657f.js +0 -1
- package/dist/dashboard/out/_next/static/chunks/app/pricing/page-d80e03a5297f95b6.js +0 -1
- package/dist/dashboard/out/_next/static/chunks/webpack-a5acc2831d094776.js +0 -1
- package/dist/dashboard/out/_next/static/css/79b80143647a07d7.css +0 -1
- package/dist/dashboard/out/_next/static/css/8cf277370ad48cfe.css +0 -1
- package/dist/dashboard-server/metrics.d.ts.map +0 -1
- package/dist/dashboard-server/metrics.js.map +0 -1
- package/dist/dashboard-server/needs-attention.d.ts.map +0 -1
- package/dist/dashboard-server/needs-attention.js.map +0 -1
- package/dist/dashboard-server/server.d.ts.map +0 -1
- package/dist/dashboard-server/server.js.map +0 -1
- package/dist/dashboard-server/start.d.ts.map +0 -1
- package/dist/dashboard-server/start.js.map +0 -1
- package/dist/hooks/inbox-check/hook.d.ts.map +0 -1
- package/dist/hooks/inbox-check/hook.js.map +0 -1
- package/dist/hooks/inbox-check/index.d.ts.map +0 -1
- package/dist/hooks/inbox-check/index.js.map +0 -1
- package/dist/hooks/inbox-check/types.d.ts.map +0 -1
- package/dist/hooks/inbox-check/types.js.map +0 -1
- package/dist/hooks/inbox-check/utils.d.ts.map +0 -1
- package/dist/hooks/inbox-check/utils.js.map +0 -1
- package/dist/hooks/index.d.ts.map +0 -1
- package/dist/hooks/index.js.map +0 -1
- package/dist/hooks/types.d.ts.map +0 -1
- package/dist/hooks/types.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/protocol/framing.d.ts.map +0 -1
- package/dist/protocol/framing.js.map +0 -1
- package/dist/protocol/index.d.ts.map +0 -1
- package/dist/protocol/index.js.map +0 -1
- package/dist/protocol/types.d.ts.map +0 -1
- package/dist/protocol/types.js.map +0 -1
- package/dist/resiliency/context-persistence.d.ts.map +0 -1
- package/dist/resiliency/context-persistence.js.map +0 -1
- package/dist/resiliency/health-monitor.d.ts.map +0 -1
- package/dist/resiliency/health-monitor.js.map +0 -1
- package/dist/resiliency/index.d.ts.map +0 -1
- package/dist/resiliency/index.js.map +0 -1
- package/dist/resiliency/logger.d.ts.map +0 -1
- package/dist/resiliency/logger.js.map +0 -1
- package/dist/resiliency/metrics.d.ts.map +0 -1
- package/dist/resiliency/metrics.js.map +0 -1
- package/dist/resiliency/provider-context.d.ts.map +0 -1
- package/dist/resiliency/provider-context.js.map +0 -1
- package/dist/resiliency/supervisor.d.ts.map +0 -1
- package/dist/resiliency/supervisor.js.map +0 -1
- package/dist/state/agent-state.d.ts.map +0 -1
- package/dist/state/agent-state.js.map +0 -1
- package/dist/storage/adapter.d.ts.map +0 -1
- package/dist/storage/adapter.js.map +0 -1
- package/dist/storage/sqlite-adapter.d.ts.map +0 -1
- package/dist/storage/sqlite-adapter.js.map +0 -1
- package/dist/utils/agent-config.d.ts.map +0 -1
- package/dist/utils/agent-config.js.map +0 -1
- package/dist/utils/command-resolver.d.ts.map +0 -1
- package/dist/utils/command-resolver.js.map +0 -1
- package/dist/utils/index.d.ts.map +0 -1
- package/dist/utils/index.js.map +0 -1
- package/dist/utils/logger.d.ts.map +0 -1
- package/dist/utils/logger.js.map +0 -1
- package/dist/utils/name-generator.d.ts.map +0 -1
- package/dist/utils/name-generator.js.map +0 -1
- package/dist/utils/project-namespace.d.ts.map +0 -1
- package/dist/utils/project-namespace.js.map +0 -1
- package/dist/utils/tmux-resolver.d.ts.map +0 -1
- package/dist/utils/tmux-resolver.js.map +0 -1
- package/dist/utils/update-checker.d.ts.map +0 -1
- package/dist/utils/update-checker.js.map +0 -1
- package/dist/wrapper/client.d.ts.map +0 -1
- package/dist/wrapper/client.js.map +0 -1
- package/dist/wrapper/inbox.d.ts.map +0 -1
- package/dist/wrapper/inbox.js.map +0 -1
- package/dist/wrapper/index.d.ts.map +0 -1
- package/dist/wrapper/index.js.map +0 -1
- package/dist/wrapper/parser.d.ts.map +0 -1
- package/dist/wrapper/parser.js.map +0 -1
- package/dist/wrapper/pty-wrapper.d.ts.map +0 -1
- package/dist/wrapper/pty-wrapper.js.map +0 -1
- package/dist/wrapper/tmux-wrapper.d.ts.map +0 -1
- package/dist/wrapper/tmux-wrapper.js.map +0 -1
- package/docs/AGENTS.md +0 -513
- package/docs/ARCHITECTURE_DECISIONS.md +0 -175
- package/docs/CHANGELOG.md +0 -11
- package/docs/CLI-SIMPLIFICATION-COMPLETE.md +0 -48
- package/docs/CLOUD-ARCHITECTURE.md +0 -652
- package/docs/CLOUD-ONBOARDING-DESIGN.md +0 -1983
- package/docs/COMPETITIVE_ANALYSIS.md +0 -897
- package/docs/CONTRIBUTING.md +0 -151
- package/docs/DESIGN_BRIDGE_STAFFING.md +0 -878
- package/docs/DESIGN_V2.md +0 -1079
- package/docs/INTEGRATION-GUIDE.md +0 -926
- package/docs/MONETIZATION.md +0 -1679
- package/docs/PROPOSAL-trajectories.md +0 -1582
- package/docs/PROTOCOL.md +0 -325
- package/docs/SCALING_ANALYSIS.md +0 -280
- package/docs/TESTING_PRESENCE_FEATURES.md +0 -327
- package/docs/TMUX_IMPLEMENTATION_NOTES.md +0 -364
- package/docs/TMUX_IMPROVEMENTS.md +0 -968
- package/docs/agent-relay-snippet.md +0 -168
- package/docs/competitive-analysis-mcp-agent-mail.md +0 -389
- package/docs/dashboard-v2-plan.md +0 -179
- package/docs/guides/CLOUD.md +0 -236
- package/docs/guides/LOCAL.md +0 -535
- package/docs/guides/SELF-HOSTED.md +0 -494
- package/docs/proposals/shadow-as-subagent.md +0 -765
- package/docs/proposals/slack-bot-integration.md +0 -1457
- package/docs/removable-code-analysis.md +0 -24
- package/scripts/dev/PUBLIC_RELEASE_PLAN.md +0 -88
- package/scripts/dev/dev-team-setup.sh +0 -431
- package/scripts/e2e-test.sh +0 -119
- package/scripts/games/game-protocol.md +0 -79
- package/scripts/games/hearts-setup.sh +0 -264
- package/scripts/tictactoe-setup.sh +0 -181
- /package/dist/dashboard/out/_next/static/chunks/{117-b2cd8d6485aacf2b.js → 117-f7b8ab0809342e77.js} +0 -0
- /package/dist/dashboard/out/_next/static/chunks/{648-8f3f26864ce515e5.js → 648-5cc6e1921389a58a.js} +0 -0
- /package/dist/dashboard/out/_next/static/chunks/app/_not-found/{page-0b990dbb71d72a98.js → page-53b8a69f76db17d0.js} +0 -0
- /package/dist/dashboard/out/_next/static/chunks/{fd9d1056-bf46c09eb57e019c.js → fd9d1056-609918ca7b6280bb.js} +0 -0
- /package/dist/dashboard/out/_next/static/{6HHWb2ZmnJ4OSm0zUP7h4 → wPgKJtcOmTFLpUncDg16A}/_buildManifest.js +0 -0
- /package/dist/dashboard/out/_next/static/{6HHWb2ZmnJ4OSm0zUP7h4 → wPgKJtcOmTFLpUncDg16A}/_ssgManifest.js +0 -0
package/docs/guides/LOCAL.md
DELETED
|
@@ -1,535 +0,0 @@
|
|
|
1
|
-
# Local Development
|
|
2
|
-
|
|
3
|
-
Run Agent Relay locally for development, testing, or standalone use without cloud features.
|
|
4
|
-
|
|
5
|
-
## Overview
|
|
6
|
-
|
|
7
|
-
Local mode is perfect for:
|
|
8
|
-
- Quick prototyping with multiple agents
|
|
9
|
-
- Development and testing
|
|
10
|
-
- Offline/air-gapped environments
|
|
11
|
-
- Learning Agent Relay before going to cloud
|
|
12
|
-
|
|
13
|
-
## Quick Start (One Command)
|
|
14
|
-
|
|
15
|
-
```bash
|
|
16
|
-
git clone https://github.com/khaliqgant/agent-relay.git
|
|
17
|
-
cd agent-relay
|
|
18
|
-
npm install
|
|
19
|
-
npm run dev:start
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
This builds everything and starts:
|
|
23
|
-
- Daemon (message routing)
|
|
24
|
-
- Dashboard (Next.js dev server with hot reload)
|
|
25
|
-
|
|
26
|
-
**URLs:**
|
|
27
|
-
| Page | URL |
|
|
28
|
-
|------|-----|
|
|
29
|
-
| Landing Page | http://localhost:3888 |
|
|
30
|
-
| Pricing | http://localhost:3888/pricing |
|
|
31
|
-
| Dashboard | http://localhost:3888/app |
|
|
32
|
-
|
|
33
|
-
**Commands:**
|
|
34
|
-
```bash
|
|
35
|
-
npm run dev:start # Start everything
|
|
36
|
-
npm run dev:stop # Stop everything
|
|
37
|
-
npm run dev:attach # Attach to tmux session
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
## Installation
|
|
41
|
-
|
|
42
|
-
### Requirements
|
|
43
|
-
|
|
44
|
-
- **Node.js** 20+
|
|
45
|
-
- **tmux** installed
|
|
46
|
-
- **Build tools** for native modules
|
|
47
|
-
|
|
48
|
-
### Install on Linux
|
|
49
|
-
|
|
50
|
-
```bash
|
|
51
|
-
# Install build tools and tmux
|
|
52
|
-
sudo apt-get update
|
|
53
|
-
sudo apt-get install -y build-essential tmux
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
### Install on macOS
|
|
57
|
-
|
|
58
|
-
```bash
|
|
59
|
-
# Install tmux
|
|
60
|
-
brew install tmux
|
|
61
|
-
|
|
62
|
-
# Install build tools (if needed)
|
|
63
|
-
xcode-select --install
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
### Install on Windows (WSL)
|
|
67
|
-
|
|
68
|
-
Agent Relay requires WSL on Windows:
|
|
69
|
-
|
|
70
|
-
```bash
|
|
71
|
-
# In WSL terminal
|
|
72
|
-
sudo apt-get update
|
|
73
|
-
sudo apt-get install -y build-essential tmux
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
## Using the Published Package
|
|
77
|
-
|
|
78
|
-
If you just want to use Agent Relay (not develop it):
|
|
79
|
-
|
|
80
|
-
```bash
|
|
81
|
-
npm install -g agent-relay
|
|
82
|
-
agent-relay up
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
Dashboard at `http://localhost:3888`.
|
|
86
|
-
|
|
87
|
-
## Development Workflow
|
|
88
|
-
|
|
89
|
-
### Start Development Environment
|
|
90
|
-
|
|
91
|
-
```bash
|
|
92
|
-
npm run dev:start
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
This opens a tmux session with three windows:
|
|
96
|
-
1. **daemon** - Message routing daemon
|
|
97
|
-
2. **dashboard** - Next.js dev server (hot reload)
|
|
98
|
-
3. **agents** - Ready to spawn agents
|
|
99
|
-
|
|
100
|
-
### Attach to Session
|
|
101
|
-
|
|
102
|
-
```bash
|
|
103
|
-
npm run dev:attach
|
|
104
|
-
# or
|
|
105
|
-
tmux attach -t agent-relay-dev
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
Navigate windows with `Ctrl+B` then `n` (next) or `p` (previous).
|
|
109
|
-
|
|
110
|
-
### Run an Agent
|
|
111
|
-
|
|
112
|
-
In the agents window (or any terminal):
|
|
113
|
-
|
|
114
|
-
```bash
|
|
115
|
-
node dist/cli/index.js -n Alice claude
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
### Stop Everything
|
|
119
|
-
|
|
120
|
-
```bash
|
|
121
|
-
npm run dev:stop
|
|
122
|
-
```
|
|
123
|
-
|
|
124
|
-
## Quick Start (Manual)
|
|
125
|
-
|
|
126
|
-
If you prefer not to use tmux:
|
|
127
|
-
|
|
128
|
-
```bash
|
|
129
|
-
# Terminal 1: Start the daemon
|
|
130
|
-
agent-relay up
|
|
131
|
-
|
|
132
|
-
# Terminal 2: Start an agent
|
|
133
|
-
agent-relay -n Alice claude
|
|
134
|
-
|
|
135
|
-
# Terminal 3: Start another agent
|
|
136
|
-
agent-relay -n Bob codex
|
|
137
|
-
```
|
|
138
|
-
|
|
139
|
-
Dashboard at `http://localhost:3888`.
|
|
140
|
-
|
|
141
|
-
## How It Works
|
|
142
|
-
|
|
143
|
-
```
|
|
144
|
-
┌─────────────┐ ┌─────────────┐
|
|
145
|
-
│ Agent Alice │ │ Agent Bob │
|
|
146
|
-
│ (tmux) │ │ (tmux) │
|
|
147
|
-
└──────┬──────┘ └──────┬──────┘
|
|
148
|
-
│ │
|
|
149
|
-
└─────────┬─────────┘
|
|
150
|
-
│
|
|
151
|
-
Unix Domain Socket
|
|
152
|
-
│
|
|
153
|
-
┌────────┴────────┐
|
|
154
|
-
│ relay daemon │
|
|
155
|
-
└────────┬────────┘
|
|
156
|
-
│
|
|
157
|
-
┌────────┴────────┐
|
|
158
|
-
│ Dashboard │
|
|
159
|
-
│ localhost:3888 │
|
|
160
|
-
└─────────────────┘
|
|
161
|
-
```
|
|
162
|
-
|
|
163
|
-
1. `agent-relay up` starts a daemon that routes messages via Unix socket
|
|
164
|
-
2. `agent-relay <cmd>` wraps your agent in tmux, parsing output for `->relay:` patterns
|
|
165
|
-
3. Messages are injected into recipient terminals in real-time
|
|
166
|
-
|
|
167
|
-
## CLI Reference
|
|
168
|
-
|
|
169
|
-
### Daemon Commands
|
|
170
|
-
|
|
171
|
-
| Command | Description |
|
|
172
|
-
|---------|-------------|
|
|
173
|
-
| `agent-relay up` | Start daemon + dashboard |
|
|
174
|
-
| `agent-relay down` | Stop daemon |
|
|
175
|
-
| `agent-relay status` | Check if running |
|
|
176
|
-
| `agent-relay logs` | View daemon logs |
|
|
177
|
-
|
|
178
|
-
### Agent Commands
|
|
179
|
-
|
|
180
|
-
| Command | Description |
|
|
181
|
-
|---------|-------------|
|
|
182
|
-
| `agent-relay <cmd>` | Wrap agent with messaging |
|
|
183
|
-
| `agent-relay -n Name <cmd>` | Wrap with specific name |
|
|
184
|
-
| `agent-relay read <id>` | Read truncated message |
|
|
185
|
-
|
|
186
|
-
### Multi-Project Commands
|
|
187
|
-
|
|
188
|
-
| Command | Description |
|
|
189
|
-
|---------|-------------|
|
|
190
|
-
| `agent-relay bridge <projects...>` | Bridge multiple projects |
|
|
191
|
-
|
|
192
|
-
## Sending Messages
|
|
193
|
-
|
|
194
|
-
Agents communicate by outputting `->relay:` patterns. Always use the fenced format:
|
|
195
|
-
|
|
196
|
-
### Direct Message
|
|
197
|
-
|
|
198
|
-
```
|
|
199
|
-
->relay:Bob <<<
|
|
200
|
-
Hey, can you review my changes?>>>
|
|
201
|
-
```
|
|
202
|
-
|
|
203
|
-
### Broadcast
|
|
204
|
-
|
|
205
|
-
```
|
|
206
|
-
->relay:* <<<
|
|
207
|
-
Broadcasting to everyone>>>
|
|
208
|
-
```
|
|
209
|
-
|
|
210
|
-
### With Thread
|
|
211
|
-
|
|
212
|
-
```
|
|
213
|
-
->relay:Alice [thread:code-review] <<<
|
|
214
|
-
Please check the auth module>>>
|
|
215
|
-
```
|
|
216
|
-
|
|
217
|
-
## Receiving Messages
|
|
218
|
-
|
|
219
|
-
Messages appear in the agent's terminal as:
|
|
220
|
-
|
|
221
|
-
```
|
|
222
|
-
Relay message from Alice [abc123]: Your message here
|
|
223
|
-
```
|
|
224
|
-
|
|
225
|
-
### Truncated Messages
|
|
226
|
-
|
|
227
|
-
Long messages are truncated. Read the full content:
|
|
228
|
-
|
|
229
|
-
```bash
|
|
230
|
-
agent-relay read abc123
|
|
231
|
-
```
|
|
232
|
-
|
|
233
|
-
## Agent Roles
|
|
234
|
-
|
|
235
|
-
Agent names automatically match role definitions:
|
|
236
|
-
|
|
237
|
-
```bash
|
|
238
|
-
# If .claude/agents/lead.md exists:
|
|
239
|
-
agent-relay -n Lead claude # matches lead.md
|
|
240
|
-
agent-relay -n lead claude # matches lead.md (case-insensitive)
|
|
241
|
-
```
|
|
242
|
-
|
|
243
|
-
### Creating Role Agents
|
|
244
|
-
|
|
245
|
-
Create role definitions in your project:
|
|
246
|
-
|
|
247
|
-
```
|
|
248
|
-
.claude/agents/
|
|
249
|
-
├── lead.md # Coordinator
|
|
250
|
-
├── implementer.md # Developer
|
|
251
|
-
├── designer.md # UI/UX
|
|
252
|
-
└── reviewer.md # Code review
|
|
253
|
-
```
|
|
254
|
-
|
|
255
|
-
Example role file (`.claude/agents/lead.md`):
|
|
256
|
-
|
|
257
|
-
```markdown
|
|
258
|
-
---
|
|
259
|
-
name: Lead
|
|
260
|
-
description: Project coordinator and architect
|
|
261
|
-
model: claude-sonnet-4-20250514
|
|
262
|
-
---
|
|
263
|
-
|
|
264
|
-
You are the lead developer coordinating this project.
|
|
265
|
-
|
|
266
|
-
Your responsibilities:
|
|
267
|
-
- Break down tasks and assign to team members
|
|
268
|
-
- Review completed work
|
|
269
|
-
- Ensure code quality and consistency
|
|
270
|
-
- Make architectural decisions
|
|
271
|
-
|
|
272
|
-
When delegating, use:
|
|
273
|
-
->relay:Implementer <<<
|
|
274
|
-
TASK: Description here>>>
|
|
275
|
-
```
|
|
276
|
-
|
|
277
|
-
## Spawning Agents Dynamically
|
|
278
|
-
|
|
279
|
-
From within an agent, spawn new agents:
|
|
280
|
-
|
|
281
|
-
```
|
|
282
|
-
->relay:spawn Worker1 claude "Implement the login endpoint"
|
|
283
|
-
```
|
|
284
|
-
|
|
285
|
-
Release when done:
|
|
286
|
-
|
|
287
|
-
```
|
|
288
|
-
->relay:release Worker1
|
|
289
|
-
```
|
|
290
|
-
|
|
291
|
-
## Multi-Project Orchestration
|
|
292
|
-
|
|
293
|
-
Bridge multiple projects with a single orchestrator:
|
|
294
|
-
|
|
295
|
-
```bash
|
|
296
|
-
# Start daemons in each project
|
|
297
|
-
cd ~/project-a && agent-relay up
|
|
298
|
-
cd ~/project-b && agent-relay up
|
|
299
|
-
|
|
300
|
-
# Bridge from anywhere
|
|
301
|
-
agent-relay bridge ~/project-a ~/project-b
|
|
302
|
-
```
|
|
303
|
-
|
|
304
|
-
### Cross-Project Messaging
|
|
305
|
-
|
|
306
|
-
```
|
|
307
|
-
# Message specific agent in specific project
|
|
308
|
-
->relay:project-a:Alice <<<
|
|
309
|
-
Please update the API>>>
|
|
310
|
-
|
|
311
|
-
# Broadcast to all leads across projects
|
|
312
|
-
->relay:*:Lead <<<
|
|
313
|
-
Standup in 5 minutes>>>
|
|
314
|
-
```
|
|
315
|
-
|
|
316
|
-
## Dashboard
|
|
317
|
-
|
|
318
|
-
The local dashboard at `http://localhost:3888` provides:
|
|
319
|
-
|
|
320
|
-
- **Real-time message feed** - See all agent communication
|
|
321
|
-
- **Agent status** - Active agents and their states
|
|
322
|
-
- **Message history** - Searchable message archive
|
|
323
|
-
- **System health** - Daemon status and metrics
|
|
324
|
-
|
|
325
|
-
## Configuration
|
|
326
|
-
|
|
327
|
-
### Config File
|
|
328
|
-
|
|
329
|
-
Create `~/.agent-relay/config.json`:
|
|
330
|
-
|
|
331
|
-
```json
|
|
332
|
-
{
|
|
333
|
-
"dashboard": {
|
|
334
|
-
"port": 3888,
|
|
335
|
-
"host": "localhost"
|
|
336
|
-
},
|
|
337
|
-
"logging": {
|
|
338
|
-
"level": "info"
|
|
339
|
-
},
|
|
340
|
-
"agents": {
|
|
341
|
-
"defaultProvider": "claude"
|
|
342
|
-
}
|
|
343
|
-
}
|
|
344
|
-
```
|
|
345
|
-
|
|
346
|
-
### Environment Variables
|
|
347
|
-
|
|
348
|
-
| Variable | Description | Default |
|
|
349
|
-
|----------|-------------|---------|
|
|
350
|
-
| `AGENT_RELAY_PORT` | Dashboard port | `3888` |
|
|
351
|
-
| `AGENT_RELAY_LOG_LEVEL` | Log verbosity | `info` |
|
|
352
|
-
|
|
353
|
-
## Teaching Agents to Use Relay
|
|
354
|
-
|
|
355
|
-
### Install the Skill
|
|
356
|
-
|
|
357
|
-
```bash
|
|
358
|
-
prpm install using-agent-relay
|
|
359
|
-
```
|
|
360
|
-
|
|
361
|
-
### Add to CLAUDE.md
|
|
362
|
-
|
|
363
|
-
```bash
|
|
364
|
-
prpm install @agent-relay/agent-relay-snippet
|
|
365
|
-
# or
|
|
366
|
-
prpm install @agent-relay/agent-relay-snippet --location CLAUDE.md
|
|
367
|
-
```
|
|
368
|
-
|
|
369
|
-
This teaches agents the messaging patterns automatically.
|
|
370
|
-
|
|
371
|
-
## Common Patterns
|
|
372
|
-
|
|
373
|
-
### Status Updates
|
|
374
|
-
|
|
375
|
-
```
|
|
376
|
-
->relay:* <<<
|
|
377
|
-
STATUS: Starting work on auth module>>>
|
|
378
|
-
|
|
379
|
-
->relay:* <<<
|
|
380
|
-
DONE: Auth module complete>>>
|
|
381
|
-
```
|
|
382
|
-
|
|
383
|
-
### Task Delegation
|
|
384
|
-
|
|
385
|
-
```
|
|
386
|
-
->relay:Developer <<<
|
|
387
|
-
TASK: Implement /api/register endpoint
|
|
388
|
-
|
|
389
|
-
Requirements:
|
|
390
|
-
- Email validation
|
|
391
|
-
- Password hashing
|
|
392
|
-
- Return JWT token>>>
|
|
393
|
-
```
|
|
394
|
-
|
|
395
|
-
### Asking Questions
|
|
396
|
-
|
|
397
|
-
```
|
|
398
|
-
->relay:Architect <<<
|
|
399
|
-
QUESTION: Should we use JWT or sessions for auth?
|
|
400
|
-
|
|
401
|
-
Context:
|
|
402
|
-
- Need to support mobile apps
|
|
403
|
-
- Multiple microservices>>>
|
|
404
|
-
```
|
|
405
|
-
|
|
406
|
-
### Code Review
|
|
407
|
-
|
|
408
|
-
```
|
|
409
|
-
->relay:Reviewer [thread:pr-123] <<<
|
|
410
|
-
REVIEW: Please check src/auth/*.ts
|
|
411
|
-
|
|
412
|
-
Focus on:
|
|
413
|
-
- Security issues
|
|
414
|
-
- Error handling
|
|
415
|
-
- Test coverage>>>
|
|
416
|
-
```
|
|
417
|
-
|
|
418
|
-
## Debugging
|
|
419
|
-
|
|
420
|
-
### Check Daemon Status
|
|
421
|
-
|
|
422
|
-
```bash
|
|
423
|
-
agent-relay status
|
|
424
|
-
```
|
|
425
|
-
|
|
426
|
-
### View Logs
|
|
427
|
-
|
|
428
|
-
```bash
|
|
429
|
-
# Daemon logs
|
|
430
|
-
agent-relay logs
|
|
431
|
-
|
|
432
|
-
# Follow logs
|
|
433
|
-
agent-relay logs -f
|
|
434
|
-
```
|
|
435
|
-
|
|
436
|
-
### List Active Agents
|
|
437
|
-
|
|
438
|
-
```bash
|
|
439
|
-
agent-relay status --agents
|
|
440
|
-
```
|
|
441
|
-
|
|
442
|
-
### Message History
|
|
443
|
-
|
|
444
|
-
```bash
|
|
445
|
-
# Recent messages
|
|
446
|
-
agent-relay history
|
|
447
|
-
|
|
448
|
-
# Filter by agent
|
|
449
|
-
agent-relay history --from Alice
|
|
450
|
-
|
|
451
|
-
# Filter by time
|
|
452
|
-
agent-relay history --since "1 hour ago"
|
|
453
|
-
```
|
|
454
|
-
|
|
455
|
-
## Troubleshooting
|
|
456
|
-
|
|
457
|
-
### "Daemon not running"
|
|
458
|
-
|
|
459
|
-
```bash
|
|
460
|
-
# Start the daemon
|
|
461
|
-
agent-relay up
|
|
462
|
-
|
|
463
|
-
# Check status
|
|
464
|
-
agent-relay status
|
|
465
|
-
```
|
|
466
|
-
|
|
467
|
-
### "tmux not found"
|
|
468
|
-
|
|
469
|
-
```bash
|
|
470
|
-
# Linux
|
|
471
|
-
sudo apt-get install tmux
|
|
472
|
-
|
|
473
|
-
# macOS
|
|
474
|
-
brew install tmux
|
|
475
|
-
```
|
|
476
|
-
|
|
477
|
-
### "Permission denied" on socket
|
|
478
|
-
|
|
479
|
-
```bash
|
|
480
|
-
# Remove stale socket
|
|
481
|
-
rm /tmp/agent-relay.sock
|
|
482
|
-
|
|
483
|
-
# Restart daemon
|
|
484
|
-
agent-relay down
|
|
485
|
-
agent-relay up
|
|
486
|
-
```
|
|
487
|
-
|
|
488
|
-
### Messages not delivering
|
|
489
|
-
|
|
490
|
-
1. Verify both agents are running: `agent-relay status`
|
|
491
|
-
2. Check agent names match exactly (case-insensitive)
|
|
492
|
-
3. Ensure message format is correct with `<<<` and `>>>`
|
|
493
|
-
|
|
494
|
-
### Agent crashes immediately
|
|
495
|
-
|
|
496
|
-
1. Check the AI CLI is installed (`claude --version`, `codex --version`)
|
|
497
|
-
2. Verify authentication with the provider
|
|
498
|
-
3. Check tmux is working: `tmux new-session -d -s test`
|
|
499
|
-
|
|
500
|
-
## Integration with Other Tools
|
|
501
|
-
|
|
502
|
-
### With Beads (Task Management)
|
|
503
|
-
|
|
504
|
-
```bash
|
|
505
|
-
# Pick a task
|
|
506
|
-
bd ready --json
|
|
507
|
-
|
|
508
|
-
# Update status
|
|
509
|
-
bd update <id> --status=in_progress
|
|
510
|
-
|
|
511
|
-
# Complete task
|
|
512
|
-
bd close <id> --reason "Completed"
|
|
513
|
-
```
|
|
514
|
-
|
|
515
|
-
### With claude-mem (Memory)
|
|
516
|
-
|
|
517
|
-
Agent observations are automatically captured when claude-mem is installed.
|
|
518
|
-
|
|
519
|
-
### With Git
|
|
520
|
-
|
|
521
|
-
```bash
|
|
522
|
-
# Prefix commits with task ID
|
|
523
|
-
git commit -m "[bd-123] Implement auth module"
|
|
524
|
-
```
|
|
525
|
-
|
|
526
|
-
## Next Steps
|
|
527
|
-
|
|
528
|
-
- **Scale up**: Try [Agent Relay Cloud](/docs/guides/CLOUD.md) for managed hosting
|
|
529
|
-
- **Self-host**: Deploy on your servers with [Self-Hosted Guide](/docs/guides/SELF-HOSTED.md)
|
|
530
|
-
- **Learn more**: Read the [Architecture](/ARCHITECTURE.md) docs
|
|
531
|
-
|
|
532
|
-
## Support
|
|
533
|
-
|
|
534
|
-
- **Documentation**: [docs.agent-relay.com](https://docs.agent-relay.com)
|
|
535
|
-
- **GitHub Issues**: [github.com/khaliqgant/agent-relay/issues](https://github.com/khaliqgant/agent-relay/issues)
|