@jambonz/llm 0.4.5 → 0.4.6

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.d.cts CHANGED
@@ -33,7 +33,7 @@ interface RawCredential {
33
33
  *
34
34
  * Supported vendors: openai, deepseek, anthropic, google, vertex (alias for
35
35
  * vertex-gemini + vertex-openai — both accept the same auth shape), vertex-gemini,
36
- * vertex-openai, bedrock, azure-openai, groq.
36
+ * vertex-openai, bedrock, azure-openai, groq, huggingface.
37
37
  *
38
38
  * Throws with a clear message if the raw credential is missing required fields.
39
39
  */
package/dist/index.d.ts CHANGED
@@ -33,7 +33,7 @@ interface RawCredential {
33
33
  *
34
34
  * Supported vendors: openai, deepseek, anthropic, google, vertex (alias for
35
35
  * vertex-gemini + vertex-openai — both accept the same auth shape), vertex-gemini,
36
- * vertex-openai, bedrock, azure-openai, groq.
36
+ * vertex-openai, bedrock, azure-openai, groq, huggingface.
37
37
  *
38
38
  * Throws with a clear message if the raw credential is missing required fields.
39
39
  */
package/dist/index.js CHANGED
@@ -2546,6 +2546,117 @@ var groqFactory = {
2546
2546
  create: () => new GroqAdapter()
2547
2547
  };
2548
2548
 
2549
+ // src/adapters/huggingface/manifest.ts
2550
+ var HF_KNOWN_MODELS = [
2551
+ {
2552
+ id: "meta-llama/Llama-3.3-70B-Instruct",
2553
+ displayName: "Llama 3.3 70B Instruct (HF Providers)",
2554
+ capabilities: {
2555
+ streaming: true,
2556
+ tools: true,
2557
+ vision: false,
2558
+ systemPrompt: true,
2559
+ maxContextTokens: 128e3
2560
+ }
2561
+ },
2562
+ {
2563
+ id: "meta-llama/Llama-3.1-8B-Instruct",
2564
+ displayName: "Llama 3.1 8B Instruct (HF Providers)",
2565
+ capabilities: {
2566
+ streaming: true,
2567
+ tools: true,
2568
+ vision: false,
2569
+ systemPrompt: true,
2570
+ maxContextTokens: 128e3
2571
+ }
2572
+ },
2573
+ {
2574
+ id: "Qwen/Qwen2.5-72B-Instruct",
2575
+ displayName: "Qwen 2.5 72B Instruct (HF Providers)",
2576
+ capabilities: {
2577
+ streaming: true,
2578
+ tools: true,
2579
+ vision: false,
2580
+ systemPrompt: true,
2581
+ maxContextTokens: 128e3
2582
+ }
2583
+ },
2584
+ {
2585
+ id: "mistralai/Mistral-7B-Instruct-v0.3",
2586
+ displayName: "Mistral 7B Instruct v0.3 (HF Providers)",
2587
+ capabilities: {
2588
+ streaming: true,
2589
+ tools: true,
2590
+ vision: false,
2591
+ systemPrompt: true,
2592
+ maxContextTokens: 32e3
2593
+ }
2594
+ },
2595
+ {
2596
+ id: "deepseek-ai/DeepSeek-V3",
2597
+ displayName: "DeepSeek V3 (HF Providers)",
2598
+ capabilities: {
2599
+ streaming: true,
2600
+ tools: true,
2601
+ vision: false,
2602
+ systemPrompt: true,
2603
+ maxContextTokens: 64e3
2604
+ }
2605
+ }
2606
+ ];
2607
+ var huggingfaceManifest = {
2608
+ vendor: "huggingface",
2609
+ displayName: "HuggingFace Inference Providers",
2610
+ authKinds: [
2611
+ {
2612
+ kind: "apiKey",
2613
+ displayName: "API Key",
2614
+ fields: [
2615
+ {
2616
+ name: "apiKey",
2617
+ label: "HuggingFace Token",
2618
+ type: "password",
2619
+ required: true,
2620
+ help: "Get a token from https://huggingface.co/settings/tokens (Read scope is sufficient). Inference Providers requires a credit balance \u2014 claim the free monthly tier or attach a payment method at https://huggingface.co/billing."
2621
+ },
2622
+ {
2623
+ name: "baseURL",
2624
+ label: "Base URL",
2625
+ type: "url",
2626
+ required: false,
2627
+ default: "https://router.huggingface.co/v1",
2628
+ help: "Override only for proxies. Default is the HF Providers router endpoint."
2629
+ }
2630
+ ]
2631
+ }
2632
+ ],
2633
+ knownModels: HF_KNOWN_MODELS,
2634
+ // The HF router exposes /v1/models with the same Bearer auth.
2635
+ supportsModelListing: true,
2636
+ docsUrl: "https://huggingface.co/docs/inference-providers"
2637
+ };
2638
+
2639
+ // src/adapters/huggingface/adapter.ts
2640
+ var HuggingfaceAdapter = class extends OpenAIAdapter {
2641
+ vendor = huggingfaceManifest.vendor;
2642
+ init(auth, client) {
2643
+ super.init(
2644
+ {
2645
+ ...auth,
2646
+ baseURL: auth.baseURL ?? "https://router.huggingface.co/v1"
2647
+ },
2648
+ client
2649
+ );
2650
+ }
2651
+ };
2652
+
2653
+ // src/adapters/huggingface/factory.ts
2654
+ var huggingfaceFactory = {
2655
+ vendor: huggingfaceManifest.vendor,
2656
+ manifest: huggingfaceManifest,
2657
+ create: () => new HuggingfaceAdapter()
2658
+ };
2659
+
2549
2660
  // src/adapters/index.ts
2550
2661
  registerAdapter(openAIFactory);
2551
2662
  registerAdapter(deepseekFactory);
@@ -2556,6 +2667,7 @@ registerAdapter(vertexOpenAIFactory);
2556
2667
  registerAdapter(bedrockFactory);
2557
2668
  registerAdapter(azureOpenAIFactory);
2558
2669
  registerAdapter(groqFactory);
2670
+ registerAdapter(huggingfaceFactory);
2559
2671
 
2560
2672
  // src/normalize-auth.ts
2561
2673
  function normalizeAuth(vendor, raw) {
@@ -2563,6 +2675,7 @@ function normalizeAuth(vendor, raw) {
2563
2675
  case "openai":
2564
2676
  case "anthropic":
2565
2677
  case "groq":
2678
+ case "huggingface":
2566
2679
  return requireApiKey(vendor, raw);
2567
2680
  case "deepseek":
2568
2681
  return {