Skip to content

refactor(providers): rename managed→platform for catalog auth symbols#30432

Merged
noanflaherty merged 3 commits into
mainfrom
credence/managed-platform-rename
May 13, 2026
Merged

refactor(providers): rename managed→platform for catalog auth symbols#30432
noanflaherty merged 3 commits into
mainfrom
credence/managed-platform-rename

Conversation

@noanflaherty
Copy link
Copy Markdown
Contributor

Why

Follow-up to #30411 (just merged) and the macOS/web UI changes (#30408, vellum-ai/vellum-assistant-platform#6566). The codebase has been using two words for the same concept:

Layer Word
User-facing UI label "Platform (managed by Vellum)"
Auth-type wire value "platform" (AuthType.platform / connection JSON)
Internal symbols MANAGED_PROVIDER_META, supportsManagedAuth, isManagedCapable, managedCapableProviders, managed-proxy/

This PR aligns the internal symbols with the user-facing platform terminology so future readers don't have to mentally translate.

What

Single commit on top of current main (which now includes #30411's catalog flag).

Symbol renames (word-boundary-safe sed across .ts/.swift/.tsx/.json)

Before After
MANAGED_PROVIDER_META PLATFORM_PROVIDER_META
supportsManagedAuth supportsPlatformAuth
isManagedCapable isPlatformCapable
managedCapableProviders platformCapableProviders

Path renames

Before After
assistant/src/providers/managed-proxy/ assistant/src/providers/platform-proxy/
assistant/src/__tests__/managed-proxy-context.test.ts .../platform-proxy-context.test.ts
assistant/src/__tests__/provider-managed-proxy-integration.test.ts .../provider-platform-proxy-integration.test.ts
assistant/src/__tests__/secret-routes-managed-proxy.test.ts .../secret-routes-platform-proxy.test.ts

Import-path strings inside source

'./managed-proxy/...''./platform-proxy/...' (and equivalent forms).

What is NOT renamed (out of scope)

  • User-facing copy "Platform (managed by Vellum)" — that's the UX label disambiguating what "Platform" means; renaming would degrade end-user clarity.
  • Runtime routing-source discriminator "managed-proxy" — used in the ProviderRoutingSource union type and several runtime === "managed-proxy" checks. Pure in-process, no wire/persistence concern, but kept out of this PR to keep the rename mechanical and contained. Easy follow-up if you want it tightened.
  • MANAGED_USAGE_LIMIT error code — wire-format contract with the macOS/iOS clients; out-of-scope structural rename.
  • ManagedProxyCredentials / ManagedProxyContext type names — left for a separate follow-up.

Test

  • bunx tsc --noEmit on assistant/ — clean (only pre-existing unrelated packages/ errors).
  • bun test on platform-proxy-context, provider-platform-proxy-integration, secret-routes-platform-proxy, llm-catalog-parity, satellite-connection-routing, credential-security-invariants — 110 pass / 0 fail.
  • bun run scripts/sync-llm-catalog.ts --check — clean.

Followups (if scope creep wanted)

  • Rename runtime "managed-proxy" discriminator and ManagedProxy* type names — bounded, in-process, safe.
  • Web side vellum-ai/vellum-assistant-platform#6581 will get its parallel rename (providerSupportsManagedAuth, PROVIDER_SUPPORTS_MANAGED_AUTH) once this merges and the catalog re-vendors.

@noanflaherty noanflaherty force-pushed the credence/managed-platform-rename branch from c852f3d to eea27ee Compare May 12, 2026 20:37
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

await loadUserPlugins();

P1 Badge Install plugin runtime before loading user plugins

Calling loadUserPlugins() without first installing globalThis.__vellumPluginRuntime breaks the documented legacy plugin contract: register-based plugins that read the runtime in module scope (for example assistant/examples/plugins/echo/register.ts, as described in assistant/src/plugins/external-api.ts) will throw during import and never register, so existing workspace plugins silently stop working.

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

"runtime/routes/credential-routes.ts", // CLI credential management routes (CLI-migrated to IPC)
"runtime/routes/platform-routes.ts", // CLI platform connect/disconnect/status routes (CLI-migrated to IPC)
"ipc/skill-routes/providers.ts", // host.providers.secureKeys.getProviderKey IPC route (out-of-process SkillHost companion)
"daemon/external-plugins-bootstrap.ts", // reads credentials at plugin init (manifest.requiresCredential) via the CES-mediated getSecureKeyAsync path
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Keep external-api in secure-keys importer allowlist

Removing this allowlist entry introduces a self-failing invariant: assistant/src/plugins/external-api.ts still imports getSecureKeyAsync from security/secure-keys.js, so the secure-keys is only imported by authorized modules scan will now always report an unauthorized importer and fail this test in normal CI/dev environments.

Useful? React with 👍 / 👎.

@vellum-automation
Copy link
Copy Markdown
Contributor

🖥️ macOS app artifact for this PR is ready for download: Download vellum-assistant-pr-30432.dmg

To run this build locally:

vel up macos --pr 30432

@vellum-automation
Copy link
Copy Markdown
Contributor

🖥️ macOS app artifact for this PR is ready for download: Download vellum-assistant-pr-30432.dmg

To run this build locally:

vel up macos --pr 30432

@credence-the-bot credence-the-bot Bot force-pushed the credence/managed-platform-rename branch from 6e32485 to 05f86cc Compare May 13, 2026 02:17
@vellum-automation
Copy link
Copy Markdown
Contributor

📦 Assistant artifact for this PR is ready for download: Download assistant-pr-30432

To run this build locally:

vel up assistant --pr 30432

credence-the-bot Bot pushed a commit that referenced this pull request May 13, 2026
The skills-import route handler shipped in #29915 but openapi.yaml was
not regenerated as part of that merge. Rebasing #30432 onto main surfaces
the staleness via the OpenAPI Spec Check job. Pure regen — no code
change in this commit.
@vellum-automation
Copy link
Copy Markdown
Contributor

📦 Assistant artifact for this PR is ready for download: Download assistant-pr-30432

To run this build locally:

vel up assistant --pr 30432

@noanflaherty
Copy link
Copy Markdown
Contributor Author

@codex review
@devin review

@chatgpt-codex-connector
Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Breezy!

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

noanflaherty and others added 3 commits May 13, 2026 02:34
Follow-up to the catalog-driven auth refactor (#30411 in this same
branch + #6566 on the web side). The codebase has been using two
words for the same concept:

  - User-facing UI:          'Platform (managed by Vellum)'
  - Auth-type wire value:    'platform'  (AuthType.platform on Swift,
                                          "platform" in TS connection JSON)
  - Internal symbols:        MANAGED_PROVIDER_META, supportsManagedAuth,
                             isManagedCapable, managedCapableProviders,
                             managed-proxy/ directory

This commit aligns the internal symbols with the user-facing 'platform'
terminology so future readers don't have to mentally translate.

Renames
-------
Symbols (word-boundary-safe sed across .ts/.swift/.tsx/.json):

  MANAGED_PROVIDER_META      -> PLATFORM_PROVIDER_META
  supportsManagedAuth        -> supportsPlatformAuth
  isManagedCapable           -> isPlatformCapable
  managedCapableProviders    -> platformCapableProviders

Files / paths:

  assistant/src/providers/managed-proxy/   -> .../platform-proxy/
  assistant/src/__tests__/managed-proxy-context.test.ts
    -> .../platform-proxy-context.test.ts
  assistant/src/__tests__/provider-managed-proxy-integration.test.ts
    -> .../provider-platform-proxy-integration.test.ts
  assistant/src/__tests__/secret-routes-managed-proxy.test.ts
    -> .../secret-routes-platform-proxy.test.ts

Import-path string substitutions inside source files:
  './managed-proxy/...'  -> './platform-proxy/...'

What is NOT renamed (out of scope)
----------------------------------
* User-facing copy 'Platform (managed by Vellum)' — that's the UX
  label disambiguating what 'Platform' means; renaming would degrade
  clarity for end users.
* Runtime routing-source discriminator string 'managed-proxy' — used
  in ProviderRoutingSource union type and several runtime checks.
  Leaving for a separate follow-up if Noa wants it tightened.
* MANAGED_USAGE_LIMIT error code — wire-format contract with the
  macOS/iOS clients; out-of-scope structural rename.
* ManagedProxyCredentials / ManagedProxyContext type names — left
  for a separate follow-up.

Test
----
* bunx tsc --noEmit on assistant/ — clean.
* bun test platform-proxy-context, provider-platform-proxy-integration,
  secret-routes-platform-proxy, llm-catalog-parity, satellite-connection-routing,
  credential-security-invariants — 110 tests pass.
* bun run scripts/sync-llm-catalog.ts --check — clean.
The rename in the parent commit shifted import path prefixes
(`managed-proxy/*` → `platform-proxy/*`), which puts them later
in the alphabetical order simple-import-sort enforces.

* assistant/src/__tests__/llm-catalog-parity.test.ts: swap
  PROVIDER_CATALOG / PLATFORM_PROVIDER_META order so `model-catalog`
  (m) precedes `platform-proxy/constants` (p).
* assistant/src/providers/registry.ts: move the
  `./platform-proxy/context.js` import block after `./model-intents.js`
  for the same reason.

Test
----
* bunx tsc --noEmit clean.
* No behavior change.
The skills-import route handler shipped in #29915 but openapi.yaml was
not regenerated as part of that merge. Rebasing #30432 onto main surfaces
the staleness via the OpenAPI Spec Check job. Pure regen — no code
change in this commit.
@credence-the-bot credence-the-bot Bot force-pushed the credence/managed-platform-rename branch from e20a1c3 to f750167 Compare May 13, 2026 02:34
@noanflaherty noanflaherty merged commit fda6900 into main May 13, 2026
11 checks passed
@noanflaherty noanflaherty deleted the credence/managed-platform-rename branch May 13, 2026 02:36
@vellum-automation
Copy link
Copy Markdown
Contributor

📦 Assistant artifact for this PR is ready for download: Download assistant-pr-30432

To run this build locally:

vel up assistant --pr 30432

@vellum-automation
Copy link
Copy Markdown
Contributor

🖥️ macOS app artifact for this PR is ready for download: Download vellum-assistant-pr-30432.dmg

To run this build locally:

vel up macos --pr 30432

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant