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
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "traj_xnwbznkvv8ua",
|
|
3
|
+
"version": 1,
|
|
4
|
+
"task": {
|
|
5
|
+
"title": "Backend developer session - waiting for Lead tasks"
|
|
6
|
+
},
|
|
7
|
+
"status": "completed",
|
|
8
|
+
"startedAt": "2026-01-03T11:26:14.776Z",
|
|
9
|
+
"agents": [],
|
|
10
|
+
"chapters": [
|
|
11
|
+
{
|
|
12
|
+
"id": "chap_yja8nbst4gdp",
|
|
13
|
+
"title": "Work",
|
|
14
|
+
"agentName": "default",
|
|
15
|
+
"startedAt": "2026-01-03T11:28:04.601Z",
|
|
16
|
+
"events": [
|
|
17
|
+
{
|
|
18
|
+
"ts": 1767439684602,
|
|
19
|
+
"type": "decision",
|
|
20
|
+
"content": "CORS fix already implemented in ae30e62: CORS fix already implemented in ae30e62",
|
|
21
|
+
"raw": {
|
|
22
|
+
"question": "CORS fix already implemented in ae30e62",
|
|
23
|
+
"chosen": "CORS fix already implemented in ae30e62",
|
|
24
|
+
"alternatives": [],
|
|
25
|
+
"reasoning": "Reviewed code: secure by default (empty config blocks cross-origin), configurable via allowedOrigins/env var, proper origin reflection instead of literal *, 403 blocking with logging, Vary header for caching"
|
|
26
|
+
},
|
|
27
|
+
"significance": "high"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"ts": 1767439798555,
|
|
31
|
+
"type": "decision",
|
|
32
|
+
"content": "Add allowSpawn config to PtyWrapper: Add allowSpawn config to PtyWrapper",
|
|
33
|
+
"raw": {
|
|
34
|
+
"question": "Add allowSpawn config to PtyWrapper",
|
|
35
|
+
"chosen": "Add allowSpawn config to PtyWrapper",
|
|
36
|
+
"alternatives": [],
|
|
37
|
+
"reasoning": "Spawned agents get dashboardPort which enables spawn commands. Fix by adding explicit allowSpawn flag that defaults to false for spawned workers."
|
|
38
|
+
},
|
|
39
|
+
"significance": "high"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"ts": 1767440059792,
|
|
43
|
+
"type": "decision",
|
|
44
|
+
"content": "Feature already implemented: Feature already implemented",
|
|
45
|
+
"raw": {
|
|
46
|
+
"question": "Feature already implemented",
|
|
47
|
+
"chosen": "Feature already implemented",
|
|
48
|
+
"alternatives": [],
|
|
49
|
+
"reasoning": "Found commit 5763cd2 that fully implemented agent-relay-gst2. All layers (router, storage, dashboard-server, frontend) have complete ACK status tracking."
|
|
50
|
+
},
|
|
51
|
+
"significance": "high"
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"ts": 1767440112959,
|
|
55
|
+
"type": "decision",
|
|
56
|
+
"content": "Starting agent-relay-325: Starting agent-relay-325",
|
|
57
|
+
"raw": {
|
|
58
|
+
"question": "Starting agent-relay-325",
|
|
59
|
+
"chosen": "Starting agent-relay-325",
|
|
60
|
+
"alternatives": [],
|
|
61
|
+
"reasoning": "Moving from completed gst2 to new task: repo context indicator in header"
|
|
62
|
+
},
|
|
63
|
+
"significance": "high"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"ts": 1767440163310,
|
|
67
|
+
"type": "decision",
|
|
68
|
+
"content": "Stricter spawn command parsing: Stricter spawn command parsing",
|
|
69
|
+
"raw": {
|
|
70
|
+
"question": "Stricter spawn command parsing",
|
|
71
|
+
"chosen": "Stricter spawn command parsing",
|
|
72
|
+
"alternatives": [],
|
|
73
|
+
"reasoning": "Require: (1) command at line start, (2) PascalCase agent name, (3) known CLI type. Prevents matching documentation text."
|
|
74
|
+
},
|
|
75
|
+
"significance": "high"
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"ts": 1767440403320,
|
|
79
|
+
"type": "decision",
|
|
80
|
+
"content": "Created RepoContextHeader component: Created RepoContextHeader component",
|
|
81
|
+
"raw": {
|
|
82
|
+
"question": "Created RepoContextHeader component",
|
|
83
|
+
"chosen": "Created RepoContextHeader component",
|
|
84
|
+
"alternatives": [],
|
|
85
|
+
"reasoning": "Implemented Slack-style repo context indicator with dropdown for quick project switching. Integrated into Header.tsx with proper callbacks."
|
|
86
|
+
},
|
|
87
|
+
"significance": "high"
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"ts": 1767440895146,
|
|
91
|
+
"type": "decision",
|
|
92
|
+
"content": "Started agent-relay-442 to add tests for Vault and billing: Started agent-relay-442 to add tests for Vault and billing",
|
|
93
|
+
"raw": {
|
|
94
|
+
"question": "Started agent-relay-442 to add tests for Vault and billing",
|
|
95
|
+
"chosen": "Started agent-relay-442 to add tests for Vault and billing",
|
|
96
|
+
"alternatives": [],
|
|
97
|
+
"reasoning": ""
|
|
98
|
+
},
|
|
99
|
+
"significance": "high"
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"ts": 1767441066609,
|
|
103
|
+
"type": "decision",
|
|
104
|
+
"content": "Fixed fleet agent double-counting: Fixed fleet agent double-counting",
|
|
105
|
+
"raw": {
|
|
106
|
+
"question": "Fixed fleet agent double-counting",
|
|
107
|
+
"chosen": "Fixed fleet agent double-counting",
|
|
108
|
+
"alternatives": [],
|
|
109
|
+
"reasoning": "Root cause: /api/fleet/servers counted agents from both local daemon AND bridge projects. When bridge is active, the same agents appear in both places. Fix: Only add local daemon entry when no bridge projects exist."
|
|
110
|
+
},
|
|
111
|
+
"significance": "high"
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
"ts": 1767441268669,
|
|
115
|
+
"type": "decision",
|
|
116
|
+
"content": "Fixed LogViewer panel with three improvements: collapsible header, spacing reduction, and Codex parsing: Fixed LogViewer panel with three improvements: collapsible header, spacing reduction, and Codex parsing",
|
|
117
|
+
"raw": {
|
|
118
|
+
"question": "Fixed LogViewer panel with three improvements: collapsible header, spacing reduction, and Codex parsing",
|
|
119
|
+
"chosen": "Fixed LogViewer panel with three improvements: collapsible header, spacing reduction, and Codex parsing",
|
|
120
|
+
"alternatives": [],
|
|
121
|
+
"reasoning": "Task agent-relay-445 required fixing spacing issues and extra characters in log output"
|
|
122
|
+
},
|
|
123
|
+
"significance": "high"
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
"ts": 1767441279487,
|
|
127
|
+
"type": "decision",
|
|
128
|
+
"content": "Added collapsible header with compact default view: Added collapsible header with compact default view",
|
|
129
|
+
"raw": {
|
|
130
|
+
"question": "Added collapsible header with compact default view",
|
|
131
|
+
"chosen": "Added collapsible header with compact default view",
|
|
132
|
+
"alternatives": [],
|
|
133
|
+
"reasoning": "Reduces visual noise in log panel, users can expand if needed"
|
|
134
|
+
},
|
|
135
|
+
"significance": "high"
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
"ts": 1767441281361,
|
|
139
|
+
"type": "decision",
|
|
140
|
+
"content": "Fixed spacing by reducing padding py-1 to py-0.5 and filtering empty lines: Fixed spacing by reducing padding py-1 to py-0.5 and filtering empty lines",
|
|
141
|
+
"raw": {
|
|
142
|
+
"question": "Fixed spacing by reducing padding py-1 to py-0.5 and filtering empty lines",
|
|
143
|
+
"chosen": "Fixed spacing by reducing padding py-1 to py-0.5 and filtering empty lines",
|
|
144
|
+
"alternatives": [],
|
|
145
|
+
"reasoning": "Denser log display shows more content, empty lines were cluttering the view"
|
|
146
|
+
},
|
|
147
|
+
"significance": "high"
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
"ts": 1767441283247,
|
|
151
|
+
"type": "decision",
|
|
152
|
+
"content": "Enhanced ANSI stripping for Codex parsing - added DCS, backspace, spinner fragment filtering: Enhanced ANSI stripping for Codex parsing - added DCS, backspace, spinner fragment filtering",
|
|
153
|
+
"raw": {
|
|
154
|
+
"question": "Enhanced ANSI stripping for Codex parsing - added DCS, backspace, spinner fragment filtering",
|
|
155
|
+
"chosen": "Enhanced ANSI stripping for Codex parsing - added DCS, backspace, spinner fragment filtering",
|
|
156
|
+
"alternatives": [],
|
|
157
|
+
"reasoning": "Codex output includes spinner animations that were being rendered as fragments"
|
|
158
|
+
},
|
|
159
|
+
"significance": "high"
|
|
160
|
+
}
|
|
161
|
+
],
|
|
162
|
+
"endedAt": "2026-01-03T11:54:49.955Z"
|
|
163
|
+
}
|
|
164
|
+
],
|
|
165
|
+
"commits": [],
|
|
166
|
+
"filesChanged": [],
|
|
167
|
+
"projectId": "/Users/khaliqgant/Projects/agent-workforce/relay",
|
|
168
|
+
"tags": [],
|
|
169
|
+
"completedAt": "2026-01-03T11:54:49.955Z",
|
|
170
|
+
"retrospective": {
|
|
171
|
+
"summary": "Fixed LogViewer panel: collapsible header (compact default), spacing improvements (reduced padding, empty line filtering), Codex parsing (enhanced ANSI stripping, spinner fragment filtering)",
|
|
172
|
+
"approach": "Standard approach",
|
|
173
|
+
"confidence": 0.9
|
|
174
|
+
}
|
|
175
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# Trajectory: Backend developer session - waiting for Lead tasks
|
|
2
|
+
|
|
3
|
+
> **Status:** ✅ Completed
|
|
4
|
+
> **Confidence:** 90%
|
|
5
|
+
> **Started:** January 3, 2026 at 12:26 PM
|
|
6
|
+
> **Completed:** January 3, 2026 at 12:54 PM
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Summary
|
|
11
|
+
|
|
12
|
+
Fixed LogViewer panel: collapsible header (compact default), spacing improvements (reduced padding, empty line filtering), Codex parsing (enhanced ANSI stripping, spinner fragment filtering)
|
|
13
|
+
|
|
14
|
+
**Approach:** Standard approach
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Key Decisions
|
|
19
|
+
|
|
20
|
+
### CORS fix already implemented in ae30e62
|
|
21
|
+
- **Chose:** CORS fix already implemented in ae30e62
|
|
22
|
+
- **Reasoning:** Reviewed code: secure by default (empty config blocks cross-origin), configurable via allowedOrigins/env var, proper origin reflection instead of literal *, 403 blocking with logging, Vary header for caching
|
|
23
|
+
|
|
24
|
+
### Add allowSpawn config to PtyWrapper
|
|
25
|
+
- **Chose:** Add allowSpawn config to PtyWrapper
|
|
26
|
+
- **Reasoning:** Spawned agents get dashboardPort which enables spawn commands. Fix by adding explicit allowSpawn flag that defaults to false for spawned workers.
|
|
27
|
+
|
|
28
|
+
### Feature already implemented
|
|
29
|
+
- **Chose:** Feature already implemented
|
|
30
|
+
- **Reasoning:** Found commit 5763cd2 that fully implemented agent-relay-gst2. All layers (router, storage, dashboard-server, frontend) have complete ACK status tracking.
|
|
31
|
+
|
|
32
|
+
### Starting agent-relay-325
|
|
33
|
+
- **Chose:** Starting agent-relay-325
|
|
34
|
+
- **Reasoning:** Moving from completed gst2 to new task: repo context indicator in header
|
|
35
|
+
|
|
36
|
+
### Stricter spawn command parsing
|
|
37
|
+
- **Chose:** Stricter spawn command parsing
|
|
38
|
+
- **Reasoning:** Require: (1) command at line start, (2) PascalCase agent name, (3) known CLI type. Prevents matching documentation text.
|
|
39
|
+
|
|
40
|
+
### Created RepoContextHeader component
|
|
41
|
+
- **Chose:** Created RepoContextHeader component
|
|
42
|
+
- **Reasoning:** Implemented Slack-style repo context indicator with dropdown for quick project switching. Integrated into Header.tsx with proper callbacks.
|
|
43
|
+
|
|
44
|
+
### Fixed fleet agent double-counting
|
|
45
|
+
- **Chose:** Fixed fleet agent double-counting
|
|
46
|
+
- **Reasoning:** Root cause: /api/fleet/servers counted agents from both local daemon AND bridge projects. When bridge is active, the same agents appear in both places. Fix: Only add local daemon entry when no bridge projects exist.
|
|
47
|
+
|
|
48
|
+
### Fixed LogViewer panel with three improvements: collapsible header, spacing reduction, and Codex parsing
|
|
49
|
+
- **Chose:** Fixed LogViewer panel with three improvements: collapsible header, spacing reduction, and Codex parsing
|
|
50
|
+
- **Reasoning:** Task agent-relay-445 required fixing spacing issues and extra characters in log output
|
|
51
|
+
|
|
52
|
+
### Added collapsible header with compact default view
|
|
53
|
+
- **Chose:** Added collapsible header with compact default view
|
|
54
|
+
- **Reasoning:** Reduces visual noise in log panel, users can expand if needed
|
|
55
|
+
|
|
56
|
+
### Fixed spacing by reducing padding py-1 to py-0.5 and filtering empty lines
|
|
57
|
+
- **Chose:** Fixed spacing by reducing padding py-1 to py-0.5 and filtering empty lines
|
|
58
|
+
- **Reasoning:** Denser log display shows more content, empty lines were cluttering the view
|
|
59
|
+
|
|
60
|
+
### Enhanced ANSI stripping for Codex parsing - added DCS, backspace, spinner fragment filtering
|
|
61
|
+
- **Chose:** Enhanced ANSI stripping for Codex parsing - added DCS, backspace, spinner fragment filtering
|
|
62
|
+
- **Reasoning:** Codex output includes spinner animations that were being rendered as fragments
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## Chapters
|
|
67
|
+
|
|
68
|
+
### 1. Work
|
|
69
|
+
*Agent: default*
|
|
70
|
+
|
|
71
|
+
- CORS fix already implemented in ae30e62: CORS fix already implemented in ae30e62
|
|
72
|
+
- Add allowSpawn config to PtyWrapper: Add allowSpawn config to PtyWrapper
|
|
73
|
+
- Feature already implemented: Feature already implemented
|
|
74
|
+
- Starting agent-relay-325: Starting agent-relay-325
|
|
75
|
+
- Stricter spawn command parsing: Stricter spawn command parsing
|
|
76
|
+
- Created RepoContextHeader component: Created RepoContextHeader component
|
|
77
|
+
- Started agent-relay-442 to add tests for Vault and billing: Started agent-relay-442 to add tests for Vault and billing
|
|
78
|
+
- Fixed fleet agent double-counting: Fixed fleet agent double-counting
|
|
79
|
+
- Fixed LogViewer panel with three improvements: collapsible header, spacing reduction, and Codex parsing: Fixed LogViewer panel with three improvements: collapsible header, spacing reduction, and Codex parsing
|
|
80
|
+
- Added collapsible header with compact default view: Added collapsible header with compact default view
|
|
81
|
+
- Fixed spacing by reducing padding py-1 to py-0.5 and filtering empty lines: Fixed spacing by reducing padding py-1 to py-0.5 and filtering empty lines
|
|
82
|
+
- Enhanced ANSI stripping for Codex parsing - added DCS, backspace, spinner fragment filtering: Enhanced ANSI stripping for Codex parsing - added DCS, backspace, spinner fragment filtering
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "traj_ysjc8zaeqtd3",
|
|
3
|
+
"version": 1,
|
|
4
|
+
"task": {
|
|
5
|
+
"title": "Add recent repos quick access",
|
|
6
|
+
"source": {
|
|
7
|
+
"system": "plain",
|
|
8
|
+
"id": "agent-relay-327"
|
|
9
|
+
}
|
|
10
|
+
},
|
|
11
|
+
"status": "completed",
|
|
12
|
+
"startedAt": "2026-01-03T13:31:22.891Z",
|
|
13
|
+
"agents": [],
|
|
14
|
+
"chapters": [
|
|
15
|
+
{
|
|
16
|
+
"id": "chap_0nd8brwg8jll",
|
|
17
|
+
"title": "Work",
|
|
18
|
+
"agentName": "default",
|
|
19
|
+
"startedAt": "2026-01-03T13:33:03.932Z",
|
|
20
|
+
"events": [
|
|
21
|
+
{
|
|
22
|
+
"ts": 1767447183933,
|
|
23
|
+
"type": "decision",
|
|
24
|
+
"content": "Modified autoSave to accept SESSION_END data and create handoff from it when ledger is empty: Modified autoSave to accept SESSION_END data and create handoff from it when ledger is empty",
|
|
25
|
+
"raw": {
|
|
26
|
+
"question": "Modified autoSave to accept SESSION_END data and create handoff from it when ledger is empty",
|
|
27
|
+
"chosen": "Modified autoSave to accept SESSION_END data and create handoff from it when ledger is empty",
|
|
28
|
+
"alternatives": [],
|
|
29
|
+
"reasoning": "Root cause: autoSave created handoff from ledger which was empty when agent didn't use ->continuity:save. Fix: use SESSION_END JSON content to populate handoff directly."
|
|
30
|
+
},
|
|
31
|
+
"significance": "high"
|
|
32
|
+
}
|
|
33
|
+
],
|
|
34
|
+
"endedAt": "2026-01-03T13:33:18.061Z"
|
|
35
|
+
}
|
|
36
|
+
],
|
|
37
|
+
"commits": [],
|
|
38
|
+
"filesChanged": [],
|
|
39
|
+
"projectId": "/Users/khaliqgant/Projects/agent-workforce/relay",
|
|
40
|
+
"tags": [],
|
|
41
|
+
"completedAt": "2026-01-03T13:33:18.061Z",
|
|
42
|
+
"retrospective": {
|
|
43
|
+
"summary": "Fixed empty continuity handoff files by passing SESSION_END JSON content to autoSave. Modified ContinuityManager.autoSave to accept optional sessionEndData and use it to populate handoff when ledger is empty. Updated both pty-wrapper.ts and tmux-wrapper.ts to store and pass sessionEndData.",
|
|
44
|
+
"approach": "Standard approach",
|
|
45
|
+
"confidence": 0.9
|
|
46
|
+
}
|
|
47
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# Trajectory: Add recent repos quick access
|
|
2
|
+
|
|
3
|
+
> **Status:** ✅ Completed
|
|
4
|
+
> **Task:** agent-relay-327
|
|
5
|
+
> **Confidence:** 90%
|
|
6
|
+
> **Started:** January 3, 2026 at 02:31 PM
|
|
7
|
+
> **Completed:** January 3, 2026 at 02:33 PM
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Summary
|
|
12
|
+
|
|
13
|
+
Fixed empty continuity handoff files by passing SESSION_END JSON content to autoSave. Modified ContinuityManager.autoSave to accept optional sessionEndData and use it to populate handoff when ledger is empty. Updated both pty-wrapper.ts and tmux-wrapper.ts to store and pass sessionEndData.
|
|
14
|
+
|
|
15
|
+
**Approach:** Standard approach
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Key Decisions
|
|
20
|
+
|
|
21
|
+
### Modified autoSave to accept SESSION_END data and create handoff from it when ledger is empty
|
|
22
|
+
- **Chose:** Modified autoSave to accept SESSION_END data and create handoff from it when ledger is empty
|
|
23
|
+
- **Reasoning:** Root cause: autoSave created handoff from ledger which was empty when agent didn't use ->continuity:save. Fix: use SESSION_END JSON content to populate handoff directly.
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## Chapters
|
|
28
|
+
|
|
29
|
+
### 1. Work
|
|
30
|
+
*Agent: default*
|
|
31
|
+
|
|
32
|
+
- Modified autoSave to accept SESSION_END data and create handoff from it when ledger is empty: Modified autoSave to accept SESSION_END data and create handoff from it when ledger is empty
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "traj_yvdadtvdgnz3",
|
|
3
|
+
"version": 1,
|
|
4
|
+
"task": {
|
|
5
|
+
"title": "Full cloud e2e flow review",
|
|
6
|
+
"source": {
|
|
7
|
+
"system": "plain",
|
|
8
|
+
"id": "cloud-review"
|
|
9
|
+
}
|
|
10
|
+
},
|
|
11
|
+
"status": "completed",
|
|
12
|
+
"startedAt": "2026-01-03T19:17:32.797Z",
|
|
13
|
+
"agents": [],
|
|
14
|
+
"chapters": [
|
|
15
|
+
{
|
|
16
|
+
"id": "chap_vjlhnvwxq9eo",
|
|
17
|
+
"title": "Work",
|
|
18
|
+
"agentName": "default",
|
|
19
|
+
"startedAt": "2026-01-03T19:21:54.982Z",
|
|
20
|
+
"events": [
|
|
21
|
+
{
|
|
22
|
+
"ts": 1767468114983,
|
|
23
|
+
"type": "decision",
|
|
24
|
+
"content": "Multi-repo spawning uses workspace root, not specific repo: Multi-repo spawning uses workspace root, not specific repo",
|
|
25
|
+
"raw": {
|
|
26
|
+
"question": "Multi-repo spawning uses workspace root, not specific repo",
|
|
27
|
+
"chosen": "Multi-repo spawning uses workspace root, not specific repo",
|
|
28
|
+
"alternatives": [],
|
|
29
|
+
"reasoning": "When agents spawn, cwd is /workspace (where all repos live), not /workspace/repo-name. This is acceptable for MVP - tasks can specify which repo to work on, and agents can cd into the right directory."
|
|
30
|
+
},
|
|
31
|
+
"significance": "high"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"ts": 1767468129191,
|
|
35
|
+
"type": "decision",
|
|
36
|
+
"content": "Repo sync limited to 100 repos: Repo sync limited to 100 repos",
|
|
37
|
+
"raw": {
|
|
38
|
+
"question": "Repo sync limited to 100 repos",
|
|
39
|
+
"chosen": "Repo sync limited to 100 repos",
|
|
40
|
+
"alternatives": [],
|
|
41
|
+
"reasoning": "listGithubAppRepos only fetches first 100 repos from GitHub API. This is a known limitation - users with >100 repos won't see all of them. Acceptable for MVP, can add pagination later."
|
|
42
|
+
},
|
|
43
|
+
"significance": "high"
|
|
44
|
+
}
|
|
45
|
+
],
|
|
46
|
+
"endedAt": "2026-01-03T19:22:22.762Z"
|
|
47
|
+
}
|
|
48
|
+
],
|
|
49
|
+
"commits": [],
|
|
50
|
+
"filesChanged": [],
|
|
51
|
+
"projectId": "/home/user/relay",
|
|
52
|
+
"tags": [],
|
|
53
|
+
"completedAt": "2026-01-03T19:22:22.762Z",
|
|
54
|
+
"retrospective": {
|
|
55
|
+
"summary": "Full cloud e2e flow review complete. Flow is viable for MVP with minor limitations: 100 repo max, multi-repo spawns to workspace root. Key pieces verified: Nango OAuth, GitHub App tokens, vault credentials, workspace provisioning, entrypoint cloning, credential file creation, spawn mechanism.",
|
|
56
|
+
"approach": "Standard approach",
|
|
57
|
+
"confidence": 0.85
|
|
58
|
+
}
|
|
59
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Trajectory: Full cloud e2e flow review
|
|
2
|
+
|
|
3
|
+
> **Status:** ✅ Completed
|
|
4
|
+
> **Task:** cloud-review
|
|
5
|
+
> **Confidence:** 85%
|
|
6
|
+
> **Started:** January 3, 2026 at 07:17 PM
|
|
7
|
+
> **Completed:** January 3, 2026 at 07:22 PM
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Summary
|
|
12
|
+
|
|
13
|
+
Full cloud e2e flow review complete. Flow is viable for MVP with minor limitations: 100 repo max, multi-repo spawns to workspace root. Key pieces verified: Nango OAuth, GitHub App tokens, vault credentials, workspace provisioning, entrypoint cloning, credential file creation, spawn mechanism.
|
|
14
|
+
|
|
15
|
+
**Approach:** Standard approach
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Key Decisions
|
|
20
|
+
|
|
21
|
+
### Multi-repo spawning uses workspace root, not specific repo
|
|
22
|
+
- **Chose:** Multi-repo spawning uses workspace root, not specific repo
|
|
23
|
+
- **Reasoning:** When agents spawn, cwd is /workspace (where all repos live), not /workspace/repo-name. This is acceptable for MVP - tasks can specify which repo to work on, and agents can cd into the right directory.
|
|
24
|
+
|
|
25
|
+
### Repo sync limited to 100 repos
|
|
26
|
+
- **Chose:** Repo sync limited to 100 repos
|
|
27
|
+
- **Reasoning:** listGithubAppRepos only fetches first 100 repos from GitHub API. This is a known limitation - users with >100 repos won't see all of them. Acceptable for MVP, can add pagination later.
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## Chapters
|
|
32
|
+
|
|
33
|
+
### 1. Work
|
|
34
|
+
*Agent: default*
|
|
35
|
+
|
|
36
|
+
- Multi-repo spawning uses workspace root, not specific repo: Multi-repo spawning uses workspace root, not specific repo
|
|
37
|
+
- Repo sync limited to 100 repos: Repo sync limited to 100 repos
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "traj_z0vcw1wrzide",
|
|
3
|
+
"version": 1,
|
|
4
|
+
"task": {
|
|
5
|
+
"title": "Fix trajectory agents array population",
|
|
6
|
+
"source": {
|
|
7
|
+
"system": "plain",
|
|
8
|
+
"id": "agent-relay-452"
|
|
9
|
+
}
|
|
10
|
+
},
|
|
11
|
+
"status": "completed",
|
|
12
|
+
"startedAt": "2026-01-03T13:37:00.860Z",
|
|
13
|
+
"agents": [
|
|
14
|
+
{
|
|
15
|
+
"name": "CodexAgent",
|
|
16
|
+
"role": "lead",
|
|
17
|
+
"joinedAt": "2026-01-03T13:37:00.861Z"
|
|
18
|
+
}
|
|
19
|
+
],
|
|
20
|
+
"chapters": [
|
|
21
|
+
{
|
|
22
|
+
"id": "chap_a5lre0y29y5x",
|
|
23
|
+
"title": "Work",
|
|
24
|
+
"agentName": "default",
|
|
25
|
+
"startedAt": "2026-01-03T13:37:45.874Z",
|
|
26
|
+
"events": [
|
|
27
|
+
{
|
|
28
|
+
"ts": 1767447465875,
|
|
29
|
+
"type": "decision",
|
|
30
|
+
"content": "Patched trail start to record initiating agent: Patched trail start to record initiating agent",
|
|
31
|
+
"raw": {
|
|
32
|
+
"question": "Patched trail start to record initiating agent",
|
|
33
|
+
"chosen": "Patched trail start to record initiating agent",
|
|
34
|
+
"alternatives": [],
|
|
35
|
+
"reasoning": "Agents array was empty; added agent capture and regression test"
|
|
36
|
+
},
|
|
37
|
+
"significance": "high"
|
|
38
|
+
}
|
|
39
|
+
],
|
|
40
|
+
"endedAt": "2026-01-03T13:38:16.320Z"
|
|
41
|
+
}
|
|
42
|
+
],
|
|
43
|
+
"commits": [],
|
|
44
|
+
"filesChanged": [],
|
|
45
|
+
"projectId": "/Users/khaliqgant/Projects/agent-workforce/relay",
|
|
46
|
+
"tags": [],
|
|
47
|
+
"completedAt": "2026-01-03T13:38:16.320Z",
|
|
48
|
+
"retrospective": {
|
|
49
|
+
"summary": "Patched trail start to record initiating agent and added regression test + postinstall patch",
|
|
50
|
+
"approach": "Standard approach",
|
|
51
|
+
"confidence": 0.89
|
|
52
|
+
}
|
|
53
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# Trajectory: Fix trajectory agents array population
|
|
2
|
+
|
|
3
|
+
> **Status:** ✅ Completed
|
|
4
|
+
> **Task:** agent-relay-452
|
|
5
|
+
> **Confidence:** 89%
|
|
6
|
+
> **Started:** January 3, 2026 at 02:37 PM
|
|
7
|
+
> **Completed:** January 3, 2026 at 02:38 PM
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Summary
|
|
12
|
+
|
|
13
|
+
Patched trail start to record initiating agent and added regression test + postinstall patch
|
|
14
|
+
|
|
15
|
+
**Approach:** Standard approach
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Key Decisions
|
|
20
|
+
|
|
21
|
+
### Patched trail start to record initiating agent
|
|
22
|
+
- **Chose:** Patched trail start to record initiating agent
|
|
23
|
+
- **Reasoning:** Agents array was empty; added agent capture and regression test
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## Chapters
|
|
28
|
+
|
|
29
|
+
### 1. Work
|
|
30
|
+
*Agent: default*
|
|
31
|
+
|
|
32
|
+
- Patched trail start to record initiating agent: Patched trail start to record initiating agent
|