GitNexus/gitnexus/test/unit/embedding-config.test.ts
Gergő Magyar 2a0c97c178
fix: add platform-aware semantic fallback (#1150)
* fix: add platform-aware semantic fallback

Make VECTOR an optional capability so Windows analysis remains stable while semantic embeddings can fall back to exact scan when native vector indexing is unavailable.

Made-with: Cursor

* fix: remove stale vector pool import

Keep the merge with main lint-clean after VECTOR loading moved out of the read pool.
2026-04-28 12:21:25 +01:00

30 lines
951 B
TypeScript

import { afterEach, describe, expect, it } from 'vitest';
import { resolveEmbeddingConfig } from '../../src/core/embeddings/config.js';
const OLD_ENV = { ...process.env };
afterEach(() => {
process.env = { ...OLD_ENV };
});
describe('resolveEmbeddingConfig', () => {
it('applies env overrides for local resource controls', () => {
process.env.GITNEXUS_EMBEDDING_THREADS = '3';
process.env.GITNEXUS_EMBEDDING_BATCH_SIZE = '7';
process.env.GITNEXUS_EMBEDDING_SUB_BATCH_SIZE = '5';
process.env.GITNEXUS_EMBEDDING_DEVICE = 'cpu';
const config = resolveEmbeddingConfig();
expect(config.threads).toBe(3);
expect(config.batchSize).toBe(7);
expect(config.subBatchSize).toBe(5);
expect(config.device).toBe('cpu');
});
it('rejects invalid numeric env values', () => {
process.env.GITNEXUS_EMBEDDING_THREADS = '0';
expect(() => resolveEmbeddingConfig()).toThrow('GITNEXUS_EMBEDDING_THREADS');
});
});