@effect/ai-openrouter 0.8.2 → 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 -572
  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 -826
  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 -815
  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,285 @@
1
+ import * as Effect from "effect/Effect";
2
+ import * as Layer from "effect/Layer";
3
+ import * as ServiceMap from "effect/ServiceMap";
4
+ import * as LanguageModel from "effect/unstable/ai/LanguageModel";
5
+ import * as AiModel from "effect/unstable/ai/Model";
6
+ import type * as Generated from "./Generated.ts";
7
+ import { OpenRouterClient } from "./OpenRouterClient.ts";
8
+ declare const Config_base: ServiceMap.ServiceClass<Config, "@effect/ai-openrouter/OpenRouterLanguageModel/Config", {
9
+ readonly metadata?: {};
10
+ readonly max_tokens?: number | null;
11
+ readonly model?: string;
12
+ readonly user?: string;
13
+ readonly max_completion_tokens?: number | null;
14
+ readonly temperature?: number | null;
15
+ readonly top_p?: number | null;
16
+ readonly frequency_penalty?: number | null;
17
+ readonly presence_penalty?: number | null;
18
+ readonly logit_bias?: {} | null;
19
+ readonly logprobs?: boolean | null;
20
+ readonly top_logprobs?: number | null;
21
+ readonly seed?: number | null;
22
+ readonly stop?: string | readonly string[] | null;
23
+ readonly reasoning?: {
24
+ readonly effort?: "high" | "low" | "medium" | "none" | "xhigh" | "minimal" | null;
25
+ readonly summary?: "auto" | "concise" | "detailed" | null;
26
+ };
27
+ readonly provider?: {
28
+ readonly sort?: "price" | "throughput" | "latency" | {
29
+ readonly by?: "price" | "throughput" | "latency" | null;
30
+ readonly partition?: "none" | "model" | null;
31
+ } | null;
32
+ readonly allow_fallbacks?: boolean | null;
33
+ readonly require_parameters?: boolean | null;
34
+ readonly data_collection?: "deny" | "allow" | null;
35
+ readonly zdr?: boolean | null;
36
+ readonly enforce_distillable_text?: boolean | null;
37
+ readonly order?: readonly string[] | null;
38
+ readonly only?: readonly string[] | null;
39
+ readonly ignore?: readonly string[] | null;
40
+ readonly quantizations?: readonly ("int4" | "int8" | "fp4" | "fp6" | "fp8" | "fp16" | "bf16" | "fp32" | "unknown")[] | null;
41
+ readonly max_price?: {
42
+ readonly image?: unknown;
43
+ readonly request?: unknown;
44
+ readonly audio?: unknown;
45
+ readonly prompt?: unknown;
46
+ readonly completion?: unknown;
47
+ };
48
+ readonly preferred_min_throughput?: number | {
49
+ readonly p50?: number | null;
50
+ readonly p75?: number | null;
51
+ readonly p90?: number | null;
52
+ readonly p99?: number | null;
53
+ } | null;
54
+ readonly preferred_max_latency?: number | {
55
+ readonly p50?: number | null;
56
+ readonly p75?: number | null;
57
+ readonly p90?: number | null;
58
+ readonly p99?: number | null;
59
+ } | null;
60
+ } | null;
61
+ readonly plugins?: readonly ({
62
+ readonly id: "auto-router";
63
+ readonly enabled?: boolean;
64
+ readonly allowed_models?: readonly string[];
65
+ } | {
66
+ readonly id: "moderation";
67
+ } | {
68
+ readonly id: "web";
69
+ readonly enabled?: boolean;
70
+ readonly engine?: "native" | "exa";
71
+ readonly max_results?: number;
72
+ readonly search_prompt?: string;
73
+ } | {
74
+ readonly id: "file-parser";
75
+ readonly enabled?: boolean;
76
+ readonly pdf?: {
77
+ readonly engine?: "native" | "mistral-ocr" | "pdf-text";
78
+ };
79
+ } | {
80
+ readonly id: "response-healing";
81
+ readonly enabled?: boolean;
82
+ })[];
83
+ readonly route?: "sort" | "fallback" | null;
84
+ readonly session_id?: string;
85
+ readonly models?: readonly string[];
86
+ readonly image_config?: {};
87
+ readonly modalities?: readonly ("text" | "image")[];
88
+ readonly debug?: {
89
+ readonly echo_upstream_body?: boolean;
90
+ };
91
+ readonly strictJsonSchema?: boolean | undefined | undefined;
92
+ }>;
93
+ /**
94
+ * Service definition for OpenRouter language model configuration.
95
+ *
96
+ * @since 1.0.0
97
+ * @category services
98
+ */
99
+ export declare class Config extends Config_base {
100
+ }
101
+ /**
102
+ * @since 1.0.0
103
+ * @category models
104
+ */
105
+ export type ReasoningDetails = Exclude<typeof Generated.AssistantMessage.Encoded["reasoning_details"], undefined>;
106
+ /**
107
+ * @since 1.0.0
108
+ * @category models
109
+ */
110
+ export type FileAnnotation = Extract<NonNullable<typeof Generated.AssistantMessage.fields.annotations.Type>[number], {
111
+ type: "file";
112
+ }>;
113
+ declare module "effect/unstable/ai/Prompt" {
114
+ interface SystemMessageOptions extends ProviderOptions {
115
+ readonly openrouter?: {
116
+ /**
117
+ * A breakpoint which marks the end of reusable content eligible for caching.
118
+ */
119
+ readonly cacheControl?: typeof Generated.ChatMessageContentItemCacheControl.Encoded | null;
120
+ } | null;
121
+ }
122
+ interface UserMessageOptions extends ProviderOptions {
123
+ readonly openrouter?: {
124
+ /**
125
+ * A breakpoint which marks the end of reusable content eligible for caching.
126
+ */
127
+ readonly cacheControl?: typeof Generated.ChatMessageContentItemCacheControl.Encoded | null;
128
+ } | null;
129
+ }
130
+ interface AssistantMessageOptions extends ProviderOptions {
131
+ readonly openrouter?: {
132
+ /**
133
+ * A breakpoint which marks the end of reusable content eligible for caching.
134
+ */
135
+ readonly cacheControl?: typeof Generated.ChatMessageContentItemCacheControl.Encoded | null;
136
+ /**
137
+ * Reasoning details associated with the assistant message.
138
+ */
139
+ readonly reasoningDetails?: ReasoningDetails | null;
140
+ } | null;
141
+ }
142
+ interface ToolMessageOptions extends ProviderOptions {
143
+ readonly openrouter?: {
144
+ /**
145
+ * A breakpoint which marks the end of reusable content eligible for caching.
146
+ */
147
+ readonly cacheControl?: typeof Generated.ChatMessageContentItemCacheControl.Encoded | null;
148
+ } | null;
149
+ }
150
+ interface TextPartOptions extends ProviderOptions {
151
+ readonly openrouter?: {
152
+ /**
153
+ * A breakpoint which marks the end of reusable content eligible for caching.
154
+ */
155
+ readonly cacheControl?: typeof Generated.ChatMessageContentItemCacheControl.Encoded | null;
156
+ } | null;
157
+ }
158
+ interface ReasoningPartOptions extends ProviderOptions {
159
+ readonly openrouter?: {
160
+ /**
161
+ * A breakpoint which marks the end of reusable content eligible for caching.
162
+ */
163
+ readonly cacheControl?: typeof Generated.ChatMessageContentItemCacheControl.Encoded | null;
164
+ /**
165
+ * Reasoning details associated with the reasoning part.
166
+ */
167
+ readonly reasoningDetails?: ReasoningDetails | null;
168
+ } | null;
169
+ }
170
+ interface FilePartOptions extends ProviderOptions {
171
+ readonly openrouter?: {
172
+ /**
173
+ * The name to give to the file. Will be prioritized over the file name
174
+ * associated with the file part, if present.
175
+ */
176
+ readonly fileName?: string | null;
177
+ /**
178
+ * A breakpoint which marks the end of reusable content eligible for caching.
179
+ */
180
+ readonly cacheControl?: typeof Generated.ChatMessageContentItemCacheControl.Encoded | null;
181
+ } | null;
182
+ }
183
+ interface ToolCallPartOptions extends ProviderOptions {
184
+ readonly openrouter?: {
185
+ /**
186
+ * Reasoning details associated with the tool call part.
187
+ */
188
+ readonly reasoningDetails?: ReasoningDetails | null;
189
+ } | null;
190
+ }
191
+ interface ToolResultPartOptions extends ProviderOptions {
192
+ readonly openrouter?: {
193
+ /**
194
+ * A breakpoint which marks the end of reusable content eligible for caching.
195
+ */
196
+ readonly cacheControl?: typeof Generated.ChatMessageContentItemCacheControl.Encoded | null;
197
+ } | null;
198
+ }
199
+ }
200
+ declare module "effect/unstable/ai/Response" {
201
+ interface ReasoningPartMetadata extends ProviderMetadata {
202
+ readonly openrouter?: {
203
+ readonly reasoningDetails?: ReasoningDetails | null;
204
+ } | null;
205
+ }
206
+ interface ReasoningStartPartMetadata extends ProviderMetadata {
207
+ readonly openrouter?: {
208
+ readonly reasoningDetails?: ReasoningDetails | null;
209
+ } | null;
210
+ }
211
+ interface ReasoningDeltaPartMetadata extends ProviderMetadata {
212
+ readonly openrouter?: {
213
+ readonly reasoningDetails?: ReasoningDetails | null;
214
+ } | null;
215
+ }
216
+ interface ToolCallPartMetadata extends ProviderMetadata {
217
+ readonly openrouter?: {
218
+ readonly reasoningDetails?: ReasoningDetails | null;
219
+ } | null;
220
+ }
221
+ interface UrlSourcePartMetadata extends ProviderMetadata {
222
+ readonly openrouter?: {
223
+ readonly content?: string | null;
224
+ readonly startIndex?: number | null;
225
+ readonly endIndex?: number | null;
226
+ } | null;
227
+ }
228
+ interface FinishPartMetadata extends ProviderMetadata {
229
+ readonly openrouter?: {
230
+ readonly systemFingerprint?: string | null;
231
+ readonly usage?: typeof Generated.ChatGenerationTokenUsage.Encoded | null;
232
+ readonly annotations?: ReadonlyArray<FileAnnotation> | null;
233
+ readonly provider?: string | null;
234
+ } | null;
235
+ }
236
+ }
237
+ /**
238
+ * @since 1.0.0
239
+ * @category constructors
240
+ */
241
+ export declare const model: (model: string, config?: Omit<typeof Config.Service, "model">) => AiModel.Model<"openai", LanguageModel.LanguageModel, OpenRouterClient>;
242
+ /**
243
+ * Creates an OpenRouter language model service.
244
+ *
245
+ * @since 1.0.0
246
+ * @category constructors
247
+ */
248
+ export declare const make: (args_0: {
249
+ readonly model: string;
250
+ readonly config?: Omit<typeof Config.Service, "model"> | undefined;
251
+ }) => Effect.Effect<LanguageModel.Service, never, OpenRouterClient>;
252
+ /**
253
+ * Creates a layer for the OpenRouter language model.
254
+ *
255
+ * @since 1.0.0
256
+ * @category layers
257
+ */
258
+ export declare const layer: (options: {
259
+ readonly model: string;
260
+ readonly config?: Omit<typeof Config.Service, "model"> | undefined;
261
+ }) => Layer.Layer<LanguageModel.LanguageModel, never, OpenRouterClient>;
262
+ /**
263
+ * Provides config overrides for OpenRouter language model operations.
264
+ *
265
+ * @since 1.0.0
266
+ * @category configuration
267
+ */
268
+ export declare const withConfigOverride: {
269
+ /**
270
+ * Provides config overrides for OpenRouter language model operations.
271
+ *
272
+ * @since 1.0.0
273
+ * @category configuration
274
+ */
275
+ (overrides: typeof Config.Service): <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, Exclude<R, Config>>;
276
+ /**
277
+ * Provides config overrides for OpenRouter language model operations.
278
+ *
279
+ * @since 1.0.0
280
+ * @category configuration
281
+ */
282
+ <A, E, R>(self: Effect.Effect<A, E, R>, overrides: typeof Config.Service): Effect.Effect<A, E, Exclude<R, Config>>;
283
+ };
284
+ export {};
285
+ //# sourceMappingURL=OpenRouterLanguageModel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OpenRouterLanguageModel.d.ts","sourceRoot":"","sources":["../src/OpenRouterLanguageModel.ts"],"names":[],"mappings":"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"}