Skip to content

feat: multi-source model hub (squash) - #176

Open
abluvsu wants to merge 6 commits into
mindsdb:stagingfrom
abluvsu:feature/multi-source-model-hub
Open

feat: multi-source model hub (squash)#176
abluvsu wants to merge 6 commits into
mindsdb:stagingfrom
abluvsu:feature/multi-source-model-hub

Conversation

@abluvsu

@abluvsu abluvsu commented Jul 8, 2026

Copy link
Copy Markdown

Squash-merge of feature/multi-source-model-hub into main. Sprint 2 S2-2 delivery.

tino097 and others added 5 commits July 6, 2026 21:00
* Detach the channel from project on the /new command

* adress comments on the PR

---------

Co-authored-by: Lucas Koontz <lucas.emanuel.koontz@gmail.com>
Adds a per-conversation coworker architecture: a provider registry
(encrypted API-key rows with failover) for Anton/Hermes, and a
BaseCliHarness abstraction with three concrete CLI coworkers (Claude
Code, Antigravity, Codex) that run on the user's own subscription
logins instead of API keys. UserSettings.config_status is now
coworker-aware so readiness reflects whichever coworker is actually
selected, not just the legacy single-slot provider fields.

Includes fixes found via live end-to-end testing: Windows .cmd/.bat
subprocess spawn (codex.cmd needs cmd.exe, not a bare exec), Codex's
deprecated --full-auto sandbox flag, and per-CLI model catalogs
(Claude Code aliases, `agy models`, Codex's ChatGPT-account-only
model) so each coworker's own models are switchable from the
composer, not just the coworker itself.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Four robustness fixes, all from failures observed in production use:

- preferred_paths + search_path: CLI discovery no longer depends on
  the PATH the server process happened to inherit. Claude Code pins
  its canonical installer location (an unrelated stale npm shim of the
  same name was shadowing it and broke every turn with 0xC0000142);
  the npm global dir, ~/.local/bin, and agy's bin are appended to the
  search/spawn PATH so coworkers can't appear or disappear based on
  whether Electron, a terminal, or a service launched the server.

- 0xC0000142 (STATUS_DLL_INIT_FAILED) handling: Windows sometimes
  refuses to initialize a child process under resource pressure. The
  CLI never executed, so retry once; if it persists, say what it
  actually is instead of the misleading "check login status".

- Status-probe tolerance: claude/codex auth probes 15s->30s (cold
  starts under load exceeded 15s), agy probes 20s->45s with one retry
  (its first call after idle reconnects to its backend — observed
  both a ~35s success and an instant exit-1 flake, each of which a
  single tight call misreports as "not logged in" / "no models").

- Guaranteed child cleanup in _run_cli teardown so a parse error or
  cancelled stream can never leak a headless CLI process.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…publish strip, KF-1 build stamp + KF-4 code-sign

OA-1 (OPENCODE): Backend OAuth probe branch, OAuthStateStore polling,
OAuthSettings bridge, config.py mapping, 4 tests passing.
OA-3 gaps (OPENCODE): settingsTransform key map, settings.py reveal_key,
user_settings.py google_oauth_configured field.
Wave 3 (GEMINI-CTO): minds_cloud provider stripped from Provider enum,
settings, providers, registry, harnesses, migrations.
Wave 4 (GEMINI-CTO): publish.py/router/tools/harness deleted.
KF-1 (OPENCODE): build stamp TTL cache in app_settings.py + tests.
KF-4 (OPENCODE): CSC_IDENTITY_AUTO_DISCOVERY=false + timeout.

Cross-verified: 66/66 pytest pass, tsc --noEmit clean.
@github-actions

github-actions Bot commented Jul 8, 2026

Copy link
Copy Markdown


Thank you for your submission, we really appreciate it. Like many open-source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution. You can sign the CLA by just posting a Pull Request Comment same as the below format.


I have read the CLA Document and I hereby sign the CLA


You can retrigger this bot by commenting recheck in this Pull Request. Posted by the CLA Assistant Lite bot.

@tino097

tino097 commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

@abluvsu please create the PR's against staging branch

@tino097
tino097 changed the base branch from main to staging July 8, 2026 20:15
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