Conversation
|
Warning You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again! |
16ddf2f to
501f833
Compare
|
Update: Addressed architectural feedback! The previous alphabetical grouping ( I have completely refactored the extraction to establish a strict One-File-Per-Provider architecture. There are now exactly 159 individual provider files inside This means when we add a new provider in the future, it's just a matter of dropping a new standalone Typechecking and linting both pass cleanly. |
501f833 to
65071ae
Compare
|
Update 2: Sub-categorization and DRY Headers! As requested, I've further refined the one-file-per-provider structure.
All tests, typings, and ESLint checks pass locally. This sets up a flawless foundation for the plugin system! |
65071ae to
5b9177b
Compare
|
Update 3: True Folder-as-Module Refactor! As an ultimate refinement to the plugin architecture, I've refactored all 159 individual provider files into the folder-as-module pattern. Now, every single provider lives in its own dedicated directory with an
And the variants elegantly nest inside their parent's folder:
This provides exactly the foundation needed for a WordPress-style plugin system. When a provider gets complex, it can now have local All tests and linting verified 100% green. |
…gosouzapw#3691) Integrated into release/v3.8.23
Integrated into release/v3.8.23
…iegosouzapw#3689) Integrated into release/v3.8.23
…ution (diegosouzapw#3692) Integrated into release/v3.8.23
Integrated into release/v3.8.23
Integrated into release/v3.8.23
…osouzapw#3685) (diegosouzapw#3702) Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…osouzapw#3696) (diegosouzapw#3703) Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
…souzapw#3660) Integrated into release/v3.8.23
…API (diegosouzapw#3712) Integrated into release/v3.8.23. Vertex dynamic model discovery — surfaces image models (imagen-*, gemini-*-image), embeddings and audio from the live Generative Language catalog, with cached→static fallback and the shared parseGeminiModelsList helper. Validated: parser test 5/5, typecheck:core clean.
Integrated into release/v3.8.23. Makes the diegosouzapw#3588 reasoning token buffer safe and configurable: only inflates max_tokens when the model has a known, non-default output cap and the buffered value fits inside it; otherwise preserves/clamps the client limit. Adds the reasoningTokenBufferEnabled kill switch (default ON). Validated: combo-routing-engine 81/81, combo-config 25/25, combo-quality-validator-reasoning 12/12, phase1f 10/10, typecheck:core clean.
…3408 LOC (-654) (diegosouzapw#3717) Phase 1g-1j of diegosouzapw#3501: client 4062→3408 LOC. Pure extraction (ProviderPlaygroundPanel, useCommandCodeAuth, useExternalLinkFlow+ExternalLinkModal, useAuthFileHandlers) + loadConnProxies ReferenceError fix + phase1f test path fix. Co-authored-by: oyi77 <14921983+oyi77@users.noreply.github.com>
…2553 LOC (-855) (diegosouzapw#3721) Phase 1k-1m of diegosouzapw#3501: client 3408→2553 LOC. Pure extraction (useModelImportHandlers+ImportProgressModal, useModelVisibilityHandlers, ProviderModelsSection). Co-authored-by: oyi77 <14921983+oyi77@users.noreply.github.com>
… release branch The fix itself reached main pre-tag via cherry-pick diegosouzapw#3591, but its changelog bullet (commit e33fdd4) only ever existed on release/v3.8.20 after the squash-merge. Restored under [3.8.20] per the 2026-06-12 release-branch leftover audit (_tasks/release-audit/release-leftovers-audit-2026-06-12.md).
…rofileArn (diegosouzapw#3722) Integrated into release/v3.8.23
…1376 LOC (-1177) (diegosouzapw#3725) Phase 1n-1s of diegosouzapw#3501: client 2553→1376 LOC. Pure extraction (ConnectionsListPanel, ConnectionsHeaderToolbar, ZedImportCard, BatchTestResultsModal, AdaptaTutorialModal, useApiKeySave + helpers). Co-authored-by: oyi77 <14921983+oyi77@users.noreply.github.com>
…cation, and success-decay recovery (diegosouzapw#3629) Integrated into release/v3.8.23
… LOC (≤800 TARGET REACHED ✅) (diegosouzapw#3727) Phase 1t of diegosouzapw#3501: client 1376→781 LOC (≤800 reached). Original god-component 12,882→781 (−94%). Co-authored-by: oyi77 <14921983+oyi77@users.noreply.github.com>
Integrated into release/v3.8.21 — chatCore phase modularization. Adjusted: re-derive idempotencyKey for the save path after the check moved into the module (co-authored). Thanks @oyi77!
…iegosouzapw#3588 (combo reasoning buffer) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…drop shadow/guardrails doc-fiction (diegosouzapw#3496) (diegosouzapw#3602) Integrated into release/v3.8.21 — implements GET /api/guardrails + POST /api/guardrails/test, removes shadow/guardrails doc-fiction. TDD-validated (5/5) + check-docs-symbols/typecheck/eslint green.
Split-out PR C from diegosouzapw#3584. Isolates textual reasoning wrappers (<think>/<thinking>/<thought>/<internal_thought>, including malformed/open tags) into reasoning_content across both the non-streaming sanitizer and the Gemini streaming translator, with split-chunk buffering. Additive to the existing textual tool-call pipeline; does not touch the diegosouzapw#3569 native functionResponse path. Integrated into release/v3.8.21. Thanks @dhaern!
) Split-out PR A from diegosouzapw#3584. Normalizes the Antigravity/agy Gemini 3.5 Flash tier IDs to clean public names (gemini-3.5-flash-low/medium/high), maps them to the live upstream IDs at the executor boundary, and removes Antigravity from the global model resolver so the executor owns wire normalization. Maintainer follow-up: kept gemini-3.5-flash-preview as a hidden backward-compat alias routing to the High tier (so saved combos/configs keep working). Live-validated the tier set via the agy CLI catalog. Integrated into release/v3.8.21. Thanks @dhaern!
…s port 443 (diegosouzapw#3606) (diegosouzapw#3608) Integrated into release/v3.8.21 (diegosouzapw#3606)
…500 (diegosouzapw#3589) (diegosouzapw#3609) Integrated into release/v3.8.21 (diegosouzapw#3589)
…de-plugin (diegosouzapw#3419) (diegosouzapw#3613) Integrated into release/v3.8.21 (diegosouzapw#3419)
…pw#3604) Split-out PR B from diegosouzapw#3584. Normalizes Antigravity/agy provider quotas: prefers retrieveUserQuota for live consumption, falls back to fetchAvailableModels and local usage_history, sanitizes cached Provider Limits so retired upstream IDs are not re-exposed, and schedules a deduplicated post-usage refresh. Maintainer follow-up: decoupled the post-usage refresh via a lightweight usageEvents bus (usageHistory no longer dynamic-imports providerLimits) so it does not pull the executors/translator graph into the typecheck-core surface — typecheck:core stays at 0. Integrated into release/v3.8.21. Thanks @dhaern!
…ode (diegosouzapw#3331) (diegosouzapw#3614) Integrated into release/v3.8.21 (diegosouzapw#3331)
…zapw#3604 (provider quotas) + diegosouzapw#3605 (reasoning wrappers) Co-authored-by: diegosouzapw <diegosouza.pw@gmail.com>
… plugins Refactors the massive 4676-line providerRegistry.ts into a strictly modular folder-as-module pattern in open-sse/config/providers/registry/. This fully adopts the WordPress-style plugin system paradigm: every provider (and its variants) has its own dedicated directory and index.ts. Highly-related provider variants (e.g. minimax, minimax-cn) are grouped seamlessly as nested plugins (e.g. registry/minimax/index.ts, registry/minimax/cn/index.ts). The core registry object is auto-assembled and re-exported to maintain backward compatibility.
5b9177b to
e9af965
Compare
|
Thanks @oyi77 for the modularization work on
What would let this land: re-cut it as a single, independent PR branched from the current |
Summary
This PR addresses the high-priority massive file
open-sse/config/providerRegistry.ts(4,676 lines) as part of the WordPress-style Plugin System modularization effort tracked in #3594.Changes
open-sse/config/providers/shared.ts.REGISTRYobject into 5 alphabetical domain chunks:a-c.tsd-h.tsi-o.tsp-s.tst-z.tsopen-sse/config/providers/index.tsand re-exported it fromproviderRegistry.tsto maintain full backward compatibility for existing imports.Verification
npm run typecheck:corepasses.npx eslint open-sse/config/providers/*has 0 errors/warnings.Resolves part of #3594.