fix: skip non-chat generation models in Test all models - #13409
Merged
diegosouzapw merged 3 commits intoSep 15, 2026
Merged
diegosouzapw merged 3 commits into
diegosouzapw merged 3 commits into
Conversation
The 'does not duplicate custom Jina specialty models' test asserted
catalog IDs prefixed with 'jina-ai/' (the connection/provider ID), but
the catalog builder uses the provider alias 'jina' — which was
introduced in v3.8.36. The test above it in the same file ('does not
duplicate imported Jina specialty models') already asserts 'jina/' and
passes; this second test was simply never updated.
Fix the two assert.equal strings from 'jina-ai/' to 'jina/' to match
the current product behavior.
Fixes diegosouzapw#13313 (Jina portion — pt-BR compression integration tests need
separate investigation)
…iegosouzapw#13308) The VACUUM INTO path in createManagedDbBackup() — reached from the health-check-repair flow — never called the retention helper, so db_backups/ grew without bound (observed: 10+ GB across 18 snapshots in 8 days). The sibling path (backupDbFile → backup.ts) already calls cleanupDbBackups() after each snapshot; the health-check path simply forgot to do the same. Fix: after a successful VACUUM INTO in createManagedDbBackup(), call pruneBackupDirectory() from backupRetention.ts using the same env-var precedence (DB_BACKUP_MAX_FILES / DB_BACKUP_RETENTION_DAYS) as the manual/scheduled backup path. Pruning is wrapped in a try/catch so a best-effort failure never obscures the backup result. Regression test: db-backup-healthcheck-prune-13308.test.ts seeds a backup directory with MAX_DB_BACKUPS + 5 families and asserts that pruneBackupDirectory removes exactly the overflow.
…pw#13376) detectTestKind now returns isNonChatGeneration when a custom model's supportedEndpoints contain only generation-only types (images, music, videos) with no chat endpoint. runSingleModelTest returns an early 'disabled' result instead of dispatching a chat completion to a model that cannot handle it. - Added isNonChatGeneration flag to TestKind detection - Updated 4 existing deepEqual assertions to include the new field - Added 8 regression tests covering all modality combinations Fixes diegosouzapw#13376
diegosouzapw
merged commit Sep 15, 2026
2a6d058
into
diegosouzapw:release/v3.8.51
7 of 16 checks passed
muhamadgalihsaputra
pushed a commit
to niyatna/NiyatnaRoute
that referenced
this pull request
Sep 27, 2026
…#13409) "Test all models" no longer sends image/music/video generation-only models through a chat completion, which triggered real billable generations (diegosouzapw#13376). `detectTestKind` flags them via `isNonChatGeneration` and `runSingleModelTest` skips them; chat+image models, embeddings and models without metadata are unaffected (8 new cases plus updated `model-test-runner` shapes). Validated in one consolidated batch of this series (37 PRs boarded together on `release/v3.8.51`): `typecheck:core`, `check:open-sse-typecheck` and `check:dashboard-typecheck` clean; ESLint clean on every changed file; file-size, complexity, cognitive-complexity, changelog-integrity, docs-counts, docs-sync and migration-numbering gates green (only the pre-existing `open-sse/utils/stream.ts` file-size red remains, inherited from the base); 3,743 focused `node:test` cases plus 34 vitest cases green. Thanks @KooshaPari!
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.
Summary
Adds a modality guard to
detectTestKind()so that "Test all models" no longer dispatches chat-completions to image/music/video-only generation models.Problem
When "Test all models" iterated over every model in the registry, it would send a chat-completion probe to models like DALL-E 3 (image-only), Suno (music-only), or Runway (video-only). These models do not accept chat messages. The upstream API either returns a 400 or silently runs a real generation, incurring billable credits the operator never asked for.
Changes
isNonChatGeneration: booleanisNonChatGeneration = truewhensupportedEndpointscontains only generation-only types (images, music, videos) with no chat endpoint{ success: true, skipped: true }result with a descriptive error whenisNonChatGenerationis trueTest results
Fixes #13376