feat: multi-source model hub (squash) - #176
Open
abluvsu wants to merge 6 commits into
Open
Conversation
* 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.
|
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. |
Contributor
|
@abluvsu please create the PR's against |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Squash-merge of feature/multi-source-model-hub into main. Sprint 2 S2-2 delivery.