agent-relay 1.0.22 → 1.2.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/README.md +1 -1
- package/dist/bridge/shadow-cli.d.ts +17 -0
- package/dist/bridge/shadow-cli.d.ts.map +1 -0
- package/dist/bridge/shadow-cli.js +75 -0
- package/dist/bridge/shadow-cli.js.map +1 -0
- package/dist/bridge/shadow-config.d.ts +87 -0
- package/dist/bridge/shadow-config.d.ts.map +1 -0
- package/dist/bridge/shadow-config.js +134 -0
- package/dist/bridge/shadow-config.js.map +1 -0
- package/dist/bridge/spawner.d.ts +68 -1
- package/dist/bridge/spawner.d.ts.map +1 -1
- package/dist/bridge/spawner.js +360 -16
- package/dist/bridge/spawner.js.map +1 -1
- package/dist/bridge/types.d.ts +67 -0
- package/dist/bridge/types.d.ts.map +1 -1
- package/dist/cli/index.js +1196 -15
- package/dist/cli/index.js.map +1 -1
- package/dist/cloud/api/auth.d.ts +20 -0
- package/dist/cloud/api/auth.d.ts.map +1 -0
- package/dist/cloud/api/auth.js +128 -0
- package/dist/cloud/api/auth.js.map +1 -0
- package/dist/cloud/api/billing.d.ts +17 -0
- package/dist/cloud/api/billing.d.ts.map +1 -0
- package/dist/cloud/api/billing.js +353 -0
- package/dist/cloud/api/billing.js.map +1 -0
- package/dist/cloud/api/cli-pty-runner.d.ts +54 -0
- package/dist/cloud/api/cli-pty-runner.d.ts.map +1 -0
- package/dist/cloud/api/cli-pty-runner.js +119 -0
- package/dist/cloud/api/cli-pty-runner.js.map +1 -0
- package/dist/cloud/api/coordinators.d.ts +8 -0
- package/dist/cloud/api/coordinators.d.ts.map +1 -0
- package/dist/cloud/api/coordinators.js +347 -0
- package/dist/cloud/api/coordinators.js.map +1 -0
- package/dist/cloud/api/daemons.d.ts +12 -0
- package/dist/cloud/api/daemons.d.ts.map +1 -0
- package/dist/cloud/api/daemons.js +320 -0
- package/dist/cloud/api/daemons.js.map +1 -0
- package/dist/cloud/api/generic-webhooks.d.ts +8 -0
- package/dist/cloud/api/generic-webhooks.d.ts.map +1 -0
- package/dist/cloud/api/generic-webhooks.js +129 -0
- package/dist/cloud/api/generic-webhooks.js.map +1 -0
- package/dist/cloud/api/git.d.ts +8 -0
- package/dist/cloud/api/git.d.ts.map +1 -0
- package/dist/cloud/api/git.js +131 -0
- package/dist/cloud/api/git.js.map +1 -0
- package/dist/cloud/api/github-app.d.ts +11 -0
- package/dist/cloud/api/github-app.d.ts.map +1 -0
- package/dist/cloud/api/github-app.js +189 -0
- package/dist/cloud/api/github-app.js.map +1 -0
- package/dist/cloud/api/middleware/planLimits.d.ts +43 -0
- package/dist/cloud/api/middleware/planLimits.d.ts.map +1 -0
- package/dist/cloud/api/middleware/planLimits.js +202 -0
- package/dist/cloud/api/middleware/planLimits.js.map +1 -0
- package/dist/cloud/api/monitoring.d.ts +11 -0
- package/dist/cloud/api/monitoring.d.ts.map +1 -0
- package/dist/cloud/api/monitoring.js +578 -0
- package/dist/cloud/api/monitoring.js.map +1 -0
- package/dist/cloud/api/nango-auth.d.ts +9 -0
- package/dist/cloud/api/nango-auth.d.ts.map +1 -0
- package/dist/cloud/api/nango-auth.js +377 -0
- package/dist/cloud/api/nango-auth.js.map +1 -0
- package/dist/cloud/api/onboarding.d.ts +15 -0
- package/dist/cloud/api/onboarding.d.ts.map +1 -0
- package/dist/cloud/api/onboarding.js +588 -0
- package/dist/cloud/api/onboarding.js.map +1 -0
- package/dist/cloud/api/policy.d.ts +8 -0
- package/dist/cloud/api/policy.d.ts.map +1 -0
- package/dist/cloud/api/policy.js +229 -0
- package/dist/cloud/api/policy.js.map +1 -0
- package/dist/cloud/api/providers.d.ts +7 -0
- package/dist/cloud/api/providers.d.ts.map +1 -0
- package/dist/cloud/api/providers.js +507 -0
- package/dist/cloud/api/providers.js.map +1 -0
- package/dist/cloud/api/repos.d.ts +7 -0
- package/dist/cloud/api/repos.d.ts.map +1 -0
- package/dist/cloud/api/repos.js +314 -0
- package/dist/cloud/api/repos.js.map +1 -0
- package/dist/cloud/api/teams.d.ts +7 -0
- package/dist/cloud/api/teams.d.ts.map +1 -0
- package/dist/cloud/api/teams.js +279 -0
- package/dist/cloud/api/teams.js.map +1 -0
- package/dist/cloud/api/test-helpers.d.ts +10 -0
- package/dist/cloud/api/test-helpers.d.ts.map +1 -0
- package/dist/cloud/api/test-helpers.js +575 -0
- package/dist/cloud/api/test-helpers.js.map +1 -0
- package/dist/cloud/api/usage.d.ts +7 -0
- package/dist/cloud/api/usage.d.ts.map +1 -0
- package/dist/cloud/api/usage.js +98 -0
- package/dist/cloud/api/usage.js.map +1 -0
- package/dist/cloud/api/webhooks.d.ts +7 -0
- package/dist/cloud/api/webhooks.d.ts.map +1 -0
- package/dist/cloud/api/webhooks.js +496 -0
- package/dist/cloud/api/webhooks.js.map +1 -0
- package/dist/cloud/api/workspaces.d.ts +7 -0
- package/dist/cloud/api/workspaces.d.ts.map +1 -0
- package/dist/cloud/api/workspaces.js +727 -0
- package/dist/cloud/api/workspaces.js.map +1 -0
- package/dist/cloud/billing/index.d.ts +9 -0
- package/dist/cloud/billing/index.d.ts.map +1 -0
- package/dist/cloud/billing/index.js +9 -0
- package/dist/cloud/billing/index.js.map +1 -0
- package/dist/cloud/billing/plans.d.ts +39 -0
- package/dist/cloud/billing/plans.d.ts.map +1 -0
- package/dist/cloud/billing/plans.js +245 -0
- package/dist/cloud/billing/plans.js.map +1 -0
- package/dist/cloud/billing/service.d.ts +80 -0
- package/dist/cloud/billing/service.d.ts.map +1 -0
- package/dist/cloud/billing/service.js +388 -0
- package/dist/cloud/billing/service.js.map +1 -0
- package/dist/cloud/billing/types.d.ts +141 -0
- package/dist/cloud/billing/types.d.ts.map +1 -0
- package/dist/cloud/billing/types.js +7 -0
- package/dist/cloud/billing/types.js.map +1 -0
- package/dist/cloud/config.d.ts +66 -0
- package/dist/cloud/config.d.ts.map +1 -0
- package/dist/cloud/config.js +92 -0
- package/dist/cloud/config.js.map +1 -0
- package/dist/cloud/db/drizzle.d.ts +215 -0
- package/dist/cloud/db/drizzle.d.ts.map +1 -0
- package/dist/cloud/db/drizzle.js +1083 -0
- package/dist/cloud/db/drizzle.js.map +1 -0
- package/dist/cloud/db/index.d.ts +35 -0
- package/dist/cloud/db/index.d.ts.map +1 -0
- package/dist/cloud/db/index.js +52 -0
- package/dist/cloud/db/index.js.map +1 -0
- package/dist/cloud/db/schema.d.ts +4519 -0
- package/dist/cloud/db/schema.d.ts.map +1 -0
- package/dist/cloud/db/schema.js +547 -0
- package/dist/cloud/db/schema.js.map +1 -0
- package/dist/cloud/index.d.ts +12 -0
- package/dist/cloud/index.d.ts.map +1 -0
- package/dist/cloud/index.js +39 -0
- package/dist/cloud/index.js.map +1 -0
- package/dist/cloud/provisioner/index.d.ts +75 -0
- package/dist/cloud/provisioner/index.d.ts.map +1 -0
- package/dist/cloud/provisioner/index.js +977 -0
- package/dist/cloud/provisioner/index.js.map +1 -0
- package/dist/cloud/server.d.ts +17 -0
- package/dist/cloud/server.d.ts.map +1 -0
- package/dist/cloud/server.js +534 -0
- package/dist/cloud/server.js.map +1 -0
- package/dist/cloud/services/auto-scaler.d.ts +152 -0
- package/dist/cloud/services/auto-scaler.d.ts.map +1 -0
- package/dist/cloud/services/auto-scaler.js +439 -0
- package/dist/cloud/services/auto-scaler.js.map +1 -0
- package/dist/cloud/services/capacity-manager.d.ts +148 -0
- package/dist/cloud/services/capacity-manager.d.ts.map +1 -0
- package/dist/cloud/services/capacity-manager.js +449 -0
- package/dist/cloud/services/capacity-manager.js.map +1 -0
- package/dist/cloud/services/ci-agent-spawner.d.ts +49 -0
- package/dist/cloud/services/ci-agent-spawner.d.ts.map +1 -0
- package/dist/cloud/services/ci-agent-spawner.js +373 -0
- package/dist/cloud/services/ci-agent-spawner.js.map +1 -0
- package/dist/cloud/services/coordinator.d.ts +62 -0
- package/dist/cloud/services/coordinator.d.ts.map +1 -0
- package/dist/cloud/services/coordinator.js +389 -0
- package/dist/cloud/services/coordinator.js.map +1 -0
- package/dist/cloud/services/index.d.ts +12 -0
- package/dist/cloud/services/index.d.ts.map +1 -0
- package/dist/cloud/services/index.js +15 -0
- package/dist/cloud/services/index.js.map +1 -0
- package/dist/cloud/services/mention-handler.d.ts +65 -0
- package/dist/cloud/services/mention-handler.d.ts.map +1 -0
- package/dist/cloud/services/mention-handler.js +405 -0
- package/dist/cloud/services/mention-handler.js.map +1 -0
- package/dist/cloud/services/nango.d.ts +126 -0
- package/dist/cloud/services/nango.d.ts.map +1 -0
- package/dist/cloud/services/nango.js +191 -0
- package/dist/cloud/services/nango.js.map +1 -0
- package/dist/cloud/services/persistence.d.ts +131 -0
- package/dist/cloud/services/persistence.d.ts.map +1 -0
- package/dist/cloud/services/persistence.js +200 -0
- package/dist/cloud/services/persistence.js.map +1 -0
- package/dist/cloud/services/planLimits.d.ts +125 -0
- package/dist/cloud/services/planLimits.d.ts.map +1 -0
- package/dist/cloud/services/planLimits.js +282 -0
- package/dist/cloud/services/planLimits.js.map +1 -0
- package/dist/cloud/services/scaling-orchestrator.d.ts +159 -0
- package/dist/cloud/services/scaling-orchestrator.d.ts.map +1 -0
- package/dist/cloud/services/scaling-orchestrator.js +502 -0
- package/dist/cloud/services/scaling-orchestrator.js.map +1 -0
- package/dist/cloud/services/scaling-policy.d.ts +121 -0
- package/dist/cloud/services/scaling-policy.d.ts.map +1 -0
- package/dist/cloud/services/scaling-policy.js +415 -0
- package/dist/cloud/services/scaling-policy.js.map +1 -0
- package/dist/cloud/vault/index.d.ts +76 -0
- package/dist/cloud/vault/index.d.ts.map +1 -0
- package/dist/cloud/vault/index.js +219 -0
- package/dist/cloud/vault/index.js.map +1 -0
- package/dist/cloud/webhooks/index.d.ts +24 -0
- package/dist/cloud/webhooks/index.d.ts.map +1 -0
- package/dist/cloud/webhooks/index.js +29 -0
- package/dist/cloud/webhooks/index.js.map +1 -0
- package/dist/cloud/webhooks/parsers/github.d.ts +8 -0
- package/dist/cloud/webhooks/parsers/github.d.ts.map +1 -0
- package/dist/cloud/webhooks/parsers/github.js +234 -0
- package/dist/cloud/webhooks/parsers/github.js.map +1 -0
- package/dist/cloud/webhooks/parsers/index.d.ts +23 -0
- package/dist/cloud/webhooks/parsers/index.d.ts.map +1 -0
- package/dist/cloud/webhooks/parsers/index.js +30 -0
- package/dist/cloud/webhooks/parsers/index.js.map +1 -0
- package/dist/cloud/webhooks/parsers/linear.d.ts +9 -0
- package/dist/cloud/webhooks/parsers/linear.d.ts.map +1 -0
- package/dist/cloud/webhooks/parsers/linear.js +258 -0
- package/dist/cloud/webhooks/parsers/linear.js.map +1 -0
- package/dist/cloud/webhooks/parsers/slack.d.ts +9 -0
- package/dist/cloud/webhooks/parsers/slack.d.ts.map +1 -0
- package/dist/cloud/webhooks/parsers/slack.js +214 -0
- package/dist/cloud/webhooks/parsers/slack.js.map +1 -0
- package/dist/cloud/webhooks/responders/github.d.ts +8 -0
- package/dist/cloud/webhooks/responders/github.d.ts.map +1 -0
- package/dist/cloud/webhooks/responders/github.js +73 -0
- package/dist/cloud/webhooks/responders/github.js.map +1 -0
- package/dist/cloud/webhooks/responders/index.d.ts +23 -0
- package/dist/cloud/webhooks/responders/index.d.ts.map +1 -0
- package/dist/cloud/webhooks/responders/index.js +30 -0
- package/dist/cloud/webhooks/responders/index.js.map +1 -0
- package/dist/cloud/webhooks/responders/linear.d.ts +9 -0
- package/dist/cloud/webhooks/responders/linear.d.ts.map +1 -0
- package/dist/cloud/webhooks/responders/linear.js +149 -0
- package/dist/cloud/webhooks/responders/linear.js.map +1 -0
- package/dist/cloud/webhooks/responders/slack.d.ts +20 -0
- package/dist/cloud/webhooks/responders/slack.d.ts.map +1 -0
- package/dist/cloud/webhooks/responders/slack.js +178 -0
- package/dist/cloud/webhooks/responders/slack.js.map +1 -0
- package/dist/cloud/webhooks/router.d.ts +25 -0
- package/dist/cloud/webhooks/router.d.ts.map +1 -0
- package/dist/cloud/webhooks/router.js +504 -0
- package/dist/cloud/webhooks/router.js.map +1 -0
- package/dist/cloud/webhooks/rules-engine.d.ts +24 -0
- package/dist/cloud/webhooks/rules-engine.d.ts.map +1 -0
- package/dist/cloud/webhooks/rules-engine.js +287 -0
- package/dist/cloud/webhooks/rules-engine.js.map +1 -0
- package/dist/cloud/webhooks/types.d.ts +186 -0
- package/dist/cloud/webhooks/types.d.ts.map +1 -0
- package/dist/cloud/webhooks/types.js +8 -0
- package/dist/cloud/webhooks/types.js.map +1 -0
- package/dist/continuity/formatter.d.ts +51 -0
- package/dist/continuity/formatter.d.ts.map +1 -0
- package/dist/continuity/formatter.js +313 -0
- package/dist/continuity/formatter.js.map +1 -0
- package/dist/continuity/handoff-store.d.ts +67 -0
- package/dist/continuity/handoff-store.d.ts.map +1 -0
- package/dist/continuity/handoff-store.js +472 -0
- package/dist/continuity/handoff-store.js.map +1 -0
- package/dist/continuity/index.d.ts +45 -0
- package/dist/continuity/index.d.ts.map +1 -0
- package/dist/continuity/index.js +48 -0
- package/dist/continuity/index.js.map +1 -0
- package/dist/continuity/ledger-store.d.ts +110 -0
- package/dist/continuity/ledger-store.d.ts.map +1 -0
- package/dist/continuity/ledger-store.js +500 -0
- package/dist/continuity/ledger-store.js.map +1 -0
- package/dist/continuity/manager.d.ts +178 -0
- package/dist/continuity/manager.d.ts.map +1 -0
- package/dist/continuity/manager.js +562 -0
- package/dist/continuity/manager.js.map +1 -0
- package/dist/continuity/parser.d.ts +76 -0
- package/dist/continuity/parser.d.ts.map +1 -0
- package/dist/continuity/parser.js +579 -0
- package/dist/continuity/parser.js.map +1 -0
- package/dist/continuity/types.d.ts +180 -0
- package/dist/continuity/types.d.ts.map +1 -0
- package/dist/continuity/types.js +9 -0
- package/dist/continuity/types.js.map +1 -0
- package/dist/daemon/agent-manager.d.ts +114 -0
- package/dist/daemon/agent-manager.d.ts.map +1 -0
- package/dist/daemon/agent-manager.js +513 -0
- package/dist/daemon/agent-manager.js.map +1 -0
- package/dist/daemon/agent-registry.d.ts +34 -0
- package/dist/daemon/agent-registry.d.ts.map +1 -1
- package/dist/daemon/agent-registry.js +45 -2
- package/dist/daemon/agent-registry.js.map +1 -1
- package/dist/daemon/api.d.ts +81 -0
- package/dist/daemon/api.d.ts.map +1 -0
- package/dist/daemon/api.js +554 -0
- package/dist/daemon/api.js.map +1 -0
- package/dist/daemon/cli-auth.d.ts +67 -0
- package/dist/daemon/cli-auth.d.ts.map +1 -0
- package/dist/daemon/cli-auth.js +537 -0
- package/dist/daemon/cli-auth.js.map +1 -0
- package/dist/daemon/cloud-sync.d.ts +101 -0
- package/dist/daemon/cloud-sync.d.ts.map +1 -0
- package/dist/daemon/cloud-sync.js +263 -0
- package/dist/daemon/cloud-sync.js.map +1 -0
- package/dist/daemon/index.d.ts +4 -0
- package/dist/daemon/index.d.ts.map +1 -1
- package/dist/daemon/index.js +6 -0
- package/dist/daemon/index.js.map +1 -1
- package/dist/daemon/orchestrator.d.ts +155 -0
- package/dist/daemon/orchestrator.d.ts.map +1 -0
- package/dist/daemon/orchestrator.js +766 -0
- package/dist/daemon/orchestrator.js.map +1 -0
- package/dist/daemon/router.d.ts +29 -0
- package/dist/daemon/router.d.ts.map +1 -1
- package/dist/daemon/router.js +143 -21
- package/dist/daemon/router.js.map +1 -1
- package/dist/daemon/server.d.ts +42 -0
- package/dist/daemon/server.d.ts.map +1 -1
- package/dist/daemon/server.js +199 -16
- package/dist/daemon/server.js.map +1 -1
- package/dist/daemon/services/browser-testing.d.ts +88 -0
- package/dist/daemon/services/browser-testing.d.ts.map +1 -0
- package/dist/daemon/services/browser-testing.js +244 -0
- package/dist/daemon/services/browser-testing.js.map +1 -0
- package/dist/daemon/services/container-spawner.d.ts +135 -0
- package/dist/daemon/services/container-spawner.d.ts.map +1 -0
- package/dist/daemon/services/container-spawner.js +313 -0
- package/dist/daemon/services/container-spawner.js.map +1 -0
- package/dist/daemon/types.d.ts +131 -0
- package/dist/daemon/types.d.ts.map +1 -0
- package/dist/daemon/types.js +6 -0
- package/dist/daemon/types.js.map +1 -0
- package/dist/daemon/workspace-manager.d.ts +75 -0
- package/dist/daemon/workspace-manager.d.ts.map +1 -0
- package/dist/daemon/workspace-manager.js +289 -0
- package/dist/daemon/workspace-manager.js.map +1 -0
- 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/480-2d4111711d4e473c.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/724-73c1ee5f60abe860.js +9 -0
- package/dist/dashboard/out/_next/static/chunks/766-c3a14283c88d815b.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/app/app/page-7120be68bea622f3.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/app/connect-repos/page-dc2e3a1a22478efc.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/app/history/page-56a8b4616a90dc43.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/app/layout-2433bb48965f4333.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/app/login/page-3eac37ea6f5dd153.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/app/metrics/page-1081dd190a331a91.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/app/page-daf87e86f783f980.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/app/pricing/page-4d72d5a5d8a9b618.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/app/providers/page-b68a681526eb145e.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/app/signup/page-fee4ed1709070bcd.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/e868780c-48e5f147c90a3a41.js +18 -0
- package/dist/dashboard/out/_next/static/chunks/{main-e0a1f53fe0617a63.js → main-97850e03d723ea8c.js} +1 -1
- package/dist/dashboard/out/_next/static/chunks/main-app-5d692157a8eb1fd9.js +1 -0
- 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/411ce23ffeae9f76.css +1 -0
- package/dist/dashboard/out/alt-logos/agent-relay-logo-128.png +0 -0
- package/dist/dashboard/out/alt-logos/agent-relay-logo-256.png +0 -0
- package/dist/dashboard/out/alt-logos/agent-relay-logo-32.png +0 -0
- package/dist/dashboard/out/alt-logos/agent-relay-logo-512.png +0 -0
- package/dist/dashboard/out/alt-logos/agent-relay-logo-64.png +0 -0
- package/dist/dashboard/out/alt-logos/agent-relay-logo.svg +45 -0
- package/dist/dashboard/out/alt-logos/logo.svg +38 -0
- package/dist/dashboard/out/alt-logos/monogram-logo-128.png +0 -0
- package/dist/dashboard/out/alt-logos/monogram-logo-256.png +0 -0
- package/dist/dashboard/out/alt-logos/monogram-logo-32.png +0 -0
- package/dist/dashboard/out/alt-logos/monogram-logo-512.png +0 -0
- package/dist/dashboard/out/alt-logos/monogram-logo-64.png +0 -0
- package/dist/dashboard/out/alt-logos/monogram-logo.svg +38 -0
- package/dist/dashboard/out/app.html +1 -0
- package/dist/dashboard/out/app.txt +7 -0
- 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 -0
- package/dist/dashboard/out/history.txt +7 -0
- 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 -515
- package/dist/dashboard/out/metrics.txt +2 -2
- package/dist/dashboard/out/pricing.html +13 -0
- package/dist/dashboard/out/pricing.txt +7 -0
- 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/metrics.d.ts.map +1 -1
- package/dist/dashboard-server/metrics.js +3 -2
- package/dist/dashboard-server/metrics.js.map +1 -1
- package/dist/dashboard-server/server.d.ts.map +1 -1
- package/dist/dashboard-server/server.js +2653 -130
- package/dist/dashboard-server/server.js.map +1 -1
- package/dist/hooks/emitter.d.ts +40 -0
- package/dist/hooks/emitter.d.ts.map +1 -0
- package/dist/hooks/emitter.js +63 -0
- package/dist/hooks/emitter.js.map +1 -0
- package/dist/hooks/index.d.ts +3 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +3 -0
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/registry.d.ts +173 -0
- package/dist/hooks/registry.d.ts.map +1 -0
- package/dist/hooks/registry.js +476 -0
- package/dist/hooks/registry.js.map +1 -0
- package/dist/hooks/trajectory-hooks.d.ts +52 -0
- package/dist/hooks/trajectory-hooks.d.ts.map +1 -0
- package/dist/hooks/trajectory-hooks.js +183 -0
- package/dist/hooks/trajectory-hooks.js.map +1 -0
- package/dist/hooks/types.d.ts +141 -0
- package/dist/hooks/types.d.ts.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/memory/adapters/index.d.ts +8 -0
- package/dist/memory/adapters/index.d.ts.map +1 -0
- package/dist/memory/adapters/index.js +8 -0
- package/dist/memory/adapters/index.js.map +1 -0
- package/dist/memory/adapters/inmemory.d.ts +59 -0
- package/dist/memory/adapters/inmemory.d.ts.map +1 -0
- package/dist/memory/adapters/inmemory.js +195 -0
- package/dist/memory/adapters/inmemory.js.map +1 -0
- package/dist/memory/adapters/supermemory.d.ts +71 -0
- package/dist/memory/adapters/supermemory.d.ts.map +1 -0
- package/dist/memory/adapters/supermemory.js +338 -0
- package/dist/memory/adapters/supermemory.js.map +1 -0
- package/dist/memory/factory.d.ts +48 -0
- package/dist/memory/factory.d.ts.map +1 -0
- package/dist/memory/factory.js +143 -0
- package/dist/memory/factory.js.map +1 -0
- package/dist/memory/index.d.ts +32 -0
- package/dist/memory/index.d.ts.map +1 -0
- package/dist/memory/index.js +32 -0
- package/dist/memory/index.js.map +1 -0
- package/dist/memory/memory-hooks.d.ts +60 -0
- package/dist/memory/memory-hooks.d.ts.map +1 -0
- package/dist/memory/memory-hooks.js +313 -0
- package/dist/memory/memory-hooks.js.map +1 -0
- package/dist/memory/service.d.ts +49 -0
- package/dist/memory/service.d.ts.map +1 -0
- package/dist/memory/service.js +146 -0
- package/dist/memory/service.js.map +1 -0
- package/dist/memory/types.d.ts +195 -0
- package/dist/memory/types.d.ts.map +1 -0
- package/dist/memory/types.js +8 -0
- package/dist/memory/types.js.map +1 -0
- package/dist/policy/agent-policy.d.ts +225 -0
- package/dist/policy/agent-policy.d.ts.map +1 -0
- package/dist/policy/agent-policy.js +665 -0
- package/dist/policy/agent-policy.js.map +1 -0
- package/dist/policy/cloud-policy-fetcher.d.ts +12 -0
- package/dist/policy/cloud-policy-fetcher.d.ts.map +1 -0
- package/dist/policy/cloud-policy-fetcher.js +64 -0
- package/dist/policy/cloud-policy-fetcher.js.map +1 -0
- package/dist/protocol/types.d.ts +10 -1
- package/dist/protocol/types.d.ts.map +1 -1
- package/dist/resiliency/context-persistence.d.ts +140 -0
- package/dist/resiliency/context-persistence.d.ts.map +1 -0
- package/dist/resiliency/context-persistence.js +397 -0
- package/dist/resiliency/context-persistence.js.map +1 -0
- package/dist/resiliency/crash-insights.d.ts +156 -0
- package/dist/resiliency/crash-insights.d.ts.map +1 -0
- package/dist/resiliency/crash-insights.js +492 -0
- package/dist/resiliency/crash-insights.js.map +1 -0
- package/dist/resiliency/gossip-health.d.ts +137 -0
- package/dist/resiliency/gossip-health.d.ts.map +1 -0
- package/dist/resiliency/gossip-health.js +241 -0
- package/dist/resiliency/gossip-health.js.map +1 -0
- package/dist/resiliency/health-monitor.d.ts +97 -0
- package/dist/resiliency/health-monitor.d.ts.map +1 -0
- package/dist/resiliency/health-monitor.js +291 -0
- package/dist/resiliency/health-monitor.js.map +1 -0
- package/dist/resiliency/index.d.ts +68 -0
- package/dist/resiliency/index.d.ts.map +1 -0
- package/dist/resiliency/index.js +68 -0
- package/dist/resiliency/index.js.map +1 -0
- package/dist/resiliency/leader-watchdog.d.ts +109 -0
- package/dist/resiliency/leader-watchdog.d.ts.map +1 -0
- package/dist/resiliency/leader-watchdog.js +189 -0
- package/dist/resiliency/leader-watchdog.js.map +1 -0
- package/dist/resiliency/logger.d.ts +114 -0
- package/dist/resiliency/logger.d.ts.map +1 -0
- package/dist/resiliency/logger.js +250 -0
- package/dist/resiliency/logger.js.map +1 -0
- package/dist/resiliency/memory-monitor.d.ts +172 -0
- package/dist/resiliency/memory-monitor.d.ts.map +1 -0
- package/dist/resiliency/memory-monitor.js +593 -0
- package/dist/resiliency/memory-monitor.js.map +1 -0
- package/dist/resiliency/metrics.d.ts +115 -0
- package/dist/resiliency/metrics.d.ts.map +1 -0
- package/dist/resiliency/metrics.js +239 -0
- package/dist/resiliency/metrics.js.map +1 -0
- package/dist/resiliency/provider-context.d.ts +100 -0
- package/dist/resiliency/provider-context.d.ts.map +1 -0
- package/dist/resiliency/provider-context.js +360 -0
- package/dist/resiliency/provider-context.js.map +1 -0
- package/dist/resiliency/stateless-lead.d.ts +149 -0
- package/dist/resiliency/stateless-lead.d.ts.map +1 -0
- package/dist/resiliency/stateless-lead.js +308 -0
- package/dist/resiliency/stateless-lead.js.map +1 -0
- package/dist/resiliency/supervisor.d.ts +147 -0
- package/dist/resiliency/supervisor.d.ts.map +1 -0
- package/dist/resiliency/supervisor.js +459 -0
- package/dist/resiliency/supervisor.js.map +1 -0
- package/dist/shared/cli-auth-config.d.ts +91 -0
- package/dist/shared/cli-auth-config.d.ts.map +1 -0
- package/dist/shared/cli-auth-config.js +264 -0
- package/dist/shared/cli-auth-config.js.map +1 -0
- package/dist/storage/adapter.d.ts +3 -1
- package/dist/storage/adapter.d.ts.map +1 -1
- package/dist/storage/adapter.js +12 -2
- package/dist/storage/adapter.js.map +1 -1
- package/dist/storage/sqlite-adapter.d.ts.map +1 -1
- package/dist/storage/sqlite-adapter.js +18 -14
- package/dist/storage/sqlite-adapter.js.map +1 -1
- package/dist/trajectory/config.d.ts +84 -0
- package/dist/trajectory/config.d.ts.map +1 -0
- package/dist/trajectory/config.js +163 -0
- package/dist/trajectory/config.js.map +1 -0
- package/dist/trajectory/index.d.ts +8 -0
- package/dist/trajectory/index.d.ts.map +1 -0
- package/dist/trajectory/index.js +8 -0
- package/dist/trajectory/index.js.map +1 -0
- package/dist/trajectory/integration.d.ts +292 -0
- package/dist/trajectory/integration.d.ts.map +1 -0
- package/dist/trajectory/integration.js +834 -0
- package/dist/trajectory/integration.js.map +1 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/logger.d.ts +40 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +84 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/project-namespace.d.ts +24 -0
- package/dist/utils/project-namespace.d.ts.map +1 -1
- package/dist/utils/project-namespace.js +84 -0
- package/dist/utils/project-namespace.js.map +1 -1
- package/dist/wrapper/client.d.ts +16 -1
- package/dist/wrapper/client.d.ts.map +1 -1
- package/dist/wrapper/client.js +32 -1
- package/dist/wrapper/client.js.map +1 -1
- package/dist/wrapper/parser.d.ts +13 -0
- package/dist/wrapper/parser.d.ts.map +1 -1
- package/dist/wrapper/parser.js +217 -47
- package/dist/wrapper/parser.js.map +1 -1
- package/dist/wrapper/pty-wrapper.d.ts +219 -17
- package/dist/wrapper/pty-wrapper.d.ts.map +1 -1
- package/dist/wrapper/pty-wrapper.js +1050 -104
- package/dist/wrapper/pty-wrapper.js.map +1 -1
- package/dist/wrapper/shared.d.ts +165 -0
- package/dist/wrapper/shared.d.ts.map +1 -0
- package/dist/wrapper/shared.js +270 -0
- package/dist/wrapper/shared.js.map +1 -0
- package/dist/wrapper/tmux-wrapper.d.ts +78 -11
- package/dist/wrapper/tmux-wrapper.d.ts.map +1 -1
- package/dist/wrapper/tmux-wrapper.js +567 -106
- package/dist/wrapper/tmux-wrapper.js.map +1 -1
- package/docs/CLOUD-ARCHITECTURE.md +804 -0
- package/docs/CLOUD-ONBOARDING-DESIGN.md +1983 -0
- package/docs/HOOKS_API.md +394 -0
- package/docs/WRAPPER_EVENTS.md +358 -0
- package/docs/agent-policy-snippet.md +40 -0
- package/docs/agent-relay-protocol.md +238 -0
- package/docs/agent-relay-snippet.md +115 -6
- package/docs/archive/EXECUTIVE_SUMMARY.md +358 -0
- package/docs/archive/ROADMAP.md +329 -0
- package/docs/archive/TESTING_PRESENCE_FEATURES.md +327 -0
- package/docs/competitive/GASTOWN.md +451 -0
- package/docs/{COMPETITIVE_ANALYSIS.md → competitive/OVERVIEW.md} +1 -0
- package/docs/competitive/README.md +34 -0
- package/docs/competitive/TMUX_ORCHESTRATOR.md +605 -0
- package/docs/dashboard.png +0 -0
- package/docs/design/ci-failure-webhooks.md +812 -0
- package/docs/design/comprehensive-integrations.md +238 -0
- package/docs/design/e2b-sandbox-integration.md +504 -0
- package/docs/design/github-app-permissions.md +264 -0
- package/docs/guides/CLOUD.md +236 -0
- package/docs/guides/LOCAL.md +535 -0
- package/docs/guides/SELF-HOSTED.md +494 -0
- package/docs/local-testing.md +428 -0
- package/docs/proposals/continuous-claude-integration.md +622 -0
- package/docs/proposals/custom-commands.md +368 -0
- package/docs/proposals/shadow-as-subagent.md +765 -0
- package/docs/proposals/slack-bot-integration.md +1457 -0
- package/docs/tasks/global-skills-system.tasks.md +230 -0
- package/docs/tasks/webhook-integrations.tasks.md +184 -0
- package/docs/tasks/workspace-capabilities.tasks.md +121 -0
- package/docs/testing/RESILIENCY-TEST-PLAN-2026-01-01.md +366 -0
- package/package.json +45 -7
- package/scripts/cloud-setup.sh +96 -0
- package/scripts/manual-qa.sh +293 -0
- package/scripts/postinstall.js +60 -0
- package/scripts/run-cloud-qa.sh +220 -0
- package/scripts/test-cli-auth/Dockerfile +44 -0
- package/scripts/test-cli-auth/Dockerfile.real +79 -0
- package/scripts/test-cli-auth/README.md +286 -0
- package/scripts/test-cli-auth/ci-test-real-clis.ts +251 -0
- package/scripts/test-cli-auth/ci-test-runner.ts +263 -0
- package/scripts/test-cli-auth/mock-cli.sh +147 -0
- package/scripts/test-cli-auth/package.json +14 -0
- package/scripts/test-cli-auth/test-oauth-flow.ts +220 -0
- package/scripts/test-pty-input-auto.js +222 -0
- package/scripts/test-pty-input.js +150 -0
- package/dist/dashboard/out/_next/static/chunks/app/layout-c9d8c5d95e48c6bf.js +0 -1
- package/dist/dashboard/out/_next/static/chunks/app/metrics/page-8aa9936bc6c771ab.js +0 -1
- package/dist/dashboard/out/_next/static/chunks/app/page-4498be09a5157759.js +0 -1
- package/dist/dashboard/out/_next/static/chunks/main-app-bae2e535de00de50.js +0 -1
- package/dist/dashboard/out/_next/static/chunks/webpack-c81f7fd28659d64f.js +0 -1
- package/dist/dashboard/out/_next/static/css/50ed6996e3df7bdd.css +0 -1
- /package/dist/dashboard/out/_next/static/{DXFA-jj8wb3PcY5DX2xcU → H5aWG0udPB4iOUIl_gytz}/_buildManifest.js +0 -0
- /package/dist/dashboard/out/_next/static/{DXFA-jj8wb3PcY5DX2xcU → H5aWG0udPB4iOUIl_gytz}/_ssgManifest.js +0 -0
- /package/dist/dashboard/out/_next/static/chunks/{117-3bef7b19f3e60751.js → 117-b100311aff8d5c61.js} +0 -0
- /package/dist/dashboard/out/_next/static/chunks/{648-6cf686106c891ad3.js → 648-a13d3c2b1be45466.js} +0 -0
- /package/dist/dashboard/out/_next/static/chunks/app/_not-found/{page-8ff6572bc7c9bc61.js → page-a4973f3e3c82fb67.js} +0 -0
- /package/dist/dashboard/out/_next/static/chunks/{fd9d1056-26bd8d656b496dba.js → fd9d1056-bf46c09eb57e019c.js} +0 -0
- /package/docs/{CHANGELOG.md → archive/CHANGELOG.md} +0 -0
- /package/docs/{CLI-SIMPLIFICATION-COMPLETE.md → archive/CLI-SIMPLIFICATION-COMPLETE.md} +0 -0
- /package/docs/{DESIGN_BRIDGE_STAFFING.md → archive/DESIGN_BRIDGE_STAFFING.md} +0 -0
- /package/docs/{DESIGN_V2.md → archive/DESIGN_V2.md} +0 -0
- /package/docs/{MONETIZATION.md → archive/MONETIZATION.md} +0 -0
- /package/docs/{PROPOSAL-trajectories.md → archive/PROPOSAL-trajectories.md} +0 -0
- /package/docs/{SCALING_ANALYSIS.md → archive/SCALING_ANALYSIS.md} +0 -0
- /package/docs/{TMUX_IMPLEMENTATION_NOTES.md → archive/TMUX_IMPLEMENTATION_NOTES.md} +0 -0
- /package/docs/{TMUX_IMPROVEMENTS.md → archive/TMUX_IMPROVEMENTS.md} +0 -0
- /package/docs/{dashboard-v2-plan.md → archive/dashboard-v2-plan.md} +0 -0
- /package/docs/{removable-code-analysis.md → archive/removable-code-analysis.md} +0 -0
- /package/docs/{competitive-analysis-mcp-agent-mail.md → competitive/MCP_AGENT_MAIL.md} +0 -0
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
# GitHub App Permissions
|
|
2
|
+
|
|
3
|
+
This document describes the GitHub App permissions required for Agent Relay's features, particularly the CI failure webhook integration.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
Agent Relay uses a GitHub App to:
|
|
8
|
+
1. Receive webhook events (installations, PRs, CI failures)
|
|
9
|
+
2. Access repository code for cloning/syncing
|
|
10
|
+
3. Create commits and push fixes
|
|
11
|
+
4. Interact with PRs (comments, reviews)
|
|
12
|
+
|
|
13
|
+
## Required Permissions
|
|
14
|
+
|
|
15
|
+
### Repository Permissions
|
|
16
|
+
|
|
17
|
+
| Permission | Access Level | Purpose |
|
|
18
|
+
|------------|--------------|---------|
|
|
19
|
+
| **Contents** | Read & Write | Clone repos, push commits, read files |
|
|
20
|
+
| **Pull requests** | Read & Write | Read PR details, create/update PRs, comment |
|
|
21
|
+
| **Checks** | Read | Receive check_run webhooks, read failure details |
|
|
22
|
+
| **Actions** | Read | Receive workflow_run webhooks, read logs |
|
|
23
|
+
| **Commit statuses** | Read | Read status checks, understand CI state |
|
|
24
|
+
| **Metadata** | Read | Basic repo info (required for all apps) |
|
|
25
|
+
|
|
26
|
+
### Organization Permissions
|
|
27
|
+
|
|
28
|
+
| Permission | Access Level | Purpose |
|
|
29
|
+
|------------|--------------|---------|
|
|
30
|
+
| **Members** | Read | Identify organization members for access control |
|
|
31
|
+
|
|
32
|
+
### Account Permissions
|
|
33
|
+
|
|
34
|
+
| Permission | Access Level | Purpose |
|
|
35
|
+
|------------|--------------|---------|
|
|
36
|
+
| **Email addresses** | Read | User identification, notifications |
|
|
37
|
+
|
|
38
|
+
## Webhook Events
|
|
39
|
+
|
|
40
|
+
The following webhook events should be enabled:
|
|
41
|
+
|
|
42
|
+
### Required Events
|
|
43
|
+
|
|
44
|
+
| Event | Purpose |
|
|
45
|
+
|-------|---------|
|
|
46
|
+
| `installation` | Track app installations/uninstallations |
|
|
47
|
+
| `installation_repositories` | Track repo access changes |
|
|
48
|
+
| `check_run` | **CI failure detection** - triggers agent spawn |
|
|
49
|
+
| `workflow_run` | Workflow-level failure tracking |
|
|
50
|
+
| `push` | Detect new commits for sync |
|
|
51
|
+
| `pull_request` | Track PR lifecycle |
|
|
52
|
+
|
|
53
|
+
### Optional Events
|
|
54
|
+
|
|
55
|
+
| Event | Purpose |
|
|
56
|
+
|-------|---------|
|
|
57
|
+
| `issues` | Future: issue-to-agent assignment |
|
|
58
|
+
| `issue_comment` | Future: agent @mentions |
|
|
59
|
+
| `pull_request_review` | Future: review request handling |
|
|
60
|
+
| `check_suite` | Aggregate check status |
|
|
61
|
+
|
|
62
|
+
## Configuration Steps
|
|
63
|
+
|
|
64
|
+
### 1. Create GitHub App
|
|
65
|
+
|
|
66
|
+
1. Go to GitHub Settings > Developer settings > GitHub Apps
|
|
67
|
+
2. Click "New GitHub App"
|
|
68
|
+
3. Fill in basic info:
|
|
69
|
+
- **Name**: Agent Relay (or your instance name)
|
|
70
|
+
- **Homepage URL**: Your dashboard URL
|
|
71
|
+
- **Webhook URL**: `https://your-domain.com/api/webhooks/github`
|
|
72
|
+
|
|
73
|
+
### 2. Set Permissions
|
|
74
|
+
|
|
75
|
+
Under "Permissions & events":
|
|
76
|
+
|
|
77
|
+
**Repository permissions:**
|
|
78
|
+
- Contents: Read and write
|
|
79
|
+
- Pull requests: Read and write
|
|
80
|
+
- Checks: Read-only
|
|
81
|
+
- Actions: Read-only
|
|
82
|
+
- Commit statuses: Read-only
|
|
83
|
+
- Metadata: Read-only (default)
|
|
84
|
+
|
|
85
|
+
**Organization permissions:**
|
|
86
|
+
- Members: Read-only
|
|
87
|
+
|
|
88
|
+
**Account permissions:**
|
|
89
|
+
- Email addresses: Read-only
|
|
90
|
+
|
|
91
|
+
### 3. Subscribe to Events
|
|
92
|
+
|
|
93
|
+
Check the following events:
|
|
94
|
+
- [x] Check run
|
|
95
|
+
- [x] Workflow run
|
|
96
|
+
- [x] Installation
|
|
97
|
+
- [x] Installation and repositories
|
|
98
|
+
- [x] Push
|
|
99
|
+
- [x] Pull request
|
|
100
|
+
|
|
101
|
+
### 4. Generate Keys
|
|
102
|
+
|
|
103
|
+
1. Generate a private key (downloads .pem file)
|
|
104
|
+
2. Note the App ID
|
|
105
|
+
3. Generate a client secret for OAuth
|
|
106
|
+
|
|
107
|
+
### 5. Configure Agent Relay
|
|
108
|
+
|
|
109
|
+
Set environment variables:
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
# GitHub App credentials
|
|
113
|
+
GITHUB_APP_ID=123456
|
|
114
|
+
GITHUB_APP_PRIVATE_KEY="-----BEGIN RSA PRIVATE KEY-----\n..."
|
|
115
|
+
GITHUB_CLIENT_ID=Iv1.abc123
|
|
116
|
+
GITHUB_CLIENT_SECRET=secret123
|
|
117
|
+
|
|
118
|
+
# Webhook secret (generate a random string)
|
|
119
|
+
GITHUB_WEBHOOK_SECRET=whsec_random_string_here
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
## Permission Rationale
|
|
123
|
+
|
|
124
|
+
### Why Contents: Write?
|
|
125
|
+
|
|
126
|
+
Agents need to push fixes to branches. This includes:
|
|
127
|
+
- Creating new commits
|
|
128
|
+
- Pushing to existing branches
|
|
129
|
+
- Creating new branches for fixes
|
|
130
|
+
|
|
131
|
+
### Why Checks: Read (not Write)?
|
|
132
|
+
|
|
133
|
+
We only receive check failure events and read results. We don't:
|
|
134
|
+
- Create our own checks
|
|
135
|
+
- Update check status
|
|
136
|
+
|
|
137
|
+
CI runs in GitHub Actions and creates its own checks.
|
|
138
|
+
|
|
139
|
+
### Why Pull Requests: Write?
|
|
140
|
+
|
|
141
|
+
Agents may need to:
|
|
142
|
+
- Comment on PRs with fix summaries
|
|
143
|
+
- Request reviews after fixes
|
|
144
|
+
- Update PR descriptions
|
|
145
|
+
|
|
146
|
+
### Why Actions: Read?
|
|
147
|
+
|
|
148
|
+
For workflow_run events that provide:
|
|
149
|
+
- Workflow-level failure context
|
|
150
|
+
- Access to workflow logs (future)
|
|
151
|
+
|
|
152
|
+
## Security Considerations
|
|
153
|
+
|
|
154
|
+
### Webhook Secret
|
|
155
|
+
|
|
156
|
+
Always configure a webhook secret:
|
|
157
|
+
|
|
158
|
+
```typescript
|
|
159
|
+
function verifyGitHubSignature(payload: string, signature: string, secret: string): boolean {
|
|
160
|
+
const expected = `sha256=${crypto
|
|
161
|
+
.createHmac('sha256', secret)
|
|
162
|
+
.update(payload)
|
|
163
|
+
.digest('hex')}`;
|
|
164
|
+
return crypto.timingSafeEqual(
|
|
165
|
+
Buffer.from(signature),
|
|
166
|
+
Buffer.from(expected)
|
|
167
|
+
);
|
|
168
|
+
}
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
### Private Key Storage
|
|
172
|
+
|
|
173
|
+
- Never commit the private key to version control
|
|
174
|
+
- Use secure secret management (Vault, AWS Secrets Manager, etc.)
|
|
175
|
+
- Rotate keys periodically
|
|
176
|
+
|
|
177
|
+
### Installation Scope
|
|
178
|
+
|
|
179
|
+
When users install the app:
|
|
180
|
+
- Recommend "Only select repositories" over "All repositories"
|
|
181
|
+
- Document which repos will be monitored
|
|
182
|
+
- Allow easy un-installation
|
|
183
|
+
|
|
184
|
+
### Token Expiry
|
|
185
|
+
|
|
186
|
+
GitHub App installation tokens expire after 1 hour:
|
|
187
|
+
- Cache tokens with expiry tracking
|
|
188
|
+
- Refresh before expiration
|
|
189
|
+
- Handle 401 errors with token refresh
|
|
190
|
+
|
|
191
|
+
## Minimal Permissions Option
|
|
192
|
+
|
|
193
|
+
For users who want minimal permissions:
|
|
194
|
+
|
|
195
|
+
| Permission | Access | Notes |
|
|
196
|
+
|------------|--------|-------|
|
|
197
|
+
| Contents | Read | Can clone, cannot push |
|
|
198
|
+
| Pull requests | Read | Can read PRs, cannot comment |
|
|
199
|
+
| Checks | Read | Receive failures |
|
|
200
|
+
|
|
201
|
+
With minimal permissions:
|
|
202
|
+
- Agents can analyze failures but cannot push fixes
|
|
203
|
+
- Manual intervention required for commits
|
|
204
|
+
- Good for "notify only" mode
|
|
205
|
+
|
|
206
|
+
## Events Flow
|
|
207
|
+
|
|
208
|
+
```
|
|
209
|
+
┌──────────────┐ webhook ┌─────────────────┐
|
|
210
|
+
│ GitHub CI │ ──────────────────>│ Agent Relay │
|
|
211
|
+
│ (check_run │ │ /webhooks │
|
|
212
|
+
│ failed) │ └────────┬────────┘
|
|
213
|
+
└──────────────┘ │
|
|
214
|
+
│ verify signature
|
|
215
|
+
│ parse payload
|
|
216
|
+
▼
|
|
217
|
+
┌─────────────────┐
|
|
218
|
+
│ Record failure │
|
|
219
|
+
│ in database │
|
|
220
|
+
└────────┬────────┘
|
|
221
|
+
│
|
|
222
|
+
│ spawn agent
|
|
223
|
+
▼
|
|
224
|
+
┌─────────────────┐
|
|
225
|
+
│ Agent fixes │
|
|
226
|
+
│ and pushes │
|
|
227
|
+
└────────┬────────┘
|
|
228
|
+
│
|
|
229
|
+
│ uses Contents:write
|
|
230
|
+
▼
|
|
231
|
+
┌─────────────────┐
|
|
232
|
+
│ GitHub CI │
|
|
233
|
+
│ re-runs │
|
|
234
|
+
└─────────────────┘
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
## Troubleshooting
|
|
238
|
+
|
|
239
|
+
### Webhook Not Received
|
|
240
|
+
|
|
241
|
+
1. Check webhook URL is correct and accessible
|
|
242
|
+
2. Verify webhook secret matches configuration
|
|
243
|
+
3. Check GitHub App webhook delivery logs
|
|
244
|
+
4. Ensure firewall allows GitHub IPs
|
|
245
|
+
|
|
246
|
+
### Permission Denied Errors
|
|
247
|
+
|
|
248
|
+
1. Verify app is installed on the repository
|
|
249
|
+
2. Check installation hasn't been suspended
|
|
250
|
+
3. Confirm required permissions are granted
|
|
251
|
+
4. Regenerate installation token
|
|
252
|
+
|
|
253
|
+
### CI Events Not Triggering
|
|
254
|
+
|
|
255
|
+
1. Verify `check_run` event is subscribed
|
|
256
|
+
2. Check check is from a GitHub Action (not external CI)
|
|
257
|
+
3. Ensure webhook URL is receiving events (check delivery logs)
|
|
258
|
+
|
|
259
|
+
## References
|
|
260
|
+
|
|
261
|
+
- [GitHub Apps documentation](https://docs.github.com/en/apps)
|
|
262
|
+
- [Webhook events and payloads](https://docs.github.com/en/webhooks/webhook-events-and-payloads)
|
|
263
|
+
- [GitHub App permissions](https://docs.github.com/en/rest/overview/permissions-required-for-github-apps)
|
|
264
|
+
- [Check runs API](https://docs.github.com/en/rest/checks/runs)
|
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
# Agent Relay Cloud
|
|
2
|
+
|
|
3
|
+
Get started with [agent-relay.com](https://agent-relay.com) - the fully managed way to orchestrate AI agents across your repositories.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
Agent Relay Cloud handles everything for you:
|
|
8
|
+
- Automatic server provisioning
|
|
9
|
+
- GitHub repository integration
|
|
10
|
+
- Multi-provider agent authentication (Claude, Codex, Gemini)
|
|
11
|
+
- Team management and collaboration
|
|
12
|
+
- Centralized dashboard and logs
|
|
13
|
+
|
|
14
|
+
**No servers to manage. No infrastructure to maintain.**
|
|
15
|
+
|
|
16
|
+
## Getting Started
|
|
17
|
+
|
|
18
|
+
### 1. Sign Up
|
|
19
|
+
|
|
20
|
+
Visit [agent-relay.com](https://agent-relay.com) and click **Continue with GitHub**.
|
|
21
|
+
|
|
22
|
+
This:
|
|
23
|
+
- Creates your Agent Relay account
|
|
24
|
+
- Automatically connects GitHub Copilot
|
|
25
|
+
- Gives us access to list your repositories
|
|
26
|
+
|
|
27
|
+
### 2. Connect Your Repositories
|
|
28
|
+
|
|
29
|
+
Select which repositories Agent Relay should manage:
|
|
30
|
+
|
|
31
|
+
1. Browse your GitHub repos
|
|
32
|
+
2. Check the ones you want to connect
|
|
33
|
+
3. Click **Continue**
|
|
34
|
+
|
|
35
|
+
We'll:
|
|
36
|
+
- Install the Agent Relay GitHub App on selected repos
|
|
37
|
+
- Clone repos to your cloud workspace
|
|
38
|
+
- Set up webhooks for PR/issue events
|
|
39
|
+
|
|
40
|
+
### 3. Connect AI Providers
|
|
41
|
+
|
|
42
|
+
Connect the AI providers you want to use. Click **Login with [Provider]** for each:
|
|
43
|
+
|
|
44
|
+
| Provider | What You Get |
|
|
45
|
+
|----------|--------------|
|
|
46
|
+
| **Anthropic** | Claude Code - recommended for code tasks |
|
|
47
|
+
| **OpenAI** | Codex and ChatGPT models |
|
|
48
|
+
| **Google** | Gemini - multi-modal capabilities |
|
|
49
|
+
| **GitHub Copilot** | Auto-connected via GitHub signup |
|
|
50
|
+
|
|
51
|
+
You authenticate with your existing provider accounts. No API keys to manage.
|
|
52
|
+
|
|
53
|
+
### 4. Start Using Agents
|
|
54
|
+
|
|
55
|
+
Once connected, you can:
|
|
56
|
+
|
|
57
|
+
**From the Dashboard:**
|
|
58
|
+
- Spawn agents manually
|
|
59
|
+
- View real-time agent activity
|
|
60
|
+
- Monitor message flows between agents
|
|
61
|
+
|
|
62
|
+
**From GitHub:**
|
|
63
|
+
- Open a PR to trigger automatic code review
|
|
64
|
+
- Use `@agent-relay` in PR comments to chat with agents
|
|
65
|
+
- Agents respond directly in your PRs
|
|
66
|
+
|
|
67
|
+
**From the CLI:**
|
|
68
|
+
```bash
|
|
69
|
+
# Connect your local environment to cloud
|
|
70
|
+
agent-relay cloud login
|
|
71
|
+
|
|
72
|
+
# Spawn a cloud agent from anywhere
|
|
73
|
+
agent-relay cloud spawn Alice claude "Review the auth module"
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## Dashboard
|
|
77
|
+
|
|
78
|
+
Your dashboard is available at `https://app.agent-relay.com` after login.
|
|
79
|
+
|
|
80
|
+
### Features
|
|
81
|
+
|
|
82
|
+
- **Real-time Activity Feed** - See all agent messages as they happen
|
|
83
|
+
- **Agent Management** - Spawn, monitor, and stop agents
|
|
84
|
+
- **Repository Overview** - Connected repos and their status
|
|
85
|
+
- **Team Settings** - Manage team members and permissions
|
|
86
|
+
- **Usage & Billing** - Track compute hours and plan limits
|
|
87
|
+
|
|
88
|
+
## Plans
|
|
89
|
+
|
|
90
|
+
| Feature | Free | Pro | Team | Enterprise |
|
|
91
|
+
|---------|------|-----|------|------------|
|
|
92
|
+
| Workspaces | 1 | 5 | 20 | Unlimited |
|
|
93
|
+
| Repositories | 3 | 20 | 100 | Unlimited |
|
|
94
|
+
| Concurrent Agents | 2 | 10 | 50 | Unlimited |
|
|
95
|
+
| Compute Hours/Month | 10 | 100 | 500 | Unlimited |
|
|
96
|
+
| Coordinator Agents | - | ✓ | ✓ | ✓ |
|
|
97
|
+
| Priority Support | - | ✓ | ✓ | ✓ |
|
|
98
|
+
| SSO/SAML | - | - | - | ✓ |
|
|
99
|
+
|
|
100
|
+
See [Pricing](/pricing) for current rates.
|
|
101
|
+
|
|
102
|
+
## Teams
|
|
103
|
+
|
|
104
|
+
### Creating a Team
|
|
105
|
+
|
|
106
|
+
1. Go to **Settings → Teams**
|
|
107
|
+
2. Click **Create Team**
|
|
108
|
+
3. Name your team and invite members
|
|
109
|
+
|
|
110
|
+
### Team Roles
|
|
111
|
+
|
|
112
|
+
| Role | Permissions |
|
|
113
|
+
|------|-------------|
|
|
114
|
+
| **Owner** | Full access, billing, can delete team |
|
|
115
|
+
| **Admin** | Manage members, repos, agents |
|
|
116
|
+
| **Member** | Spawn agents, view activity |
|
|
117
|
+
|
|
118
|
+
### Shared Credentials
|
|
119
|
+
|
|
120
|
+
Team admins can share provider credentials with team members, so everyone can spawn agents without individual logins.
|
|
121
|
+
|
|
122
|
+
## Project Groups
|
|
123
|
+
|
|
124
|
+
Organize related repositories into project groups for coordinated multi-repo work.
|
|
125
|
+
|
|
126
|
+
### Creating a Project Group
|
|
127
|
+
|
|
128
|
+
1. Go to **Settings → Project Groups**
|
|
129
|
+
2. Click **Create Group**
|
|
130
|
+
3. Add repositories to the group
|
|
131
|
+
4. Optionally enable a **Coordinator Agent** (Pro+)
|
|
132
|
+
|
|
133
|
+
### Coordinator Agents
|
|
134
|
+
|
|
135
|
+
Coordinator agents (Pro plans and above) oversee work across all repos in a project group:
|
|
136
|
+
|
|
137
|
+
- Delegate tasks to repo-specific agents
|
|
138
|
+
- Track progress across the group
|
|
139
|
+
- Ensure consistency between repos
|
|
140
|
+
|
|
141
|
+
## CLI Integration
|
|
142
|
+
|
|
143
|
+
Connect your local terminal to Agent Relay Cloud:
|
|
144
|
+
|
|
145
|
+
```bash
|
|
146
|
+
# Login to cloud
|
|
147
|
+
agent-relay cloud login
|
|
148
|
+
|
|
149
|
+
# Check connection status
|
|
150
|
+
agent-relay cloud status
|
|
151
|
+
|
|
152
|
+
# List your cloud workspaces
|
|
153
|
+
agent-relay cloud workspaces
|
|
154
|
+
|
|
155
|
+
# Spawn a cloud agent
|
|
156
|
+
agent-relay cloud spawn MyAgent claude "Fix the login bug"
|
|
157
|
+
|
|
158
|
+
# View cloud agent logs
|
|
159
|
+
agent-relay cloud logs MyAgent
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
## GitHub Integration
|
|
163
|
+
|
|
164
|
+
### Webhooks
|
|
165
|
+
|
|
166
|
+
Agent Relay listens for:
|
|
167
|
+
- **Pull Requests** - Automatic code review
|
|
168
|
+
- **Issues** - Task assignment to agents
|
|
169
|
+
- **Comments** - `@agent-relay` mentions
|
|
170
|
+
|
|
171
|
+
### PR Comments
|
|
172
|
+
|
|
173
|
+
Interact with agents directly in PRs:
|
|
174
|
+
|
|
175
|
+
```
|
|
176
|
+
@agent-relay review this PR
|
|
177
|
+
@agent-relay explain the changes in src/auth/
|
|
178
|
+
@agent-relay suggest improvements
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
### Issue Assignment
|
|
182
|
+
|
|
183
|
+
Assign issues to agents:
|
|
184
|
+
|
|
185
|
+
```
|
|
186
|
+
@agent-relay work on this issue
|
|
187
|
+
@agent-relay implement this feature using Claude
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
## Security
|
|
191
|
+
|
|
192
|
+
### Data Protection
|
|
193
|
+
|
|
194
|
+
- All data encrypted at rest (AES-256)
|
|
195
|
+
- TLS 1.3 for all connections
|
|
196
|
+
- SOC 2 Type II compliant (Enterprise)
|
|
197
|
+
|
|
198
|
+
### Credential Security
|
|
199
|
+
|
|
200
|
+
- OAuth tokens encrypted with per-user keys
|
|
201
|
+
- Automatic token refresh
|
|
202
|
+
- No API keys stored in plaintext
|
|
203
|
+
|
|
204
|
+
### Workspace Isolation
|
|
205
|
+
|
|
206
|
+
- Each workspace runs in isolated containers
|
|
207
|
+
- No shared filesystem between users
|
|
208
|
+
- Network isolation between workspaces
|
|
209
|
+
|
|
210
|
+
## Troubleshooting
|
|
211
|
+
|
|
212
|
+
### Agent Won't Spawn
|
|
213
|
+
|
|
214
|
+
1. Check provider connection in **Settings → Providers**
|
|
215
|
+
2. Verify you haven't exceeded plan limits
|
|
216
|
+
3. Check the activity log for errors
|
|
217
|
+
|
|
218
|
+
### GitHub Webhooks Not Working
|
|
219
|
+
|
|
220
|
+
1. Go to **Settings → Repositories**
|
|
221
|
+
2. Click **Resync** on the affected repo
|
|
222
|
+
3. Verify the GitHub App is still installed
|
|
223
|
+
|
|
224
|
+
### Token Expired
|
|
225
|
+
|
|
226
|
+
If you see "Token expired" errors:
|
|
227
|
+
|
|
228
|
+
1. Go to **Settings → Providers**
|
|
229
|
+
2. Click **Reconnect** on the affected provider
|
|
230
|
+
3. Re-authenticate with the provider
|
|
231
|
+
|
|
232
|
+
## Support
|
|
233
|
+
|
|
234
|
+
- **Documentation**: [docs.agent-relay.com](https://docs.agent-relay.com)
|
|
235
|
+
- **GitHub Issues**: [github.com/khaliqgant/agent-relay/issues](https://github.com/khaliqgant/agent-relay/issues)
|
|
236
|
+
- **Email**: support@agent-relay.com (Pro+ plans)
|