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,230 @@
|
|
|
1
|
+
# Agent Relay Skills via PRPM
|
|
2
|
+
|
|
3
|
+
Leverage PRPM (Prompt Package Manager) to distribute agent-relay skills that users can opt into.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
PRPM already provides:
|
|
8
|
+
- Registry at `registry.prpm.dev`
|
|
9
|
+
- `prpm install @org/package` CLI
|
|
10
|
+
- Lockfile tracking (`prpm.lock`)
|
|
11
|
+
- Format conversion (claude, cursor, agents.md)
|
|
12
|
+
- Subtypes: skill, agent, rule, snippet
|
|
13
|
+
- Lazy loading (`eager: false`)
|
|
14
|
+
|
|
15
|
+
**We should publish `@agent-relay/*` packages to PRPM instead of building custom infrastructure.**
|
|
16
|
+
|
|
17
|
+
## Current State
|
|
18
|
+
|
|
19
|
+
Already using prpm in this repo (see `prpm.lock`):
|
|
20
|
+
- `@agent-relay/agent-relay-snippet` - Relay messaging syntax
|
|
21
|
+
- `@agent-relay/agent-relay-protocol` - Full protocol docs
|
|
22
|
+
- Various skills from `@prpm/*`, `@anthropic/*`, `@my-senior-dev/*`
|
|
23
|
+
|
|
24
|
+
## Problem: Global vs Project Skills
|
|
25
|
+
|
|
26
|
+
PRPM installs to project directories (`.claude/skills/`). We need:
|
|
27
|
+
- Skills NOT in project source control
|
|
28
|
+
- Skills available across all projects
|
|
29
|
+
- Per-user opt-in, not per-project
|
|
30
|
+
|
|
31
|
+
### Potential Solutions
|
|
32
|
+
|
|
33
|
+
**A. PRPM Global Flag (feature request)**
|
|
34
|
+
```bash
|
|
35
|
+
prpm install --global @agent-relay/browser-testing
|
|
36
|
+
# Installs to ~/.prpm/skills/ or ~/.config/prpm/skills/
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
**B. User-level prpm.lock**
|
|
40
|
+
```
|
|
41
|
+
~/.agent-relay/
|
|
42
|
+
├── prpm.lock # User's global skills
|
|
43
|
+
└── .claude/skills/ # Installed skill content
|
|
44
|
+
```
|
|
45
|
+
Agent reads both project and user prpm.lock.
|
|
46
|
+
|
|
47
|
+
**C. Workspace Bundle**
|
|
48
|
+
Cloud workspaces come with @agent-relay skills pre-installed.
|
|
49
|
+
Users don't manage - just available in cloud.
|
|
50
|
+
|
|
51
|
+
## Proposed Skills to Publish
|
|
52
|
+
|
|
53
|
+
### @agent-relay/workspace-capabilities
|
|
54
|
+
Documentation for browser testing + container spawning.
|
|
55
|
+
|
|
56
|
+
```json
|
|
57
|
+
{
|
|
58
|
+
"name": "@agent-relay/workspace-capabilities",
|
|
59
|
+
"version": "1.0.0",
|
|
60
|
+
"description": "Browser testing (Playwright, VNC) and container spawning (Docker) for agent-relay workspaces",
|
|
61
|
+
"format": "claude",
|
|
62
|
+
"subtype": "skill",
|
|
63
|
+
"eager": false,
|
|
64
|
+
"tags": ["agent-relay", "browser-testing", "docker", "workspace"],
|
|
65
|
+
"files": [".claude/skills/workspace-capabilities/SKILL.md"]
|
|
66
|
+
}
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### @agent-relay/browser-testing
|
|
70
|
+
Focused Playwright/screenshot skill.
|
|
71
|
+
|
|
72
|
+
### @agent-relay/container-spawning
|
|
73
|
+
Focused Docker/container skill.
|
|
74
|
+
|
|
75
|
+
### @agent-relay/linear-integration
|
|
76
|
+
Linear webhook/API patterns.
|
|
77
|
+
|
|
78
|
+
### @agent-relay/slack-integration
|
|
79
|
+
Slack bot patterns.
|
|
80
|
+
|
|
81
|
+
### @agent-relay/workspace-pack (collection)
|
|
82
|
+
Bundle of all workspace skills.
|
|
83
|
+
|
|
84
|
+
```json
|
|
85
|
+
{
|
|
86
|
+
"collections": [{
|
|
87
|
+
"id": "workspace-pack",
|
|
88
|
+
"name": "Agent Relay Workspace Pack",
|
|
89
|
+
"description": "All workspace capability skills",
|
|
90
|
+
"packages": [
|
|
91
|
+
{ "packageId": "@agent-relay/workspace-capabilities" },
|
|
92
|
+
{ "packageId": "@agent-relay/browser-testing" },
|
|
93
|
+
{ "packageId": "@agent-relay/container-spawning" }
|
|
94
|
+
]
|
|
95
|
+
}]
|
|
96
|
+
}
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
## Tasks
|
|
100
|
+
|
|
101
|
+
### prpm-global-research
|
|
102
|
+
- [ ] Check if prpm supports `--global` flag
|
|
103
|
+
- [ ] If not, evaluate: feature request vs workaround
|
|
104
|
+
- [ ] Document findings
|
|
105
|
+
|
|
106
|
+
Dependencies: none
|
|
107
|
+
Priority: high
|
|
108
|
+
|
|
109
|
+
### user-skills-directory
|
|
110
|
+
- [ ] Define `~/.agent-relay/skills/` structure
|
|
111
|
+
- [ ] Implement reading from user directory in daemon
|
|
112
|
+
- [ ] Merge user + project skills in agent manifest
|
|
113
|
+
|
|
114
|
+
Dependencies: prpm-global-research
|
|
115
|
+
Priority: high
|
|
116
|
+
|
|
117
|
+
### publish-workspace-capabilities
|
|
118
|
+
- [ ] Create skill content (SKILL.md)
|
|
119
|
+
- [ ] Create prpm.json manifest
|
|
120
|
+
- [ ] Test locally with `prpm install .`
|
|
121
|
+
- [ ] Publish to registry.prpm.dev
|
|
122
|
+
|
|
123
|
+
Dependencies: none (can do in parallel)
|
|
124
|
+
Priority: high
|
|
125
|
+
|
|
126
|
+
### publish-browser-testing
|
|
127
|
+
- [ ] Extract browser-specific content from workspace-capabilities
|
|
128
|
+
- [ ] Create focused SKILL.md
|
|
129
|
+
- [ ] Publish to registry
|
|
130
|
+
|
|
131
|
+
Dependencies: publish-workspace-capabilities
|
|
132
|
+
Priority: medium
|
|
133
|
+
|
|
134
|
+
### publish-container-spawning
|
|
135
|
+
- [ ] Extract container-specific content
|
|
136
|
+
- [ ] Create focused SKILL.md
|
|
137
|
+
- [ ] Publish to registry
|
|
138
|
+
|
|
139
|
+
Dependencies: publish-workspace-capabilities
|
|
140
|
+
Priority: medium
|
|
141
|
+
|
|
142
|
+
### workspace-pack-collection
|
|
143
|
+
- [ ] Create collection prpm.json
|
|
144
|
+
- [ ] Bundle all workspace skills
|
|
145
|
+
- [ ] Publish collection
|
|
146
|
+
|
|
147
|
+
Dependencies: publish-browser-testing, publish-container-spawning
|
|
148
|
+
Priority: low
|
|
149
|
+
|
|
150
|
+
### cloud-workspace-provisioning
|
|
151
|
+
- [ ] Pre-install @agent-relay skills in cloud workspace images
|
|
152
|
+
- [ ] Or: fetch on workspace creation
|
|
153
|
+
- [ ] Make configurable per-workspace
|
|
154
|
+
|
|
155
|
+
Dependencies: publish-workspace-capabilities
|
|
156
|
+
Priority: medium
|
|
157
|
+
|
|
158
|
+
## Example Skill Content
|
|
159
|
+
|
|
160
|
+
```markdown
|
|
161
|
+
---
|
|
162
|
+
name: workspace-capabilities
|
|
163
|
+
description: Browser testing and container spawning for agent-relay workspaces
|
|
164
|
+
---
|
|
165
|
+
|
|
166
|
+
# Workspace Capabilities
|
|
167
|
+
|
|
168
|
+
This workspace may have additional capabilities available.
|
|
169
|
+
|
|
170
|
+
## Checking Availability
|
|
171
|
+
|
|
172
|
+
Before using these features, verify they're available:
|
|
173
|
+
|
|
174
|
+
\`\`\`typescript
|
|
175
|
+
// Check for browser testing
|
|
176
|
+
const hasBrowser = process.env.DISPLAY !== undefined;
|
|
177
|
+
|
|
178
|
+
// Check for container spawning
|
|
179
|
+
const hasDocker = existsSync('/var/run/docker.sock');
|
|
180
|
+
\`\`\`
|
|
181
|
+
|
|
182
|
+
## Browser Testing
|
|
183
|
+
|
|
184
|
+
[Content about Playwright, screenshots, VNC...]
|
|
185
|
+
|
|
186
|
+
## Container Spawning
|
|
187
|
+
|
|
188
|
+
[Content about Docker, presets, resource limits...]
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
## User Flow
|
|
192
|
+
|
|
193
|
+
```bash
|
|
194
|
+
# Option A: Global install (if prpm supports it)
|
|
195
|
+
prpm install --global @agent-relay/workspace-pack
|
|
196
|
+
|
|
197
|
+
# Option B: User directory workaround
|
|
198
|
+
cd ~/.agent-relay
|
|
199
|
+
prpm install @agent-relay/workspace-pack
|
|
200
|
+
|
|
201
|
+
# Option C: Cloud workspace (automatic)
|
|
202
|
+
# Skills pre-installed, just use them
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
## Why PRPM Over Custom
|
|
206
|
+
|
|
207
|
+
| Custom System | PRPM |
|
|
208
|
+
|--------------|------|
|
|
209
|
+
| Build registry | ✅ Already exists |
|
|
210
|
+
| Build CLI | ✅ Already exists |
|
|
211
|
+
| Build lockfile | ✅ Already exists |
|
|
212
|
+
| Version management | ✅ Already exists |
|
|
213
|
+
| Format conversion | ✅ Already exists |
|
|
214
|
+
|
|
215
|
+
**PRPM gives us distribution for free. We just publish packages.**
|
|
216
|
+
|
|
217
|
+
## Open Questions for PRPM
|
|
218
|
+
|
|
219
|
+
1. **Global installs** - `prpm install --global`?
|
|
220
|
+
2. **Multiple lockfile locations** - project + user?
|
|
221
|
+
3. **Conditional activation** - `activationCondition` field?
|
|
222
|
+
|
|
223
|
+
May need to contribute these features or work around them.
|
|
224
|
+
|
|
225
|
+
## References
|
|
226
|
+
|
|
227
|
+
- `prpm.lock` - Current installed packages
|
|
228
|
+
- `.claude/skills/prpm-json-best-practices-skill/` - How to create packages
|
|
229
|
+
- `docs/tasks/workspace-capabilities.tasks.md` - Runtime capability discovery
|
|
230
|
+
- Implementation: `src/daemon/services/browser-testing.ts`, `container-spawner.ts`
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
# Webhook Integrations - Task Breakdown
|
|
2
|
+
|
|
3
|
+
Tasks for future iterations of the webhook and integrations system.
|
|
4
|
+
Convert to beads tasks with: `bd import docs/tasks/webhook-integrations.tasks.md`
|
|
5
|
+
|
|
6
|
+
## Phase 1: Linear Full Integration [priority: high]
|
|
7
|
+
|
|
8
|
+
### linear-outbound-comments
|
|
9
|
+
- [ ] Create LinearIntegration service class
|
|
10
|
+
- [ ] Implement createComment() with Linear GraphQL API
|
|
11
|
+
- [ ] Add Linear API key management to workspace settings
|
|
12
|
+
- [ ] Add encryption for stored API keys
|
|
13
|
+
|
|
14
|
+
Dependencies: none
|
|
15
|
+
Estimate: 2 story points
|
|
16
|
+
|
|
17
|
+
### linear-outbound-state
|
|
18
|
+
- [ ] Implement setIssueState() for state transitions
|
|
19
|
+
- [ ] Implement getAvailableStates() to fetch team states
|
|
20
|
+
- [ ] Add state ID caching with TTL
|
|
21
|
+
|
|
22
|
+
Dependencies: linear-outbound-comments
|
|
23
|
+
Estimate: 1 story point
|
|
24
|
+
|
|
25
|
+
### linear-outbound-issues
|
|
26
|
+
- [ ] Implement createIssue() with full CreateIssueInput
|
|
27
|
+
- [ ] Implement updateIssue() for editing
|
|
28
|
+
- [ ] Implement assignIssue() for assignment changes
|
|
29
|
+
- [ ] Add label operations (add/remove)
|
|
30
|
+
|
|
31
|
+
Dependencies: linear-outbound-state
|
|
32
|
+
Estimate: 3 story points
|
|
33
|
+
|
|
34
|
+
### linear-webhook-state-change
|
|
35
|
+
- [ ] Parse issue state change webhooks
|
|
36
|
+
- [ ] Add `issue_state_changed` event type
|
|
37
|
+
- [ ] Create rule for auto-responding to state changes
|
|
38
|
+
|
|
39
|
+
Dependencies: none
|
|
40
|
+
Estimate: 1 story point
|
|
41
|
+
|
|
42
|
+
### linear-webhook-due-dates
|
|
43
|
+
- [ ] Parse due date approaching events
|
|
44
|
+
- [ ] Add `issue_due_soon` event type with configurable threshold
|
|
45
|
+
- [ ] Create reminder rule for approaching due dates
|
|
46
|
+
|
|
47
|
+
Dependencies: linear-webhook-state-change
|
|
48
|
+
Estimate: 1 story point
|
|
49
|
+
|
|
50
|
+
## Phase 2: Slack Enhanced [priority: high]
|
|
51
|
+
|
|
52
|
+
### slack-slash-commands
|
|
53
|
+
- [ ] Create slash command handler endpoint
|
|
54
|
+
- [ ] Parse slash command payloads
|
|
55
|
+
- [ ] Add slash_command event type
|
|
56
|
+
- [ ] Create agent spawning from slash commands
|
|
57
|
+
|
|
58
|
+
Dependencies: none
|
|
59
|
+
Estimate: 2 story points
|
|
60
|
+
|
|
61
|
+
### slack-interactive-components
|
|
62
|
+
- [ ] Handle button click callbacks
|
|
63
|
+
- [ ] Handle modal submission callbacks
|
|
64
|
+
- [ ] Add interactive_message event type
|
|
65
|
+
- [ ] Implement openModal() and updateModal()
|
|
66
|
+
|
|
67
|
+
Dependencies: slack-slash-commands
|
|
68
|
+
Estimate: 3 story points
|
|
69
|
+
|
|
70
|
+
### slack-rich-messages
|
|
71
|
+
- [ ] Implement postBlocks() with Block Kit
|
|
72
|
+
- [ ] Add common block templates (code, error, success)
|
|
73
|
+
- [ ] Add file upload support
|
|
74
|
+
- [ ] Add scheduled message support
|
|
75
|
+
|
|
76
|
+
Dependencies: none
|
|
77
|
+
Estimate: 2 story points
|
|
78
|
+
|
|
79
|
+
## Phase 3: GitHub Enhanced [priority: high]
|
|
80
|
+
|
|
81
|
+
### github-pr-management
|
|
82
|
+
- [ ] Parse PR opened/updated webhooks
|
|
83
|
+
- [ ] Add pr_opened, pr_updated event types
|
|
84
|
+
- [ ] Implement PR review request parsing
|
|
85
|
+
- [ ] Add createPR() outbound action
|
|
86
|
+
|
|
87
|
+
Dependencies: none
|
|
88
|
+
Estimate: 3 story points
|
|
89
|
+
|
|
90
|
+
### github-check-runs
|
|
91
|
+
- [ ] Implement createCheckRun() for CI status
|
|
92
|
+
- [ ] Implement updateCheckRun() for progress
|
|
93
|
+
- [ ] Add annotations support for inline errors
|
|
94
|
+
- [ ] Parse deployment status webhooks
|
|
95
|
+
|
|
96
|
+
Dependencies: github-pr-management
|
|
97
|
+
Estimate: 2 story points
|
|
98
|
+
|
|
99
|
+
### github-issue-management
|
|
100
|
+
- [ ] Implement createIssue()
|
|
101
|
+
- [ ] Implement addLabels() and removeLabels()
|
|
102
|
+
- [ ] Implement assignUsers()
|
|
103
|
+
- [ ] Add issue linking support
|
|
104
|
+
|
|
105
|
+
Dependencies: none
|
|
106
|
+
Estimate: 2 story points
|
|
107
|
+
|
|
108
|
+
## Phase 4: Agent Tools [priority: medium]
|
|
109
|
+
|
|
110
|
+
### agent-integration-tools
|
|
111
|
+
- [ ] Create integration tools accessible to agents
|
|
112
|
+
- [ ] Add LinearTool for agent actions
|
|
113
|
+
- [ ] Add SlackTool for agent messages
|
|
114
|
+
- [ ] Add GitHubTool for agent operations
|
|
115
|
+
|
|
116
|
+
Dependencies: linear-outbound-issues, slack-rich-messages, github-issue-management
|
|
117
|
+
Estimate: 4 story points
|
|
118
|
+
|
|
119
|
+
### agent-permissions
|
|
120
|
+
- [ ] Implement AgentIntegrationPermissions type
|
|
121
|
+
- [ ] Add permission checking before actions
|
|
122
|
+
- [ ] Create permission UI in spawn modal
|
|
123
|
+
- [ ] Add audit logging for all external calls
|
|
124
|
+
|
|
125
|
+
Dependencies: agent-integration-tools
|
|
126
|
+
Estimate: 2 story points
|
|
127
|
+
|
|
128
|
+
## Phase 5: Additional Integrations [priority: low]
|
|
129
|
+
|
|
130
|
+
### jira-integration
|
|
131
|
+
- [ ] Create Jira webhook parser
|
|
132
|
+
- [ ] Implement JiraIntegration service
|
|
133
|
+
- [ ] Add Jira responder
|
|
134
|
+
- [ ] Add workspace settings for Jira
|
|
135
|
+
|
|
136
|
+
Dependencies: agent-integration-tools
|
|
137
|
+
Estimate: 4 story points
|
|
138
|
+
|
|
139
|
+
### gitlab-integration
|
|
140
|
+
- [ ] Create GitLab webhook parser
|
|
141
|
+
- [ ] Implement GitLabIntegration service
|
|
142
|
+
- [ ] Add GitLab responder
|
|
143
|
+
- [ ] Map GitLab events to normalized format
|
|
144
|
+
|
|
145
|
+
Dependencies: agent-integration-tools
|
|
146
|
+
Estimate: 3 story points
|
|
147
|
+
|
|
148
|
+
### discord-integration
|
|
149
|
+
- [ ] Create Discord webhook parser
|
|
150
|
+
- [ ] Implement DiscordIntegration service
|
|
151
|
+
- [ ] Add Discord responder
|
|
152
|
+
- [ ] Handle Discord-specific message formatting
|
|
153
|
+
|
|
154
|
+
Dependencies: agent-integration-tools
|
|
155
|
+
Estimate: 3 story points
|
|
156
|
+
|
|
157
|
+
## Testing & Infrastructure
|
|
158
|
+
|
|
159
|
+
### webhook-load-testing
|
|
160
|
+
- [ ] Create load test suite for webhook endpoint
|
|
161
|
+
- [ ] Measure p50/p95/p99 latencies
|
|
162
|
+
- [ ] Test concurrent webhook handling
|
|
163
|
+
- [ ] Add rate limiting if needed
|
|
164
|
+
|
|
165
|
+
Dependencies: none
|
|
166
|
+
Estimate: 2 story points
|
|
167
|
+
|
|
168
|
+
### integration-mocks
|
|
169
|
+
- [ ] Create mock Linear API server for tests
|
|
170
|
+
- [ ] Create mock Slack API server for tests
|
|
171
|
+
- [ ] Create mock GitHub API server for tests
|
|
172
|
+
- [ ] Add E2E test suite with mocks
|
|
173
|
+
|
|
174
|
+
Dependencies: none
|
|
175
|
+
Estimate: 3 story points
|
|
176
|
+
|
|
177
|
+
### sandbox-testing
|
|
178
|
+
- [ ] Set up Linear sandbox workspace
|
|
179
|
+
- [ ] Set up Slack test workspace
|
|
180
|
+
- [ ] Set up GitHub test repository
|
|
181
|
+
- [ ] Create E2E test suite with real APIs
|
|
182
|
+
|
|
183
|
+
Dependencies: integration-mocks
|
|
184
|
+
Estimate: 2 story points
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
# Workspace Capabilities - Agent Discovery
|
|
2
|
+
|
|
3
|
+
How should agents discover and use workspace capabilities (browser testing, container spawning, etc.)?
|
|
4
|
+
|
|
5
|
+
## Problem Statement
|
|
6
|
+
|
|
7
|
+
We have workspace capabilities:
|
|
8
|
+
- Browser testing (Playwright, Xvfb, VNC)
|
|
9
|
+
- Container spawning (Docker socket)
|
|
10
|
+
- Potentially more in the future (E2B, Browserbase)
|
|
11
|
+
|
|
12
|
+
**Challenge:** How do agents know these exist without bloating context for every agent?
|
|
13
|
+
|
|
14
|
+
Current implementations exist but are not wired up:
|
|
15
|
+
- `src/daemon/services/browser-testing.ts`
|
|
16
|
+
- `src/daemon/services/container-spawner.ts`
|
|
17
|
+
- `deploy/workspace/Dockerfile.browser`
|
|
18
|
+
|
|
19
|
+
## Key Questions
|
|
20
|
+
|
|
21
|
+
### 1. Static vs Dynamic Discovery
|
|
22
|
+
- [ ] Should capabilities be in rules/skills (static, always injected)?
|
|
23
|
+
- [ ] Should capabilities be discovered via MCP at runtime (dynamic)?
|
|
24
|
+
- [ ] Hybrid: minimal hint in rules, full discovery via MCP?
|
|
25
|
+
|
|
26
|
+
### 2. Cloud vs Local
|
|
27
|
+
- [ ] Cloud workspaces: How are capabilities configured per workspace?
|
|
28
|
+
- [ ] Local daemons: How does the daemon know what's available?
|
|
29
|
+
- [ ] Should there be a "capability manifest" per workspace?
|
|
30
|
+
|
|
31
|
+
### 3. Context Budget
|
|
32
|
+
- [ ] How much context is acceptable for capability hints?
|
|
33
|
+
- [ ] Should agents ask for capabilities only when needed?
|
|
34
|
+
- [ ] Can we use tool descriptions instead of injected prompts?
|
|
35
|
+
|
|
36
|
+
### 4. Opt-in vs Opt-out
|
|
37
|
+
- [ ] Should capabilities be enabled by default?
|
|
38
|
+
- [ ] Per-workspace configuration?
|
|
39
|
+
- [ ] Per-agent configuration?
|
|
40
|
+
|
|
41
|
+
## Design Options
|
|
42
|
+
|
|
43
|
+
### Option A: MCP-Only Discovery
|
|
44
|
+
Agents call `workspace_capabilities` tool to discover what's available.
|
|
45
|
+
No static context injection.
|
|
46
|
+
|
|
47
|
+
**Pros:** Zero context overhead, dynamic
|
|
48
|
+
**Cons:** Agents might not know to call it
|
|
49
|
+
|
|
50
|
+
### Option B: Minimal Hint + MCP
|
|
51
|
+
One line in system prompt: "Call workspace_capabilities to check for browser/container tools"
|
|
52
|
+
|
|
53
|
+
**Pros:** Tiny context, agents know to look
|
|
54
|
+
**Cons:** Still some static injection
|
|
55
|
+
|
|
56
|
+
### Option C: Workspace Manifest
|
|
57
|
+
Each workspace has a capabilities.json that configures what's available.
|
|
58
|
+
Cloud provisions this, agents read at startup.
|
|
59
|
+
|
|
60
|
+
**Pros:** Explicit configuration
|
|
61
|
+
**Cons:** More infrastructure
|
|
62
|
+
|
|
63
|
+
### Option D: Auto-Detection
|
|
64
|
+
MCP server auto-detects capabilities (checks DISPLAY, docker.sock) and only exposes available tools.
|
|
65
|
+
|
|
66
|
+
**Pros:** Zero configuration, just works
|
|
67
|
+
**Cons:** Magic behavior
|
|
68
|
+
|
|
69
|
+
## Tasks
|
|
70
|
+
|
|
71
|
+
### capability-discovery-design
|
|
72
|
+
- [ ] Decide on discovery mechanism
|
|
73
|
+
- [ ] Document decision rationale
|
|
74
|
+
- [ ] Create ADR (Architecture Decision Record)
|
|
75
|
+
|
|
76
|
+
Dependencies: none
|
|
77
|
+
Priority: high
|
|
78
|
+
|
|
79
|
+
### capability-manifest-schema
|
|
80
|
+
- [ ] Define WorkspaceCapabilities schema
|
|
81
|
+
- [ ] Define how cloud provisions capabilities
|
|
82
|
+
- [ ] Define how daemon reads capabilities
|
|
83
|
+
|
|
84
|
+
Dependencies: capability-discovery-design
|
|
85
|
+
Priority: medium
|
|
86
|
+
|
|
87
|
+
### mcp-capability-tools
|
|
88
|
+
- [ ] Create MCP server for workspace tools
|
|
89
|
+
- [ ] Only expose tools for available capabilities
|
|
90
|
+
- [ ] Add workspace_capabilities discovery tool
|
|
91
|
+
|
|
92
|
+
Dependencies: capability-manifest-schema
|
|
93
|
+
Priority: medium
|
|
94
|
+
|
|
95
|
+
### agent-prompting-strategy
|
|
96
|
+
- [ ] Determine minimal context for capability awareness
|
|
97
|
+
- [ ] Test with real agents
|
|
98
|
+
- [ ] Measure context overhead
|
|
99
|
+
|
|
100
|
+
Dependencies: capability-discovery-design
|
|
101
|
+
Priority: medium
|
|
102
|
+
|
|
103
|
+
### cloud-workspace-config
|
|
104
|
+
- [ ] Add capabilities to workspace provisioning
|
|
105
|
+
- [ ] UI for enabling/disabling capabilities
|
|
106
|
+
- [ ] Per-workspace capability billing (if applicable)
|
|
107
|
+
|
|
108
|
+
Dependencies: capability-manifest-schema
|
|
109
|
+
Priority: low
|
|
110
|
+
|
|
111
|
+
## Notes
|
|
112
|
+
|
|
113
|
+
The core services are already implemented:
|
|
114
|
+
- Browser testing: `src/daemon/services/browser-testing.ts`
|
|
115
|
+
- Container spawning: `src/daemon/services/container-spawner.ts`
|
|
116
|
+
- Browser Dockerfile: `deploy/workspace/Dockerfile.browser`
|
|
117
|
+
|
|
118
|
+
What's missing is the discovery/awareness layer that doesn't bloat context.
|
|
119
|
+
|
|
120
|
+
See also:
|
|
121
|
+
- `docs/design/e2b-sandbox-integration.md` - E2B as alternative backend
|