@codeam/shared 2.61.51 → 2.61.55

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/dist/index.d.mts CHANGED
@@ -351,7 +351,7 @@ declare function isHeadroomWrappable(agentId: string): boolean;
351
351
  * ubiquitous CLI for the tool → `cliEnv`; otherwise → `mcp`. A tool may
352
352
  * declare both.
353
353
  */
354
- type IntegrationId = 'jira' | 'sentry' | 'linear' | 'slack' | 'notion' | 'azure_devops' | 'figma' | 'microsoft_teams' | 'google_chat' | 'discord' | 'resend' | 'posthog' | 'datadog' | 'stitch' | 'github_issues' | 'github' | 'gitlab';
354
+ type IntegrationId = 'jira' | 'sentry' | 'linear' | 'slack' | 'notion' | 'azure_devops' | 'figma' | 'microsoft_teams' | 'google_chat' | 'discord' | 'resend' | 'posthog' | 'datadog' | 'stitch' | 'github_issues' | 'github' | 'gitlab' | 'vercel';
355
355
  /**
356
356
  * `derived` = no link flow of its own: the credential is BORROWED live from a
357
357
  * connection the user already made elsewhere (see `derivedFrom`). The backend
@@ -380,7 +380,7 @@ type DerivedCredentialSource = 'github';
380
380
  /** Grouping used by category-driven surfaces (Start-from-Work-Item picker,
381
381
  * catalog sections). A future tracker integration joins those features with
382
382
  * ZERO feature code — they resolve sources from the registry by category. */
383
- type IntegrationCategory = 'version_control' | 'tracker' | 'design' | 'comms' | 'docs' | 'observability';
383
+ type IntegrationCategory = 'version_control' | 'tracker' | 'design' | 'comms' | 'docs' | 'observability' | 'deployment';
384
384
  /**
385
385
  * One user-entered field for an `api_key` integration (no browser OAuth — the
386
386
  * user pastes credentials directly, e.g. a PAT + an org URL). The mobile form
@@ -556,7 +556,7 @@ interface IntegrationBranding {
556
556
  logoSvg: string;
557
557
  }
558
558
  declare const INTEGRATION_BRANDING: Record<string, IntegrationBranding>;
559
- declare const UPCOMING_INTEGRATION_IDS: readonly ["gmail", "clickup", "figma", "trello", "vercel", "supabase", "asana", "postman", "n8n", "stripe", "mixpanel", "pendo", "pagerduty", "amplitude"];
559
+ declare const UPCOMING_INTEGRATION_IDS: readonly ["gmail", "clickup", "figma", "trello", "supabase", "asana", "postman", "n8n", "stripe", "mixpanel", "pendo", "pagerduty", "amplitude"];
560
560
  declare function getIntegrationBranding(id: string): IntegrationBranding | null;
561
561
 
562
562
  /**
package/dist/index.d.ts CHANGED
@@ -351,7 +351,7 @@ declare function isHeadroomWrappable(agentId: string): boolean;
351
351
  * ubiquitous CLI for the tool → `cliEnv`; otherwise → `mcp`. A tool may
352
352
  * declare both.
353
353
  */
354
- type IntegrationId = 'jira' | 'sentry' | 'linear' | 'slack' | 'notion' | 'azure_devops' | 'figma' | 'microsoft_teams' | 'google_chat' | 'discord' | 'resend' | 'posthog' | 'datadog' | 'stitch' | 'github_issues' | 'github' | 'gitlab';
354
+ type IntegrationId = 'jira' | 'sentry' | 'linear' | 'slack' | 'notion' | 'azure_devops' | 'figma' | 'microsoft_teams' | 'google_chat' | 'discord' | 'resend' | 'posthog' | 'datadog' | 'stitch' | 'github_issues' | 'github' | 'gitlab' | 'vercel';
355
355
  /**
356
356
  * `derived` = no link flow of its own: the credential is BORROWED live from a
357
357
  * connection the user already made elsewhere (see `derivedFrom`). The backend
@@ -380,7 +380,7 @@ type DerivedCredentialSource = 'github';
380
380
  /** Grouping used by category-driven surfaces (Start-from-Work-Item picker,
381
381
  * catalog sections). A future tracker integration joins those features with
382
382
  * ZERO feature code — they resolve sources from the registry by category. */
