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
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
# Removable Code Analysis
|
|
2
|
-
|
|
3
|
-
Requested: identify code/assets likely safe to remove (unused, legacy, or duplicates).
|
|
4
|
-
|
|
5
|
-
## Candidates
|
|
6
|
-
1) `run-dashboard.js`
|
|
7
|
-
- Purpose: helper to start dashboard from built `dist/dashboard/server.js`.
|
|
8
|
-
- Evidence: Dashboard now exposed via CLI subcommand `dashboard` in `src/cli/index.ts`. No `rg` references to `run-dashboard.js`. Redundant helper.
|
|
9
|
-
|
|
10
|
-
2) `scripts/games/*` and `scripts/tictactoe-setup.sh`
|
|
11
|
-
- Purpose: old demo/game scripts (hearts/tictactoe).
|
|
12
|
-
- Evidence: Not referenced by CLI commands or docs (checked with `rg`). Pure examples; removable if demos not needed.
|
|
13
|
-
|
|
14
|
-
3) `src/hooks/check-inbox.sh`
|
|
15
|
-
- Purpose: legacy hook example for Claude stop-event inbox check.
|
|
16
|
-
- Evidence: Replaced by compiled hook in `dist/hooks/inbox-check/*` and TypeScript sources in `src/hooks/inbox-check/*`. No other references via `rg`, so redundant.
|
|
17
|
-
|
|
18
|
-
4) `coverage/` directory
|
|
19
|
-
- Purpose: test coverage artifacts.
|
|
20
|
-
- Evidence: Generated output; not source. Safe to delete/regenerate.
|
|
21
|
-
|
|
22
|
-
5) `TOMORROW.md`
|
|
23
|
-
- Purpose: session notes / planning doc.
|
|
24
|
-
- Evidence: Not used by runtime or tests; optional to keep for historical notes only.
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
# Agent-Relay Public Release Plan
|
|
2
|
-
|
|
3
|
-
## Goal
|
|
4
|
-
Prepare agent-relay for public release on npm and GitHub with comprehensive documentation, examples, and polish.
|
|
5
|
-
|
|
6
|
-
## Team Structure
|
|
7
|
-
|
|
8
|
-
### Agent 1: DocWriter (Claude) - Documentation & Examples
|
|
9
|
-
**Focus:** User-facing content, tutorials, examples
|
|
10
|
-
**Workdir:** `/Users/khaliqgant/Projects/prpm/agent-relay`
|
|
11
|
-
|
|
12
|
-
Tasks:
|
|
13
|
-
- [ ] Review and improve README.md
|
|
14
|
-
- Add GIF/video demo of quick start usage
|
|
15
|
-
- Improve quick start section
|
|
16
|
-
- Add "Common Use Cases" section
|
|
17
|
-
- [ ] Create docs/CONTRIBUTING.md
|
|
18
|
-
- [ ] Create examples/ directory with:
|
|
19
|
-
- [ ] examples/basic-chat/ - Two agents chatting
|
|
20
|
-
- [ ] examples/tic-tac-toe/ - Simple game
|
|
21
|
-
- [ ] examples/collaborative-coding/ - Agents working together
|
|
22
|
-
- [ ] Update CLI --help text for all commands
|
|
23
|
-
- [ ] Document the new inbox-* commands
|
|
24
|
-
- [ ] Create API.md documenting the protocol
|
|
25
|
-
|
|
26
|
-
### Agent 2: CodePolish (Claude) - Code Quality & Tests
|
|
27
|
-
**Focus:** Test coverage, error handling, code cleanup
|
|
28
|
-
**Workdir:** `/Users/khaliqgant/Projects/prpm/agent-relay`
|
|
29
|
-
|
|
30
|
-
Tasks:
|
|
31
|
-
- [ ] Audit test coverage - identify gaps
|
|
32
|
-
- [ ] Add tests for new inbox-poll/write/agents commands
|
|
33
|
-
- [ ] Improve error messages (user-friendly)
|
|
34
|
-
- [ ] Add input validation to CLI commands
|
|
35
|
-
- [ ] Clean up console.log statements (use proper logging)
|
|
36
|
-
- [ ] Remove dead code and unused files
|
|
37
|
-
- [ ] Review and fix any TypeScript strict mode issues
|
|
38
|
-
- [ ] Add JSDoc comments to public APIs
|
|
39
|
-
|
|
40
|
-
### Agent 3: DevOps (Codex) - CI/CD & Publishing
|
|
41
|
-
**Focus:** Build, publish, installation
|
|
42
|
-
**Workdir:** `/Users/khaliqgant/Projects/prpm/agent-relay`
|
|
43
|
-
|
|
44
|
-
Tasks:
|
|
45
|
-
- [ ] Review and improve package.json
|
|
46
|
-
- Verify all fields for npm publish
|
|
47
|
-
- Add repository, bugs, homepage URLs
|
|
48
|
-
- Review dependencies (prune unused)
|
|
49
|
-
- [ ] Enhance GitHub Actions workflow
|
|
50
|
-
- Add npm publish on release
|
|
51
|
-
- Add test coverage reporting
|
|
52
|
-
- Add build badge to README
|
|
53
|
-
- [ ] Review install.sh script
|
|
54
|
-
- Test on clean systems
|
|
55
|
-
- Improve error handling
|
|
56
|
-
- [ ] Add LICENSE file (MIT)
|
|
57
|
-
- [ ] Create docs/CHANGELOG.md
|
|
58
|
-
- [ ] Test npm pack / npm publish --dry-run
|
|
59
|
-
- [ ] Set up GitHub release automation
|
|
60
|
-
|
|
61
|
-
## Coordination Protocol
|
|
62
|
-
|
|
63
|
-
Agents communicate via `/tmp/agent-relay-dev/`:
|
|
64
|
-
- DocWriter, CodePolish, DevOps each have inbox directories
|
|
65
|
-
- Use `agent-relay inbox-*` commands
|
|
66
|
-
|
|
67
|
-
### Message Types
|
|
68
|
-
- `STATUS: <doing what>` - Progress update
|
|
69
|
-
- `QUESTION: <question>` - Need input from another agent
|
|
70
|
-
- `DONE: <task>` - Task completed
|
|
71
|
-
- `BLOCKER: <issue>` - Blocked on something
|
|
72
|
-
- `HANDOFF: <what>` - Passing work to another agent
|
|
73
|
-
|
|
74
|
-
### Coordination Rules
|
|
75
|
-
1. Before editing a file, announce: `STATUS: Editing <filename>`
|
|
76
|
-
2. After completing a task, broadcast: `DONE: <task description>`
|
|
77
|
-
3. If blocked, ask: `QUESTION: @AgentName <question>`
|
|
78
|
-
4. Check inbox after each major task
|
|
79
|
-
|
|
80
|
-
## Success Criteria
|
|
81
|
-
- [ ] npm install agent-relay works
|
|
82
|
-
- [ ] All CLI commands have --help
|
|
83
|
-
- [ ] README has working quick start
|
|
84
|
-
- [ ] 3+ working examples
|
|
85
|
-
- [ ] Test coverage > 80%
|
|
86
|
-
- [ ] No TypeScript errors in strict mode
|
|
87
|
-
- [ ] GitHub Actions green
|
|
88
|
-
- [ ] Clean npm audit
|
|
@@ -1,431 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
#
|
|
3
|
-
# Development Team Setup
|
|
4
|
-
# Sets up 3 agents (2 Claude + 1 Codex) to work on agent-relay public release
|
|
5
|
-
#
|
|
6
|
-
|
|
7
|
-
set -e
|
|
8
|
-
|
|
9
|
-
DEV_DIR="${DEV_DIR:-/tmp/agent-relay-dev}"
|
|
10
|
-
AGENT_1="DocWriter"
|
|
11
|
-
AGENT_2="CodePolish"
|
|
12
|
-
AGENT_3="DevOps"
|
|
13
|
-
AGENT_4="Dashboard"
|
|
14
|
-
|
|
15
|
-
REPO_DIR="/Users/khaliqgant/Projects/prpm/agent-relay"
|
|
16
|
-
|
|
17
|
-
echo "=== Agent-Relay Development Team Setup ==="
|
|
18
|
-
echo "Dev directory: $DEV_DIR"
|
|
19
|
-
echo "Repo: $REPO_DIR"
|
|
20
|
-
echo "Agents: $AGENT_1 (Claude), $AGENT_2 (Claude), $AGENT_3 (Codex), $AGENT_4 (Gemini)"
|
|
21
|
-
echo ""
|
|
22
|
-
|
|
23
|
-
# Create directories
|
|
24
|
-
mkdir -p "$DEV_DIR/$AGENT_1"
|
|
25
|
-
mkdir -p "$DEV_DIR/$AGENT_2"
|
|
26
|
-
mkdir -p "$DEV_DIR/$AGENT_3"
|
|
27
|
-
mkdir -p "$DEV_DIR/$AGENT_4"
|
|
28
|
-
|
|
29
|
-
# Clear any existing inbox
|
|
30
|
-
echo "" > "$DEV_DIR/$AGENT_1/inbox.md"
|
|
31
|
-
echo "" > "$DEV_DIR/$AGENT_2/inbox.md"
|
|
32
|
-
echo "" > "$DEV_DIR/$AGENT_3/inbox.md"
|
|
33
|
-
echo "" > "$DEV_DIR/$AGENT_4/inbox.md"
|
|
34
|
-
|
|
35
|
-
# Copy the release plan
|
|
36
|
-
cp "$REPO_DIR/scripts/dev/PUBLIC_RELEASE_PLAN.md" "$DEV_DIR/"
|
|
37
|
-
|
|
38
|
-
# Create instructions for DocWriter (Claude 1)
|
|
39
|
-
cat > "$DEV_DIR/$AGENT_1/INSTRUCTIONS.md" << 'EOF'
|
|
40
|
-
# You are DocWriter - Documentation & Examples Lead
|
|
41
|
-
|
|
42
|
-
## Your Mission
|
|
43
|
-
Prepare agent-relay's documentation and examples for public release.
|
|
44
|
-
|
|
45
|
-
## Project Location
|
|
46
|
-
`/Users/khaliqgant/Projects/prpm/agent-relay`
|
|
47
|
-
|
|
48
|
-
## Your Tasks (in priority order)
|
|
49
|
-
|
|
50
|
-
### 1. Review README.md
|
|
51
|
-
- Read the current README: `cat /Users/khaliqgant/Projects/prpm/agent-relay/README.md`
|
|
52
|
-
- Identify gaps or unclear sections
|
|
53
|
-
- Improve the Quick Start guide
|
|
54
|
-
- Add a "Common Use Cases" section
|
|
55
|
-
|
|
56
|
-
### 2. Create examples/ directory
|
|
57
|
-
Create working examples that users can run:
|
|
58
|
-
- `examples/basic-chat/` - Two agents having a conversation
|
|
59
|
-
- `examples/collaborative-task/` - Agents working on a shared task
|
|
60
|
-
|
|
61
|
-
### 3. Document CLI Commands
|
|
62
|
-
The new inbox commands need documentation:
|
|
63
|
-
- `agent-relay inbox-poll` - Blocking wait for messages
|
|
64
|
-
- `agent-relay inbox-read` - Read inbox contents
|
|
65
|
-
- `agent-relay inbox-write` - Write to agent inbox
|
|
66
|
-
- `agent-relay inbox-agents` - List agents
|
|
67
|
-
|
|
68
|
-
### 4. Create docs/CONTRIBUTING.md
|
|
69
|
-
Guide for contributors.
|
|
70
|
-
|
|
71
|
-
## Communication
|
|
72
|
-
|
|
73
|
-
**Your inbox:** `/tmp/agent-relay-dev/DocWriter/inbox.md`
|
|
74
|
-
**Teammates:** CodePolish, DevOps
|
|
75
|
-
|
|
76
|
-
### Commands
|
|
77
|
-
Use the LOCAL build (not the global install):
|
|
78
|
-
```bash
|
|
79
|
-
# Wait for messages
|
|
80
|
-
node /Users/khaliqgant/Projects/prpm/agent-relay/dist/cli/index.js inbox-poll -n DocWriter -d /tmp/agent-relay-dev --clear
|
|
81
|
-
|
|
82
|
-
# Send to teammate
|
|
83
|
-
node /Users/khaliqgant/Projects/prpm/agent-relay/dist/cli/index.js inbox-write -t CodePolish -f DocWriter -m "MESSAGE" -d /tmp/agent-relay-dev
|
|
84
|
-
|
|
85
|
-
# Broadcast to all
|
|
86
|
-
node /Users/khaliqgant/Projects/prpm/agent-relay/dist/cli/index.js inbox-write -t "*" -f DocWriter -m "MESSAGE" -d /tmp/agent-relay-dev
|
|
87
|
-
|
|
88
|
-
# List team
|
|
89
|
-
node /Users/khaliqgant/Projects/prpm/agent-relay/dist/cli/index.js inbox-agents -d /tmp/agent-relay-dev
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
**TIP:** You can create an alias for convenience:
|
|
93
|
-
```bash
|
|
94
|
-
alias ar='node /Users/khaliqgant/Projects/prpm/agent-relay/dist/cli/index.js'
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
### Protocol
|
|
98
|
-
- `STATUS: <what you're doing>` - Progress update
|
|
99
|
-
- `DONE: <task>` - Task completed
|
|
100
|
-
- `QUESTION: @AgentName <question>` - Ask teammate
|
|
101
|
-
- `BLOCKER: <issue>` - Blocked
|
|
102
|
-
|
|
103
|
-
## START NOW
|
|
104
|
-
1. Read the release plan: `cat /tmp/agent-relay-dev/PUBLIC_RELEASE_PLAN.md`
|
|
105
|
-
2. Broadcast your start: `STATUS: DocWriter starting, reviewing README.md`
|
|
106
|
-
3. Begin with reviewing README.md
|
|
107
|
-
4. Check inbox periodically for teammate messages
|
|
108
|
-
EOF
|
|
109
|
-
|
|
110
|
-
# Create instructions for CodePolish (Claude 2)
|
|
111
|
-
cat > "$DEV_DIR/$AGENT_2/INSTRUCTIONS.md" << 'EOF'
|
|
112
|
-
# You are CodePolish - Code Quality & Testing Lead
|
|
113
|
-
|
|
114
|
-
## Your Mission
|
|
115
|
-
Improve agent-relay's code quality, test coverage, and error handling for public release.
|
|
116
|
-
|
|
117
|
-
## Project Location
|
|
118
|
-
`/Users/khaliqgant/Projects/prpm/agent-relay`
|
|
119
|
-
|
|
120
|
-
## Your Tasks (in priority order)
|
|
121
|
-
|
|
122
|
-
### 1. Audit Test Coverage
|
|
123
|
-
- Run tests: `cd /Users/khaliqgant/Projects/prpm/agent-relay && npm test`
|
|
124
|
-
- Identify files without tests
|
|
125
|
-
- Focus on `src/cli/index.ts` - the new inbox commands need tests
|
|
126
|
-
|
|
127
|
-
### 2. Add Missing Tests
|
|
128
|
-
Priority:
|
|
129
|
-
- `inbox-poll` command
|
|
130
|
-
- `inbox-write` command (including broadcast)
|
|
131
|
-
- `inbox-read` command
|
|
132
|
-
- `inbox-agents` command
|
|
133
|
-
|
|
134
|
-
### 3. Improve Error Handling
|
|
135
|
-
- Review CLI commands for user-friendly error messages
|
|
136
|
-
- Add input validation
|
|
137
|
-
- Handle edge cases gracefully
|
|
138
|
-
|
|
139
|
-
### 4. Code Cleanup
|
|
140
|
-
- Remove console.log debugging statements
|
|
141
|
-
- Add JSDoc comments to public functions
|
|
142
|
-
- Check for unused imports/variables
|
|
143
|
-
|
|
144
|
-
### 5. TypeScript Strict Mode
|
|
145
|
-
- Run: `npx tsc --noEmit --strict`
|
|
146
|
-
- Fix any type errors
|
|
147
|
-
|
|
148
|
-
## Communication
|
|
149
|
-
|
|
150
|
-
**Your inbox:** `/tmp/agent-relay-dev/CodePolish/inbox.md`
|
|
151
|
-
**Teammates:** DocWriter, DevOps
|
|
152
|
-
|
|
153
|
-
### Commands
|
|
154
|
-
Use the LOCAL build (not the global install):
|
|
155
|
-
```bash
|
|
156
|
-
# Wait for messages
|
|
157
|
-
node /Users/khaliqgant/Projects/prpm/agent-relay/dist/cli/index.js inbox-poll -n CodePolish -d /tmp/agent-relay-dev --clear
|
|
158
|
-
|
|
159
|
-
# Send to teammate
|
|
160
|
-
node /Users/khaliqgant/Projects/prpm/agent-relay/dist/cli/index.js inbox-write -t DevOps -f CodePolish -m "MESSAGE" -d /tmp/agent-relay-dev
|
|
161
|
-
|
|
162
|
-
# Broadcast to all
|
|
163
|
-
node /Users/khaliqgant/Projects/prpm/agent-relay/dist/cli/index.js inbox-write -t "*" -f CodePolish -m "MESSAGE" -d /tmp/agent-relay-dev
|
|
164
|
-
```
|
|
165
|
-
|
|
166
|
-
**TIP:** Create an alias: `alias ar='node /Users/khaliqgant/Projects/prpm/agent-relay/dist/cli/index.js'`
|
|
167
|
-
|
|
168
|
-
### Protocol
|
|
169
|
-
- `STATUS: <what you're doing>` - Progress update
|
|
170
|
-
- `DONE: <task>` - Task completed
|
|
171
|
-
- `QUESTION: @AgentName <question>` - Ask teammate
|
|
172
|
-
- `BLOCKER: <issue>` - Blocked
|
|
173
|
-
|
|
174
|
-
## START NOW
|
|
175
|
-
1. Read the release plan: `cat /tmp/agent-relay-dev/PUBLIC_RELEASE_PLAN.md`
|
|
176
|
-
2. Broadcast your start: `STATUS: CodePolish starting, auditing test coverage`
|
|
177
|
-
3. Run tests and identify gaps
|
|
178
|
-
4. Check inbox periodically for teammate messages
|
|
179
|
-
EOF
|
|
180
|
-
|
|
181
|
-
# Create instructions for DevOps (Codex)
|
|
182
|
-
cat > "$DEV_DIR/$AGENT_3/INSTRUCTIONS.md" << 'EOF'
|
|
183
|
-
# You are DevOps - CI/CD & Publishing Lead
|
|
184
|
-
|
|
185
|
-
## Your Mission
|
|
186
|
-
Prepare agent-relay for npm publishing and improve CI/CD for public release.
|
|
187
|
-
|
|
188
|
-
## Project Location
|
|
189
|
-
`/Users/khaliqgant/Projects/prpm/agent-relay`
|
|
190
|
-
|
|
191
|
-
## Your Tasks (in priority order)
|
|
192
|
-
|
|
193
|
-
### 1. Review package.json
|
|
194
|
-
- Check: `cat /Users/khaliqgant/Projects/prpm/agent-relay/package.json`
|
|
195
|
-
- Verify npm publish fields: name, version, description, main, bin, repository, bugs, homepage
|
|
196
|
-
- Review dependencies - remove unused
|
|
197
|
-
- Add "files" field to whitelist published files
|
|
198
|
-
|
|
199
|
-
### 2. Add LICENSE file
|
|
200
|
-
- Create MIT license at `/Users/khaliqgant/Projects/prpm/agent-relay/LICENSE`
|
|
201
|
-
|
|
202
|
-
### 3. Enhance GitHub Actions
|
|
203
|
-
- Review: `cat /Users/khaliqgant/Projects/prpm/agent-relay/.github/workflows/test.yml`
|
|
204
|
-
- Add npm publish workflow on GitHub release
|
|
205
|
-
- Add test coverage badge
|
|
206
|
-
|
|
207
|
-
### 4. Create docs/CHANGELOG.md
|
|
208
|
-
- Document the 0.1.0 release features
|
|
209
|
-
|
|
210
|
-
### 5. Test npm publish
|
|
211
|
-
- Run: `npm pack --dry-run`
|
|
212
|
-
- Verify package contents are correct
|
|
213
|
-
- Check: `npm publish --dry-run`
|
|
214
|
-
|
|
215
|
-
### 6. Review install.sh
|
|
216
|
-
- Test the installer script logic
|
|
217
|
-
- Improve error handling
|
|
218
|
-
|
|
219
|
-
## Communication
|
|
220
|
-
|
|
221
|
-
**Your inbox:** `/tmp/agent-relay-dev/DevOps/inbox.md`
|
|
222
|
-
**Teammates:** DocWriter, CodePolish
|
|
223
|
-
|
|
224
|
-
### Commands
|
|
225
|
-
Use the LOCAL build (not the global install):
|
|
226
|
-
```bash
|
|
227
|
-
# Wait for messages
|
|
228
|
-
node /Users/khaliqgant/Projects/prpm/agent-relay/dist/cli/index.js inbox-poll -n DevOps -d /tmp/agent-relay-dev --clear
|
|
229
|
-
|
|
230
|
-
# Send to teammate
|
|
231
|
-
node /Users/khaliqgant/Projects/prpm/agent-relay/dist/cli/index.js inbox-write -t DocWriter -f DevOps -m "MESSAGE" -d /tmp/agent-relay-dev
|
|
232
|
-
|
|
233
|
-
# Broadcast to all
|
|
234
|
-
node /Users/khaliqgant/Projects/prpm/agent-relay/dist/cli/index.js inbox-write -t "*" -f DevOps -m "MESSAGE" -d /tmp/agent-relay-dev
|
|
235
|
-
```
|
|
236
|
-
|
|
237
|
-
**TIP:** Create an alias: `alias ar='node /Users/khaliqgant/Projects/prpm/agent-relay/dist/cli/index.js'`
|
|
238
|
-
|
|
239
|
-
### Protocol
|
|
240
|
-
- `STATUS: <what you're doing>` - Progress update
|
|
241
|
-
- `DONE: <task>` - Task completed
|
|
242
|
-
- `QUESTION: @AgentName <question>` - Ask teammate
|
|
243
|
-
- `BLOCKER: <issue>` - Blocked
|
|
244
|
-
|
|
245
|
-
## START NOW
|
|
246
|
-
1. Read the release plan: `cat /tmp/agent-relay-dev/PUBLIC_RELEASE_PLAN.md`
|
|
247
|
-
2. Broadcast your start: `STATUS: DevOps starting, reviewing package.json`
|
|
248
|
-
3. Begin with package.json audit
|
|
249
|
-
4. Check inbox periodically for teammate messages
|
|
250
|
-
EOF
|
|
251
|
-
|
|
252
|
-
# Create instructions for Dashboard (Gemini)
|
|
253
|
-
cat > "$DEV_DIR/$AGENT_4/INSTRUCTIONS.md" << 'EOF'
|
|
254
|
-
# You are Dashboard - Web Visualization Lead
|
|
255
|
-
|
|
256
|
-
## Your Mission
|
|
257
|
-
Build a web dashboard to visualize agent-relay communication patterns and help users track multi-agent progress in real-time.
|
|
258
|
-
|
|
259
|
-
## Project Location
|
|
260
|
-
`/Users/khaliqgant/Projects/prpm/agent-relay`
|
|
261
|
-
|
|
262
|
-
## Your Tasks (in priority order)
|
|
263
|
-
|
|
264
|
-
### 1. Create Dashboard Directory Structure
|
|
265
|
-
```
|
|
266
|
-
src/dashboard/
|
|
267
|
-
├── server.ts # Express/Fastify server
|
|
268
|
-
├── index.html # Main dashboard page
|
|
269
|
-
├── styles.css # Styling
|
|
270
|
-
└── client.ts # Client-side JS (or keep it simple with vanilla JS)
|
|
271
|
-
```
|
|
272
|
-
|
|
273
|
-
### 2. Build Core Features
|
|
274
|
-
|
|
275
|
-
**a) Inbox Monitor**
|
|
276
|
-
- Watch all agent inbox files in a data directory
|
|
277
|
-
- Display messages in real-time as they arrive
|
|
278
|
-
- Show sender, recipient, timestamp, message preview
|
|
279
|
-
|
|
280
|
-
**b) Agent Status Panel**
|
|
281
|
-
- List all active agents
|
|
282
|
-
- Show last activity timestamp
|
|
283
|
-
- Indicate if inbox has unread messages
|
|
284
|
-
|
|
285
|
-
**c) Message Flow Visualization**
|
|
286
|
-
- Simple diagram showing message flow between agents
|
|
287
|
-
- Could be a timeline or network graph
|
|
288
|
-
- Show who sent what to whom
|
|
289
|
-
|
|
290
|
-
**d) Activity Log**
|
|
291
|
-
- Scrolling log of all messages
|
|
292
|
-
- Filter by agent
|
|
293
|
-
- Search functionality
|
|
294
|
-
|
|
295
|
-
### 3. CLI Integration
|
|
296
|
-
Add a new command to agent-relay CLI:
|
|
297
|
-
```bash
|
|
298
|
-
agent-relay dashboard -d /tmp/agent-relay-dev -p 3000
|
|
299
|
-
```
|
|
300
|
-
|
|
301
|
-
This should:
|
|
302
|
-
- Start the web server on specified port
|
|
303
|
-
- Watch the data directory for changes
|
|
304
|
-
- Serve the dashboard UI
|
|
305
|
-
|
|
306
|
-
### 4. Tech Stack Suggestions
|
|
307
|
-
Keep it simple - no heavy frameworks needed:
|
|
308
|
-
- **Server:** Node.js with built-in http or express
|
|
309
|
-
- **File watching:** fs.watch or chokidar
|
|
310
|
-
- **Real-time updates:** Server-Sent Events (SSE) or WebSocket
|
|
311
|
-
- **UI:** Vanilla HTML/CSS/JS or minimal framework
|
|
312
|
-
|
|
313
|
-
### 5. Design Goals
|
|
314
|
-
- **Zero dependencies if possible** (or minimal)
|
|
315
|
-
- **Works out of the box** - no build step required for dashboard
|
|
316
|
-
- **Real-time updates** - see messages as they happen
|
|
317
|
-
- **Mobile-friendly** - responsive design
|
|
318
|
-
|
|
319
|
-
## Communication
|
|
320
|
-
|
|
321
|
-
**Your inbox:** `/tmp/agent-relay-dev/Dashboard/inbox.md`
|
|
322
|
-
**Teammates:** DocWriter, CodePolish, DevOps
|
|
323
|
-
|
|
324
|
-
### Commands
|
|
325
|
-
Use the LOCAL build (not the global install):
|
|
326
|
-
```bash
|
|
327
|
-
# Wait for messages
|
|
328
|
-
node /Users/khaliqgant/Projects/prpm/agent-relay/dist/cli/index.js inbox-poll -n Dashboard -d /tmp/agent-relay-dev --clear
|
|
329
|
-
|
|
330
|
-
# Send to teammate
|
|
331
|
-
node /Users/khaliqgant/Projects/prpm/agent-relay/dist/cli/index.js inbox-write -t DocWriter -f Dashboard -m "MESSAGE" -d /tmp/agent-relay-dev
|
|
332
|
-
|
|
333
|
-
# Broadcast to all
|
|
334
|
-
node /Users/khaliqgant/Projects/prpm/agent-relay/dist/cli/index.js inbox-write -t "*" -f Dashboard -m "MESSAGE" -d /tmp/agent-relay-dev
|
|
335
|
-
```
|
|
336
|
-
|
|
337
|
-
**TIP:** Create an alias: `alias ar='node /Users/khaliqgant/Projects/prpm/agent-relay/dist/cli/index.js'`
|
|
338
|
-
|
|
339
|
-
### Protocol
|
|
340
|
-
- `STATUS: <what you're doing>` - Progress update
|
|
341
|
-
- `DONE: <task>` - Task completed
|
|
342
|
-
- `QUESTION: @AgentName <question>` - Ask teammate
|
|
343
|
-
- `BLOCKER: <issue>` - Blocked
|
|
344
|
-
|
|
345
|
-
## Example Dashboard Layout
|
|
346
|
-
|
|
347
|
-
```
|
|
348
|
-
┌─────────────────────────────────────────────────────────────┐
|
|
349
|
-
│ Agent-Relay Dashboard [Watching: /tmp/] │
|
|
350
|
-
├─────────────────────────────────────────────────────────────┤
|
|
351
|
-
│ │
|
|
352
|
-
│ AGENTS MESSAGE FLOW │
|
|
353
|
-
│ ┌──────────────────┐ ┌─────────────────────────────┐ │
|
|
354
|
-
│ │ ● DocWriter │ │ DocWriter ──→ CodePolish │ │
|
|
355
|
-
│ │ Last: 2s ago │ │ CodePolish ──→ DevOps │ │
|
|
356
|
-
│ │ ● CodePolish │ │ DevOps ──→ * (broadcast) │ │
|
|
357
|
-
│ │ Last: 5s ago │ │ Dashboard ──→ DocWriter │ │
|
|
358
|
-
│ │ ● DevOps │ └─────────────────────────────┘ │
|
|
359
|
-
│ │ Last: 10s ago │ │
|
|
360
|
-
│ │ ○ Dashboard │ ACTIVITY LOG │
|
|
361
|
-
│ │ (you) │ ┌─────────────────────────────┐ │
|
|
362
|
-
│ └──────────────────┘ │ 12:01 DocWriter→CodePolish │ │
|
|
363
|
-
│ │ "STATUS: Reviewing README" │ │
|
|
364
|
-
│ │ 12:02 CodePolish→* │ │
|
|
365
|
-
│ │ "DONE: Added 5 new tests" │ │
|
|
366
|
-
│ └─────────────────────────────┘ │
|
|
367
|
-
└─────────────────────────────────────────────────────────────┘
|
|
368
|
-
```
|
|
369
|
-
|
|
370
|
-
## START NOW
|
|
371
|
-
1. Read the release plan: `cat /tmp/agent-relay-dev/PUBLIC_RELEASE_PLAN.md`
|
|
372
|
-
2. Broadcast your start: `STATUS: Dashboard starting, designing web UI architecture`
|
|
373
|
-
3. Begin by creating the directory structure
|
|
374
|
-
4. Check inbox periodically for teammate messages
|
|
375
|
-
EOF
|
|
376
|
-
|
|
377
|
-
echo "Created development team files:"
|
|
378
|
-
echo " - $DEV_DIR/PUBLIC_RELEASE_PLAN.md"
|
|
379
|
-
echo " - $DEV_DIR/$AGENT_1/INSTRUCTIONS.md (Claude - Documentation)"
|
|
380
|
-
echo " - $DEV_DIR/$AGENT_2/INSTRUCTIONS.md (Claude - Code Quality)"
|
|
381
|
-
echo " - $DEV_DIR/$AGENT_3/INSTRUCTIONS.md (Codex - DevOps)"
|
|
382
|
-
echo " - $DEV_DIR/$AGENT_4/INSTRUCTIONS.md (Gemini - Dashboard)"
|
|
383
|
-
echo ""
|
|
384
|
-
echo "=== TO START DEVELOPMENT ==="
|
|
385
|
-
echo ""
|
|
386
|
-
echo "Make sure agent-relay is built:"
|
|
387
|
-
echo " cd $REPO_DIR"
|
|
388
|
-
echo " npm run build"
|
|
389
|
-
echo ""
|
|
390
|
-
echo "Open FOUR terminal windows:"
|
|
391
|
-
echo ""
|
|
392
|
-
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
393
|
-
echo "Terminal 1 - DocWriter (Claude):"
|
|
394
|
-
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
395
|
-
echo " cd $REPO_DIR"
|
|
396
|
-
echo " claude"
|
|
397
|
-
echo ""
|
|
398
|
-
echo " Then say:"
|
|
399
|
-
echo " Read /tmp/agent-relay-dev/DocWriter/INSTRUCTIONS.md and start working on agent-relay documentation"
|
|
400
|
-
echo ""
|
|
401
|
-
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
402
|
-
echo "Terminal 2 - CodePolish (Claude):"
|
|
403
|
-
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
404
|
-
echo " cd $REPO_DIR"
|
|
405
|
-
echo " claude"
|
|
406
|
-
echo ""
|
|
407
|
-
echo " Then say:"
|
|
408
|
-
echo " Read /tmp/agent-relay-dev/CodePolish/INSTRUCTIONS.md and start working on agent-relay code quality"
|
|
409
|
-
echo ""
|
|
410
|
-
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
411
|
-
echo "Terminal 3 - DevOps (Codex):"
|
|
412
|
-
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
413
|
-
echo " cd $REPO_DIR"
|
|
414
|
-
echo " codex"
|
|
415
|
-
echo ""
|
|
416
|
-
echo " Then say:"
|
|
417
|
-
echo " Read /tmp/agent-relay-dev/DevOps/INSTRUCTIONS.md and start working on agent-relay CI/CD and publishing"
|
|
418
|
-
echo ""
|
|
419
|
-
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
420
|
-
echo "Terminal 4 - Dashboard (Gemini):"
|
|
421
|
-
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
422
|
-
echo " cd $REPO_DIR"
|
|
423
|
-
echo " gemini"
|
|
424
|
-
echo ""
|
|
425
|
-
echo " Then say:"
|
|
426
|
-
echo " Read /tmp/agent-relay-dev/Dashboard/INSTRUCTIONS.md and start building the agent-relay web dashboard"
|
|
427
|
-
echo ""
|
|
428
|
-
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
429
|
-
echo ""
|
|
430
|
-
echo "The four agents will coordinate via /tmp/agent-relay-dev/ inboxes!"
|
|
431
|
-
echo ""
|
package/scripts/e2e-test.sh
DELETED
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
# E2E Test for Agent Relay
|
|
3
|
-
# Tests the full flow: daemon -> supervisor -> agent processing
|
|
4
|
-
|
|
5
|
-
set -e
|
|
6
|
-
|
|
7
|
-
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
8
|
-
PROJECT_DIR="$(dirname "$SCRIPT_DIR")"
|
|
9
|
-
DATA_DIR="/tmp/agent-relay-e2e-test"
|
|
10
|
-
SOCKET_PATH="/tmp/agent-relay-e2e.sock"
|
|
11
|
-
AGENT_NAME="TestAgent"
|
|
12
|
-
|
|
13
|
-
# Colors for output
|
|
14
|
-
RED='\033[0;31m'
|
|
15
|
-
GREEN='\033[0;32m'
|
|
16
|
-
YELLOW='\033[1;33m'
|
|
17
|
-
NC='\033[0m' # No Color
|
|
18
|
-
|
|
19
|
-
log_info() { echo -e "${GREEN}[INFO]${NC} $1"; }
|
|
20
|
-
log_warn() { echo -e "${YELLOW}[WARN]${NC} $1"; }
|
|
21
|
-
log_error() { echo -e "${RED}[ERROR]${NC} $1"; }
|
|
22
|
-
|
|
23
|
-
cleanup() {
|
|
24
|
-
log_info "Cleaning up..."
|
|
25
|
-
# Kill background processes
|
|
26
|
-
if [ -n "$DAEMON_PID" ]; then
|
|
27
|
-
kill $DAEMON_PID 2>/dev/null || true
|
|
28
|
-
fi
|
|
29
|
-
# Clean up test data
|
|
30
|
-
rm -rf "$DATA_DIR"
|
|
31
|
-
rm -f "$SOCKET_PATH" "${SOCKET_PATH}.pid"
|
|
32
|
-
log_info "Cleanup complete"
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
trap cleanup EXIT
|
|
36
|
-
|
|
37
|
-
# Ensure we're in the project directory
|
|
38
|
-
cd "$PROJECT_DIR"
|
|
39
|
-
|
|
40
|
-
log_info "=== Agent Relay E2E Test ==="
|
|
41
|
-
log_info "Data dir: $DATA_DIR"
|
|
42
|
-
log_info "Socket: $SOCKET_PATH"
|
|
43
|
-
|
|
44
|
-
# Clean up any previous test data
|
|
45
|
-
rm -rf "$DATA_DIR"
|
|
46
|
-
rm -f "$SOCKET_PATH" "${SOCKET_PATH}.pid"
|
|
47
|
-
mkdir -p "$DATA_DIR"
|
|
48
|
-
|
|
49
|
-
# Build if needed
|
|
50
|
-
log_info "Building project..."
|
|
51
|
-
npm run build
|
|
52
|
-
|
|
53
|
-
# Start daemon in background
|
|
54
|
-
log_info "Starting daemon..."
|
|
55
|
-
node dist/cli/index.js start -s "$SOCKET_PATH" -f &
|
|
56
|
-
DAEMON_PID=$!
|
|
57
|
-
sleep 1
|
|
58
|
-
|
|
59
|
-
# Verify daemon is running
|
|
60
|
-
if ! kill -0 $DAEMON_PID 2>/dev/null; then
|
|
61
|
-
log_error "Daemon failed to start"
|
|
62
|
-
exit 1
|
|
63
|
-
fi
|
|
64
|
-
log_info "Daemon started (PID: $DAEMON_PID)"
|
|
65
|
-
|
|
66
|
-
# Register a test agent (using 'echo' as a simple CLI that just exits)
|
|
67
|
-
log_info "Registering test agent: $AGENT_NAME"
|
|
68
|
-
node dist/cli/index.js register \
|
|
69
|
-
-n "$AGENT_NAME" \
|
|
70
|
-
-c custom \
|
|
71
|
-
--command "echo" \
|
|
72
|
-
-w "$PROJECT_DIR" \
|
|
73
|
-
-d "$DATA_DIR"
|
|
74
|
-
|
|
75
|
-
# Verify registration
|
|
76
|
-
if [ ! -f "$DATA_DIR/$AGENT_NAME/state.json" ]; then
|
|
77
|
-
log_error "Agent state file not created"
|
|
78
|
-
exit 1
|
|
79
|
-
fi
|
|
80
|
-
log_info "Agent registered successfully"
|
|
81
|
-
|
|
82
|
-
# Create inbox with test message
|
|
83
|
-
log_info "Writing test message to inbox..."
|
|
84
|
-
INBOX_PATH="$DATA_DIR/$AGENT_NAME/inbox.md"
|
|
85
|
-
cat > "$INBOX_PATH" << 'EOF'
|
|
86
|
-
## Message from TestSender | 2025-12-18T12:00:00.000Z
|
|
87
|
-
Hello from the E2E test! Please respond with @relay:TestSender Got your message!
|
|
88
|
-
EOF
|
|
89
|
-
|
|
90
|
-
# Verify inbox was created
|
|
91
|
-
if [ ! -f "$INBOX_PATH" ]; then
|
|
92
|
-
log_error "Inbox file not created"
|
|
93
|
-
exit 1
|
|
94
|
-
fi
|
|
95
|
-
log_info "Inbox created with test message"
|
|
96
|
-
|
|
97
|
-
# Show initial state
|
|
98
|
-
log_info "Initial state.json:"
|
|
99
|
-
cat "$DATA_DIR/$AGENT_NAME/state.json" | head -20
|
|
100
|
-
|
|
101
|
-
# Note: Full supervisor test requires a real CLI that can process messages
|
|
102
|
-
# For now, we verify the infrastructure is in place
|
|
103
|
-
|
|
104
|
-
log_info ""
|
|
105
|
-
log_info "=== E2E Infrastructure Test PASSED ==="
|
|
106
|
-
log_info ""
|
|
107
|
-
log_info "Verified:"
|
|
108
|
-
log_info " - Daemon starts and runs"
|
|
109
|
-
log_info " - Agent registration creates state.json"
|
|
110
|
-
log_info " - Inbox file can be created"
|
|
111
|
-
log_info ""
|
|
112
|
-
log_info "To test full message flow with a real CLI:"
|
|
113
|
-
log_info " 1. Start daemon: npm run start -- start -f"
|
|
114
|
-
log_info " 2. Register agent: npm run start -- register -n MyAgent -c claude -w \$(pwd)"
|
|
115
|
-
log_info " 3. Start supervisor: npm run start -- supervisor -v -d /tmp/agent-relay"
|
|
116
|
-
log_info " 4. Send message: npm run start -- send -t MyAgent -m 'Hello!'"
|
|
117
|
-
log_info ""
|
|
118
|
-
|
|
119
|
-
exit 0
|