@providerprotocol/ai 0.0.20 → 0.0.21

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.
Files changed (45) hide show
  1. package/dist/anthropic/index.d.ts +184 -14
  2. package/dist/anthropic/index.js +210 -82
  3. package/dist/anthropic/index.js.map +1 -1
  4. package/dist/{chunk-U3FZWV4U.js → chunk-EDENPF3E.js} +5 -2
  5. package/dist/{chunk-U3FZWV4U.js.map → chunk-EDENPF3E.js.map} +1 -1
  6. package/dist/{chunk-UMKWXGO3.js → chunk-M4BMM5IB.js} +86 -2
  7. package/dist/chunk-M4BMM5IB.js.map +1 -0
  8. package/dist/{chunk-P5IRTEM5.js → chunk-Y3GBJNA2.js} +2 -2
  9. package/dist/{chunk-U4JJC2YX.js → chunk-Z4ILICF5.js} +2 -2
  10. package/dist/chunk-Z4ILICF5.js.map +1 -0
  11. package/dist/google/index.d.ts +16 -19
  12. package/dist/google/index.js +14 -36
  13. package/dist/google/index.js.map +1 -1
  14. package/dist/http/index.d.ts +2 -2
  15. package/dist/http/index.js +3 -3
  16. package/dist/index.d.ts +101 -38
  17. package/dist/index.js +69 -43
  18. package/dist/index.js.map +1 -1
  19. package/dist/ollama/index.d.ts +14 -16
  20. package/dist/ollama/index.js +5 -7
  21. package/dist/ollama/index.js.map +1 -1
  22. package/dist/openai/index.d.ts +25 -133
  23. package/dist/openai/index.js +27 -81
  24. package/dist/openai/index.js.map +1 -1
  25. package/dist/openrouter/index.d.ts +28 -53
  26. package/dist/openrouter/index.js +20 -43
  27. package/dist/openrouter/index.js.map +1 -1
  28. package/dist/provider-DGQHYE6I.d.ts +1319 -0
  29. package/dist/proxy/index.d.ts +2 -3
  30. package/dist/proxy/index.js +5 -7
  31. package/dist/proxy/index.js.map +1 -1
  32. package/dist/{retry-DR7YRJDz.d.ts → retry-Pcs3hnbu.d.ts} +2 -2
  33. package/dist/{stream-DRHy6q1a.d.ts → stream-Di9acos2.d.ts} +1 -1
  34. package/dist/xai/index.d.ts +16 -88
  35. package/dist/xai/index.js +30 -58
  36. package/dist/xai/index.js.map +1 -1
  37. package/package.json +4 -1
  38. package/dist/chunk-MSR5P65T.js +0 -39
  39. package/dist/chunk-MSR5P65T.js.map +0 -1
  40. package/dist/chunk-U4JJC2YX.js.map +0 -1
  41. package/dist/chunk-UMKWXGO3.js.map +0 -1
  42. package/dist/content-DEl3z_W2.d.ts +0 -276
  43. package/dist/image-Dhq-Yuq4.d.ts +0 -456
  44. package/dist/provider-BBMBZuGn.d.ts +0 -570
  45. /package/dist/{chunk-P5IRTEM5.js.map → chunk-Y3GBJNA2.js.map} +0 -0
@@ -1,29 +1,4 @@
1
- import { d as Provider, f as ModelReference, b as LLMHandler, c as EmbeddingHandler } from '../provider-BBMBZuGn.js';
2
-
3
- /**
4
- * @fileoverview OpenRouter Embeddings API Handler
5
- *
6
- * This module implements the embedding handler for OpenRouter's embeddings API.
7
- * OpenRouter provides access to multiple embedding providers through an OpenAI-compatible endpoint.
8
- *
9
- * @see {@link https://openrouter.ai/docs/api/reference/embeddings OpenRouter Embeddings API Reference}
10
- * @module providers/openrouter/embed
11
- */
12
-
13
- /**
14
- * OpenRouter embedding parameters.
15
- * Passed through unchanged to the API.
16
- */
17
- interface OpenRouterEmbedParams {
18
- /** Output dimensions (model-dependent) */
19
- dimensions?: number;
20
- /** Encoding format: 'float' or 'base64' */
21
- encoding_format?: 'float' | 'base64';
22
- /** A unique identifier representing your end-user */
23
- user?: string;
24
- /** Input type hint for some models */
25
- input_type?: string;
26
- }
1
+ import { g as Provider } from '../provider-DGQHYE6I.js';
27
2
 
28
3
  /**
29
4
  * OpenRouter-specific types for the Unified Provider Protocol.
@@ -255,10 +230,30 @@ type OpenRouterResponseFormat = {
255
230
  };
256
231
 
257
232
  /**
258
- * Union type for both Completions and Responses API parameter types.
259
- * Used internally to type the modalities handler.
233
+ * @fileoverview OpenRouter Embeddings API Handler
234
+ *
235
+ * This module implements the embedding handler for OpenRouter's embeddings API.
236
+ * OpenRouter provides access to multiple embedding providers through an OpenAI-compatible endpoint.
237
+ *
238
+ * @see {@link https://openrouter.ai/docs/api/reference/embeddings OpenRouter Embeddings API Reference}
239
+ * @module providers/openrouter/embed
240
+ */
241
+
242
+ /**
243
+ * OpenRouter embedding parameters.
244
+ * Passed through unchanged to the API.
260
245
  */
