singularity-forge/packages/pi-coding-agent/src/core
mikkihugo dc0db3868a
Add per-family proxy provider priority system with TUI and 429 fallback
- model-registry: export PROXY_FAMILY_PRIORITY and GLOBAL_PROVIDER_FALLBACK
  constants; add getModelsForProxy() returning candidates ordered by family
  priority then global fallback (opencode → opencode-go → openrouter →
  ollama-cloud); add getModel() convenience wrapper
- proxy-server: add priorityOverrides option; handleChat iterates all
  candidates in priority order and falls through to the next on 429
- settings-manager: add ProxySettings type with providerPriority override
  map; add getProxyProviderPriority() / setProxyFamilyProvider() accessors
- settings-selector: add ProxyPrioritySubmenu — a two-level TUI submenu
  (family → provider) that dynamically generates entries from
  PROXY_FAMILY_PRIORITY; wired in interactive-mode with full callback

Family defaults: MiniMax→minimax, GLM→zai, Kimi→kimi-coding,
MiMo→global-fallback, Gemini/Gemma→google-gemini-cli, Claude→anthropic,
GPT/o-series→openai

https://claude.ai/code/session_013BwmqG3NuwwZY3vsUb4Y9Y

Co-authored-by: Claude <noreply@anthropic.com>
2026-04-17 19:17:50 +02:00
..
compaction Rename @sf-run/* → @singularity-forge/* package scope 2026-04-15 22:56:33 +02:00
export-html Rename @sf-run/* → @singularity-forge/* package scope 2026-04-15 22:56:33 +02:00
extensions Rename @sf-run/* → @singularity-forge/* package scope 2026-04-15 22:56:33 +02:00
lsp Rename @sf-run/* → @singularity-forge/* package scope 2026-04-15 22:56:33 +02:00
tools Rename @sf-run/* → @singularity-forge/* package scope 2026-04-15 22:56:33 +02:00
agent-session-model-switch.test.ts fix(pi-coding-agent): cancel stale retries after model switch 2026-04-03 16:21:21 +02:00
agent-session-print-mode-persist.test.ts Rename GSD→SF: complete rebrand from fork origin 2026-04-15 18:33:47 +02:00
agent-session-renderable-tools.test.ts Rename @sf-run/* → @singularity-forge/* package scope 2026-04-15 22:56:33 +02:00
agent-session-tool-refresh.test.ts chore: sync workspace state after rebrand 2026-04-15 14:54:20 +02:00
agent-session.ts Rename @sf-run/* → @singularity-forge/* package scope 2026-04-15 22:56:33 +02:00
artifact-manager.ts feat: TTSR + blob/artifact storage (ported from oh-my-pi) 2026-03-13 08:43:56 -06:00
auth-storage.test.ts fix(pi-coding-agent): skip localhost dummy key when fallback resolver provides a configured key 2026-04-13 14:32:16 +02:00
auth-storage.ts Rename @sf-run/* → @singularity-forge/* package scope 2026-04-15 22:56:33 +02:00
bash-executor.ts Rename @sf-run/* → @singularity-forge/* package scope 2026-04-15 22:56:33 +02:00
blob-store.ts fix: resolve race conditions in blob-store, discovery-cache, and agent-loop 2026-03-22 22:30:44 -03:00
chat-controller-ordering.test.ts Rename @sf-run/* → @singularity-forge/* package scope 2026-04-15 22:56:33 +02:00
compaction-orchestrator.ts Rename @sf-run/* → @singularity-forge/* package scope 2026-04-15 22:56:33 +02:00
compaction-utils.test.ts Rename @sf-run/* → @singularity-forge/* package scope 2026-04-15 22:56:33 +02:00
constants.ts refactor: centralize magic numbers into constants.ts (#1044) 2026-03-17 18:45:43 -06:00
contextual-tips.test.ts feat: add contextual tips system for TUI and web terminal 2026-03-23 14:28:50 -05:00
contextual-tips.ts feat: add contextual tips system for TUI and web terminal 2026-03-23 14:28:50 -05:00
defaults.ts Rename @sf-run/* → @singularity-forge/* package scope 2026-04-15 22:56:33 +02:00
diagnostics.ts feat: vendor Pi source into workspace monorepo 2026-03-12 21:55:17 -06:00
discovery-cache.test.ts test: replace shape-only assertions with value checks (#1875) 2026-03-21 15:25:10 -06:00
discovery-cache.ts fix: resolve race conditions in blob-store, discovery-cache, and agent-loop 2026-03-22 22:30:44 -03:00
event-bus.ts feat: vendor Pi source into workspace monorepo 2026-03-12 21:55:17 -06:00
exec.ts fix: add Windows shell guard to remaining spawn sites (#3058) 2026-03-30 14:44:20 -06:00
fallback-resolver.test.ts Rename @sf-run/* → @singularity-forge/* package scope 2026-04-15 22:56:33 +02:00
fallback-resolver.ts Rename @sf-run/* → @singularity-forge/* package scope 2026-04-15 22:56:33 +02:00
footer-data-provider.ts feat: vendor Pi source into workspace monorepo 2026-03-12 21:55:17 -06:00
fs-utils.test.ts refactor(test): replace try/finally with beforeEach/afterEach in packages tests (#2390) 2026-03-24 21:34:10 -06:00
fs-utils.ts fix: failure recovery & resume safeguards (all 4 waves) (#956) 2026-03-17 16:03:49 -06:00
image-overflow-recovery.test.ts Rename @sf-run/* → @singularity-forge/* package scope 2026-04-15 22:56:33 +02:00
image-overflow-recovery.ts Rename @sf-run/* → @singularity-forge/* package scope 2026-04-15 22:56:33 +02:00
index.ts Merge pull request #2281 from jeremymcs/worktree-local-commands-stay-local 2026-04-10 07:38:18 -05:00
keybindings.ts Rename @sf-run/* → @singularity-forge/* package scope 2026-04-15 22:56:33 +02:00
lifecycle-hooks.test.ts refactor: update log prefixes and string values from gsd- to sf- namespace 2026-04-15 15:37:12 +02:00
lifecycle-hooks.ts fix(core): address PR review feedback for non-apikey provider support (#2452) 2026-03-25 08:45:20 -06:00
local-model-check.ts feat: complete offline mode support (#2429) 2026-03-24 22:35:45 -06:00
lock-utils.ts refactor: extract shared file lock utilities 2026-03-19 15:16:56 -03:00
messages.test.ts fix: prevent LLM from confusing background task output with user input (#3069) 2026-03-30 14:42:56 -06:00
messages.ts Rename @sf-run/* → @singularity-forge/* package scope 2026-04-15 22:56:33 +02:00
model-discovery.test.ts feat: dynamic model discovery & provider management UX (#581) 2026-03-16 06:23:18 -06:00
model-discovery.ts feat: dynamic model discovery & provider management UX (#581) 2026-03-16 06:23:18 -06:00
model-registry-auth-mode.test.ts Rename @sf-run/* → @singularity-forge/* package scope 2026-04-15 22:56:33 +02:00
model-registry-discovery.test.ts feat: dynamic model discovery & provider management UX (#581) 2026-03-16 06:23:18 -06:00
model-registry-env-fallback.test.ts fix(pi-coding-agent): fall back to env keys for built-ins 2026-04-09 17:45:49 +02:00
model-registry.ts Add per-family proxy provider priority system with TUI and 429 fallback 2026-04-17 19:17:50 +02:00
model-resolver-initial-model-auth.test.ts Rename @sf-run/* → @singularity-forge/* package scope 2026-04-15 22:56:33 +02:00
model-resolver.test.ts fix(models): block unconfigured models from selection surfaces 2026-04-12 17:25:06 -05:00
model-resolver.ts Rename @sf-run/* → @singularity-forge/* package scope 2026-04-15 22:56:33 +02:00
models-json-writer.test.ts feat: dynamic model discovery & provider management UX (#581) 2026-03-16 06:23:18 -06:00
models-json-writer.ts feat: dynamic model discovery & provider management UX (#581) 2026-03-16 06:23:18 -06:00
package-commands.test.ts fix(core): address PR review feedback for non-apikey provider support (#2452) 2026-03-25 08:45:20 -06:00
package-commands.ts feat(core): support for 'non-api-key' provider extensions like Claude Code CLI (#2382) 2026-03-24 15:50:12 -06:00
package-manager.ts chore: checkpoint workspace changes 2026-04-15 13:38:15 +02:00
prompt-templates.ts refactor: remove dead code (unused exports) (#1486) 2026-03-19 15:33:32 -06:00
resolve-config-value.test.ts refactor(test): consolidate regression and override tests into #666 test files 2026-04-02 14:06:19 +02:00
resolve-config-value.ts chore: sync workspace state after rebrand 2026-04-15 14:54:20 +02:00
resource-loader-cache-reset.test.ts chore: sync workspace state after rebrand 2026-04-15 14:54:20 +02:00
resource-loader.ts refactor: update log prefixes and string values from gsd- to sf- namespace 2026-04-15 15:37:12 +02:00
retry-handler.test.ts Rename @sf-run/* → @singularity-forge/* package scope 2026-04-15 22:56:33 +02:00
retry-handler.ts Rename @sf-run/* → @singularity-forge/* package scope 2026-04-15 22:56:33 +02:00
sdk.test.ts test(auto): add tests for credential cooldown fix 2026-04-12 09:30:52 -05:00
sdk.ts Rename @sf-run/* → @singularity-forge/* package scope 2026-04-15 22:56:33 +02:00
session-manager.test.ts refactor: update log prefixes and string values from gsd- to sf- namespace 2026-04-15 15:37:12 +02:00
session-manager.ts Rename @sf-run/* → @singularity-forge/* package scope 2026-04-15 22:56:33 +02:00
settings-manager-security.test.ts fix(security): add configurable overrides for command allowlist and SSRF blocklist 2026-04-02 13:45:05 +02:00
settings-manager.ts Add per-family proxy provider priority system with TUI and 429 fallback 2026-04-17 19:17:50 +02:00
skill-tool.test.ts Rename @sf-run/* → @singularity-forge/* package scope 2026-04-15 22:56:33 +02:00
skills.ts refactor: update log prefixes and string values from gsd- to sf- namespace 2026-04-15 15:37:12 +02:00
slash-commands.ts feat: add /terminal slash command for direct shell execution (#2349) 2026-03-26 09:41:37 -06:00
system-prompt.ts fix: extension resource management — prune stale dirs, fix isBuiltIn, gate skills on Skill tool, suppress search warnings (#2235) 2026-03-23 09:04:01 -06:00
timings.ts feat: vendor Pi source into workspace monorepo 2026-03-12 21:55:17 -06:00