383
- type IntegrationCategory = 'version_control' | 'tracker' | 'design' | 'comms' | 'docs' | 'observability';
383
+ type IntegrationCategory = 'version_control' | 'tracker' | 'design' | 'comms' | 'docs' | 'observability' | 'deployment';
384
384
  /**
385
385
  * One user-entered field for an `api_key` integration (no browser OAuth — the
386
386
  * user pastes credentials directly, e.g. a PAT + an org URL). The mobile form
@@ -556,7 +556,7 @@ interface IntegrationBranding {
556
556
  logoSvg: string;
557
557
  }
558
558
  declare const INTEGRATION_BRANDING: Record<string, IntegrationBranding>;
559
- declare const UPCOMING_INTEGRATION_IDS: readonly ["gmail", "clickup", "figma", "trello", "vercel", "supabase", "asana", "postman", "n8n", "stripe", "mixpanel", "pendo", "pagerduty", "amplitude"];
559
+ declare const UPCOMING_INTEGRATION_IDS: readonly ["gmail", "clickup", "figma", "trello", "supabase", "asana", "postman", "n8n", "stripe", "mixpanel", "pendo", "pagerduty", "amplitude"];
560
560
  declare function getIntegrationBranding(id: string): IntegrationBranding | null;
561
561
 
562
562
  /**
package/dist/index.js CHANGED
@@ -1187,6 +1187,38 @@ var INTEGRATION_REGISTRY = {
1187
1187
  httpHeaders: { "X-Goog-Api-Key": "{accessToken}" }
1188
1188
  }
1189
1189
  }
1190
+ },
1191
+ vercel: {
1192
+ id: "vercel",
1193
+ name: "Vercel",
1194
+ icon: "vercel",
1195
+ category: "deployment",
1196
+ // DARK — OAuth (PKCE public client). The user authorizes our registered
1197
+ // Vercel OAuth app; the access token calls Vercel's OFFICIAL hosted remote
1198
+ // MCP (mcp.vercel.com, Streamable HTTP) as a Bearer header — the SAME shim
1199
+ // HTTP transport as PostHog/Datadog. Vercel MCP is approved-clients + per-
1200
+ // connection OAuth consent, but that consent is the ONE-TIME authorize (not
1201
+ // per MCP request), so a backend-brokered access token works headless.
1202
+ // Endpoints (from mcp.vercel.com/.well-known/oauth-protected-resource →
1203
+ // vercel.com/.well-known/oauth-authorization-server): authorize
1204
+ // https://vercel.com/oauth/authorize, token
1205
+ // https://vercel.com/api/login/oauth/token, PKCE S256, token-endpoint auth
1206
+ // 'none' (public). LIVE — the headless Bearer against mcp.vercel.com was
1207
+ // verified (2026-07-27).
1208
+ enabled: true,
1209
+ auth: {
1210
+ kind: "oauth_redirect",
1211
+ scopes: ["openid", "offline_access"]
1212
+ },
1213
+ delivery: {
1214
+ mcp: {
1215
+ command: "",
1216
+ args: [],
1217
+ envMapping: {},
1218
+ httpUrl: "https://mcp.vercel.com",
1219
+ httpHeaders: { Authorization: "Bearer {accessToken}" }
1220
+ }
1221
+ }
1190
1222
  }
1191
1223
  };
1192
1224
  function getEnabledIntegrations() {
@@ -1481,7 +1513,6 @@ var UPCOMING_INTEGRATION_IDS = [
1481
1513
  "clickup",
1482
1514
  "figma",
1483
1515
  "trello",
1484
- "vercel",
1485
1516
  "supabase",
1486
1517
  "asana",
1487
1518
  "postman",