@codeam/shared 2.61.31 → 2.61.33

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' | 'github_issues' | 'github';
354
+ type IntegrationId = 'jira' | 'sentry' | 'linear' | 'slack' | 'notion' | 'azure_devops' | 'figma' | 'microsoft_teams' | 'google_chat' | 'discord' | 'github_issues' | 'github' | 'gitlab';
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
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' | 'github_issues' | 'github';
354
+ type IntegrationId = 'jira' | 'sentry' | 'linear' | 'slack' | 'notion' | 'azure_devops' | 'figma' | 'microsoft_teams' | 'google_chat' | 'discord' | 'github_issues' | 'github' | 'gitlab';
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
package/dist/index.js CHANGED
@@ -696,6 +696,36 @@ var INTEGRATION_REGISTRY = {
696
696
  // No MCP: a deployed box already has an authenticated `gh` on PATH.
697
697
  delivery: {}
698
698
  },
699
+ gitlab: {
700
+ id: "gitlab",
701
+ name: "GitLab",
702
+ icon: "gitlab",
703
+ category: "version_control",
704
+ // LIVE — a user-owned gitlab.com application (Confidential) with BOTH env
705
+ // callbacks registered, so dev/prod share the client and differ only in
706
+ // GITLAB_OAUTH_REDIRECT_URI. The backend GitLabOAuthProvider is
707
+ // config-gated (503 if env unset), so this is safe mid-rollout.
708
+ //
709
+ // ⚠️ Unlike `github`, this is a NORMAL `oauth_redirect` integration: its
710
+ // credential is vaulted here rather than living in a ProviderToken, because
711
+ // nothing else in the product owns a GitLab connection (GitHub's lives on
712
+ // the codespaces rail, which is why it's `kind: 'connection'`).
713
+ enabled: true,
714
+ auth: {
715
+ kind: "oauth_redirect",
716
+ // GitLab has NO per-resource scopes — `api` is the only one that grants
717
+ // merge-request WRITE (comment / approve / merge / close), so a
718
+ // read-only alternative would make the whole MR surface useless.
719
+ // `write_repository` is the git-over-HTTPS rail for the agent's push;
720
+ // `api` already covers it for user tokens, but it costs nothing on a
721
+ // consent screen that already says "complete read/write access" and
722
+ // changing scopes later forces EVERY user to re-authorize.
723
+ scopes: ["api", "write_repository"]
724
+ },
725
+ // No MCP: the box's `git` is authenticated for push, and the MR surface is
726
+ // served backend-side by the VCS provider — same shape as `github`.
727
+ delivery: {}
728
+ },
699
729
  github_issues: {
700
730
  id: "github_issues",
701
731
  name: "GitHub Issues",
@@ -956,6 +986,18 @@ function getIntegrationsByCategory(category) {
956
986
 
957
987
  // src/integrations/branding.ts
958
988
  var INTEGRATION_BRANDING = {
989
+ // GitLab — the official multicolour Tanuki (from GitLab's own header markup),
990
+ // like jira/slack. Kept verbatim: the four paths are the shape + the two
991
+ // cheeks + the chin, and flattening them to one colour loses the mark.
992
+ // `aria-hidden`/`role`/`class` were stripped — the renderers own a11y.
993
+ gitlab: {
994
+ id: "gitlab",
995
+ name: "GitLab",
996
+ vendor: "GitLab",
997
+ tagline: "Merge requests, reviews & CI",
998
+ brandColor: "#FC6D26",
999
+ logoSvg: '<svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="m24.507 9.5-.034-.09L21.082.562a.896.896 0 0 0-1.694.091l-2.29 7.01H7.825L5.535.653a.898.898 0 0 0-1.694-.09L.451 9.411.416 9.5a6.297 6.297 0 0 0 2.09 7.278l.012.01.03.022 5.16 3.867 2.56 1.935 1.554 1.176a1.051 1.051 0 0 0 1.268 0l1.555-1.176 2.56-1.935 5.197-3.89.014-.01A6.297 6.297 0 0 0 24.507 9.5Z" fill="#E24329"/><path d="m24.507 9.5-.034-.09a11.44 11.44 0 0 0-4.56 2.051l-7.447 5.632 4.742 3.584 5.197-3.89.014-.01A6.297 6.297 0 0 0 24.507 9.5Z" fill="#FC6D26"/><path d="m7.707 20.677 2.56 1.935 1.555 1.176a1.051 1.051 0 0 0 1.268 0l1.555-1.176 2.56-1.935-4.743-3.584-4.755 3.584Z" fill="#FCA326"/><path d="M5.01 11.461a11.43 11.43 0 0 0-4.56-2.05L.416 9.5a6.297 6.297 0 0 0 2.09 7.278l.012.01.03.022 5.16 3.867 4.745-3.584-7.444-5.632Z" fill="#FC6D26"/></svg>'
1000
+ },
959
1001
  // GitHub — now a REAL `IntegrationId` (`version_control`, `kind: 'connection'`).
960
1002
  // It started life here as a brand-only entry, back when GitHub was rendered by
961
1003
  // a hand-written special-case row; the mark is unchanged, it's just also the