@codeam/shared 2.61.30 → 2.61.32

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.mjs CHANGED
@@ -590,6 +590,60 @@ var INTEGRATION_REGISTRY = {
590
590
  }
591
591
  }
592
592
  },
593
+ github: {
594
+ id: "github",
595
+ name: "GitHub",
596
+ icon: "github",
597
+ category: "version_control",
598
+ // LIVE. GitHub is the product's code substrate (codespaces + the PR
599
+ // Command Center), and it was historically the ONE connection outside this
600
+ // registry: its credential lives in a `ProviderToken` row rather than the
601
+ // integrations vault, so it was rendered by a hand-written special-case row
602
+ // and could not legally appear in a deploy's `integrationIds` (the manifest
603
+ // resolver rejects unknown ids — a recurring bug class).
604
+ //
605
+ // `kind: 'connection'` closes that gap without re-plumbing OAuth: the entry
606
+ // makes GitHub a first-class, categorised catalog row whose credential the
607
+ // backend resolves from the SAME `ProviderToken` it always used, while the
608
+ // connect/disconnect flow stays owned by the codespaces rail (the clients
609
+ // route those two actions there). ⚠️ It is a REAL connection with a REAL
610
+ // disconnect — do NOT treat it like `github_issues`, which merely derives
611
+ // from it and has no actions of its own.
612
+ enabled: true,
613
+ auth: { kind: "connection", connection: "github" },
614
+ // No MCP: a deployed box already has an authenticated `gh` on PATH.
615
+ delivery: {}
616
+ },
617
+ gitlab: {
618
+ id: "gitlab",
619
+ name: "GitLab",
620
+ icon: "gitlab",
621
+ category: "version_control",
622
+ // LIVE — a user-owned gitlab.com application (Confidential) with BOTH env
623
+ // callbacks registered, so dev/prod share the client and differ only in
624
+ // GITLAB_OAUTH_REDIRECT_URI. The backend GitLabOAuthProvider is
625
+ // config-gated (503 if env unset), so this is safe mid-rollout.
626
+ //
627
+ // ⚠️ Unlike `github`, this is a NORMAL `oauth_redirect` integration: its
628
+ // credential is vaulted here rather than living in a ProviderToken, because
629
+ // nothing else in the product owns a GitLab connection (GitHub's lives on
630
+ // the codespaces rail, which is why it's `kind: 'connection'`).
631
+ enabled: true,
632
+ auth: {
633
+ kind: "oauth_redirect",
634
+ // GitLab has NO per-resource scopes — `api` is the only one that grants
635
+ // merge-request WRITE (comment / approve / merge / close), so a
636
+ // read-only alternative would make the whole MR surface useless.
637
+ // `write_repository` is the git-over-HTTPS rail for the agent's push;
638
+ // `api` already covers it for user tokens, but it costs nothing on a
639
+ // consent screen that already says "complete read/write access" and
640
+ // changing scopes later forces EVERY user to re-authorize.
641
+ scopes: ["api", "write_repository"]
642
+ },
643
+ // No MCP: the box's `git` is authenticated for push, and the MR surface is
644
+ // served backend-side by the VCS provider — same shape as `github`.
645
+ delivery: {}
646
+ },
593
647
  github_issues: {
594
648
  id: "github_issues",
595
649
  name: "GitHub Issues",
@@ -850,10 +904,22 @@ function getIntegrationsByCategory(category) {
850
904
 
851
905
  // src/integrations/branding.ts
852
906
  var INTEGRATION_BRANDING = {
853
- // GitHuba brand-only entry (NOT an `IntegrationId`; v1 reuses the
854
- // codespaces OAuth token rather than exposing GitHub as a linkable toolkit).
855
- // Present so the PR/MR Command Center surfaces (the review-launch toast, etc.)
856
- // render the official GitHub mark from the ONE shared catalog.
907
+ // GitLabthe official multicolour Tanuki (from GitLab's own header markup),
908
+ // like jira/slack. Kept verbatim: the four paths are the shape + the two
909
+ // cheeks + the chin, and flattening them to one colour loses the mark.
910
+ // `aria-hidden`/`role`/`class` were stripped the renderers own a11y.
911
+ gitlab: {
912
+ id: "gitlab",
913
+ name: "GitLab",
914
+ vendor: "GitLab",
915
+ tagline: "Merge requests, reviews & CI",
916
+ brandColor: "#FC6D26",
917
+ 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>'
918
+ },
919
+ // GitHub — now a REAL `IntegrationId` (`version_control`, `kind: 'connection'`).
920
+ // It started life here as a brand-only entry, back when GitHub was rendered by
921
+ // a hand-written special-case row; the mark is unchanged, it's just also the
922
+ // catalog row's logo now. Still used by the PR/MR Command Center surfaces.
857
923
  github: {
858
924
  id: "github",
859
925
  name: "GitHub",