Skip to content

fix(plugin): stop requesting the retired virtual-entries route - #15392

Merged
diegosouzapw merged 3 commits into
diegosouzapw:release/v3.8.52from
maxmad64bis:fix/plugin-drop-auto-combos-source
Oct 6, 2026
Merged

diegosouzapw merged 3 commits into
diegosouzapw:release/v3.8.52from
maxmad64bis:fix/plugin-drop-auto-combos-source

Conversation

@maxmad64bis

@maxmad64bis maxmad64bis commented Oct 2, 2026 •

Copy link
Copy Markdown
Contributor

Stacked on #15239. Only the last commit is this PR's; the branch contains its parent commit and I'll rebase once it lands.
⚠️ base-red inherited: #15306

Summary

Catalog change: auto and auto/lkgp are no longer published, because /v1/models doesn't list them; the other auto/* entries stay, now published as /v1/models serves them. The plugin used to fetch /api/combos/auto on every refresh and synthesize those entries from it, a slow route that stalled the gateway on large pools (#14889) and repeated what /v1/models already serves with the same limits. Refresh now uses three sources instead of four, and old configs and snapshots still load with the retired field ignored. Builds on @bilalsafdardev's diagnosis from #14889.

Related Issues

Validation

  • Change type: provider
  • Focused tests and category gates from the golden path
  • npm run lint
  • Reconciled with the current active release base; focused checks rerun afterward
  • Production-code changes include a new or updated automated test in this PR

Tests Added Or Updated

  • refresh-routes.test.ts (new): closed route table, exact-match guard, retired entries never published, legacy snapshot tolerated.
  • publish-guard.test.ts: every requested path declared on full setup; two-key counts shape.
  • catalog.test.ts, catalog-provider.test.ts: native rows published as served; legacy fetcher input ignored.
  • shared-fingerprint.test.ts: content fingerprint over two entries; arity, order and membership cases.
  • cache-ttl-snapshot.test.ts, disk-snapshot-atomicity.test.ts, snapshot-stale-entries.test.ts, warm-snapshot-identity.test.ts: legacy snapshot loads, retired field never rewritten, stable identity.
  • management-token.test.ts, management-token-env.test.ts, refresh-failopen.test.ts, staged-refresh.test.ts: zero retired-route requests; staged upgrade over three tiers.
  • Seven neighbor suites (api-package, parity, nested-combos, enrichment, usable-only, timeouts-logger, shared-anthropic-prefixes): counts, native entries.
  • provider-filter.test.ts (retired block removed); deleted auto-combos.test.ts and shared-auto-combos.test.ts.

Coverage Notes

  • src/index.ts — covered by staged-refresh.test.ts, refresh-routes.test.ts, publish-guard.test.ts.
  • src/catalog.ts — covered by catalog.test.ts, catalog-provider.test.ts, refresh-routes.test.ts.
  • src/cache.ts — covered by cache-ttl-snapshot.test.ts, disk-snapshot-atomicity.test.ts, snapshot-stale-entries.test.ts.
  • src/options.ts — covered by timeouts-logger.test.ts, management-token.test.ts.
  • src/provider-filter.ts — covered by provider-filter.test.ts, catalog-provider.test.ts.
  • src/shared/auto-combos.ts (deleted) — absence pinned by refresh-routes.test.ts.
  • src/shared/fingerprint.ts, src/shared/index.ts — covered by shared-fingerprint.test.ts, api-package.test.ts.
  • src/legacy-model.ts — comment only; exercised via catalog.test.ts.

Reviewer Notes

@maxmad64bis
maxmad64bis force-pushed the fix/plugin-drop-auto-combos-source branch from 21d1a3f to 6390d8e Compare October 2, 2026 22:29
@diegosouzapw
diegosouzapw merged commit d1bf460 into diegosouzapw:release/v3.8.52 Oct 6, 2026
10 of 13 checks passed
diegosouzapw added a commit that referenced this pull request Oct 7, 2026
…g capability

#14554 made toolsOnly the default and updated the fixtures it knew about; the
retired-field case from #15392 landed in parallel and still used a bare
{ id } model, so the default preset filtered it out. The release tip hid this
because the plugin's npm ci was failing there.
diegosouzapw added a commit that referenced this pull request Oct 7, 2026
#15662)

* fix(deps): bump transitive sharp, smol-toml, katex, simple-git, proxy-addr, shell-quote and others to patched releases

Lockfile/override-only; closes the open Dependabot alerts that have a patched release (root, electron, opencode-plugin-v2).

* fix(deps): http-cache-semantics 4.3.0 in the root lockfile

* chore(deps): allowlist the transitive overrides added for the Dependabot batch

* fix(docker): overlay a patched postcss-selector-parser in npm's bundled tree

Trivy reported npm's own postcss-selector-parser 7.1.4 (fixed in 7.1.6) under
/usr/local/lib/node_modules/npm; 7.1.6 stays inside @npmcli/query's ^7.0.0 range.

* test(plugin): give the retired-field snapshot fixture the tool-calling capability

#14554 made toolsOnly the default and updated the fixtures it knew about; the
retired-field case from #15392 landed in parallel and still used a bare
{ id } model, so the default preset filtered it out. The release tip hid this
because the plugin's npm ci was failing there.
@maxmad64bis
maxmad64bis deleted the fix/plugin-drop-auto-combos-source branch October 7, 2026 20:37
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