261
- type OpenRouterLLMParamsUnion = OpenRouterCompletionsParams | OpenRouterResponsesParams;
246
+ interface OpenRouterEmbedParams {
247
+ /** Output dimensions (model-dependent) */
248
+ dimensions?: number;
249
+ /** Encoding format: 'float' or 'base64' */
250
+ encoding_format?: 'float' | 'base64';
251
+ /** A unique identifier representing your end-user */
252
+ user?: string;
253
+ /** Input type hint for some models */
254
+ input_type?: string;
255
+ }
256
+
262
257
  /**
263
258
  * Configuration options for creating an OpenRouter model reference.
264
259
  *
@@ -297,30 +292,10 @@ interface OpenRouterProviderOptions {
297
292
  * const model = openrouter('anthropic/claude-3.5-sonnet', { api: 'completions' });
298
293
  * ```
299
294
  */
300
- interface OpenRouterProvider extends Provider<OpenRouterProviderOptions> {
301
- /**
302
- * Creates a model reference for the specified model ID.
303
- *
304
- * @param modelId - The OpenRouter model identifier in `provider/model` format
305
- * (e.g., 'openai/gpt-4o', 'anthropic/claude-3.5-sonnet',
306
- * 'meta-llama/llama-3.1-70b-instruct')
307
- * @param options - Optional configuration including API selection
308
- * @returns A model reference that can be passed to llm()
309
- */
310
- (modelId: string, options?: OpenRouterProviderOptions): ModelReference<OpenRouterProviderOptions>;
311
- /** Provider identifier. Always 'openrouter'. */
312
- readonly name: 'openrouter';
313
- /** Semantic version of this provider implementation. */
314
- readonly version: string;
315
- /**
316
- * Supported modalities for this provider.
317
- * OpenRouter supports LLM (text generation) and Embedding.
318
- */
319
- readonly modalities: {
320
- llm: LLMHandler<OpenRouterLLMParamsUnion>;
321
- embedding: EmbeddingHandler<OpenRouterEmbedParams>;
322
- };
323
- }
295
+ /**
296
+ * Type alias for the OpenRouter provider with its options.
297
+ */
298
+ type OpenRouterProvider = Provider<OpenRouterProviderOptions>;
324
299
  /**
325
300
  * OpenRouter provider singleton.
326
301
  *
@@ -1,21 +1,22 @@
1
1
  import {
2
2
  AssistantMessage,
3
+ createProvider,
3
4
  isAssistantMessage,
4
5
  isToolResultMessage,
5
6
  isUserMessage
6
- } from "../chunk-UMKWXGO3.js";
7
+ } from "../chunk-M4BMM5IB.js";
7
8
  import {
8
9
  parseSSEStream
9
10
  } from "../chunk-Z7RBRCRN.js";
10
11
  import {
11
12
  resolveApiKey
12
- } from "../chunk-P5IRTEM5.js";
13
+ } from "../chunk-Y3GBJNA2.js";
13
14
  import {
14
15
  UPPError,
15
16
  doFetch,
16
17
  doStreamFetch,
17
18
  normalizeHttpError
18
- } from "../chunk-U3FZWV4U.js";
19
+ } from "../chunk-EDENPF3E.js";
19
20
 
20
21
  // src/providers/openrouter/transform.completions.ts
21
22
  function transformRequest(request, modelId) {
@@ -1448,46 +1449,22 @@ function createEmbeddingHandler() {
1448
1449
  }
1449
1450
 
1450
1451
  // src/providers/openrouter/index.ts
1451
- function createOpenRouterProvider() {
1452
- let currentApiMode = "completions";
1453
- const completionsHandler = createCompletionsLLMHandler();
1454
- const responsesHandler = createResponsesLLMHandler();
1455
- const embeddingHandler = createEmbeddingHandler();
1456
- const fn = function(modelId, options) {
1457
- const apiMode = options?.api ?? "completions";
1458
- currentApiMode = apiMode;
1459
- return { modelId, provider };
1460
- };
1461
- const modalities = {
1462
- get llm() {
1463
- return currentApiMode === "responses" ? responsesHandler : completionsHandler;
1464
- },
1465
- embedding: embeddingHandler
1466
- };
1467
- Object.defineProperties(fn, {
1468
- name: {
1469
- value: "openrouter",
1470
- writable: false,
1471
- configurable: true
1472
- },
1473
- version: {
1474
- value: "1.0.0",
1475
- writable: false,
1476
- configurable: true
1477
- },
1478
- modalities: {
1479
- value: modalities,
1480
- writable: false,
1481
- configurable: true
1482
- }
1483
- });
1484
- const provider = fn;
1485
- completionsHandler._setProvider?.(provider);
1486
- responsesHandler._setProvider?.(provider);
1487
- embeddingHandler._setProvider?.(provider);
1488
- return provider;
1489
- }
1490
- var openrouter = createOpenRouterProvider();
1452
+ var llmResolver = {
1453
+ handlers: {
1454
+ completions: createCompletionsLLMHandler(),
1455
+ responses: createResponsesLLMHandler()
1456
+ },
1457
+ defaultMode: "completions",
1458
+ getMode: (options) => options?.api ?? "completions"
1459
+ };
1460
+ var openrouter = createProvider({
1461
+ name: "openrouter",
1462
+ version: "1.0.0",
1463
+ handlers: {
1464
+ llm: llmResolver,
1465
+ embedding: createEmbeddingHandler()
1466
+ }
1467
+ });
1491
1468
  export {
1492
1469
  openrouter
1493
1470
  };