agent-relay 1.2.0 → 1.3.0
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/agent-relay-322-324.md +17 -0
- package/.trajectories/completed/2026-01/traj_03zupyv1s7b9.json +49 -0
- package/.trajectories/completed/2026-01/traj_03zupyv1s7b9.md +31 -0
- package/.trajectories/completed/2026-01/traj_0zacdjl1g4ht.json +125 -0
- package/.trajectories/completed/2026-01/traj_0zacdjl1g4ht.md +62 -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_33iuy72sezbk.json +49 -0
- package/.trajectories/completed/2026-01/traj_33iuy72sezbk.md +31 -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_5ammh5qtvklq.json +77 -0
- package/.trajectories/completed/2026-01/traj_5ammh5qtvklq.md +42 -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_6mieijqyvaag.json +77 -0
- package/.trajectories/completed/2026-01/traj_6mieijqyvaag.md +42 -0
- package/.trajectories/completed/2026-01/traj_78ffm31jn3uk.json +77 -0
- package/.trajectories/completed/2026-01/traj_78ffm31jn3uk.md +42 -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_94gnp3k30goq.json +66 -0
- package/.trajectories/completed/2026-01/traj_94gnp3k30goq.md +36 -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_avqeghu6pz5a.json +40 -0
- package/.trajectories/completed/2026-01/traj_avqeghu6pz5a.md +22 -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_dcsp9s8y01ra.json +121 -0
- package/.trajectories/completed/2026-01/traj_dcsp9s8y01ra.md +29 -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_fhx9irlckht6.json +53 -0
- package/.trajectories/completed/2026-01/traj_fhx9irlckht6.md +32 -0
- package/.trajectories/completed/2026-01/traj_fqduidx3xbtp.json +101 -0
- package/.trajectories/completed/2026-01/traj_fqduidx3xbtp.md +52 -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_hf81ey93uz6t.json +49 -0
- package/.trajectories/completed/2026-01/traj_hf81ey93uz6t.md +31 -0
- package/.trajectories/completed/2026-01/traj_hfmki2jr9d4r.json +65 -0
- package/.trajectories/completed/2026-01/traj_hfmki2jr9d4r.md +37 -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_lq450ly148uw.json +49 -0
- package/.trajectories/completed/2026-01/traj_lq450ly148uw.md +31 -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_multi_server_arch.md +101 -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_psd9ob0j2ru3.json +27 -0
- package/.trajectories/completed/2026-01/traj_psd9ob0j2ru3.md +14 -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_ub8csuv3lcv4.json +53 -0
- package/.trajectories/completed/2026-01/traj_ub8csuv3lcv4.md +32 -0
- package/.trajectories/completed/2026-01/traj_uc29tlso8i9s.json +186 -0
- package/.trajectories/completed/2026-01/traj_uc29tlso8i9s.md +86 -0
- package/.trajectories/completed/2026-01/traj_ui9b4tqxoa7j.json +77 -0
- package/.trajectories/completed/2026-01/traj_ui9b4tqxoa7j.md +42 -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_v9dkdoxylyid.json +89 -0
- package/.trajectories/completed/2026-01/traj_v9dkdoxylyid.md +47 -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_xy9vifpqet80.json +65 -0
- package/.trajectories/completed/2026-01/traj_xy9vifpqet80.md +37 -0
- package/.trajectories/completed/2026-01/traj_y7aiwijyfmmv.json +49 -0
- package/.trajectories/completed/2026-01/traj_y7aiwijyfmmv.md +31 -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/consolidate-settings-panel.md +24 -0
- package/.trajectories/gh-cli-user-token.md +26 -0
- package/.trajectories/index.json +468 -0
- package/ARCHITECTURE.md +1245 -0
- 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/codex.config.toml +15 -0
- package/deploy/workspace/entrypoint-browser.sh +118 -0
- package/deploy/workspace/entrypoint.sh +508 -0
- package/deploy/workspace/git-credential-relay +126 -0
- package/dist/bridge/spawner.d.ts +7 -0
- package/dist/bridge/spawner.js +40 -9
- package/dist/bridge/types.d.ts +2 -0
- package/dist/cli/index.js +260 -1
- package/dist/cloud/api/admin.d.ts +8 -0
- package/dist/cloud/api/admin.js +212 -0
- package/dist/cloud/api/auth.js +8 -0
- package/dist/cloud/api/billing.d.ts +0 -10
- package/dist/cloud/api/billing.js +278 -67
- package/dist/cloud/api/codex-auth-helper.d.ts +21 -0
- package/dist/cloud/api/codex-auth-helper.js +307 -0
- package/dist/cloud/api/coordinators.js +402 -0
- package/dist/cloud/api/daemons.js +15 -11
- package/dist/cloud/api/git.js +127 -19
- package/dist/cloud/api/github-app.js +42 -8
- package/dist/cloud/api/nango-auth.js +297 -16
- package/dist/cloud/api/onboarding.js +112 -35
- package/dist/cloud/api/providers.js +12 -16
- package/dist/cloud/api/repos.d.ts +1 -0
- package/dist/cloud/api/repos.js +311 -49
- package/dist/cloud/api/test-helpers.js +40 -0
- package/dist/cloud/api/usage.js +13 -0
- package/dist/cloud/api/webhooks.d.ts +1 -0
- package/dist/cloud/api/webhooks.js +149 -0
- package/dist/cloud/api/workspaces.d.ts +18 -0
- package/dist/cloud/api/workspaces.js +1042 -21
- package/dist/cloud/billing/plans.js +19 -19
- package/dist/cloud/config.d.ts +8 -0
- package/dist/cloud/config.js +15 -0
- package/dist/cloud/db/drizzle.d.ts +5 -2
- package/dist/cloud/db/drizzle.js +27 -20
- package/dist/cloud/db/schema.d.ts +19 -51
- package/dist/cloud/db/schema.js +5 -4
- package/dist/cloud/index.d.ts +0 -1
- package/dist/cloud/index.js +0 -1
- package/dist/cloud/provisioner/index.d.ts +125 -1
- package/dist/cloud/provisioner/index.js +939 -53
- package/dist/cloud/server.js +161 -16
- package/dist/cloud/services/compute-enforcement.d.ts +57 -0
- package/dist/cloud/services/compute-enforcement.js +175 -0
- package/dist/cloud/services/index.d.ts +2 -0
- package/dist/cloud/services/index.js +4 -0
- package/dist/cloud/services/intro-expiration.d.ts +55 -0
- package/dist/cloud/services/intro-expiration.js +211 -0
- package/dist/cloud/services/nango.d.ts +74 -0
- package/dist/cloud/services/nango.js +218 -5
- package/dist/cloud/services/planLimits.d.ts +22 -0
- package/dist/cloud/services/planLimits.js +58 -5
- package/dist/cloud/services/ssh-security.d.ts +31 -0
- package/dist/cloud/services/ssh-security.js +63 -0
- package/dist/continuity/manager.d.ts +5 -0
- package/dist/continuity/manager.js +56 -2
- package/dist/daemon/api.d.ts +2 -0
- package/dist/daemon/api.js +214 -5
- package/dist/daemon/cli-auth.d.ts +13 -1
- package/dist/daemon/cli-auth.js +166 -47
- package/dist/daemon/connection.d.ts +7 -1
- package/dist/daemon/connection.js +15 -0
- package/dist/daemon/orchestrator.d.ts +2 -0
- package/dist/daemon/orchestrator.js +26 -0
- package/dist/daemon/repo-manager.d.ts +116 -0
- package/dist/daemon/repo-manager.js +384 -0
- package/dist/daemon/router.d.ts +60 -1
- package/dist/daemon/router.js +281 -20
- package/dist/daemon/user-directory.d.ts +111 -0
- package/dist/daemon/user-directory.js +233 -0
- package/dist/dashboard/out/404.html +1 -1
- package/dist/dashboard/out/_next/static/T1tgCqVWHFIkV7ClEtzD7/_ssgManifest.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/532-bace199897eeab37.js +9 -0
- package/dist/dashboard/out/_next/static/chunks/766-b54f0853794b78c3.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/83-b51836037078006c.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/891-6cd50de1224f70bb.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/899-bb19a9b3d9b39ea6.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/app/app/onboarding/page-8939b0fc700f7eca.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/app/app/page-5af1b6b439858aa6.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/app/metrics/page-ac39dc0cc3c26fa7.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/app/{page-daf87e86f783f980.js → page-4a5938c18a11a654.js} +1 -1
- package/dist/dashboard/out/_next/static/chunks/app/providers/page-ac3a6ac433fd6001.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/app/providers/setup/[provider]/page-09f9caae98a18c09.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/{main-97850e03d723ea8c.js → main-2ee6beb2ae96d210.js} +1 -1
- package/dist/dashboard/out/_next/static/css/85d2af9c7ac74d62.css +1 -0
- package/dist/dashboard/out/_next/static/css/fe4b28883eeff359.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 -1
- package/dist/dashboard/out/app.txt +3 -3
- package/dist/dashboard/out/apple-icon.png +0 -0
- package/dist/dashboard/out/connect-repos.html +1 -1
- package/dist/dashboard/out/connect-repos.txt +3 -3
- package/dist/dashboard/out/history.html +1 -1
- package/dist/dashboard/out/history.txt +3 -3
- package/dist/dashboard/out/index.html +1 -1
- package/dist/dashboard/out/index.txt +3 -3
- package/dist/dashboard/out/login.html +2 -2
- package/dist/dashboard/out/login.txt +3 -3
- package/dist/dashboard/out/metrics.html +1 -1
- package/dist/dashboard/out/metrics.txt +3 -3
- package/dist/dashboard/out/pricing.html +3 -3
- package/dist/dashboard/out/pricing.txt +3 -3
- package/dist/dashboard/out/providers/setup/claude.html +1 -0
- package/dist/dashboard/out/providers/setup/claude.txt +8 -0
- package/dist/dashboard/out/providers/setup/codex.html +1 -0
- package/dist/dashboard/out/providers/setup/codex.txt +8 -0
- package/dist/dashboard/out/providers.html +1 -1
- package/dist/dashboard/out/providers.txt +3 -3
- package/dist/dashboard/out/signup.html +2 -2
- package/dist/dashboard/out/signup.txt +3 -3
- package/dist/dashboard-server/server.js +316 -12
- package/dist/dashboard-server/user-bridge.d.ts +103 -0
- package/dist/dashboard-server/user-bridge.js +189 -0
- package/dist/protocol/channels.d.ts +205 -0
- package/dist/protocol/channels.js +154 -0
- package/dist/protocol/types.d.ts +13 -1
- package/dist/resiliency/provider-context.js +2 -0
- package/dist/shared/cli-auth-config.d.ts +19 -0
- package/dist/shared/cli-auth-config.js +58 -2
- package/dist/utils/agent-config.js +1 -1
- package/dist/wrapper/auth-detection.d.ts +49 -0
- package/dist/wrapper/auth-detection.js +192 -0
- package/dist/wrapper/base-wrapper.d.ts +153 -0
- package/dist/wrapper/base-wrapper.js +393 -0
- package/dist/wrapper/client.d.ts +7 -1
- package/dist/wrapper/client.js +3 -0
- package/dist/wrapper/index.d.ts +1 -0
- package/dist/wrapper/index.js +4 -3
- package/dist/wrapper/pty-wrapper.d.ts +62 -84
- package/dist/wrapper/pty-wrapper.js +154 -180
- package/dist/wrapper/tmux-wrapper.d.ts +41 -66
- package/dist/wrapper/tmux-wrapper.js +90 -134
- package/package.json +5 -12
- package/scripts/postinstall.js +11 -155
- package/scripts/test-interactive-terminal.sh +248 -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/cli-pty-runner.d.ts.map +0 -1
- package/dist/cloud/api/cli-pty-runner.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/generic-webhooks.d.ts.map +0 -1
- package/dist/cloud/api/generic-webhooks.js.map +0 -1
- package/dist/cloud/api/git.d.ts.map +0 -1
- package/dist/cloud/api/git.js.map +0 -1
- package/dist/cloud/api/github-app.d.ts.map +0 -1
- package/dist/cloud/api/github-app.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/monitoring.d.ts.map +0 -1
- package/dist/cloud/api/monitoring.js.map +0 -1
- package/dist/cloud/api/nango-auth.d.ts.map +0 -1
- package/dist/cloud/api/nango-auth.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/policy.d.ts.map +0 -1
- package/dist/cloud/api/policy.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/test-helpers.d.ts.map +0 -1
- package/dist/cloud/api/test-helpers.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/webhooks.d.ts.map +0 -1
- package/dist/cloud/api/webhooks.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/auto-scaler.d.ts.map +0 -1
- package/dist/cloud/services/auto-scaler.js.map +0 -1
- package/dist/cloud/services/capacity-manager.d.ts.map +0 -1
- package/dist/cloud/services/capacity-manager.js.map +0 -1
- package/dist/cloud/services/ci-agent-spawner.d.ts.map +0 -1
- package/dist/cloud/services/ci-agent-spawner.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/index.d.ts.map +0 -1
- package/dist/cloud/services/index.js.map +0 -1
- package/dist/cloud/services/mention-handler.d.ts.map +0 -1
- package/dist/cloud/services/mention-handler.js.map +0 -1
- package/dist/cloud/services/nango.d.ts.map +0 -1
- package/dist/cloud/services/nango.js.map +0 -1
- package/dist/cloud/services/persistence.d.ts.map +0 -1
- package/dist/cloud/services/persistence.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/services/scaling-orchestrator.d.ts.map +0 -1
- package/dist/cloud/services/scaling-orchestrator.js.map +0 -1
- package/dist/cloud/services/scaling-policy.d.ts.map +0 -1
- package/dist/cloud/services/scaling-policy.js.map +0 -1
- package/dist/cloud/vault/index.d.ts +0 -76
- package/dist/cloud/vault/index.d.ts.map +0 -1
- package/dist/cloud/vault/index.js +0 -219
- package/dist/cloud/vault/index.js.map +0 -1
- package/dist/cloud/webhooks/index.d.ts.map +0 -1
- package/dist/cloud/webhooks/index.js.map +0 -1
- package/dist/cloud/webhooks/parsers/github.d.ts.map +0 -1
- package/dist/cloud/webhooks/parsers/github.js.map +0 -1
- package/dist/cloud/webhooks/parsers/index.d.ts.map +0 -1
- package/dist/cloud/webhooks/parsers/index.js.map +0 -1
- package/dist/cloud/webhooks/parsers/linear.d.ts.map +0 -1
- package/dist/cloud/webhooks/parsers/linear.js.map +0 -1
- package/dist/cloud/webhooks/parsers/slack.d.ts.map +0 -1
- package/dist/cloud/webhooks/parsers/slack.js.map +0 -1
- package/dist/cloud/webhooks/responders/github.d.ts.map +0 -1
- package/dist/cloud/webhooks/responders/github.js.map +0 -1
- package/dist/cloud/webhooks/responders/index.d.ts.map +0 -1
- package/dist/cloud/webhooks/responders/index.js.map +0 -1
- package/dist/cloud/webhooks/responders/linear.d.ts.map +0 -1
- package/dist/cloud/webhooks/responders/linear.js.map +0 -1
- package/dist/cloud/webhooks/responders/slack.d.ts.map +0 -1
- package/dist/cloud/webhooks/responders/slack.js.map +0 -1
- package/dist/cloud/webhooks/router.d.ts.map +0 -1
- package/dist/cloud/webhooks/router.js.map +0 -1
- package/dist/cloud/webhooks/rules-engine.d.ts.map +0 -1
- package/dist/cloud/webhooks/rules-engine.js.map +0 -1
- package/dist/cloud/webhooks/types.d.ts.map +0 -1
- package/dist/cloud/webhooks/types.js.map +0 -1
- package/dist/continuity/formatter.d.ts.map +0 -1
- package/dist/continuity/formatter.js.map +0 -1
- package/dist/continuity/handoff-store.d.ts.map +0 -1
- package/dist/continuity/handoff-store.js.map +0 -1
- package/dist/continuity/index.d.ts.map +0 -1
- package/dist/continuity/index.js.map +0 -1
- package/dist/continuity/ledger-store.d.ts.map +0 -1
- package/dist/continuity/ledger-store.js.map +0 -1
- package/dist/continuity/manager.d.ts.map +0 -1
- package/dist/continuity/manager.js.map +0 -1
- package/dist/continuity/parser.d.ts.map +0 -1
- package/dist/continuity/parser.js.map +0 -1
- package/dist/continuity/types.d.ts.map +0 -1
- package/dist/continuity/types.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/cli-auth.d.ts.map +0 -1
- package/dist/daemon/cli-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/services/browser-testing.d.ts.map +0 -1
- package/dist/daemon/services/browser-testing.js.map +0 -1
- package/dist/daemon/services/container-spawner.d.ts.map +0 -1
- package/dist/daemon/services/container-spawner.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/H5aWG0udPB4iOUIl_gytz/_ssgManifest.js +0 -1
- package/dist/dashboard/out/_next/static/chunks/480-2d4111711d4e473c.js +0 -1
- package/dist/dashboard/out/_next/static/chunks/724-73c1ee5f60abe860.js +0 -9
- package/dist/dashboard/out/_next/static/chunks/766-c3a14283c88d815b.js +0 -1
- package/dist/dashboard/out/_next/static/chunks/app/app/page-7120be68bea622f3.js +0 -1
- package/dist/dashboard/out/_next/static/chunks/app/metrics/page-1081dd190a331a91.js +0 -1
- package/dist/dashboard/out/_next/static/chunks/app/providers/page-b68a681526eb145e.js +0 -1
- package/dist/dashboard/out/_next/static/css/29852f26181969a0.css +0 -1
- package/dist/dashboard/out/_next/static/css/411ce23ffeae9f76.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/emitter.d.ts.map +0 -1
- package/dist/hooks/emitter.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/registry.d.ts.map +0 -1
- package/dist/hooks/registry.js.map +0 -1
- package/dist/hooks/trajectory-hooks.d.ts.map +0 -1
- package/dist/hooks/trajectory-hooks.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/memory/adapters/index.d.ts.map +0 -1
- package/dist/memory/adapters/index.js.map +0 -1
- package/dist/memory/adapters/inmemory.d.ts.map +0 -1
- package/dist/memory/adapters/inmemory.js.map +0 -1
- package/dist/memory/adapters/supermemory.d.ts.map +0 -1
- package/dist/memory/adapters/supermemory.js.map +0 -1
- package/dist/memory/factory.d.ts.map +0 -1
- package/dist/memory/factory.js.map +0 -1
- package/dist/memory/index.d.ts.map +0 -1
- package/dist/memory/index.js.map +0 -1
- package/dist/memory/memory-hooks.d.ts.map +0 -1
- package/dist/memory/memory-hooks.js.map +0 -1
- package/dist/memory/service.d.ts.map +0 -1
- package/dist/memory/service.js.map +0 -1
- package/dist/memory/types.d.ts.map +0 -1
- package/dist/memory/types.js.map +0 -1
- package/dist/policy/agent-policy.d.ts.map +0 -1
- package/dist/policy/agent-policy.js.map +0 -1
- package/dist/policy/cloud-policy-fetcher.d.ts.map +0 -1
- package/dist/policy/cloud-policy-fetcher.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/crash-insights.d.ts.map +0 -1
- package/dist/resiliency/crash-insights.js.map +0 -1
- package/dist/resiliency/gossip-health.d.ts.map +0 -1
- package/dist/resiliency/gossip-health.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/leader-watchdog.d.ts.map +0 -1
- package/dist/resiliency/leader-watchdog.js.map +0 -1
- package/dist/resiliency/logger.d.ts.map +0 -1
- package/dist/resiliency/logger.js.map +0 -1
- package/dist/resiliency/memory-monitor.d.ts.map +0 -1
- package/dist/resiliency/memory-monitor.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/stateless-lead.d.ts.map +0 -1
- package/dist/resiliency/stateless-lead.js.map +0 -1
- package/dist/resiliency/supervisor.d.ts.map +0 -1
- package/dist/resiliency/supervisor.js.map +0 -1
- package/dist/shared/cli-auth-config.d.ts.map +0 -1
- package/dist/shared/cli-auth-config.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/trajectory/config.d.ts.map +0 -1
- package/dist/trajectory/config.js.map +0 -1
- package/dist/trajectory/index.d.ts.map +0 -1
- package/dist/trajectory/index.js.map +0 -1
- package/dist/trajectory/integration.d.ts.map +0 -1
- package/dist/trajectory/integration.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/shared.d.ts.map +0 -1
- package/dist/wrapper/shared.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/CLOUD-ARCHITECTURE.md +0 -804
- package/docs/CLOUD-ONBOARDING-DESIGN.md +0 -1983
- package/docs/CONTRIBUTING.md +0 -151
- package/docs/HOOKS_API.md +0 -394
- package/docs/INTEGRATION-GUIDE.md +0 -926
- package/docs/PROTOCOL.md +0 -325
- package/docs/WRAPPER_EVENTS.md +0 -358
- package/docs/agent-policy-snippet.md +0 -40
- package/docs/agent-relay-protocol.md +0 -238
- package/docs/agent-relay-snippet.md +0 -174
- package/docs/archive/CHANGELOG.md +0 -11
- package/docs/archive/CLI-SIMPLIFICATION-COMPLETE.md +0 -48
- package/docs/archive/DESIGN_BRIDGE_STAFFING.md +0 -878
- package/docs/archive/DESIGN_V2.md +0 -1079
- package/docs/archive/EXECUTIVE_SUMMARY.md +0 -358
- package/docs/archive/MONETIZATION.md +0 -1679
- package/docs/archive/PROPOSAL-trajectories.md +0 -1582
- package/docs/archive/ROADMAP.md +0 -329
- package/docs/archive/SCALING_ANALYSIS.md +0 -280
- package/docs/archive/TESTING_PRESENCE_FEATURES.md +0 -327
- package/docs/archive/TMUX_IMPLEMENTATION_NOTES.md +0 -364
- package/docs/archive/TMUX_IMPROVEMENTS.md +0 -968
- package/docs/archive/dashboard-v2-plan.md +0 -179
- package/docs/archive/removable-code-analysis.md +0 -24
- package/docs/competitive/GASTOWN.md +0 -451
- package/docs/competitive/MCP_AGENT_MAIL.md +0 -389
- package/docs/competitive/OVERVIEW.md +0 -898
- package/docs/competitive/README.md +0 -34
- package/docs/competitive/TMUX_ORCHESTRATOR.md +0 -605
- package/docs/dashboard.png +0 -0
- package/docs/design/ci-failure-webhooks.md +0 -812
- package/docs/design/comprehensive-integrations.md +0 -238
- package/docs/design/e2b-sandbox-integration.md +0 -504
- package/docs/design/github-app-permissions.md +0 -264
- package/docs/guides/CLOUD.md +0 -236
- package/docs/guides/LOCAL.md +0 -535
- package/docs/guides/SELF-HOSTED.md +0 -494
- package/docs/local-testing.md +0 -428
- package/docs/proposals/continuous-claude-integration.md +0 -622
- package/docs/proposals/custom-commands.md +0 -368
- package/docs/proposals/shadow-as-subagent.md +0 -765
- package/docs/proposals/slack-bot-integration.md +0 -1457
- package/docs/tasks/global-skills-system.tasks.md +0 -230
- package/docs/tasks/webhook-integrations.tasks.md +0 -184
- package/docs/tasks/workspace-capabilities.tasks.md +0 -121
- package/docs/testing/RESILIENCY-TEST-PLAN-2026-01-01.md +0 -366
- package/scripts/cloud-setup.sh +0 -96
- 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/manual-qa.sh +0 -293
- package/scripts/run-cloud-qa.sh +0 -220
- package/scripts/test-cli-auth/Dockerfile +0 -44
- package/scripts/test-cli-auth/Dockerfile.real +0 -79
- package/scripts/test-cli-auth/README.md +0 -286
- package/scripts/test-cli-auth/ci-test-real-clis.ts +0 -251
- package/scripts/test-cli-auth/ci-test-runner.ts +0 -263
- package/scripts/test-cli-auth/mock-cli.sh +0 -147
- package/scripts/test-cli-auth/package.json +0 -14
- package/scripts/test-cli-auth/test-oauth-flow.ts +0 -220
- package/scripts/test-pty-input-auto.js +0 -222
- package/scripts/test-pty-input.js +0 -150
- package/scripts/tictactoe-setup.sh +0 -181
- /package/dist/dashboard/out/_next/static/{H5aWG0udPB4iOUIl_gytz → T1tgCqVWHFIkV7ClEtzD7}/_buildManifest.js +0 -0
- /package/dist/dashboard/out/_next/static/chunks/{117-b100311aff8d5c61.js → 117-f7b8ab0809342e77.js} +0 -0
- /package/dist/dashboard/out/_next/static/chunks/{648-a13d3c2b1be45466.js → 648-5cc6e1921389a58a.js} +0 -0
- /package/dist/dashboard/out/_next/static/chunks/app/_not-found/{page-a4973f3e3c82fb67.js → page-53b8a69f76db17d0.js} +0 -0
- /package/dist/dashboard/out/_next/static/chunks/app/connect-repos/{page-dc2e3a1a22478efc.js → page-f45ecbc3e06134fc.js} +0 -0
- /package/dist/dashboard/out/_next/static/chunks/app/history/{page-56a8b4616a90dc43.js → page-8c8bed33beb2bf1c.js} +0 -0
- /package/dist/dashboard/out/_next/static/chunks/app/login/{page-3eac37ea6f5dd153.js → page-16f3b49e55b1e0ed.js} +0 -0
- /package/dist/dashboard/out/_next/static/chunks/app/pricing/{page-4d72d5a5d8a9b618.js → page-982a7000fee44014.js} +0 -0
- /package/dist/dashboard/out/_next/static/chunks/app/signup/{page-fee4ed1709070bcd.js → page-547dd0ca55ecd0ba.js} +0 -0
- /package/dist/dashboard/out/_next/static/chunks/{fd9d1056-bf46c09eb57e019c.js → fd9d1056-609918ca7b6280bb.js} +0 -0
package/.gitattributes
ADDED
package/.nvmrc
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
v22.0.0
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Trajectory: Fix agent-relay-322 and agent-relay-324
|
|
2
|
+
|
|
3
|
+
> **Status:** 🔄 Active
|
|
4
|
+
> **Task:** agent-relay-322,agent-relay-324
|
|
5
|
+
> **Started:** January 6, 2026 at 01:36 PM
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Chapters
|
|
10
|
+
|
|
11
|
+
### 1. Initial work
|
|
12
|
+
*Agent: Fullstack*
|
|
13
|
+
|
|
14
|
+
- Added buildClaudeArgs call to spawner.ts spawn() method to apply model and --agent flags from agent profiles: Added buildClaudeArgs call to spawner.ts spawn() method to apply model and --agent flags from agent profiles
|
|
15
|
+
- Created PR #80 for agent-relay-322. Now working on agent-relay-324 - replacing ps command with /proc parsing: Created PR #80 for agent-relay-322. Now working on agent-relay-324 - replacing ps command with /proc parsing
|
|
16
|
+
- Replaced ps command with /proc/[pid]/status parsing. VmRSS line provides resident set size in kB. CPU% left at 0 since it requires time-based sampling.: Replaced ps command with /proc/[pid]/status parsing. VmRSS line provides resident set size in kB. CPU% left at 0 since it requires time-based sampling.
|
|
17
|
+
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "traj_03zupyv1s7b9",
|
|
3
|
+
"version": 1,
|
|
4
|
+
"task": {
|
|
5
|
+
"title": "Fix intra-workspace messaging delivery and sidebar/notification visibility"
|
|
6
|
+
},
|
|
7
|
+
"status": "completed",
|
|
8
|
+
"startedAt": "2026-01-07T14:15:50.956Z",
|
|
9
|
+
"agents": [
|
|
10
|
+
{
|
|
11
|
+
"name": "khaliqgant",
|
|
12
|
+
"role": "lead",
|
|
13
|
+
"joinedAt": "2026-01-07T14:15:50.958Z"
|
|
14
|
+
}
|
|
15
|
+
],
|
|
16
|
+
"chapters": [
|
|
17
|
+
{
|
|
18
|
+
"id": "chap_tjvxqsmefdcm",
|
|
19
|
+
"title": "Work",
|
|
20
|
+
"agentName": "default",
|
|
21
|
+
"startedAt": "2026-01-07T14:15:56.071Z",
|
|
22
|
+
"events": [
|
|
23
|
+
{
|
|
24
|
+
"ts": 1767795356072,
|
|
25
|
+
"type": "decision",
|
|
26
|
+
"content": "Route direct messages to user connections and surface human users in sidebar data: Route direct messages to user connections and surface human users in sidebar data",
|
|
27
|
+
"raw": {
|
|
28
|
+
"question": "Route direct messages to user connections and surface human users in sidebar data",
|
|
29
|
+
"chosen": "Route direct messages to user connections and surface human users in sidebar data",
|
|
30
|
+
"alternatives": [],
|
|
31
|
+
"reasoning": "User-to-user DMs were ignored because the router only looked at agents; combining human users into dashboard agent data ensures conversations appear in sidebar/notifications"
|
|
32
|
+
},
|
|
33
|
+
"significance": "high"
|
|
34
|
+
}
|
|
35
|
+
],
|
|
36
|
+
"endedAt": "2026-01-07T14:16:39.455Z"
|
|
37
|
+
}
|
|
38
|
+
],
|
|
39
|
+
"commits": [],
|
|
40
|
+
"filesChanged": [],
|
|
41
|
+
"projectId": "/Users/khaliqgant/Projects/agent-workforce/relay",
|
|
42
|
+
"tags": [],
|
|
43
|
+
"completedAt": "2026-01-07T14:16:39.455Z",
|
|
44
|
+
"retrospective": {
|
|
45
|
+
"summary": "Enabled user-to-user DMs and surfaced human conversations in the dashboard",
|
|
46
|
+
"approach": "Standard approach",
|
|
47
|
+
"confidence": 0.78
|
|
48
|
+
}
|
|
49
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Trajectory: Fix intra-workspace messaging delivery and sidebar/notification visibility
|
|
2
|
+
|
|
3
|
+
> **Status:** ✅ Completed
|
|
4
|
+
> **Confidence:** 78%
|
|
5
|
+
> **Started:** January 7, 2026 at 03:15 PM
|
|
6
|
+
> **Completed:** January 7, 2026 at 03:16 PM
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Summary
|
|
11
|
+
|
|
12
|
+
Enabled user-to-user DMs and surfaced human conversations in the dashboard
|
|
13
|
+
|
|
14
|
+
**Approach:** Standard approach
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Key Decisions
|
|
19
|
+
|
|
20
|
+
### Route direct messages to user connections and surface human users in sidebar data
|
|
21
|
+
- **Chose:** Route direct messages to user connections and surface human users in sidebar data
|
|
22
|
+
- **Reasoning:** User-to-user DMs were ignored because the router only looked at agents; combining human users into dashboard agent data ensures conversations appear in sidebar/notifications
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## Chapters
|
|
27
|
+
|
|
28
|
+
### 1. Work
|
|
29
|
+
*Agent: default*
|
|
30
|
+
|
|
31
|
+
- Route direct messages to user connections and surface human users in sidebar data: Route direct messages to user connections and surface human users in sidebar data
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "traj_0zacdjl1g4ht",
|
|
3
|
+
"version": 1,
|
|
4
|
+
"task": {
|
|
5
|
+
"title": "Interactive terminal for provider auth setup",
|
|
6
|
+
"source": {
|
|
7
|
+
"system": "plain",
|
|
8
|
+
"id": "xterm-display"
|
|
9
|
+
}
|
|
10
|
+
},
|
|
11
|
+
"status": "completed",
|
|
12
|
+
"startedAt": "2026-01-07T10:06:42.869Z",
|
|
13
|
+
"agents": [
|
|
14
|
+
{
|
|
15
|
+
"name": "khaliqgant",
|
|
16
|
+
"role": "lead",
|
|
17
|
+
"joinedAt": "2026-01-07T10:06:42.870Z"
|
|
18
|
+
}
|
|
19
|
+
],
|
|
20
|
+
"chapters": [
|
|
21
|
+
{
|
|
22
|
+
"id": "chap_b8zlw68l519i",
|
|
23
|
+
"title": "Work",
|
|
24
|
+
"agentName": "default",
|
|
25
|
+
"startedAt": "2026-01-07T10:06:49.743Z",
|
|
26
|
+
"events": [
|
|
27
|
+
{
|
|
28
|
+
"ts": 1767780409743,
|
|
29
|
+
"type": "decision",
|
|
30
|
+
"content": "Used __setup__ prefix for temporary auth agents: Used __setup__ prefix for temporary auth agents",
|
|
31
|
+
"raw": {
|
|
32
|
+
"question": "Used __setup__ prefix for temporary auth agents",
|
|
33
|
+
"chosen": "Used __setup__ prefix for temporary auth agents",
|
|
34
|
+
"alternatives": [],
|
|
35
|
+
"reasoning": "Internal naming convention prevents conflicts with user-created agents named 'setup-*'"
|
|
36
|
+
},
|
|
37
|
+
"significance": "high"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"ts": 1767780415611,
|
|
41
|
+
"type": "decision",
|
|
42
|
+
"content": "Added interactive mode guards to all auto-inject code paths: Added interactive mode guards to all auto-inject code paths",
|
|
43
|
+
"raw": {
|
|
44
|
+
"question": "Added interactive mode guards to all auto-inject code paths",
|
|
45
|
+
"chosen": "Added interactive mode guards to all auto-inject code paths",
|
|
46
|
+
"alternatives": [],
|
|
47
|
+
"reasoning": "Multiple code paths in pty-wrapper.ts were injecting content with Enter - hooks, continuity, instructions, message queue - all needed guards for interactive mode"
|
|
48
|
+
},
|
|
49
|
+
"significance": "high"
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"ts": 1767780421440,
|
|
53
|
+
"type": "decision",
|
|
54
|
+
"content": "Created /api/onboarding/mark-connected endpoint for terminal auth: Created /api/onboarding/mark-connected endpoint for terminal auth",
|
|
55
|
+
"raw": {
|
|
56
|
+
"question": "Created /api/onboarding/mark-connected endpoint for terminal auth",
|
|
57
|
+
"chosen": "Created /api/onboarding/mark-connected endpoint for terminal auth",
|
|
58
|
+
"alternatives": [],
|
|
59
|
+
"reasoning": "Terminal-based CLI auth stores credentials locally, but cloud DB needs to track provider as connected for user dashboard state"
|
|
60
|
+
},
|
|
61
|
+
"significance": "high"
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"ts": 1767780429984,
|
|
65
|
+
"type": "decision",
|
|
66
|
+
"content": "Used ref-based URL tracking for auth modal deduplication: Used ref-based URL tracking for auth modal deduplication",
|
|
67
|
+
"raw": {
|
|
68
|
+
"question": "Used ref-based URL tracking for auth modal deduplication",
|
|
69
|
+
"chosen": "Used ref-based URL tracking for auth modal deduplication",
|
|
70
|
+
"alternatives": [],
|
|
71
|
+
"reasoning": "shownAuthUrlsRef Set tracks URLs already shown, authModalDismissed state prevents re-showing after user dismisses"
|
|
72
|
+
},
|
|
73
|
+
"significance": "high"
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"ts": 1767780435663,
|
|
77
|
+
"type": "decision",
|
|
78
|
+
"content": "Fixed Docker build by copying only needed docs snippet files instead of entire docs folder: Fixed Docker build by copying only needed docs snippet files instead of entire docs folder",
|
|
79
|
+
"raw": {
|
|
80
|
+
"question": "Fixed Docker build by copying only needed docs snippet files instead of entire docs folder",
|
|
81
|
+
"chosen": "Fixed Docker build by copying only needed docs snippet files instead of entire docs folder",
|
|
82
|
+
"alternatives": [],
|
|
83
|
+
"reasoning": "The .dockerignore was excluding docs/, but Dockerfile needed them. Selective copy is cleaner than changing .dockerignore broadly"
|
|
84
|
+
},
|
|
85
|
+
"significance": "high"
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"ts": 1767780437208,
|
|
89
|
+
"type": "decision",
|
|
90
|
+
"content": "Unified providers page with CLI and API key options: Unified providers page with CLI and API key options",
|
|
91
|
+
"raw": {
|
|
92
|
+
"question": "Unified providers page with CLI and API key options",
|
|
93
|
+
"chosen": "Unified providers page with CLI and API key options",
|
|
94
|
+
"alternatives": [],
|
|
95
|
+
"reasoning": "Providers page was inconsistent with onboarding - now shows both 'Connect via CLI' and 'Use API Key' buttons when workspace is available"
|
|
96
|
+
},
|
|
97
|
+
"significance": "high"
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"ts": 1767780443931,
|
|
101
|
+
"type": "decision",
|
|
102
|
+
"content": "Changed intro bonus banner from purple to cyan brand color: Changed intro bonus banner from purple to cyan brand color",
|
|
103
|
+
"raw": {
|
|
104
|
+
"question": "Changed intro bonus banner from purple to cyan brand color",
|
|
105
|
+
"chosen": "Changed intro bonus banner from purple to cyan brand color",
|
|
106
|
+
"alternatives": [],
|
|
107
|
+
"reasoning": "User requested brand consistency - cyan is the primary accent color"
|
|
108
|
+
},
|
|
109
|
+
"significance": "high"
|
|
110
|
+
}
|
|
111
|
+
],
|
|
112
|
+
"endedAt": "2026-01-07T10:07:24.422Z"
|
|
113
|
+
}
|
|
114
|
+
],
|
|
115
|
+
"commits": [],
|
|
116
|
+
"filesChanged": [],
|
|
117
|
+
"projectId": "/Users/khaliqgant/Projects/agent-workforce/relay",
|
|
118
|
+
"tags": [],
|
|
119
|
+
"completedAt": "2026-01-07T10:07:24.422Z",
|
|
120
|
+
"retrospective": {
|
|
121
|
+
"summary": "Implemented interactive terminal for provider auth: fixed auto-enter by guarding all injection paths in pty-wrapper.ts, added __setup__ agent prefix with dashboard filtering, deduplicated auth URL modal, added success UI with connect-another option, unified providers page with CLI/API key options, created mark-connected endpoint for terminal auth",
|
|
122
|
+
"approach": "Standard approach",
|
|
123
|
+
"confidence": 0.9
|
|
124
|
+
}
|
|
125
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# Trajectory: Interactive terminal for provider auth setup
|
|
2
|
+
|
|
3
|
+
> **Status:** ✅ Completed
|
|
4
|
+
> **Task:** xterm-display
|
|
5
|
+
> **Confidence:** 90%
|
|
6
|
+
> **Started:** January 7, 2026 at 11:06 AM
|
|
7
|
+
> **Completed:** January 7, 2026 at 11:07 AM
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Summary
|
|
12
|
+
|
|
13
|
+
Implemented interactive terminal for provider auth: fixed auto-enter by guarding all injection paths in pty-wrapper.ts, added __setup__ agent prefix with dashboard filtering, deduplicated auth URL modal, added success UI with connect-another option, unified providers page with CLI/API key options, created mark-connected endpoint for terminal auth
|
|
14
|
+
|
|
15
|
+
**Approach:** Standard approach
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Key Decisions
|
|
20
|
+
|
|
21
|
+
### Used __setup__ prefix for temporary auth agents
|
|
22
|
+
- **Chose:** Used __setup__ prefix for temporary auth agents
|
|
23
|
+
- **Reasoning:** Internal naming convention prevents conflicts with user-created agents named 'setup-*'
|
|
24
|
+
|
|
25
|
+
### Added interactive mode guards to all auto-inject code paths
|
|
26
|
+
- **Chose:** Added interactive mode guards to all auto-inject code paths
|
|
27
|
+
- **Reasoning:** Multiple code paths in pty-wrapper.ts were injecting content with Enter - hooks, continuity, instructions, message queue - all needed guards for interactive mode
|
|
28
|
+
|
|
29
|
+
### Created /api/onboarding/mark-connected endpoint for terminal auth
|
|
30
|
+
- **Chose:** Created /api/onboarding/mark-connected endpoint for terminal auth
|
|
31
|
+
- **Reasoning:** Terminal-based CLI auth stores credentials locally, but cloud DB needs to track provider as connected for user dashboard state
|
|
32
|
+
|
|
33
|
+
### Used ref-based URL tracking for auth modal deduplication
|
|
34
|
+
- **Chose:** Used ref-based URL tracking for auth modal deduplication
|
|
35
|
+
- **Reasoning:** shownAuthUrlsRef Set tracks URLs already shown, authModalDismissed state prevents re-showing after user dismisses
|
|
36
|
+
|
|
37
|
+
### Fixed Docker build by copying only needed docs snippet files instead of entire docs folder
|
|
38
|
+
- **Chose:** Fixed Docker build by copying only needed docs snippet files instead of entire docs folder
|
|
39
|
+
- **Reasoning:** The .dockerignore was excluding docs/, but Dockerfile needed them. Selective copy is cleaner than changing .dockerignore broadly
|
|
40
|
+
|
|
41
|
+
### Unified providers page with CLI and API key options
|
|
42
|
+
- **Chose:** Unified providers page with CLI and API key options
|
|
43
|
+
- **Reasoning:** Providers page was inconsistent with onboarding - now shows both 'Connect via CLI' and 'Use API Key' buttons when workspace is available
|
|
44
|
+
|
|
45
|
+
### Changed intro bonus banner from purple to cyan brand color
|
|
46
|
+
- **Chose:** Changed intro bonus banner from purple to cyan brand color
|
|
47
|
+
- **Reasoning:** User requested brand consistency - cyan is the primary accent color
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## Chapters
|
|
52
|
+
|
|
53
|
+
### 1. Work
|
|
54
|
+
*Agent: default*
|
|
55
|
+
|
|
56
|
+
- Used __setup__ prefix for temporary auth agents: Used __setup__ prefix for temporary auth agents
|
|
57
|
+
- Added interactive mode guards to all auto-inject code paths: Added interactive mode guards to all auto-inject code paths
|
|
58
|
+
- Created /api/onboarding/mark-connected endpoint for terminal auth: Created /api/onboarding/mark-connected endpoint for terminal auth
|
|
59
|
+
- Used ref-based URL tracking for auth modal deduplication: Used ref-based URL tracking for auth modal deduplication
|
|
60
|
+
- Fixed Docker build by copying only needed docs snippet files instead of entire docs folder: Fixed Docker build by copying only needed docs snippet files instead of entire docs folder
|
|
61
|
+
- Unified providers page with CLI and API key options: Unified providers page with CLI and API key options
|
|
62
|
+
- Changed intro bonus banner from purple to cyan brand color: Changed intro bonus banner from purple to cyan brand color
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "traj_1dviorhnkcb5",
|
|
3
|
+
"version": 1,
|
|
4
|
+
"task": {
|
|
5
|
+
"title": "Use uuid() instead of Math.random() for message IDs",
|
|
6
|
+
"source": {
|
|
7
|
+
"system": "plain",
|
|
8
|
+
"id": "agent-relay-417"
|
|
9
|
+
}
|
|
10
|
+
},
|
|
11
|
+
"status": "completed",
|
|
12
|
+
"startedAt": "2026-01-03T15:25:32.815Z",
|
|
13
|
+
"agents": [
|
|
14
|
+
{
|
|
15
|
+
"name": "Backend",
|
|
16
|
+
"role": "lead",
|
|
17
|
+
"joinedAt": "2026-01-03T15:25:32.816Z"
|
|
18
|
+
}
|
|
19
|
+
],
|
|
20
|
+
"chapters": [
|
|
21
|
+
{
|
|
22
|
+
"id": "chap_hchfr9klzbb0",
|
|
23
|
+
"title": "Work",
|
|
24
|
+
"agentName": "default",
|
|
25
|
+
"startedAt": "2026-01-03T15:25:38.791Z",
|
|
26
|
+
"events": [
|
|
27
|
+
{
|
|
28
|
+
"ts": 1767453938793,
|
|
29
|
+
"type": "decision",
|
|
30
|
+
"content": "TrajectoryViewer already wired up but needs UX improvements: TrajectoryViewer already wired up but needs UX improvements",
|
|
31
|
+
"raw": {
|
|
32
|
+
"question": "TrajectoryViewer already wired up but needs UX improvements",
|
|
33
|
+
"chosen": "TrajectoryViewer already wired up but needs UX improvements",
|
|
34
|
+
"alternatives": [],
|
|
35
|
+
"reasoning": "Component was connected in recent commits, but user reported: too small, not browsable, no back navigation"
|
|
36
|
+
},
|
|
37
|
+
"significance": "high"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"ts": 1767453941057,
|
|
41
|
+
"type": "decision",
|
|
42
|
+
"content": "Used existing uuid library pattern from codebase: Used existing uuid library pattern from codebase",
|
|
43
|
+
"raw": {
|
|
44
|
+
"question": "Used existing uuid library pattern from codebase",
|
|
45
|
+
"chosen": "Used existing uuid library pattern from codebase",
|
|
46
|
+
"alternatives": [],
|
|
47
|
+
"reasoning": "Already imported as 'v4 as uuid' in router.ts, connection.ts, agent-registry.ts - maintaining consistency"
|
|
48
|
+
},
|
|
49
|
+
"significance": "high"
|
|
50
|
+
}
|
|
51
|
+
],
|
|
52
|
+
"endedAt": "2026-01-03T15:25:42.319Z"
|
|
53
|
+
}
|
|
54
|
+
],
|
|
55
|
+
"commits": [],
|
|
56
|
+
"filesChanged": [],
|
|
57
|
+
"projectId": "/Users/khaliqgant/Projects/agent-workforce/relay",
|
|
58
|
+
"tags": [],
|
|
59
|
+
"completedAt": "2026-01-03T15:25:42.319Z",
|
|
60
|
+
"retrospective": {
|
|
61
|
+
"summary": "Replaced Math.random().toString(36).slice(2) with uuid() in daemon/server.ts:284 for cross-machine message IDs. Added uuid import. Build verified.",
|
|
62
|
+
"approach": "Standard approach",
|
|
63
|
+
"confidence": 0.95
|
|
64
|
+
}
|
|
65
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Trajectory: Use uuid() instead of Math.random() for message IDs
|
|
2
|
+
|
|
3
|
+
> **Status:** ✅ Completed
|
|
4
|
+
> **Task:** agent-relay-417
|
|
5
|
+
> **Confidence:** 95%
|
|
6
|
+
> **Started:** January 3, 2026 at 04:25 PM
|
|
7
|
+
> **Completed:** January 3, 2026 at 04:25 PM
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Summary
|
|
12
|
+
|
|
13
|
+
Replaced Math.random().toString(36).slice(2) with uuid() in daemon/server.ts:284 for cross-machine message IDs. Added uuid import. Build verified.
|
|
14
|
+
|
|
15
|
+
**Approach:** Standard approach
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Key Decisions
|
|
20
|
+
|
|
21
|
+
### TrajectoryViewer already wired up but needs UX improvements
|
|
22
|
+
- **Chose:** TrajectoryViewer already wired up but needs UX improvements
|
|
23
|
+
- **Reasoning:** Component was connected in recent commits, but user reported: too small, not browsable, no back navigation
|
|
24
|
+
|
|
25
|
+
### Used existing uuid library pattern from codebase
|
|
26
|
+
- **Chose:** Used existing uuid library pattern from codebase
|
|
27
|
+
- **Reasoning:** Already imported as 'v4 as uuid' in router.ts, connection.ts, agent-registry.ts - maintaining consistency
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## Chapters
|
|
32
|
+
|
|
33
|
+
### 1. Work
|
|
34
|
+
*Agent: default*
|
|
35
|
+
|
|
36
|
+
- TrajectoryViewer already wired up but needs UX improvements: TrajectoryViewer already wired up but needs UX improvements
|
|
37
|
+
- Used existing uuid library pattern from codebase: Used existing uuid library pattern from codebase
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "traj_1k5if5snst2e",
|
|
3
|
+
"version": 1,
|
|
4
|
+
"task": {
|
|
5
|
+
"title": "Fix 404 errors on auth endpoints",
|
|
6
|
+
"source": {
|
|
7
|
+
"system": "plain",
|
|
8
|
+
"id": "api-auth-session-404"
|
|
9
|
+
}
|
|
10
|
+
},
|
|
11
|
+
"status": "completed",
|
|
12
|
+
"startedAt": "2026-01-03T19:55:20.964Z",
|
|
13
|
+
"agents": [
|
|
14
|
+
{
|
|
15
|
+
"name": "Backend",
|
|
16
|
+
"role": "lead",
|
|
17
|
+
"joinedAt": "2026-01-03T19:55:20.965Z"
|
|
18
|
+
}
|
|
19
|
+
],
|
|
20
|
+
"chapters": [
|
|
21
|
+
{
|
|
22
|
+
"id": "chap_baircdnx9e02",
|
|
23
|
+
"title": "Work",
|
|
24
|
+
"agentName": "default",
|
|
25
|
+
"startedAt": "2026-01-03T21:14:10.404Z",
|
|
26
|
+
"events": [
|
|
27
|
+
{
|
|
28
|
+
"ts": 1767474850405,
|
|
29
|
+
"type": "decision",
|
|
30
|
+
"content": "Fixed Nango integration: updated to use Nango Proxy for GitHub API calls, fixed popup blocking in OAuth flow, added missing database columns for user connection tracking: Fixed Nango integration: updated to use Nango Proxy for GitHub API calls, fixed popup blocking in OAuth flow, added missing database columns for user connection tracking",
|
|
31
|
+
"raw": {
|
|
32
|
+
"question": "Fixed Nango integration: updated to use Nango Proxy for GitHub API calls, fixed popup blocking in OAuth flow, added missing database columns for user connection tracking",
|
|
33
|
+
"chosen": "Fixed Nango integration: updated to use Nango Proxy for GitHub API calls, fixed popup blocking in OAuth flow, added missing database columns for user connection tracking",
|
|
34
|
+
"alternatives": [],
|
|
35
|
+
"reasoning": "Using Nango Proxy instead of direct token fetches provides automatic token refresh and cleaner code. Database schema was missing nango_connection_id, incoming_connection_id, and pending_installation_request columns needed for the two-connection OAuth pattern."
|
|
36
|
+
},
|
|
37
|
+
"significance": "high"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"ts": 1767474871478,
|
|
41
|
+
"type": "decision",
|
|
42
|
+
"content": "Fixed popup:blocked_by_browser error by opening Nango Connect UI synchronously before async session fetch: Fixed popup:blocked_by_browser error by opening Nango Connect UI synchronously before async session fetch",
|
|
43
|
+
"raw": {
|
|
44
|
+
"question": "Fixed popup:blocked_by_browser error by opening Nango Connect UI synchronously before async session fetch",
|
|
45
|
+
"chosen": "Fixed popup:blocked_by_browser error by opening Nango Connect UI synchronously before async session fetch",
|
|
46
|
+
"alternatives": [],
|
|
47
|
+
"reasoning": "Browser popup blockers require window.open() to be called synchronously within the user's click event handler. Awaiting the session token first broke the gesture chain. Solution: open popup immediately (shows loading), then fetch token async, then set token to enable the UI."
|
|
48
|
+
},
|
|
49
|
+
"significance": "high"
|
|
50
|
+
}
|
|
51
|
+
],
|
|
52
|
+
"endedAt": "2026-01-03T21:14:38.934Z"
|
|
53
|
+
}
|
|
54
|
+
],
|
|
55
|
+
"commits": [],
|
|
56
|
+
"filesChanged": [],
|
|
57
|
+
"projectId": "/Users/khaliqgant/Projects/agent-workforce/relay",
|
|
58
|
+
"tags": [],
|
|
59
|
+
"completedAt": "2026-01-03T21:14:38.934Z",
|
|
60
|
+
"retrospective": {
|
|
61
|
+
"summary": "Fixed Nango OAuth popup blocker issue in login and signup pages by reordering operations to open popup synchronously before async token fetch",
|
|
62
|
+
"approach": "Standard approach",
|
|
63
|
+
"confidence": 0.9
|
|
64
|
+
}
|
|
65
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Trajectory: Fix 404 errors on auth endpoints
|
|
2
|
+
|
|
3
|
+
> **Status:** ✅ Completed
|
|
4
|
+
> **Task:** api-auth-session-404
|
|
5
|
+
> **Confidence:** 90%
|
|
6
|
+
> **Started:** January 3, 2026 at 08:55 PM
|
|
7
|
+
> **Completed:** January 3, 2026 at 10:14 PM
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Summary
|
|
12
|
+
|
|
13
|
+
Fixed Nango OAuth popup blocker issue in login and signup pages by reordering operations to open popup synchronously before async token fetch
|
|
14
|
+
|
|
15
|
+
**Approach:** Standard approach
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Key Decisions
|
|
20
|
+
|
|
21
|
+
### Fixed Nango integration: updated to use Nango Proxy for GitHub API calls, fixed popup blocking in OAuth flow, added missing database columns for user connection tracking
|
|
22
|
+
- **Chose:** Fixed Nango integration: updated to use Nango Proxy for GitHub API calls, fixed popup blocking in OAuth flow, added missing database columns for user connection tracking
|
|
23
|
+
- **Reasoning:** Using Nango Proxy instead of direct token fetches provides automatic token refresh and cleaner code. Database schema was missing nango_connection_id, incoming_connection_id, and pending_installation_request columns needed for the two-connection OAuth pattern.
|
|
24
|
+
|
|
25
|
+
### Fixed popup:blocked_by_browser error by opening Nango Connect UI synchronously before async session fetch
|
|
26
|
+
- **Chose:** Fixed popup:blocked_by_browser error by opening Nango Connect UI synchronously before async session fetch
|
|
27
|
+
- **Reasoning:** Browser popup blockers require window.open() to be called synchronously within the user's click event handler. Awaiting the session token first broke the gesture chain. Solution: open popup immediately (shows loading), then fetch token async, then set token to enable the UI.
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## Chapters
|
|
32
|
+
|
|
33
|
+
### 1. Work
|
|
34
|
+
*Agent: default*
|
|
35
|
+
|
|
36
|
+
- Fixed Nango integration: updated to use Nango Proxy for GitHub API calls, fixed popup blocking in OAuth flow, added missing database columns for user connection tracking: Fixed Nango integration: updated to use Nango Proxy for GitHub API calls, fixed popup blocking in OAuth flow, added missing database columns for user connection tracking
|
|
37
|
+
- Fixed popup:blocked_by_browser error by opening Nango Connect UI synchronously before async session fetch: Fixed popup:blocked_by_browser error by opening Nango Connect UI synchronously before async session fetch
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "traj_1rp3rges5811",
|
|
3
|
+
"version": 1,
|
|
4
|
+
"task": {
|
|
5
|
+
"title": "Improve trajectory viewer design"
|
|
6
|
+
},
|
|
7
|
+
"status": "completed",
|
|
8
|
+
"startedAt": "2026-01-03T14:09:55.255Z",
|
|
9
|
+
"agents": [
|
|
10
|
+
{
|
|
11
|
+
"name": "LogFixer",
|
|
12
|
+
"role": "lead",
|
|
13
|
+
"joinedAt": "2026-01-03T14:09:55.255Z"
|
|
14
|
+
}
|
|
15
|
+
],
|
|
16
|
+
"chapters": [
|
|
17
|
+
{
|
|
18
|
+
"id": "chap_qy4e6s6q9rw2",
|
|
19
|
+
"title": "Work",
|
|
20
|
+
"agentName": "default",
|
|
21
|
+
"startedAt": "2026-01-03T14:09:58.790Z",
|
|
22
|
+
"events": [
|
|
23
|
+
{
|
|
24
|
+
"ts": 1767449398791,
|
|
25
|
+
"type": "decision",
|
|
26
|
+
"content": "Hide TrajectoryViewer action when no onStepClick provided: Hide TrajectoryViewer action when no onStepClick provided",
|
|
27
|
+
"raw": {
|
|
28
|
+
"question": "Hide TrajectoryViewer action when no onStepClick provided",
|
|
29
|
+
"chosen": "Hide TrajectoryViewer action when no onStepClick provided",
|
|
30
|
+
"alternatives": [],
|
|
31
|
+
"reasoning": "Prevents empty expanded panes and removes dead View Details button when parent has no detail handler"
|
|
32
|
+
},
|
|
33
|
+
"significance": "high"
|
|
34
|
+
}
|
|
35
|
+
],
|
|
36
|
+
"endedAt": "2026-01-03T14:10:29.755Z"
|
|
37
|
+
}
|
|
38
|
+
],
|
|
39
|
+
"commits": [],
|
|
40
|
+
"filesChanged": [],
|
|
41
|
+
"projectId": "/Users/khaliqgant/Projects/agent-workforce/relay",
|
|
42
|
+
"tags": [],
|
|
43
|
+
"completedAt": "2026-01-03T14:10:29.755Z",
|
|
44
|
+
"retrospective": {
|
|
45
|
+
"summary": "Trimmed TrajectoryViewer detail UX: hide View Details button when no handler, only render detail panel when content exists; rebuilt dashboard and reran targeted vitest.",
|
|
46
|
+
"approach": "Standard approach",
|
|
47
|
+
"confidence": 0.78
|
|
48
|
+
}
|
|
49
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Trajectory: Improve trajectory viewer design
|
|
2
|
+
|
|
3
|
+
> **Status:** ✅ Completed
|
|
4
|
+
> **Confidence:** 78%
|
|
5
|
+
> **Started:** January 3, 2026 at 03:09 PM
|
|
6
|
+
> **Completed:** January 3, 2026 at 03:10 PM
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Summary
|
|
11
|
+
|
|
12
|
+
Trimmed TrajectoryViewer detail UX: hide View Details button when no handler, only render detail panel when content exists; rebuilt dashboard and reran targeted vitest.
|
|
13
|
+
|
|
14
|
+
**Approach:** Standard approach
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Key Decisions
|
|
19
|
+
|
|
20
|
+
### Hide TrajectoryViewer action when no onStepClick provided
|
|
21
|
+
- **Chose:** Hide TrajectoryViewer action when no onStepClick provided
|
|
22
|
+
- **Reasoning:** Prevents empty expanded panes and removes dead View Details button when parent has no detail handler
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## Chapters
|
|
27
|
+
|
|
28
|
+
### 1. Work
|
|
29
|
+
*Agent: default*
|
|
30
|
+
|
|
31
|
+
- Hide TrajectoryViewer action when no onStepClick provided: Hide TrajectoryViewer action when no onStepClick provided
|