@jambonz/llm 0.4.3 → 0.4.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -2496,6 +2496,95 @@ var azureOpenAIFactory = {
2496
2496
  create: () => new AzureOpenAIAdapter()
2497
2497
  };
2498
2498
 
2499
+ // src/adapters/groq/manifest.ts
2500
+ var GROQ_KNOWN_MODELS = [
2501
+ {
2502
+ id: "llama-3.3-70b-versatile",
2503
+ displayName: "Llama 3.3 70B Versatile (Groq)",
2504
+ capabilities: {
2505
+ streaming: true,
2506
+ tools: true,
2507
+ vision: false,
2508
+ systemPrompt: true,
2509
+ maxContextTokens: 128e3
2510
+ }
2511
+ },
2512
+ {
2513
+ id: "llama-3.1-8b-instant",
2514
+ displayName: "Llama 3.1 8B Instant (Groq)",
2515
+ capabilities: {
2516
+ streaming: true,
2517
+ tools: true,
2518
+ vision: false,
2519
+ systemPrompt: true,
2520
+ maxContextTokens: 128e3
2521
+ }
2522
+ },
2523
+ {
2524
+ id: "gemma2-9b-it",
2525
+ displayName: "Gemma 2 9B (Groq)",
2526
+ capabilities: {
2527
+ streaming: true,
2528
+ tools: true,
2529
+ vision: false,
2530
+ systemPrompt: true,
2531
+ maxContextTokens: 8192
2532
+ }
2533
+ }
2534
+ ];
2535
+ var groqManifest = {
2536
+ vendor: "groq",
2537
+ displayName: "Groq",
2538
+ authKinds: [
2539
+ {
2540
+ kind: "apiKey",
2541
+ displayName: "API Key",
2542
+ fields: [
2543
+ {
2544
+ name: "apiKey",
2545
+ label: "API Key",
2546
+ type: "password",
2547
+ required: true,
2548
+ help: "Get an API key from https://console.groq.com/keys (sign in first if needed)"
2549
+ },
2550
+ {
2551
+ name: "baseURL",
2552
+ label: "Base URL",
2553
+ type: "url",
2554
+ required: false,
2555
+ default: "https://api.groq.com/openai/v1",
2556
+ help: "Override only for proxies. Default points at Groq's production endpoint."
2557
+ }
2558
+ ]
2559
+ }
2560
+ ],
2561
+ knownModels: GROQ_KNOWN_MODELS,
2562
+ // Groq exposes /openai/v1/models with the same auth as chat completions.
2563
+ supportsModelListing: true,
2564
+ docsUrl: "https://console.groq.com/docs/api-reference"
2565
+ };
2566
+
2567
+ // src/adapters/groq/adapter.ts
2568
+ var GroqAdapter = class extends OpenAIAdapter {
2569
+ vendor = groqManifest.vendor;
2570
+ init(auth, client) {
2571
+ super.init(
2572
+ {
2573
+ ...auth,
2574
+ baseURL: auth.baseURL ?? "https://api.groq.com/openai/v1"
2575
+ },
2576
+ client
2577
+ );
2578
+ }
2579
+ };
2580
+
2581
+ // src/adapters/groq/factory.ts
2582
+ var groqFactory = {
2583
+ vendor: groqManifest.vendor,
2584
+ manifest: groqManifest,
2585
+ create: () => new GroqAdapter()
2586
+ };
2587
+
2499
2588
  // src/adapters/index.ts
2500
2589
  registerAdapter(openAIFactory);
2501
2590
  registerAdapter(deepseekFactory);
@@ -2505,12 +2594,14 @@ registerAdapter(vertexGeminiFactory);
2505
2594
  registerAdapter(vertexOpenAIFactory);
2506
2595
  registerAdapter(bedrockFactory);
2507
2596
  registerAdapter(azureOpenAIFactory);
2597
+ registerAdapter(groqFactory);
2508
2598
 
2509
2599
  // src/normalize-auth.ts
2510
2600
  function normalizeAuth(vendor, raw) {
2511
2601
  switch (vendor) {
2512
2602
  case "openai":
2513
2603
  case "anthropic":
2604
+ case "groq":
2514
2605
  return requireApiKey(vendor, raw);
2515
2606
  case "deepseek":
2516
2607
  return {