Skip to content

feat(desktop): sync v2 provider models live from Den - #6111

Merged
benjaminshafii merged 11 commits into
devfrom
feat/live-provider-sync
Oct 17, 2026
Merged

benjaminshafii merged 11 commits into
devfrom
feat/live-provider-sync

Conversation

@benjaminshafii

@benjaminshafii benjaminshafii commented Oct 17, 2026 •

Copy link
Copy Markdown
Member

What is this about?

Organization model changes reach an already-open desktop model picker without refreshing or restarting a chat.

What problem does it solve?

Models could remain stale for minutes while multiple components tried to synchronize the same provider state.

What was the situation before?

The picker kept showing old models after an administrator changed the organization's available models.

How is this implemented?

  • Behind liveProviderSync: cloud and self-hosted, default off, safe to kill. The next engine start freshly resolves the rollout and restores legacy behavior; killing it does not interrupt requests. V1 retains legacy sync.
  • Den fingerprints caller-visible dependencies and sends SSE invalidations from two-second database checks; generated Helm/OpenAPI/SDK contracts are included.
  • The bundled plugin owns v2 Gateway inventory, sharing streams and retrying failures. Private-pipe/loopback transport provides scoped inventory and inference through ephemeral keys. Reusable Den/Gateway credentials stay outside the engine, including project plugins.
  • Pinned v2 emits provider.updated/model.updated, not catalog.updated. Live-only invalidation consumes these events. Entire Gateway config rows are removed; policy and quota hooks still apply. Diagnosis, scenario limits and verification: docs/live-provider-sync-verification.md.

What else changed?

CI provisions verified engine binaries and Bun before tests rather than skipping required runtime coverage.

Release note

With live model updates enabled, organization model changes appear automatically in the desktop picker.

Evidence

evals/proofs/live-provider-sync.proof.test.ts — before: two assigned sibling models; after: three independent cold organizations exercise lifecycle changes, scoped member/team grants and bursts in the same open picker, checking exact identities, presence and absence.

Design: P5, P10, P11, S5.

@mintlify

mintlify Bot commented Oct 17, 2026 •

Copy link
Copy Markdown
Contributor

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated
differentai 🟢 Ready View Preview Oct 17, 2026, 4:26 AM

💡 Tip: Enable Automations to automatically generate PRs for you.

@vercel

vercel Bot commented Oct 17, 2026 •

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
openwork-landing Ready Ready Preview, v0 Oct 17, 2026 6:46am UTC
3 Skipped Deployments
Project Deployment Actions Updated
openwork-app Ignored Ignored Preview Oct 17, 2026 6:46am UTC
openwork-den Ignored Ignored Preview Oct 17, 2026 6:46am UTC
openwork-diagnostics Ignored Ignored Preview Oct 17, 2026 6:46am UTC

Request Review

@github-actions

github-actions Bot commented Oct 17, 2026 •

Copy link
Copy Markdown
Contributor

OpenWork evidence

Status Commit Preview Updated
🟢 Ready · evidence passed 318563d Open preview 2026-10-17 06:53:58 UTC

Run details · Open the preview to inspect evidence and sandbox options.

@diff-warden

diff-warden Bot commented Oct 17, 2026 •

Copy link
Copy Markdown
Contributor

Warden: not approved

Security review found 1 high severity finding. Fix it and push; Warden reviews again automatically. If it is a false positive, a maintainer can approve by hand.

Security findings (1 finding)

high: Untrusted project plugins can obtain the live inference key in `apps/server/src/engine-v2-preview.ts:898`
Do not expose the provider-session capability to an engine process that also runs project-controlled plugins; a malicious project plugin can retrieve the inference key and make provider requests as the signed-in user.

Reviewed 318563de8c07 · Warden run · Updates after every Warden run.

@github-actions
github-actions Bot temporarily deployed to Evidence / PR 6111 October 17, 2026 04:33 Inactive
@github-actions
github-actions Bot temporarily deployed to Evidence / PR 6111 October 17, 2026 05:35 Inactive
@github-actions
github-actions Bot temporarily deployed to Evidence / PR 6111 October 17, 2026 06:13 Inactive

This branch was successfully deployed

6 active (4 outdated) and 1 inactive deployments
Evidence / PR 6111 — 318563de Deployed Oct 17, 2026 by github-actions[bot]
Preview – openwork-landing — 318563de Deployed Oct 17, 2026 by vercel[bot]
Preview – openwork-den — acd799f1 Deployed Oct 17, 2026 by vercel[bot]
Preview – openwork-diagnostics — acd799f1 Deployed Oct 17, 2026 by vercel[bot]
staging - packages/docs — acd799f1 Deployed Oct 17, 2026 by mintlify[bot]
Preview – openwork-app — acd799f1 Deployed Oct 17, 2026 by vercel[bot]
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.

2 participants