@ai-sdk/voyage 1.0.4 → 2.0.0-canary.11

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.
@@ -1,9 +1,11 @@
1
- import type { RerankingModelV3, SharedV3Warning } from '@ai-sdk/provider';
1
+ import type { RerankingModelV4, SharedV4Warning } from '@ai-sdk/provider';
2
2
  import {
3
3
  combineHeaders,
4
4
  createJsonResponseHandler,
5
+ lazySchema,
5
6
  parseProviderOptions,
6
7
  postJsonToApi,
8
+ zodSchema,
7
9
  type FetchFunction,
8
10
  } from '@ai-sdk/provider-utils';
9
11
  import { z } from 'zod/v4';
@@ -11,8 +13,7 @@ import { voyageFailedResponseHandler } from '../voyage-error';
11
13
  import {
12
14
  voyageRerankingModelOptionsSchema,
13
15
  type VoyageRerankingModelId,
14
- } from './voyage-reranking-options';
15
-
16
+ } from './voyage-reranking-model-options';
16
17
  type VoyageRerankingConfig = {
17
18
  provider: string;
18
19
  baseURL: string;
@@ -20,8 +21,8 @@ type VoyageRerankingConfig = {
20
21
  fetch?: FetchFunction;
21
22
  };
22
23
 
23
- export class VoyageRerankingModel implements RerankingModelV3 {
24
- readonly specificationVersion = 'v3';
24
+ export class VoyageRerankingModel implements RerankingModelV4 {
25
+ readonly specificationVersion = 'v4';
25
26
  readonly modelId: VoyageRerankingModelId;
26
27
 
27
28
  private readonly config: VoyageRerankingConfig;
@@ -42,8 +43,8 @@ export class VoyageRerankingModel implements RerankingModelV3 {
42
43
  topN,
43
44
  abortSignal,
44
45
  providerOptions,
45
- }: Parameters<RerankingModelV3['doRerank']>[0]): Promise<
46
- Awaited<ReturnType<RerankingModelV3['doRerank']>>
46
+ }: Parameters<RerankingModelV4['doRerank']>[0]): Promise<
47
+ Awaited<ReturnType<RerankingModelV4['doRerank']>>
47
48
  > {
48
49
  const rerankingOptions = await parseProviderOptions({
49
50
  provider: 'voyage',
@@ -51,7 +52,7 @@ export class VoyageRerankingModel implements RerankingModelV3 {
51
52
  schema: voyageRerankingModelOptionsSchema,
52
53
  });
53
54
 
54
- const warnings: SharedV3Warning[] = [];
55
+ const warnings: SharedV4Warning[] = [];
55
56
 
56
57
  if (documents.type === 'object') {
57
58
  warnings.push({
@@ -61,6 +62,11 @@ export class VoyageRerankingModel implements RerankingModelV3 {
61
62
  });
62
63
  }
63
64
 
65
+ const stringValues =
66
+ documents.type === 'text'
67
+ ? documents.values
68
+ : documents.values.map(value => JSON.stringify(value));
69
+
64
70
  const {
65
71
  responseHeaders,
66
72
  value: response,
@@ -69,12 +75,9 @@ export class VoyageRerankingModel implements RerankingModelV3 {
69
75
  url: `${this.config.baseURL}/rerank`,
70
76
  headers: combineHeaders(this.config.headers(), headers),
71
77
  body: {
72
- model: this.modelId,
73
78
  query,
74
- documents:
75
- documents.type === 'text'
76
- ? documents.values
77
- : documents.values.map(value => JSON.stringify(value)),
79
+ documents: stringValues,
80
+ model: this.modelId,
78
81
  top_k: topN,
79
82
  return_documents: rerankingOptions?.returnDocuments,
80
83
  truncation: rerankingOptions?.truncation,
@@ -101,14 +104,15 @@ export class VoyageRerankingModel implements RerankingModelV3 {
101
104
  }
102
105
  }
103
106
 
104
- const voyageRerankingResponseSchema = z.object({
105
- data: z.array(
107
+ const voyageRerankingResponseSchema = lazySchema(() =>
108
+ zodSchema(
106
109
  z.object({
107
- index: z.number(),
108
- relevance_score: z.number(),
110
+ data: z.array(
111
+ z.object({
112
+ index: z.number(),
113
+ relevance_score: z.number(),
114
+ }),
115
+ ),
109
116
  }),
110
117
  ),
111
- usage: z.object({
112
- total_tokens: z.number(),
113
- }),
114
- });
118
+ );
@@ -1,30 +1,33 @@
1
1
  import {
2
2
  TooManyEmbeddingValuesForCallError,
3
- type EmbeddingModelV3,
3
+ type EmbeddingModelV4,
4
4
  } from '@ai-sdk/provider';
5
5
  import {
6
6
  combineHeaders,
7
7
  createJsonResponseHandler,
8
8
  parseProviderOptions,
9
9
  postJsonToApi,
10
+ serializeModelOptions,
11
+ WORKFLOW_SERIALIZE,
12
+ WORKFLOW_DESERIALIZE,
10
13
  type FetchFunction,
11
14
  } from '@ai-sdk/provider-utils';
12
15
  import { z } from 'zod/v4';
13
16
  import {
14
17
  voyageEmbeddingModelOptions,
15
18
  type VoyageEmbeddingModelId,
16
- } from './voyage-embedding-options';
19
+ } from './voyage-embedding-model-options';
17
20
  import { voyageFailedResponseHandler } from './voyage-error';
18
21
 
19
22
  type VoyageEmbeddingConfig = {
20
23
  provider: string;
21
24
  baseURL: string;
22
- headers: () => Record<string, string | undefined>;
25
+ headers?: () => Record<string, string | undefined>;
23
26
  fetch?: FetchFunction;
24
27
  };
25
28
 
26
- export class VoyageEmbeddingModel implements EmbeddingModelV3 {
27
- readonly specificationVersion = 'v3';
29
+ export class VoyageEmbeddingModel implements EmbeddingModelV4 {
30
+ readonly specificationVersion = 'v4';
28
31
  readonly modelId: VoyageEmbeddingModelId;
29
32
 
30
33
  readonly maxEmbeddingsPerCall = 128;
@@ -32,6 +35,20 @@ export class VoyageEmbeddingModel implements EmbeddingModelV3 {
32
35
 
33
36
  private readonly config: VoyageEmbeddingConfig;
34
37
 
38
+ static [WORKFLOW_SERIALIZE](model: VoyageEmbeddingModel) {
39
+ return serializeModelOptions({
40
+ modelId: model.modelId,
41
+ config: model.config,
42
+ });
43
+ }
44
+
45
+ static [WORKFLOW_DESERIALIZE](options: {
46
+ modelId: VoyageEmbeddingModelId;
47
+ config: VoyageEmbeddingConfig;
48
+ }) {
49
+ return new VoyageEmbeddingModel(options.modelId, options.config);
50
+ }
51
+
35
52
  constructor(modelId: VoyageEmbeddingModelId, config: VoyageEmbeddingConfig) {
36
53
  this.modelId = modelId;
37
54
  this.config = config;
@@ -46,8 +63,8 @@ export class VoyageEmbeddingModel implements EmbeddingModelV3 {
46
63
  headers,
47
64
  abortSignal,
48
65
  providerOptions,
49
- }: Parameters<EmbeddingModelV3['doEmbed']>[0]): Promise<
50
- Awaited<ReturnType<EmbeddingModelV3['doEmbed']>>
66
+ }: Parameters<EmbeddingModelV4['doEmbed']>[0]): Promise<
67
+ Awaited<ReturnType<EmbeddingModelV4['doEmbed']>>
51
68
  > {
52
69
  const embeddingOptions = await parseProviderOptions({
53
70
  provider: 'voyage',
@@ -70,10 +87,10 @@ export class VoyageEmbeddingModel implements EmbeddingModelV3 {
70
87
  rawValue,
71
88
  } = await postJsonToApi({
72
89
  url: `${this.config.baseURL}/embeddings`,
73
- headers: combineHeaders(this.config.headers(), headers),
90
+ headers: combineHeaders(this.config.headers?.(), headers),
74
91
  body: {
75
- model: this.modelId,
76
92
  input: values,
93
+ model: this.modelId,
77
94
  input_type: embeddingOptions?.inputType,
78
95
  truncation: embeddingOptions?.truncation,
79
96
  output_dimension: embeddingOptions?.outputDimension,
@@ -89,8 +106,10 @@ export class VoyageEmbeddingModel implements EmbeddingModelV3 {
89
106
 
90
107
  return {
91
108
  warnings: [],
92
- embeddings: response.data.map(item => item.embedding),
93
- usage: { tokens: response.usage.total_tokens },
109
+ embeddings: response.data
110
+ .sort((a, b) => a.index - b.index)
111
+ .map(item => item.embedding),
112
+ usage: { tokens: response.usage?.total_tokens ?? 0 },
94
113
  response: { headers: responseHeaders, body: rawValue },
95
114
  };
96
115
  }
@@ -103,7 +122,10 @@ const voyageEmbeddingResponseSchema = z.object({
103
122
  index: z.number(),
104
123
  }),
105
124
  ),
106
- usage: z.object({
107
- total_tokens: z.number(),
108
- }),
125
+ model: z.string(),
126
+ usage: z
127
+ .object({
128
+ total_tokens: z.number(),
129
+ })
130
+ .nullish(),
109
131
  });
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  NoSuchModelError,
3
- type EmbeddingModelV3,
4
- type RerankingModelV3,
5
- type ProviderV3,
3
+ type EmbeddingModelV4,
4
+ type RerankingModelV4,
5
+ type ProviderV4,
6
6
  } from '@ai-sdk/provider';
7
7
  import {
8
8
  loadApiKey,
@@ -11,23 +11,18 @@ import {
11
11
  type FetchFunction,
12
12
  } from '@ai-sdk/provider-utils';
13
13
  import { VoyageEmbeddingModel } from './voyage-embedding-model';
14
- import type { VoyageEmbeddingModelId } from './voyage-embedding-options';
14
+ import type { VoyageEmbeddingModelId } from './voyage-embedding-model-options';
15
+ import type { VoyageRerankingModelId } from './reranking/voyage-reranking-model-options';
15
16
  import { VoyageRerankingModel } from './reranking/voyage-reranking-model';
16
- import type { VoyageRerankingModelId } from './reranking/voyage-reranking-options';
17
17
  import { VERSION } from './version';
18
18
 
19
- export interface VoyageProvider extends ProviderV3 {
20
- embedding(modelId: VoyageEmbeddingModelId): EmbeddingModelV3;
21
-
22
- embeddingModel(modelId: VoyageEmbeddingModelId): EmbeddingModelV3;
23
-
24
- textEmbedding(modelId: VoyageEmbeddingModelId): EmbeddingModelV3;
25
-
26
- textEmbeddingModel(modelId: VoyageEmbeddingModelId): EmbeddingModelV3;
27
-
28
- reranking(modelId: VoyageRerankingModelId): RerankingModelV3;
29
-
30
- rerankingModel(modelId: VoyageRerankingModelId): RerankingModelV3;
19
+ export interface VoyageProvider extends ProviderV4 {
20
+ embedding(modelId: VoyageEmbeddingModelId): EmbeddingModelV4;
21
+ embeddingModel(modelId: VoyageEmbeddingModelId): EmbeddingModelV4;
22
+ textEmbedding(modelId: VoyageEmbeddingModelId): EmbeddingModelV4;
23
+ textEmbeddingModel(modelId: VoyageEmbeddingModelId): EmbeddingModelV4;
24
+ reranking(modelId: VoyageRerankingModelId): RerankingModelV4;
25
+ rerankingModel(modelId: VoyageRerankingModelId): RerankingModelV4;
31
26
  }
32
27
 
33
28
  export interface VoyageProviderSettings {
@@ -72,31 +67,25 @@ export function createVoyage(
72
67
  fetch: options.fetch,
73
68
  });
74
69
 
75
- const provider = function () {
76
- throw new NoSuchModelError({
77
- modelId: '',
78
- modelType: 'languageModel',
79
- });
80
- };
81
-
82
- provider.specificationVersion = 'v3' as const;
83
-
84
- provider.languageModel = (modelId: string) => {
85
- throw new NoSuchModelError({ modelId, modelType: 'languageModel' });
86
- };
87
-
88
- provider.embedding = createEmbeddingModel;
89
- provider.embeddingModel = createEmbeddingModel;
90
- provider.textEmbedding = createEmbeddingModel;
91
- provider.textEmbeddingModel = createEmbeddingModel;
92
- provider.reranking = createRerankingModel;
93
- provider.rerankingModel = createRerankingModel;
94
-
95
- provider.imageModel = (modelId: string) => {
96
- throw new NoSuchModelError({ modelId, modelType: 'imageModel' });
70
+ const provider: VoyageProvider = {
71
+ specificationVersion: 'v4' as const,
72
+ embedding: createEmbeddingModel,
73
+ embeddingModel: createEmbeddingModel,
74
+ textEmbedding: createEmbeddingModel,
75
+ textEmbeddingModel: createEmbeddingModel,
76
+ reranking: createRerankingModel,
77
+ rerankingModel: createRerankingModel,
78
+
79
+ languageModel: (modelId: string) => {
80
+ throw new NoSuchModelError({ modelId, modelType: 'languageModel' });
81
+ },
82
+
83
+ imageModel: (modelId: string) => {
84
+ throw new NoSuchModelError({ modelId, modelType: 'imageModel' });
85
+ },
97
86
  };
98
87
 
99
- return provider as VoyageProvider;
88
+ return provider;
100
89
  }
101
90
 
102
91
  export const voyage = createVoyage();
package/dist/index.d.mts DELETED
@@ -1,48 +0,0 @@
1
- import { ProviderV3, EmbeddingModelV3, RerankingModelV3 } from '@ai-sdk/provider';
2
- import { FetchFunction } from '@ai-sdk/provider-utils';
3
- import { z } from 'zod/v4';
4
-
5
- type VoyageEmbeddingModelId = 'voyage-4-large' | 'voyage-4' | 'voyage-4-lite' | 'voyage-4-nano' | 'voyage-code-3.5' | 'voyage-code-3' | 'voyage-3-large' | 'voyage-3.5' | 'voyage-3.5-lite' | 'voyage-3' | 'voyage-3-lite' | 'voyage-finance-2' | 'voyage-law-2' | 'voyage-multilingual-2' | 'voyage-code-2' | 'voyage-2' | (string & {});
6
- declare const voyageEmbeddingModelOptions: z.ZodObject<{
7
- inputType: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
8
- query: "query";
9
- document: "document";
10
- }>>>;
11
- truncation: z.ZodOptional<z.ZodBoolean>;
12
- outputDimension: z.ZodOptional<z.ZodNumber>;
13
- outputDtype: z.ZodOptional<z.ZodEnum<{
14
- float: "float";
15
- int8: "int8";
16
- uint8: "uint8";
17
- binary: "binary";
18
- ubinary: "ubinary";
19
- }>>;
20
- }, z.core.$strip>;
21
- type VoyageEmbeddingModelOptions = z.infer<typeof voyageEmbeddingModelOptions>;
22
-
23
- type VoyageRerankingModelId = 'rerank-2.5' | 'rerank-2.5-lite' | 'rerank-2' | 'rerank-2-lite' | 'rerank-1' | 'rerank-lite-1' | (string & {});
24
- type VoyageRerankingModelOptions = {
25
- returnDocuments?: boolean;
26
- truncation?: boolean;
27
- };
28
-
29
- interface VoyageProvider extends ProviderV3 {
30
- embedding(modelId: VoyageEmbeddingModelId): EmbeddingModelV3;
31
- embeddingModel(modelId: VoyageEmbeddingModelId): EmbeddingModelV3;
32
- textEmbedding(modelId: VoyageEmbeddingModelId): EmbeddingModelV3;
33
- textEmbeddingModel(modelId: VoyageEmbeddingModelId): EmbeddingModelV3;
34
- reranking(modelId: VoyageRerankingModelId): RerankingModelV3;
35
- rerankingModel(modelId: VoyageRerankingModelId): RerankingModelV3;
36
- }
37
- interface VoyageProviderSettings {
38
- baseURL?: string;
39
- apiKey?: string;
40
- headers?: Record<string, string>;
41
- fetch?: FetchFunction;
42
- }
43
- declare function createVoyage(options?: VoyageProviderSettings): VoyageProvider;
44
- declare const voyage: VoyageProvider;
45
-
46
- declare const VERSION: string;
47
-
48
- export { VERSION, type VoyageEmbeddingModelOptions, type VoyageProvider, type VoyageProviderSettings, type VoyageRerankingModelOptions, createVoyage, voyage };
package/dist/index.mjs DELETED
@@ -1,275 +0,0 @@
1
- // src/voyage-provider.ts
2
- import {
3
- NoSuchModelError
4
- } from "@ai-sdk/provider";
5
- import {
6
- loadApiKey,
7
- withoutTrailingSlash,
8
- withUserAgentSuffix
9
- } from "@ai-sdk/provider-utils";
10
-
11
- // src/voyage-embedding-model.ts
12
- import {
13
- TooManyEmbeddingValuesForCallError
14
- } from "@ai-sdk/provider";
15
- import {
16
- combineHeaders,
17
- createJsonResponseHandler,
18
- parseProviderOptions,
19
- postJsonToApi
20
- } from "@ai-sdk/provider-utils";
21
- import { z as z3 } from "zod/v4";
22
-
23
- // src/voyage-embedding-options.ts
24
- import { z } from "zod/v4";
25
- var voyageEmbeddingModelOptions = z.object({
26
- inputType: z.enum(["query", "document"]).nullable().optional(),
27
- truncation: z.boolean().optional(),
28
- outputDimension: z.number().optional(),
29
- outputDtype: z.enum(["float", "int8", "uint8", "binary", "ubinary"]).optional()
30
- });
31
-
32
- // src/voyage-error.ts
33
- import { createJsonErrorResponseHandler } from "@ai-sdk/provider-utils";
34
- import { z as z2 } from "zod/v4";
35
- var voyageErrorDataSchema = z2.object({
36
- detail: z2.string()
37
- });
38
- var voyageFailedResponseHandler = createJsonErrorResponseHandler({
39
- errorSchema: voyageErrorDataSchema,
40
- errorToMessage: (data) => data.detail
41
- });
42
-
43
- // src/voyage-embedding-model.ts
44
- var VoyageEmbeddingModel = class {
45
- constructor(modelId, config) {
46
- this.specificationVersion = "v3";
47
- this.maxEmbeddingsPerCall = 128;
48
- this.supportsParallelCalls = true;
49
- this.modelId = modelId;
50
- this.config = config;
51
- }
52
- get provider() {
53
- return this.config.provider;
54
- }
55
- async doEmbed({
56
- values,
57
- headers,
58
- abortSignal,
59
- providerOptions
60
- }) {
61
- const embeddingOptions = await parseProviderOptions({
62
- provider: "voyage",
63
- providerOptions,
64
- schema: voyageEmbeddingModelOptions
65
- });
66
- if (values.length > this.maxEmbeddingsPerCall) {
67
- throw new TooManyEmbeddingValuesForCallError({
68
- provider: this.provider,
69
- modelId: this.modelId,
70
- maxEmbeddingsPerCall: this.maxEmbeddingsPerCall,
71
- values
72
- });
73
- }
74
- const {
75
- responseHeaders,
76
- value: response,
77
- rawValue
78
- } = await postJsonToApi({
79
- url: `${this.config.baseURL}/embeddings`,
80
- headers: combineHeaders(this.config.headers(), headers),
81
- body: {
82
- model: this.modelId,
83
- input: values,
84
- input_type: embeddingOptions == null ? void 0 : embeddingOptions.inputType,
85
- truncation: embeddingOptions == null ? void 0 : embeddingOptions.truncation,
86
- output_dimension: embeddingOptions == null ? void 0 : embeddingOptions.outputDimension,
87
- output_dtype: embeddingOptions == null ? void 0 : embeddingOptions.outputDtype
88
- },
89
- failedResponseHandler: voyageFailedResponseHandler,
90
- successfulResponseHandler: createJsonResponseHandler(
91
- voyageEmbeddingResponseSchema
92
- ),
93
- abortSignal,
94
- fetch: this.config.fetch
95
- });
96
- return {
97
- warnings: [],
98
- embeddings: response.data.map((item) => item.embedding),
99
- usage: { tokens: response.usage.total_tokens },
100
- response: { headers: responseHeaders, body: rawValue }
101
- };
102
- }
103
- };
104
- var voyageEmbeddingResponseSchema = z3.object({
105
- data: z3.array(
106
- z3.object({
107
- embedding: z3.array(z3.number()),
108
- index: z3.number()
109
- })
110
- ),
111
- usage: z3.object({
112
- total_tokens: z3.number()
113
- })
114
- });
115
-
116
- // src/reranking/voyage-reranking-model.ts
117
- import {
118
- combineHeaders as combineHeaders2,
119
- createJsonResponseHandler as createJsonResponseHandler2,
120
- parseProviderOptions as parseProviderOptions2,
121
- postJsonToApi as postJsonToApi2
122
- } from "@ai-sdk/provider-utils";
123
- import { z as z5 } from "zod/v4";
124
-
125
- // src/reranking/voyage-reranking-options.ts
126
- import {
127
- lazySchema,
128
- zodSchema
129
- } from "@ai-sdk/provider-utils";
130
- import { z as z4 } from "zod/v4";
131
- var voyageRerankingModelOptionsSchema = lazySchema(
132
- () => zodSchema(
133
- z4.object({
134
- returnDocuments: z4.boolean().optional(),
135
- truncation: z4.boolean().optional()
136
- })
137
- )
138
- );
139
-
140
- // src/reranking/voyage-reranking-model.ts
141
- var VoyageRerankingModel = class {
142
- constructor(modelId, config) {
143
- this.specificationVersion = "v3";
144
- this.modelId = modelId;
145
- this.config = config;
146
- }
147
- get provider() {
148
- return this.config.provider;
149
- }
150
- async doRerank({
151
- documents,
152
- headers,
153
- query,
154
- topN,
155
- abortSignal,
156
- providerOptions
157
- }) {
158
- const rerankingOptions = await parseProviderOptions2({
159
- provider: "voyage",
160
- providerOptions,
161
- schema: voyageRerankingModelOptionsSchema
162
- });
163
- const warnings = [];
164
- if (documents.type === "object") {
165
- warnings.push({
166
- type: "compatibility",
167
- feature: "object documents",
168
- details: "Object documents are converted to strings."
169
- });
170
- }
171
- const {
172
- responseHeaders,
173
- value: response,
174
- rawValue
175
- } = await postJsonToApi2({
176
- url: `${this.config.baseURL}/rerank`,
177
- headers: combineHeaders2(this.config.headers(), headers),
178
- body: {
179
- model: this.modelId,
180
- query,
181
- documents: documents.type === "text" ? documents.values : documents.values.map((value) => JSON.stringify(value)),
182
- top_k: topN,
183
- return_documents: rerankingOptions == null ? void 0 : rerankingOptions.returnDocuments,
184
- truncation: rerankingOptions == null ? void 0 : rerankingOptions.truncation
185
- },
186
- failedResponseHandler: voyageFailedResponseHandler,
187
- successfulResponseHandler: createJsonResponseHandler2(
188
- voyageRerankingResponseSchema
189
- ),
190
- abortSignal,
191
- fetch: this.config.fetch
192
- });
193
- return {
194
- ranking: response.data.map((result) => ({
195
- index: result.index,
196
- relevanceScore: result.relevance_score
197
- })),
198
- warnings,
199
- response: {
200
- headers: responseHeaders,
201
- body: rawValue
202
- }
203
- };
204
- }
205
- };
206
- var voyageRerankingResponseSchema = z5.object({
207
- data: z5.array(
208
- z5.object({
209
- index: z5.number(),
210
- relevance_score: z5.number()
211
- })
212
- ),
213
- usage: z5.object({
214
- total_tokens: z5.number()
215
- })
216
- });
217
-
218
- // src/version.ts
219
- var VERSION = true ? "1.0.4" : "0.0.0-test";
220
-
221
- // src/voyage-provider.ts
222
- function createVoyage(options = {}) {
223
- var _a;
224
- const baseURL = (_a = withoutTrailingSlash(options.baseURL)) != null ? _a : "https://api.voyageai.com/v1";
225
- const getHeaders = () => withUserAgentSuffix(
226
- {
227
- Authorization: `Bearer ${loadApiKey({
228
- apiKey: options.apiKey,
229
- environmentVariableName: "VOYAGE_API_KEY",
230
- description: "Voyage"
231
- })}`,
232
- ...options.headers
233
- },
234
- `ai-sdk/voyage/${VERSION}`
235
- );
236
- const createEmbeddingModel = (modelId) => new VoyageEmbeddingModel(modelId, {
237
- provider: "voyage.embedding",
238
- baseURL,
239
- headers: getHeaders,
240
- fetch: options.fetch
241
- });
242
- const createRerankingModel = (modelId) => new VoyageRerankingModel(modelId, {
243
- provider: "voyage.reranking",
244
- baseURL,
245
- headers: getHeaders,
246
- fetch: options.fetch
247
- });
248
- const provider = function() {
249
- throw new NoSuchModelError({
250
- modelId: "",
251
- modelType: "languageModel"
252
- });
253
- };
254
- provider.specificationVersion = "v3";
255
- provider.languageModel = (modelId) => {
256
- throw new NoSuchModelError({ modelId, modelType: "languageModel" });
257
- };
258
- provider.embedding = createEmbeddingModel;
259
- provider.embeddingModel = createEmbeddingModel;
260
- provider.textEmbedding = createEmbeddingModel;
261
- provider.textEmbeddingModel = createEmbeddingModel;
262
- provider.reranking = createRerankingModel;
263
- provider.rerankingModel = createRerankingModel;
264
- provider.imageModel = (modelId) => {
265
- throw new NoSuchModelError({ modelId, modelType: "imageModel" });
266
- };
267
- return provider;
268
- }
269
- var voyage = createVoyage();
270
- export {
271
- VERSION,
272
- createVoyage,
273
- voyage
274
- };
275
- //# sourceMappingURL=index.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/voyage-provider.ts","../src/voyage-embedding-model.ts","../src/voyage-embedding-options.ts","../src/voyage-error.ts","../src/reranking/voyage-reranking-model.ts","../src/reranking/voyage-reranking-options.ts","../src/version.ts"],"sourcesContent":["import {\n NoSuchModelError,\n type EmbeddingModelV3,\n type RerankingModelV3,\n type ProviderV3,\n} from '@ai-sdk/provider';\nimport {\n loadApiKey,\n withoutTrailingSlash,\n withUserAgentSuffix,\n type FetchFunction,\n} from '@ai-sdk/provider-utils';\nimport { VoyageEmbeddingModel } from './voyage-embedding-model';\nimport type { VoyageEmbeddingModelId } from './voyage-embedding-options';\nimport { VoyageRerankingModel } from './reranking/voyage-reranking-model';\nimport type { VoyageRerankingModelId } from './reranking/voyage-reranking-options';\nimport { VERSION } from './version';\n\nexport interface VoyageProvider extends ProviderV3 {\n embedding(modelId: VoyageEmbeddingModelId): EmbeddingModelV3;\n\n embeddingModel(modelId: VoyageEmbeddingModelId): EmbeddingModelV3;\n\n textEmbedding(modelId: VoyageEmbeddingModelId): EmbeddingModelV3;\n\n textEmbeddingModel(modelId: VoyageEmbeddingModelId): EmbeddingModelV3;\n\n reranking(modelId: VoyageRerankingModelId): RerankingModelV3;\n\n rerankingModel(modelId: VoyageRerankingModelId): RerankingModelV3;\n}\n\nexport interface VoyageProviderSettings {\n baseURL?: string;\n apiKey?: string;\n headers?: Record<string, string>;\n fetch?: FetchFunction;\n}\n\nexport function createVoyage(\n options: VoyageProviderSettings = {},\n): VoyageProvider {\n const baseURL =\n withoutTrailingSlash(options.baseURL) ?? 'https://api.voyageai.com/v1';\n\n const getHeaders = () =>\n withUserAgentSuffix(\n {\n Authorization: `Bearer ${loadApiKey({\n apiKey: options.apiKey,\n environmentVariableName: 'VOYAGE_API_KEY',\n description: 'Voyage',\n })}`,\n ...options.headers,\n },\n `ai-sdk/voyage/${VERSION}`,\n );\n\n const createEmbeddingModel = (modelId: VoyageEmbeddingModelId) =>\n new VoyageEmbeddingModel(modelId, {\n provider: 'voyage.embedding',\n baseURL,\n headers: getHeaders,\n fetch: options.fetch,\n });\n\n const createRerankingModel = (modelId: VoyageRerankingModelId) =>\n new VoyageRerankingModel(modelId, {\n provider: 'voyage.reranking',\n baseURL,\n headers: getHeaders,\n fetch: options.fetch,\n });\n\n const provider = function () {\n throw new NoSuchModelError({\n modelId: '',\n modelType: 'languageModel',\n });\n };\n\n provider.specificationVersion = 'v3' as const;\n\n provider.languageModel = (modelId: string) => {\n throw new NoSuchModelError({ modelId, modelType: 'languageModel' });\n };\n\n provider.embedding = createEmbeddingModel;\n provider.embeddingModel = createEmbeddingModel;\n provider.textEmbedding = createEmbeddingModel;\n provider.textEmbeddingModel = createEmbeddingModel;\n provider.reranking = createRerankingModel;\n provider.rerankingModel = createRerankingModel;\n\n provider.imageModel = (modelId: string) => {\n throw new NoSuchModelError({ modelId, modelType: 'imageModel' });\n };\n\n return provider as VoyageProvider;\n}\n\nexport const voyage = createVoyage();\n","import {\n TooManyEmbeddingValuesForCallError,\n type EmbeddingModelV3,\n} from '@ai-sdk/provider';\nimport {\n combineHeaders,\n createJsonResponseHandler,\n parseProviderOptions,\n postJsonToApi,\n type FetchFunction,\n} from '@ai-sdk/provider-utils';\nimport { z } from 'zod/v4';\nimport {\n voyageEmbeddingModelOptions,\n type VoyageEmbeddingModelId,\n} from './voyage-embedding-options';\nimport { voyageFailedResponseHandler } from './voyage-error';\n\ntype VoyageEmbeddingConfig = {\n provider: string;\n baseURL: string;\n headers: () => Record<string, string | undefined>;\n fetch?: FetchFunction;\n};\n\nexport class VoyageEmbeddingModel implements EmbeddingModelV3 {\n readonly specificationVersion = 'v3';\n readonly modelId: VoyageEmbeddingModelId;\n\n readonly maxEmbeddingsPerCall = 128;\n readonly supportsParallelCalls = true;\n\n private readonly config: VoyageEmbeddingConfig;\n\n constructor(modelId: VoyageEmbeddingModelId, config: VoyageEmbeddingConfig) {\n this.modelId = modelId;\n this.config = config;\n }\n\n get provider(): string {\n return this.config.provider;\n }\n\n async doEmbed({\n values,\n headers,\n abortSignal,\n providerOptions,\n }: Parameters<EmbeddingModelV3['doEmbed']>[0]): Promise<\n Awaited<ReturnType<EmbeddingModelV3['doEmbed']>>\n > {\n const embeddingOptions = await parseProviderOptions({\n provider: 'voyage',\n providerOptions,\n schema: voyageEmbeddingModelOptions,\n });\n\n if (values.length > this.maxEmbeddingsPerCall) {\n throw new TooManyEmbeddingValuesForCallError({\n provider: this.provider,\n modelId: this.modelId,\n maxEmbeddingsPerCall: this.maxEmbeddingsPerCall,\n values,\n });\n }\n\n const {\n responseHeaders,\n value: response,\n rawValue,\n } = await postJsonToApi({\n url: `${this.config.baseURL}/embeddings`,\n headers: combineHeaders(this.config.headers(), headers),\n body: {\n model: this.modelId,\n input: values,\n input_type: embeddingOptions?.inputType,\n truncation: embeddingOptions?.truncation,\n output_dimension: embeddingOptions?.outputDimension,\n output_dtype: embeddingOptions?.outputDtype,\n },\n failedResponseHandler: voyageFailedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler(\n voyageEmbeddingResponseSchema,\n ),\n abortSignal,\n fetch: this.config.fetch,\n });\n\n return {\n warnings: [],\n embeddings: response.data.map(item => item.embedding),\n usage: { tokens: response.usage.total_tokens },\n response: { headers: responseHeaders, body: rawValue },\n };\n }\n}\n\nconst voyageEmbeddingResponseSchema = z.object({\n data: z.array(\n z.object({\n embedding: z.array(z.number()),\n index: z.number(),\n }),\n ),\n usage: z.object({\n total_tokens: z.number(),\n }),\n});\n","import { z } from 'zod/v4';\n\nexport type VoyageEmbeddingModelId =\n | 'voyage-4-large'\n | 'voyage-4'\n | 'voyage-4-lite'\n | 'voyage-4-nano'\n | 'voyage-code-3.5'\n | 'voyage-code-3'\n | 'voyage-3-large'\n | 'voyage-3.5'\n | 'voyage-3.5-lite'\n | 'voyage-3'\n | 'voyage-3-lite'\n | 'voyage-finance-2'\n | 'voyage-law-2'\n | 'voyage-multilingual-2'\n | 'voyage-code-2'\n | 'voyage-2'\n | (string & {});\n\nexport const voyageEmbeddingModelOptions = z.object({\n inputType: z.enum(['query', 'document']).nullable().optional(),\n truncation: z.boolean().optional(),\n outputDimension: z.number().optional(),\n outputDtype: z\n .enum(['float', 'int8', 'uint8', 'binary', 'ubinary'])\n .optional(),\n});\n\nexport type VoyageEmbeddingModelOptions = z.infer<\n typeof voyageEmbeddingModelOptions\n>;\n","import { createJsonErrorResponseHandler } from '@ai-sdk/provider-utils';\nimport { z } from 'zod/v4';\n\nconst voyageErrorDataSchema = z.object({\n detail: z.string(),\n});\n\nexport type VoyageErrorData = z.infer<typeof voyageErrorDataSchema>;\n\nexport const voyageFailedResponseHandler = createJsonErrorResponseHandler({\n errorSchema: voyageErrorDataSchema,\n errorToMessage: data => data.detail,\n});\n","import type { RerankingModelV3, SharedV3Warning } from '@ai-sdk/provider';\nimport {\n combineHeaders,\n createJsonResponseHandler,\n parseProviderOptions,\n postJsonToApi,\n type FetchFunction,\n} from '@ai-sdk/provider-utils';\nimport { z } from 'zod/v4';\nimport { voyageFailedResponseHandler } from '../voyage-error';\nimport {\n voyageRerankingModelOptionsSchema,\n type VoyageRerankingModelId,\n} from './voyage-reranking-options';\n\ntype VoyageRerankingConfig = {\n provider: string;\n baseURL: string;\n headers: () => Record<string, string | undefined>;\n fetch?: FetchFunction;\n};\n\nexport class VoyageRerankingModel implements RerankingModelV3 {\n readonly specificationVersion = 'v3';\n readonly modelId: VoyageRerankingModelId;\n\n private readonly config: VoyageRerankingConfig;\n\n constructor(modelId: VoyageRerankingModelId, config: VoyageRerankingConfig) {\n this.modelId = modelId;\n this.config = config;\n }\n\n get provider(): string {\n return this.config.provider;\n }\n\n async doRerank({\n documents,\n headers,\n query,\n topN,\n abortSignal,\n providerOptions,\n }: Parameters<RerankingModelV3['doRerank']>[0]): Promise<\n Awaited<ReturnType<RerankingModelV3['doRerank']>>\n > {\n const rerankingOptions = await parseProviderOptions({\n provider: 'voyage',\n providerOptions,\n schema: voyageRerankingModelOptionsSchema,\n });\n\n const warnings: SharedV3Warning[] = [];\n\n if (documents.type === 'object') {\n warnings.push({\n type: 'compatibility',\n feature: 'object documents',\n details: 'Object documents are converted to strings.',\n });\n }\n\n const {\n responseHeaders,\n value: response,\n rawValue,\n } = await postJsonToApi({\n url: `${this.config.baseURL}/rerank`,\n headers: combineHeaders(this.config.headers(), headers),\n body: {\n model: this.modelId,\n query,\n documents:\n documents.type === 'text'\n ? documents.values\n : documents.values.map(value => JSON.stringify(value)),\n top_k: topN,\n return_documents: rerankingOptions?.returnDocuments,\n truncation: rerankingOptions?.truncation,\n },\n failedResponseHandler: voyageFailedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler(\n voyageRerankingResponseSchema,\n ),\n abortSignal,\n fetch: this.config.fetch,\n });\n\n return {\n ranking: response.data.map(result => ({\n index: result.index,\n relevanceScore: result.relevance_score,\n })),\n warnings,\n response: {\n headers: responseHeaders,\n body: rawValue,\n },\n };\n }\n}\n\nconst voyageRerankingResponseSchema = z.object({\n data: z.array(\n z.object({\n index: z.number(),\n relevance_score: z.number(),\n }),\n ),\n usage: z.object({\n total_tokens: z.number(),\n }),\n});\n","import {\n lazySchema,\n zodSchema,\n type FlexibleSchema,\n} from '@ai-sdk/provider-utils';\nimport { z } from 'zod/v4';\n\nexport type VoyageRerankingModelId =\n | 'rerank-2.5'\n | 'rerank-2.5-lite'\n | 'rerank-2'\n | 'rerank-2-lite'\n | 'rerank-1'\n | 'rerank-lite-1'\n | (string & {});\n\nexport type VoyageRerankingModelOptions = {\n returnDocuments?: boolean;\n truncation?: boolean;\n};\n\nexport const voyageRerankingModelOptionsSchema: FlexibleSchema<VoyageRerankingModelOptions> =\n lazySchema(() =>\n zodSchema(\n z.object({\n returnDocuments: z.boolean().optional(),\n truncation: z.boolean().optional(),\n }),\n ),\n );\n","declare const __PACKAGE_VERSION__: string | undefined;\nexport const VERSION: string =\n typeof __PACKAGE_VERSION__ !== 'undefined'\n ? __PACKAGE_VERSION__\n : '0.0.0-test';\n"],"mappings":"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","names":["z","z","z","combineHeaders","createJsonResponseHandler","parseProviderOptions","postJsonToApi","z","z","parseProviderOptions","postJsonToApi","combineHeaders","createJsonResponseHandler","z"]}