Skip to content

feat(integrations-redesign): P1 — connector display metadata + status + member catalog - #393

Merged
nikhilunni merged 1 commit into
mainfrom
feat/integrations-redesign-p1-connector-model
Jun 23, 2026
Merged

nikhilunni merged 1 commit into
mainfrom
feat/integrations-redesign-p1-connector-model

Conversation

@nikhilunni

Copy link
Copy Markdown
Contributor

Integrations & Profiles redesign — Phase 1 (of 6)

First slice of the Claude-Design Integrations & Profiles redesign (no new ADR; layered on ADR 0056/0057). Pure orchestrator-side connector-model work — no proto/codegen, no DB migration.

What this adds

  • Connector display identity. Connector gains display { name, category, blurb, icon { mono, color, logo? } }. parseConnector validates it and defaults every field off the provider id (title-cased name, first-two-char monogram, deterministic palette tint, "Other" category) so a parsed connector always carries a complete, never-broken identity. Limits enforced (mono ≤2, #hex color, name/category/blurb caps, logo URL no-whitespace).
  • Curated seeds — GitHub (GH/#1f2328, Source control) and Datadog (DD/#632ca6, Observability).
  • connectorStatus(connector, orgSecretNames, requiredMintSecretNames?) — connected vs available. inject ⇔ secretRef present; mint ⇔ all required ${kind}.${field} org secrets present (caller supplies names from the mint-kind registry).
  • buildProviderCatalog(registry) — a member-safe projection: display + hosts + credentialSource + capabilities[{action, access, asset?}] (access derived from HTTP method). Carries no secretRef/header/template/mint-kind — safe to surface to non-admins (the Launch receipt + in-session provider icons in later phases).

Invariants kept

  • Slug stays canonical; label/access are derived for display only.
  • @resource untouched (parsed, not enforced, not exposed).
  • Secret values never cross the wire — only refs.

Tests / CI

Extends orchestrator/src/__tests__/connectors.test.ts (display defaults/validation, connectorStatus, buildProviderCatalog no-leak + derived access). Already covered by the orchestrator CI lane (bun run typecheck + bun test). Local: typecheck clean, 241 pass / 0 fail.

Stack

Phase 1 of a stacked series. PR2 (proto + RPCs + coordinator Test/logo) will base off this branch.

🤖 Generated with Claude Code

… + member catalog

Foundation for the Integrations & Profiles redesign (no ADR; built on
ADR 0056/0057). Pure orchestrator-side connector-model work, no codegen.

- `Connector` gains a `display { name, category, blurb, icon { mono, color, logo? } }`
  block. `parseConnector` validates it and DEFAULTS every field off the provider id
  (title-cased name, first-two-char monogram, deterministic palette tint, "Other"
  category), so a parsed connector always carries a complete, never-broken identity.
  Limits: mono ≤2, `#hex` color, name/category/blurb length caps, logo URL no-whitespace.
- Curated identities seeded into github.json (GH/#1f2328, Source control) and
  datadog.json (DD/#632ca6, Observability).
- `connectorStatus(connector, orgSecretNames, requiredMintSecretNames?)` derives
  connected vs available — inject ⇔ secretRef present; mint ⇔ all required
  `${kind}.${field}` secrets present (caller supplies the names).
- `buildProviderCatalog(registry)` projects the registry into a member-safe view
  (display + hosts + credentialSource + capabilities[{action, access, asset?}],
  access derived from HTTP method). Carries NO secretRef/header/template/mint kind —
  safe for the Launch receipt + in-session provider icons.

Invariants kept: the slug stays canonical (label/access are derived for display);
`@resource` is untouched; secret values never cross the wire. Tests extend
connectors.test.ts (already run by the orchestrator `bun test` CI lane).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@nikhilunni
nikhilunni force-pushed the feat/integrations-redesign-p1-connector-model branch from 0faacd5 to c3b3480 Compare June 23, 2026 20:02
@nikhilunni
nikhilunni merged commit 714be45 into main Jun 23, 2026
19 checks passed
@nikhilunni
nikhilunni deleted the feat/integrations-redesign-p1-connector-model branch June 23, 2026 20:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant