test-llm-provider-reuse.js 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. #!/usr/bin/env node
  2. import assert from 'assert';
  3. import { createProvider, CLIProvider, APIProvider } from './src/core/llm-provider.js';
  4. console.log('\n── LLM Provider Reuse ──');
  5. const cliA = createProvider({
  6. llmProvider: 'cli',
  7. cliAvailable: true,
  8. model: 'claude-opus-4-6',
  9. port: 4000,
  10. });
  11. const cliB = createProvider({
  12. llmProvider: 'cli',
  13. cliAvailable: true,
  14. model: 'claude-opus-4-6',
  15. port: 4000,
  16. });
  17. assert(cliA instanceof CLIProvider, 'CLI provider should be created for cli mode');
  18. assert.strictEqual(cliA, cliB, 'CLI provider instances should be reused for identical config');
  19. const apiA = createProvider({
  20. llmProvider: 'api-key',
  21. apiKey: 'test-key-123',
  22. model: 'claude-opus-4-6',
  23. port: 4000,
  24. });
  25. const apiB = createProvider({
  26. llmProvider: 'api-key',
  27. apiKey: 'test-key-123',
  28. model: 'claude-opus-4-6',
  29. port: 4000,
  30. });
  31. assert(apiA instanceof APIProvider, 'API provider should be created for api-key mode');
  32. assert.strictEqual(apiA, apiB, 'API provider instances should be reused for identical config');
  33. console.log('PASS test-llm-provider-reuse.js');