@effect/ai-openrouter 0.8.3 → 4.0.0-beta.0

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 (80) hide show
  1. package/dist/Generated.d.ts +19505 -0
  2. package/dist/Generated.d.ts.map +1 -0
  3. package/dist/Generated.js +5115 -0
  4. package/dist/Generated.js.map +1 -0
  5. package/dist/OpenRouterClient.d.ts +116 -0
  6. package/dist/OpenRouterClient.d.ts.map +1 -0
  7. package/dist/OpenRouterClient.js +120 -0
  8. package/dist/OpenRouterClient.js.map +1 -0
  9. package/dist/{dts/OpenRouterConfig.d.ts → OpenRouterConfig.d.ts} +9 -9
  10. package/dist/OpenRouterConfig.d.ts.map +1 -0
  11. package/dist/{esm/OpenRouterConfig.js → OpenRouterConfig.js} +8 -5
  12. package/dist/OpenRouterConfig.js.map +1 -0
  13. package/dist/OpenRouterError.d.ts +83 -0
  14. package/dist/OpenRouterError.d.ts.map +1 -0
  15. package/dist/OpenRouterError.js +10 -0
  16. package/dist/OpenRouterError.js.map +1 -0
  17. package/dist/OpenRouterLanguageModel.d.ts +285 -0
  18. package/dist/OpenRouterLanguageModel.d.ts.map +1 -0
  19. package/dist/OpenRouterLanguageModel.js +1210 -0
  20. package/dist/OpenRouterLanguageModel.js.map +1 -0
  21. package/dist/index.d.ts +29 -0
  22. package/dist/index.d.ts.map +1 -0
  23. package/dist/index.js +30 -0
  24. package/dist/index.js.map +1 -0
  25. package/dist/internal/errors.d.ts +2 -0
  26. package/dist/internal/errors.d.ts.map +1 -0
  27. package/dist/internal/errors.js +347 -0
  28. package/dist/internal/errors.js.map +1 -0
  29. package/dist/{dts/internal → internal}/utilities.d.ts.map +1 -1
  30. package/dist/internal/utilities.js +77 -0
  31. package/dist/internal/utilities.js.map +1 -0
  32. package/package.json +45 -62
  33. package/src/Generated.ts +9312 -5435
  34. package/src/OpenRouterClient.ts +223 -304
  35. package/src/OpenRouterConfig.ts +14 -14
  36. package/src/OpenRouterError.ts +92 -0
  37. package/src/OpenRouterLanguageModel.ts +941 -570
  38. package/src/index.ts +20 -4
  39. package/src/internal/errors.ts +373 -0
  40. package/src/internal/utilities.ts +78 -11
  41. package/Generated/package.json +0 -6
  42. package/OpenRouterClient/package.json +0 -6
  43. package/OpenRouterConfig/package.json +0 -6
  44. package/OpenRouterLanguageModel/package.json +0 -6
  45. package/README.md +0 -5
  46. package/dist/cjs/Generated.js +0 -5813
  47. package/dist/cjs/Generated.js.map +0 -1
  48. package/dist/cjs/OpenRouterClient.js +0 -229
  49. package/dist/cjs/OpenRouterClient.js.map +0 -1
  50. package/dist/cjs/OpenRouterConfig.js +0 -30
  51. package/dist/cjs/OpenRouterConfig.js.map +0 -1
  52. package/dist/cjs/OpenRouterLanguageModel.js +0 -825
  53. package/dist/cjs/OpenRouterLanguageModel.js.map +0 -1
  54. package/dist/cjs/index.js +0 -16
  55. package/dist/cjs/index.js.map +0 -1
  56. package/dist/cjs/internal/utilities.js +0 -29
  57. package/dist/cjs/internal/utilities.js.map +0 -1
  58. package/dist/dts/Generated.d.ts +0 -11026
  59. package/dist/dts/Generated.d.ts.map +0 -1
  60. package/dist/dts/OpenRouterClient.d.ts +0 -407
  61. package/dist/dts/OpenRouterClient.d.ts.map +0 -1
  62. package/dist/dts/OpenRouterConfig.d.ts.map +0 -1
  63. package/dist/dts/OpenRouterLanguageModel.d.ts +0 -215
  64. package/dist/dts/OpenRouterLanguageModel.d.ts.map +0 -1
  65. package/dist/dts/index.d.ts +0 -17
  66. package/dist/dts/index.d.ts.map +0 -1
  67. package/dist/esm/Generated.js +0 -5457
  68. package/dist/esm/Generated.js.map +0 -1
  69. package/dist/esm/OpenRouterClient.js +0 -214
  70. package/dist/esm/OpenRouterClient.js.map +0 -1
  71. package/dist/esm/OpenRouterConfig.js.map +0 -1
  72. package/dist/esm/OpenRouterLanguageModel.js +0 -814
  73. package/dist/esm/OpenRouterLanguageModel.js.map +0 -1
  74. package/dist/esm/index.js +0 -17
  75. package/dist/esm/index.js.map +0 -1
  76. package/dist/esm/internal/utilities.js +0 -21
  77. package/dist/esm/internal/utilities.js.map +0 -1
  78. package/dist/esm/package.json +0 -4
  79. package/index/package.json +0 -6
  80. /package/dist/{dts/internal → internal}/utilities.d.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OpenRouterLanguageModel.js","names":["Arr","DateTime","Effect","Base64","dual","Layer","Predicate","Redactable","SchemaAST","ServiceMap","Stream","AiError","toCodecAnthropic","IdGenerator","LanguageModel","AiModel","toCodecOpenAI","addGenAIAnnotations","Tool","ReasoningDetailsDuplicateTracker","resolveFinishReason","OpenRouterClient","Config","Service","model","config","make","layer","fnUntraced","providerConfig","client","codecTransformer","getCodecTransformer","makeConfig","gen","services","mapUnsafe","get","key","makeRequest","options","messages","prepareMessages","tools","toolChoice","prepareTools","transformer","responseFormat","getResponseFormat","request","isNotUndefined","response_format","undefined","tool_choice","generateText","annotateRequest","span","rawResponse","response","createChatCompletion","annotateResponse","makeResponse","streamText","stream","createChatCompletionStream","makeStreamResponse","effect","pipe","unwrap","map","annotateStreamResponse","provideService","CurrentCodecTransformer","withConfigOverride","self","overrides","flatMap","serviceOption","_tag","value","reasoningDetailsTracker","message","prompt","content","role","cache_control","getCacheControl","push","type","text","isNotNull","messageCacheControl","length","lastTextPartIndex","i","index","part","isLastTextPart","partCacheControl","mediaType","startsWith","image_url","url","data","URL","toString","Uint8Array","encode","openrouter","fileName","file","filename","file_data","reasoning","toolCalls","id","function","name","arguments","JSON","stringify","params","messageReasoningDetails","reasoningDetails","candidateReasoningDetails","isNotNullish","Array","isArray","findFirstReasoningDetails","uniqueReasoningDetails","detail","upsert","reasoning_details","tool_calls","tool_call_id","result","buildHttpRequestDetails","method","urlParams","from","hash","headers","redact","buildHttpResponseDetails","status","idGenerator","parts","hasToolCalls","hasEncryptedReasoning","createdAt","Date","created","modelId","timestamp","formatIso","fromDateUnsafe","choice","choices","isUndefined","module","reason","InvalidOutputError","description","finishReason","finish_reason","metadata","summary","item","toolCall","toolName","toolParams","try","unsafeSecureJsonParse","catch","cause","ToolParameterValidationError","images","image","getMediaType","getBase64FromDataUrl","generateId","sourceType","title","annotations","annotation","url_citation","start_index","startIndex","end_index","endIndex","fileAnnotations","filter","usage","getUsage","systemFingerprint","system_fingerprint","hasProperty","isString","provider","textStarted","reasoningStarted","responseMetadataEmitted","reasoningDetailsAttachedToToolCall","openRouterResponseId","activeReasoningId","activeTextId","totalToolCalls","activeToolCalls","accumulatedReasoningDetails","accumulatedFileAnnotations","inputTokens","total","uncached","cacheRead","cacheWrite","outputTokens","mapEffect","event","error","now","computed","delta","isNullish","emitReasoning","lastDetail","signature","format","openRouter","activeToolCall","some","flattenIterable","hasProviderDefinedTools","tool","isProviderDefined","InvalidUserInputError","getDescription","parameters","tryJsonSchema","parametersSchema","strict","getStrictMode","allowedTools","Set","oneOf","has","mode","system","operation","temperature","topP","top_p","maxTokens","max_tokens","stopSequences","ensure","stop","finishReasons","prompt_tokens","completion_tokens","cacheControl","details","defaultCodecTransformer","unsupportedSchemaError","UnsupportedSchemaError","Error","String","schema","getJsonSchemaFromSchema","resolveDescription","ast","jsonSchema","json_schema","objectName","strictJsonSchema","dataUrl","defaultMediaType","match","promptTokens","completionTokens","cacheReadTokens","prompt_tokens_details","cached_tokens","cacheWriteTokens","cache_write_tokens","reasoningTokens","completion_tokens_details","reasoning_tokens"],"sources":["../src/OpenRouterLanguageModel.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ /**
5
+ * @since 1.0.0
6
+ */
7
+ export * as Generated from "./Generated.ts";
8
+ /**
9
+ * @since 1.0.0
10
+ */
11
+ export * as OpenRouterClient from "./OpenRouterClient.ts";
12
+ /**
13
+ * @since 1.0.0
14
+ */
15
+ export * as OpenRouterConfig from "./OpenRouterConfig.ts";
16
+ /**
17
+ * OpenRouter error metadata augmentation.
18
+ *
19
+ * Provides OpenRouter-specific metadata fields for AI error types through
20
+ * module augmentation, enabling typed access to OpenRouter error details.
21
+ *
22
+ * @since 1.0.0
23
+ */
24
+ export * as OpenRouterError from "./OpenRouterError.ts";
25
+ /**
26
+ * @since 1.0.0
27
+ */
28
+ export * as OpenRouterLanguageModel from "./OpenRouterLanguageModel.ts";
29
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;GAEG;AACH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C;;GAEG;AACH,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAA;AAEzD;;GAEG;AACH,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAA;AAEzD;;;;;;;GAOG;AACH,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA;AAEvD;;GAEG;AACH,OAAO,KAAK,uBAAuB,MAAM,8BAA8B,CAAA"}
package/dist/index.js ADDED
@@ -0,0 +1,30 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ // @barrel: Auto-generated exports. Do not edit manually.
5
+ /**
6
+ * @since 1.0.0
7
+ */
8
+ export * as Generated from "./Generated.js";
9
+ /**
10
+ * @since 1.0.0
11
+ */
12
+ export * as OpenRouterClient from "./OpenRouterClient.js";
13
+ /**
14
+ * @since 1.0.0
15
+ */
16
+ export * as OpenRouterConfig from "./OpenRouterConfig.js";
17
+ /**
18
+ * OpenRouter error metadata augmentation.
19
+ *
20
+ * Provides OpenRouter-specific metadata fields for AI error types through
21
+ * module augmentation, enabling typed access to OpenRouter error details.
22
+ *
23
+ * @since 1.0.0
24
+ */
25
+ export * as OpenRouterError from "./OpenRouterError.js";
26
+ /**
27
+ * @since 1.0.0
28
+ */
29
+ export * as OpenRouterLanguageModel from "./OpenRouterLanguageModel.js";
30
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["Generated","OpenRouterClient","OpenRouterConfig","OpenRouterError","OpenRouterLanguageModel"],"sources":["../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAIA;AAEA;;;AAGA,OAAO,KAAKA,SAAS,MAAM,gBAAgB;AAE3C;;;AAGA,OAAO,KAAKC,gBAAgB,MAAM,uBAAuB;AAEzD;;;AAGA,OAAO,KAAKC,gBAAgB,MAAM,uBAAuB;AAEzD;;;;;;;;AAQA,OAAO,KAAKC,eAAe,MAAM,sBAAsB;AAEvD;;;AAGA,OAAO,KAAKC,uBAAuB,MAAM,8BAA8B","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/internal/errors.ts"],"names":[],"mappings":""}
@@ -0,0 +1,347 @@
1
+ import * as Duration from "effect/Duration";
2
+ import * as Effect from "effect/Effect";
3
+ import { dual } from "effect/Function";
4
+ import * as Number from "effect/Number";
5
+ import * as Option from "effect/Option";
6
+ import * as Predicate from "effect/Predicate";
7
+ import * as Redactable from "effect/Redactable";
8
+ import * as Schema from "effect/Schema";
9
+ import * as AiError from "effect/unstable/ai/AiError";
10
+ // =============================================================================
11
+ // OpenRouter Error Body Schema
12
+ // =============================================================================
13
+ /** @internal */
14
+ export const OpenRouterErrorBody = /*#__PURE__*/Schema.Struct({
15
+ error: /*#__PURE__*/Schema.Struct({
16
+ message: Schema.String,
17
+ type: /*#__PURE__*/Schema.optional(/*#__PURE__*/Schema.NullOr(Schema.String)),
18
+ code: /*#__PURE__*/Schema.optional(/*#__PURE__*/Schema.NullOr(/*#__PURE__*/Schema.Union([Schema.String, /*#__PURE__*/Schema.Number.check(/*#__PURE__*/Schema.isFinite())])))
19
+ })
20
+ });
21
+ // =============================================================================
22
+ // Error Mappers
23
+ // =============================================================================
24
+ /** @internal */
25
+ export const mapSchemaError = /*#__PURE__*/dual(2, (error, method) => AiError.make({
26
+ module: "OpenRouterClient",
27
+ method,
28
+ reason: AiError.InvalidOutputError.fromSchemaError(error)
29
+ }));
30
+ /** @internal */
31
+ export const mapClientError = /*#__PURE__*/dual(2, (error, method) => {
32
+ const {
33
+ request,
34
+ response,
35
+ cause
36
+ } = error;
37
+ const status = response.status;
38
+ const headers = response.headers;
39
+ const metadata = {
40
+ errorCode: cause.error.code ?? null,
41
+ errorType: cause.error.type ?? null,
42
+ requestId: headers["x-request-id"] ?? null
43
+ };
44
+ const http = buildHttpContext({
45
+ request,
46
+ response,
47
+ body: JSON.stringify(cause)
48
+ });
49
+ const reason = mapStatusCodeToReason({
50
+ status,
51
+ headers,
52
+ message: cause.error.message,
53
+ metadata,
54
+ http
55
+ });
56
+ return AiError.make({
57
+ module: "OpenRouterClient",
58
+ method,
59
+ reason
60
+ });
61
+ });
62
+ /** @internal */
63
+ export const mapHttpClientError = /*#__PURE__*/dual(2, (error, method) => {
64
+ const reason = error.reason;
65
+ switch (reason._tag) {
66
+ case "TransportError":
67
+ {
68
+ return Effect.fail(AiError.make({
69
+ module: "OpenRouterClient",
70
+ method,
71
+ reason: new AiError.NetworkError({
72
+ reason: "TransportError",
73
+ description: reason.description,
74
+ request: buildHttpRequestDetails(reason.request)
75
+ })
76
+ }));
77
+ }
78
+ case "EncodeError":
79
+ {
80
+ return Effect.fail(AiError.make({
81
+ module: "OpenRouterClient",
82
+ method,
83
+ reason: new AiError.NetworkError({
84
+ reason: "EncodeError",
85
+ description: reason.description,
86
+ request: buildHttpRequestDetails(reason.request)
87
+ })
88
+ }));
89
+ }
90
+ case "InvalidUrlError":
91
+ {
92
+ return Effect.fail(AiError.make({
93
+ module: "OpenRouterClient",
94
+ method,
95
+ reason: new AiError.NetworkError({
96
+ reason: "InvalidUrlError",
97
+ description: reason.description,
98
+ request: buildHttpRequestDetails(reason.request)
99
+ })
100
+ }));
101
+ }
102
+ case "StatusCodeError":
103
+ {
104
+ return mapStatusCodeError(reason, method);
105
+ }
106
+ case "DecodeError":
107
+ {
108
+ return Effect.fail(AiError.make({
109
+ module: "OpenRouterClient",
110
+ method,
111
+ reason: new AiError.InvalidOutputError({
112
+ description: reason.description ?? "Failed to decode response"
113
+ })
114
+ }));
115
+ }
116
+ case "EmptyBodyError":
117
+ {
118
+ return Effect.fail(AiError.make({
119
+ module: "OpenRouterClient",
120
+ method,
121
+ reason: new AiError.InvalidOutputError({
122
+ description: reason.description ?? "Response body was empty"
123
+ })
124
+ }));
125
+ }
126
+ }
127
+ });
128
+ /** @internal */
129
+ const mapStatusCodeError = /*#__PURE__*/Effect.fnUntraced(function* (error, method) {
130
+ const {
131
+ request,
132
+ response,
133
+ description
134
+ } = error;
135
+ const status = response.status;
136
+ const headers = response.headers;
137
+ const requestId = headers["x-request-id"];
138
+ let body = description;
139
+ if (!description || !description.startsWith("{")) {
140
+ const responseBody = yield* Effect.option(response.text);
141
+ if (Option.isSome(responseBody) && responseBody.value) {
142
+ body = responseBody.value;
143
+ }
144
+ }
145
+ let json = undefined;
146
+ // @effect-diagnostics effect/tryCatchInEffectGen:off
147
+ try {
148
+ json = Predicate.isNotUndefined(body) ? JSON.parse(body) : undefined;
149
+ } catch {
150
+ json = undefined;
151
+ }
152
+ const decoded = Schema.decodeUnknownOption(OpenRouterErrorBody)(json);
153
+ const reason = mapStatusCodeToReason({
154
+ status,
155
+ headers,
156
+ message: Option.isSome(decoded) ? decoded.value.error.message : undefined,
157
+ http: buildHttpContext({
158
+ request,
159
+ response,
160
+ body
161
+ }),
162
+ metadata: {
163
+ errorCode: Option.isSome(decoded) ? decoded.value.error.code ?? null : null,
164
+ errorType: Option.isSome(decoded) ? decoded.value.error.type ?? null : null,
165
+ requestId: requestId ?? null
166
+ }
167
+ });
168
+ return yield* AiError.make({
169
+ module: "OpenRouterClient",
170
+ method,
171
+ reason
172
+ });
173
+ });
174
+ // =============================================================================
175
+ // Rate Limits
176
+ // =============================================================================
177
+ /** @internal */
178
+ export const parseRateLimitHeaders = headers => {
179
+ const retryAfterRaw = headers["retry-after"];
180
+ let retryAfter;
181
+ if (Predicate.isNotUndefined(retryAfterRaw)) {
182
+ const parsed = Number.parse(retryAfterRaw);
183
+ if (Predicate.isNotUndefined(parsed)) {
184
+ retryAfter = Duration.seconds(parsed);
185
+ }
186
+ }
187
+ const remainingRaw = headers["x-ratelimit-remaining-requests"];
188
+ const remaining = Predicate.isNotUndefined(remainingRaw) ? Number.parse(remainingRaw) ?? null : null;
189
+ return {
190
+ retryAfter,
191
+ limit: headers["x-ratelimit-limit-requests"] ?? null,
192
+ remaining,
193
+ resetRequests: headers["x-ratelimit-reset-requests"] ?? null,
194
+ resetTokens: headers["x-ratelimit-reset-tokens"] ?? null
195
+ };
196
+ };
197
+ // =============================================================================
198
+ // HTTP Context
199
+ // =============================================================================
200
+ /** @internal */
201
+ export const buildHttpRequestDetails = request => ({
202
+ method: request.method,
203
+ url: request.url,
204
+ urlParams: Array.from(request.urlParams),
205
+ hash: request.hash,
206
+ headers: Redactable.redact(request.headers)
207
+ });
208
+ /** @internal */
209
+ export const buildHttpContext = params => ({
210
+ request: buildHttpRequestDetails(params.request),
211
+ response: Predicate.isNotUndefined(params.response) ? {
212
+ status: params.response.status,
213
+ headers: Redactable.redact(params.response.headers)
214
+ } : undefined,
215
+ body: params.body
216
+ });
217
+ // =============================================================================
218
+ // HTTP Status Code
219
+ // =============================================================================
220
+ const buildInvalidRequestDescription = params => {
221
+ const parts = [];
222
+ if (params.message) {
223
+ parts.push(params.message);
224
+ } else {
225
+ parts.push(`HTTP ${params.status}`);
226
+ }
227
+ parts.push(`(${params.method} ${params.url})`);
228
+ if (params.errorCode) {
229
+ parts.push(`[code: ${params.errorCode}]`);
230
+ } else if (params.errorType) {
231
+ parts.push(`[type: ${params.errorType}]`);
232
+ }
233
+ if (params.requestId) {
234
+ parts.push(`[requestId: ${params.requestId}]`);
235
+ }
236
+ if (!params.message && params.body) {
237
+ const truncated = params.body.length > 200 ? params.body.slice(0, 200) + "..." : params.body;
238
+ parts.push(`Response: ${truncated}`);
239
+ }
240
+ return parts.join(" ");
241
+ };
242
+ /** @internal */
243
+ export const mapStatusCodeToReason = ({
244
+ status,
245
+ headers,
246
+ message,
247
+ metadata,
248
+ http
249
+ }) => {
250
+ const invalidRequestDescription = buildInvalidRequestDescription({
251
+ status,
252
+ message,
253
+ method: http.request.method,
254
+ url: http.request.url,
255
+ errorCode: metadata.errorCode,
256
+ errorType: metadata.errorType,
257
+ requestId: metadata.requestId,
258
+ body: http.body
259
+ });
260
+ switch (status) {
261
+ case 400:
262
+ return new AiError.InvalidRequestError({
263
+ description: invalidRequestDescription,
264
+ metadata: {
265
+ openrouter: metadata
266
+ },
267
+ http
268
+ });
269
+ case 401:
270
+ return new AiError.AuthenticationError({
271
+ kind: "InvalidKey",
272
+ metadata: {
273
+ openrouter: metadata
274
+ },
275
+ http
276
+ });
277
+ case 403:
278
+ return new AiError.AuthenticationError({
279
+ kind: "InsufficientPermissions",
280
+ metadata: {
281
+ openrouter: metadata
282
+ },
283
+ http
284
+ });
285
+ case 404:
286
+ case 409:
287
+ case 422:
288
+ return new AiError.InvalidRequestError({
289
+ description: invalidRequestDescription,
290
+ metadata: {
291
+ openrouter: metadata
292
+ },
293
+ http
294
+ });
295
+ case 429:
296
+ {
297
+ if (metadata.errorCode === "insufficient_quota" || metadata.errorType === "insufficient_quota") {
298
+ return new AiError.QuotaExhaustedError({
299
+ metadata: {
300
+ openrouter: metadata
301
+ },
302
+ http
303
+ });
304
+ }
305
+ const {
306
+ retryAfter,
307
+ ...rateLimitMetadata
308
+ } = parseRateLimitHeaders(headers);
309
+ return new AiError.RateLimitError({
310
+ retryAfter,
311
+ metadata: {
312
+ openrouter: {
313
+ ...metadata,
314
+ ...rateLimitMetadata
315
+ }
316
+ },
317
+ http
318
+ });
319
+ }
320
+ case 529:
321
+ return new AiError.InternalProviderError({
322
+ description: message ?? "OpenRouter API is overloaded",
323
+ metadata: {
324
+ openrouter: metadata
325
+ },
326
+ http
327
+ });
328
+ default:
329
+ if (status >= 500) {
330
+ return new AiError.InternalProviderError({
331
+ description: message ?? "Server error",
332
+ metadata: {
333
+ openrouter: metadata
334
+ },
335
+ http
336
+ });
337
+ }
338
+ return new AiError.UnknownError({
339
+ description: message,
340
+ metadata: {
341
+ openrouter: metadata
342
+ },
343
+ http
344
+ });
345
+ }
346
+ };
347
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","names":["Duration","Effect","dual","Number","Option","Predicate","Redactable","Schema","AiError","OpenRouterErrorBody","Struct","error","message","String","type","optional","NullOr","code","Union","check","isFinite","mapSchemaError","method","make","module","reason","InvalidOutputError","fromSchemaError","mapClientError","request","response","cause","status","headers","metadata","errorCode","errorType","requestId","http","buildHttpContext","body","JSON","stringify","mapStatusCodeToReason","mapHttpClientError","_tag","fail","NetworkError","description","buildHttpRequestDetails","mapStatusCodeError","fnUntraced","startsWith","responseBody","option","text","isSome","value","json","undefined","isNotUndefined","parse","decoded","decodeUnknownOption","parseRateLimitHeaders","retryAfterRaw","retryAfter","parsed","seconds","remainingRaw","remaining","limit","resetRequests","resetTokens","url","urlParams","Array","from","hash","redact","params","buildInvalidRequestDescription","parts","push","truncated","length","slice","join","invalidRequestDescription","InvalidRequestError","openrouter","AuthenticationError","kind","QuotaExhaustedError","rateLimitMetadata","RateLimitError","InternalProviderError","UnknownError"],"sources":["../../src/internal/errors.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"utilities.d.ts","sourceRoot":"","sources":["../../../src/internal/utilities.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"utilities.d.ts","sourceRoot":"","sources":["../../src/internal/utilities.ts"],"names":[],"mappings":""}
@@ -0,0 +1,77 @@
1
+ import * as Predicate from "effect/Predicate";
2
+ const finishReasonMap = {
3
+ content_filter: "content-filter",
4
+ error: "error",
5
+ function_call: "tool-calls",
6
+ length: "length",
7
+ tool_calls: "tool-calls",
8
+ stop: "stop"
9
+ };
10
+ /** @internal */
11
+ export const resolveFinishReason = finishReason => Predicate.isNotNullish(finishReason) ? finishReasonMap[finishReason] : "other";
12
+ /**
13
+ * Tracks ReasoningDetailUnion entries and deduplicates them based
14
+ * on a derived canonical key.
15
+ *
16
+ * This is used when converting messages to ensure the API request only
17
+ * contains unique reasoning details, preventing "Duplicate item found with id"
18
+ * errors in multi-turn conversations.
19
+ *
20
+ * The canonical key logic matches the OpenRouter API's deduplication exactly
21
+ * (see openrouter-web/packages/llm-interfaces/reasonings/duplicate-tracker.ts):
22
+ * - Summary: key = summary field
23
+ * - Encrypted: key = id field (if truthy) or data field
24
+ * - Text: key = text field (if truthy) or signature field (if truthy)
25
+ *
26
+ * @internal
27
+ */
28
+ export class ReasoningDetailsDuplicateTracker {
29
+ #seenKeys = /*#__PURE__*/new Set();
30
+ /**
31
+ * Attempts to track a detail.
32
+ *
33
+ * @returns `true` if this is a NEW detail (not seen before and has valid key),
34
+ * or `false` if it was skipped (no valid key) or already seen (duplicate).
35
+ */
36
+ upsert(detail) {
37
+ const key = this.getCanonicalKey(detail);
38
+ if (Predicate.isNull(key)) {
39
+ return false;
40
+ }
41
+ if (this.#seenKeys.has(key)) {
42
+ return false;
43
+ }
44
+ this.#seenKeys.add(key);
45
+ return true;
46
+ }
47
+ getCanonicalKey(detail) {
48
+ // This logic matches the OpenRouter API's deduplication exactly.
49
+ // See: openrouter-web/packages/llm-interfaces/reasonings/duplicate-tracker.ts
50
+ switch (detail.type) {
51
+ case "reasoning.summary":
52
+ {
53
+ return detail.summary;
54
+ }
55
+ case "reasoning.encrypted":
56
+ {
57
+ return Predicate.isNotNullish(detail.id) ? detail.id : detail.data;
58
+ }
59
+ case "reasoning.text":
60
+ {
61
+ if (Predicate.isNotNullish(detail.text)) {
62
+ return detail.text;
63
+ }
64
+ if (Predicate.isNotNullish(detail.signature)) {
65
+ return detail.signature;
66
+ }
67
+ return null;
68
+ }
69
+ default:
70
+ {
71
+ // Handle unknown types gracefully
72
+ return null;
73
+ }
74
+ }
75
+ }
76
+ }
77
+ //# sourceMappingURL=utilities.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utilities.js","names":["Predicate","finishReasonMap","content_filter","error","function_call","length","tool_calls","stop","resolveFinishReason","finishReason","isNotNullish","ReasoningDetailsDuplicateTracker","seenKeys","Set","upsert","detail","key","getCanonicalKey","isNull","has","add","type","summary","id","data","text","signature"],"sources":["../../src/internal/utilities.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,KAAKA,SAAS,MAAM,kBAAkB;AAI7C,MAAMC,eAAe,GAA0C;EAC7DC,cAAc,EAAE,gBAAgB;EAChCC,KAAK,EAAE,OAAO;EACdC,aAAa,EAAE,YAAY;EAC3BC,MAAM,EAAE,QAAQ;EAChBC,UAAU,EAAE,YAAY;EACxBC,IAAI,EAAE;CACP;AAED;AACA,OAAO,MAAMC,mBAAmB,GAC9BC,YAAuC,IAEvCT,SAAS,CAACU,YAAY,CAACD,YAAY,CAAC,GAChCR,eAAe,CAACQ,YAAY,CAAC,GAC7B,OAAO;AAEb;;;;;;;;;;;;;;;;AAgBA,OAAM,MAAOE,gCAAgC;EAClC,CAAAC,QAAS,gBAAG,IAAIC,GAAG,EAAU;EAEtC;;;;;;EAMAC,MAAMA,CAACC,MAAgC;IACrC,MAAMC,GAAG,GAAG,IAAI,CAACC,eAAe,CAACF,MAAM,CAAC;IAExC,IAAIf,SAAS,CAACkB,MAAM,CAACF,GAAG,CAAC,EAAE;MACzB,OAAO,KAAK;IACd;IAEA,IAAI,IAAI,CAAC,CAAAJ,QAAS,CAACO,GAAG,CAACH,GAAG,CAAC,EAAE;MAC3B,OAAO,KAAK;IACd;IAEA,IAAI,CAAC,CAAAJ,QAAS,CAACQ,GAAG,CAACJ,GAAG,CAAC;IAEvB,OAAO,IAAI;EACb;EAEQC,eAAeA,CAACF,MAAgC;IACtD;IACA;IACA,QAAQA,MAAM,CAACM,IAAI;MACjB,KAAK,mBAAmB;QAAE;UACxB,OAAON,MAAM,CAACO,OAAO;QACvB;MAEA,KAAK,qBAAqB;QAAE;UAC1B,OAAOtB,SAAS,CAACU,YAAY,CAACK,MAAM,CAACQ,EAAE,CAAC,GAAGR,MAAM,CAACQ,EAAE,GAAGR,MAAM,CAACS,IAAI;QACpE;MAEA,KAAK,gBAAgB;QAAE;UACrB,IAAIxB,SAAS,CAACU,YAAY,CAACK,MAAM,CAACU,IAAI,CAAC,EAAE;YACvC,OAAOV,MAAM,CAACU,IAAI;UACpB;UAEA,IAAIzB,SAAS,CAACU,YAAY,CAACK,MAAM,CAACW,SAAS,CAAC,EAAE;YAC5C,OAAOX,MAAM,CAACW,SAAS;UACzB;UAEA,OAAO,IAAI;QACb;MAEA;QAAS;UACP;UACA,OAAO,IAAI;QACb;IACF;EACF","ignoreList":[]}