@zyraxon-ai/llm 19.0.5

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 (218) hide show
  1. package/README.md +131 -0
  2. package/dist/cache-policy.d.ts +3 -0
  3. package/dist/cache-policy.d.ts.map +1 -0
  4. package/dist/cache-policy.js +109 -0
  5. package/dist/cache-policy.js.map +1 -0
  6. package/dist/index.d.ts +13 -0
  7. package/dist/index.d.ts.map +1 -0
  8. package/dist/index.js +9 -0
  9. package/dist/index.js.map +1 -0
  10. package/dist/llm.d.ts +205 -0
  11. package/dist/llm.d.ts.map +1 -0
  12. package/dist/llm.js +82 -0
  13. package/dist/llm.js.map +1 -0
  14. package/dist/protocols/anthropic-messages.d.ts +340 -0
  15. package/dist/protocols/anthropic-messages.d.ts.map +1 -0
  16. package/dist/protocols/anthropic-messages.js +719 -0
  17. package/dist/protocols/anthropic-messages.js.map +1 -0
  18. package/dist/protocols/bedrock-converse.d.ts +472 -0
  19. package/dist/protocols/bedrock-converse.d.ts.map +1 -0
  20. package/dist/protocols/bedrock-converse.js +529 -0
  21. package/dist/protocols/bedrock-converse.js.map +1 -0
  22. package/dist/protocols/bedrock-event-stream.d.ts +10 -0
  23. package/dist/protocols/bedrock-event-stream.d.ts.map +1 -0
  24. package/dist/protocols/bedrock-event-stream.js +64 -0
  25. package/dist/protocols/bedrock-event-stream.js.map +1 -0
  26. package/dist/protocols/gemini.d.ts +165 -0
  27. package/dist/protocols/gemini.d.ts.map +1 -0
  28. package/dist/protocols/gemini.js +420 -0
  29. package/dist/protocols/gemini.js.map +1 -0
  30. package/dist/protocols/index.d.ts +7 -0
  31. package/dist/protocols/index.d.ts.map +1 -0
  32. package/dist/protocols/index.js +7 -0
  33. package/dist/protocols/index.js.map +1 -0
  34. package/dist/protocols/openai-chat.d.ts +297 -0
  35. package/dist/protocols/openai-chat.d.ts.map +1 -0
  36. package/dist/protocols/openai-chat.js +426 -0
  37. package/dist/protocols/openai-chat.js.map +1 -0
  38. package/dist/protocols/openai-compatible-chat.d.ts +12 -0
  39. package/dist/protocols/openai-compatible-chat.d.ts.map +1 -0
  40. package/dist/protocols/openai-compatible-chat.js +20 -0
  41. package/dist/protocols/openai-compatible-chat.js.map +1 -0
  42. package/dist/protocols/openai-responses.d.ts +615 -0
  43. package/dist/protocols/openai-responses.d.ts.map +1 -0
  44. package/dist/protocols/openai-responses.js +828 -0
  45. package/dist/protocols/openai-responses.js.map +1 -0
  46. package/dist/protocols/shared.d.ts +193 -0
  47. package/dist/protocols/shared.d.ts.map +1 -0
  48. package/dist/protocols/shared.js +237 -0
  49. package/dist/protocols/shared.js.map +1 -0
  50. package/dist/protocols/utils/bedrock-auth.d.ts +19 -0
  51. package/dist/protocols/utils/bedrock-auth.d.ts.map +1 -0
  52. package/dist/protocols/utils/bedrock-auth.js +42 -0
  53. package/dist/protocols/utils/bedrock-auth.js.map +1 -0
  54. package/dist/protocols/utils/bedrock-cache.d.ts +16 -0
  55. package/dist/protocols/utils/bedrock-cache.d.ts.map +1 -0
  56. package/dist/protocols/utils/bedrock-cache.js +30 -0
  57. package/dist/protocols/utils/bedrock-cache.js.map +1 -0
  58. package/dist/protocols/utils/bedrock-media.d.ts +50 -0
  59. package/dist/protocols/utils/bedrock-media.d.ts.map +1 -0
  60. package/dist/protocols/utils/bedrock-media.js +69 -0
  61. package/dist/protocols/utils/bedrock-media.js.map +1 -0
  62. package/dist/protocols/utils/cache.d.ts +7 -0
  63. package/dist/protocols/utils/cache.d.ts.map +1 -0
  64. package/dist/protocols/utils/cache.js +9 -0
  65. package/dist/protocols/utils/cache.js.map +1 -0
  66. package/dist/protocols/utils/gemini-tool-schema.d.ts +3 -0
  67. package/dist/protocols/utils/gemini-tool-schema.d.ts.map +1 -0
  68. package/dist/protocols/utils/gemini-tool-schema.js +84 -0
  69. package/dist/protocols/utils/gemini-tool-schema.js.map +1 -0
  70. package/dist/protocols/utils/lifecycle.d.ts +20 -0
  71. package/dist/protocols/utils/lifecycle.d.ts.map +1 -0
  72. package/dist/protocols/utils/lifecycle.js +66 -0
  73. package/dist/protocols/utils/lifecycle.js.map +1 -0
  74. package/dist/protocols/utils/openai-options.d.ts +23 -0
  75. package/dist/protocols/utils/openai-options.d.ts.map +1 -0
  76. package/dist/protocols/utils/openai-options.js +68 -0
  77. package/dist/protocols/utils/openai-options.js.map +1 -0
  78. package/dist/protocols/utils/tool-schema.d.ts +8 -0
  79. package/dist/protocols/utils/tool-schema.d.ts.map +1 -0
  80. package/dist/protocols/utils/tool-schema.js +80 -0
  81. package/dist/protocols/utils/tool-schema.js.map +1 -0
  82. package/dist/protocols/utils/tool-stream.d.ts +156 -0
  83. package/dist/protocols/utils/tool-stream.d.ts.map +1 -0
  84. package/dist/protocols/utils/tool-stream.js +137 -0
  85. package/dist/protocols/utils/tool-stream.js.map +1 -0
  86. package/dist/provider-error.d.ts +3 -0
  87. package/dist/provider-error.d.ts.map +1 -0
  88. package/dist/provider-error.js +29 -0
  89. package/dist/provider-error.js.map +1 -0
  90. package/dist/provider.d.ts +24 -0
  91. package/dist/provider.d.ts.map +1 -0
  92. package/dist/provider.js +3 -0
  93. package/dist/provider.js.map +1 -0
  94. package/dist/providers/amazon-bedrock.d.ts +142 -0
  95. package/dist/providers/amazon-bedrock.d.ts.map +1 -0
  96. package/dist/providers/amazon-bedrock.js +27 -0
  97. package/dist/providers/amazon-bedrock.js.map +1 -0
  98. package/dist/providers/anthropic.d.ts +24 -0
  99. package/dist/providers/anthropic.d.ts.map +1 -0
  100. package/dist/providers/anthropic.js +27 -0
  101. package/dist/providers/anthropic.js.map +1 -0
  102. package/dist/providers/azure.d.ts +36 -0
  103. package/dist/providers/azure.d.ts.map +1 -0
  104. package/dist/providers/azure.js +70 -0
  105. package/dist/providers/azure.js.map +1 -0
  106. package/dist/providers/cloudflare.d.ts +47 -0
  107. package/dist/providers/cloudflare.d.ts.map +1 -0
  108. package/dist/providers/cloudflare.js +88 -0
  109. package/dist/providers/cloudflare.js.map +1 -0
  110. package/dist/providers/github-copilot.d.ts +30 -0
  111. package/dist/providers/github-copilot.d.ts.map +1 -0
  112. package/dist/providers/github-copilot.js +48 -0
  113. package/dist/providers/github-copilot.js.map +1 -0
  114. package/dist/providers/google.d.ts +24 -0
  115. package/dist/providers/google.d.ts.map +1 -0
  116. package/dist/providers/google.js +27 -0
  117. package/dist/providers/google.js.map +1 -0
  118. package/dist/providers/index.d.ts +12 -0
  119. package/dist/providers/index.d.ts.map +1 -0
  120. package/dist/providers/index.js +12 -0
  121. package/dist/providers/index.js.map +1 -0
  122. package/dist/providers/openai-compatible-profile.d.ts +44 -0
  123. package/dist/providers/openai-compatible-profile.d.ts.map +1 -0
  124. package/dist/providers/openai-compatible-profile.js +13 -0
  125. package/dist/providers/openai-compatible-profile.js.map +1 -0
  126. package/dist/providers/openai-compatible.d.ts +62 -0
  127. package/dist/providers/openai-compatible.d.ts.map +1 -0
  128. package/dist/providers/openai-compatible.js +48 -0
  129. package/dist/providers/openai-compatible.js.map +1 -0
  130. package/dist/providers/openai-options.d.ts +31 -0
  131. package/dist/providers/openai-options.d.ts.map +1 -0
  132. package/dist/providers/openai-options.js +43 -0
  133. package/dist/providers/openai-options.js.map +1 -0
  134. package/dist/providers/openai.d.ts +116 -0
  135. package/dist/providers/openai.d.ts.map +1 -0
  136. package/dist/providers/openai.js +39 -0
  137. package/dist/providers/openai.js.map +1 -0
  138. package/dist/providers/openrouter.d.ts +199 -0
  139. package/dist/providers/openrouter.d.ts.map +1 -0
  140. package/dist/providers/openrouter.js +66 -0
  141. package/dist/providers/openrouter.js.map +1 -0
  142. package/dist/providers/xai.d.ts +32 -0
  143. package/dist/providers/xai.d.ts.map +1 -0
  144. package/dist/providers/xai.js +44 -0
  145. package/dist/providers/xai.js.map +1 -0
  146. package/dist/route/auth-options.d.ts +35 -0
  147. package/dist/route/auth-options.d.ts.map +1 -0
  148. package/dist/route/auth-options.js +15 -0
  149. package/dist/route/auth-options.js.map +1 -0
  150. package/dist/route/auth.js +90 -0
  151. package/dist/route/auth.js.map +1 -0
  152. package/dist/route/client.d.ts +306 -0
  153. package/dist/route/client.d.ts.map +1 -0
  154. package/dist/route/client.js +197 -0
  155. package/dist/route/client.js.map +1 -0
  156. package/dist/route/endpoint.js +22 -0
  157. package/dist/route/endpoint.js.map +1 -0
  158. package/dist/route/executor.d.ts +13 -0
  159. package/dist/route/executor.d.ts.map +1 -0
  160. package/dist/route/executor.js +287 -0
  161. package/dist/route/executor.js.map +1 -0
  162. package/dist/route/framing.js +5 -0
  163. package/dist/route/framing.js.map +1 -0
  164. package/dist/route/index.d.ts +17 -0
  165. package/dist/route/index.d.ts.map +1 -0
  166. package/dist/route/index.js +10 -0
  167. package/dist/route/index.js.map +1 -0
  168. package/dist/route/protocol.d.ts +77 -0
  169. package/dist/route/protocol.d.ts.map +1 -0
  170. package/dist/route/protocol.js +18 -0
  171. package/dist/route/protocol.js.map +1 -0
  172. package/dist/route/transport/http.d.ts +34 -0
  173. package/dist/route/transport/http.d.ts.map +1 -0
  174. package/dist/route/transport/http.js +98 -0
  175. package/dist/route/transport/http.js.map +1 -0
  176. package/dist/route/transport/index.d.ts +28 -0
  177. package/dist/route/transport/index.d.ts.map +1 -0
  178. package/dist/route/transport/index.js +3 -0
  179. package/dist/route/transport/index.js.map +1 -0
  180. package/dist/route/transport/websocket.d.ts +57 -0
  181. package/dist/route/transport/websocket.d.ts.map +1 -0
  182. package/dist/route/transport/websocket.js +181 -0
  183. package/dist/route/transport/websocket.js.map +1 -0
  184. package/dist/schema/errors.d.ts +166 -0
  185. package/dist/schema/errors.d.ts.map +1 -0
  186. package/dist/schema/errors.js +187 -0
  187. package/dist/schema/errors.js.map +1 -0
  188. package/dist/schema/events.d.ts +3821 -0
  189. package/dist/schema/events.d.ts.map +1 -0
  190. package/dist/schema/events.js +484 -0
  191. package/dist/schema/events.js.map +1 -0
  192. package/dist/schema/ids.d.ts +31 -0
  193. package/dist/schema/ids.d.ts.map +1 -0
  194. package/dist/schema/ids.js +19 -0
  195. package/dist/schema/ids.js.map +1 -0
  196. package/dist/schema/index.d.ts +6 -0
  197. package/dist/schema/index.d.ts.map +1 -0
  198. package/dist/schema/index.js +6 -0
  199. package/dist/schema/index.js.map +1 -0
  200. package/dist/schema/messages.d.ts +294 -0
  201. package/dist/schema/messages.d.ts.map +1 -0
  202. package/dist/schema/messages.js +247 -0
  203. package/dist/schema/messages.js.map +1 -0
  204. package/dist/schema/options.d.ts +144 -0
  205. package/dist/schema/options.d.ts.map +1 -0
  206. package/dist/schema/options.js +196 -0
  207. package/dist/schema/options.js.map +1 -0
  208. package/dist/tool-runtime.d.ts +16 -0
  209. package/dist/tool-runtime.d.ts.map +1 -0
  210. package/dist/tool-runtime.js +35 -0
  211. package/dist/tool-runtime.js.map +1 -0
  212. package/dist/tool.js +67 -0
  213. package/dist/tool.js.map +1 -0
  214. package/dist/utils/record.d.ts +3 -0
  215. package/dist/utils/record.d.ts.map +1 -0
  216. package/dist/utils/record.js +3 -0
  217. package/dist/utils/record.js.map +1 -0
  218. package/package.json +37 -0
@@ -0,0 +1,36 @@
1
+ import { type AtLeastOne, type ProviderAuthOption } from "../route/auth-options";
2
+ import type { Route as RouteDef, RouteDefaultsInput } from "../route/client";
3
+ import { type ModelID } from "../schema";
4
+ import { type OpenAIProviderOptionsInput } from "./openai-options";
5
+ export declare const id: string & import("effect/Brand").Brand<"LLM.ProviderID">;
6
+ type AzureURL = AtLeastOne<{
7
+ readonly resourceName: string;
8
+ readonly baseURL: string;
9
+ }>;
10
+ export type ModelOptions = AzureURL & RouteDefaultsInput & ProviderAuthOption<"optional"> & {
11
+ readonly apiVersion?: string;
12
+ readonly queryParams?: Record<string, string>;
13
+ readonly useCompletionUrls?: boolean;
14
+ readonly providerOptions?: OpenAIProviderOptionsInput;
15
+ };
16
+ export type Config = ModelOptions;
17
+ export declare const routes: RouteDef<unknown, import("../route/transport/http").HttpPrepared<string>>[];
18
+ export declare const configure: (input: Config) => {
19
+ id: string & import("effect/Brand").Brand<"LLM.ProviderID">;
20
+ model: (modelID: string | ModelID) => import("..").Model;
21
+ responses: (modelID: string | ModelID) => import("..").Model;
22
+ chat: (modelID: string | ModelID) => import("..").Model;
23
+ configure: (input: Config) => /*elided*/ any;
24
+ };
25
+ export declare const provider: {
26
+ id: string & import("effect/Brand").Brand<"LLM.ProviderID">;
27
+ configure: (input: Config) => {
28
+ id: string & import("effect/Brand").Brand<"LLM.ProviderID">;
29
+ model: (modelID: string | ModelID) => import("..").Model;
30
+ responses: (modelID: string | ModelID) => import("..").Model;
31
+ chat: (modelID: string | ModelID) => import("..").Model;
32
+ configure: /*elided*/ any;
33
+ };
34
+ };
35
+ export {};
36
+ //# sourceMappingURL=azure.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"azure.d.ts","sourceRoot":"","sources":["../../src/providers/azure.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAChF,OAAO,KAAK,EAAE,KAAK,IAAI,QAAQ,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAC5E,OAAO,EAAc,KAAK,OAAO,EAAE,MAAM,WAAW,CAAA;AAGpD,OAAO,EAAqB,KAAK,0BAA0B,EAAE,MAAM,kBAAkB,CAAA;AAErF,eAAO,MAAM,EAAE,yDAA2B,CAAA;AAK1C,KAAK,QAAQ,GAAG,UAAU,CAAC;IAAE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAAA;AAEvF,MAAM,MAAM,YAAY,GAAG,QAAQ,GACjC,kBAAkB,GAClB,kBAAkB,CAAC,UAAU,CAAC,GAAG;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC7C,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IACpC,QAAQ,CAAC,eAAe,CAAC,EAAE,0BAA0B,CAAA;CACtD,CAAA;AACH,MAAM,MAAM,MAAM,GAAG,YAAY,CAAA;AAsBjC,eAAO,MAAM,MAAM,6EAA8B,CAAA;AAyCjD,eAAO,MAAM,SAAS,GAAI,OAAO,MAAM;;qBAalB,MAAM,GAAG,OAAO;yBARP,MAAM,GAAG,OAAO;oBAGrB,MAAM,GAAG,OAAO;uBARR,MAAM;CAkBtC,CAAA;AAED,eAAO,MAAM,QAAQ;;uBApBY,MAAM;;yBAalB,MAAM,GAAG,OAAO;6BARP,MAAM,GAAG,OAAO;wBAGrB,MAAM,GAAG,OAAO;;;CAexC,CAAA"}
@@ -0,0 +1,70 @@
1
+ import { Auth } from "../route/auth";
2
+ import { ProviderID } from "../schema";
3
+ import * as OpenAIChat from "../protocols/openai-chat";
4
+ import * as OpenAIResponses from "../protocols/openai-responses";
5
+ import { withOpenAIOptions } from "./openai-options";
6
+ export const id = ProviderID.make("azure");
7
+ const routeAuth = Auth.remove("authorization");
8
+ const resourceBaseURL = (resourceName) => `https://${resourceName.trim()}.openai.azure.com/openai/v1`;
9
+ const responsesRoute = OpenAIResponses.route.with({
10
+ id: "azure-openai-responses",
11
+ provider: id,
12
+ auth: routeAuth,
13
+ endpoint: {
14
+ query: { "api-version": "v1" },
15
+ },
16
+ });
17
+ const chatRoute = OpenAIChat.route.with({
18
+ id: "azure-openai-chat",
19
+ provider: id,
20
+ auth: routeAuth,
21
+ endpoint: {
22
+ query: { "api-version": "v1" },
23
+ },
24
+ });
25
+ export const routes = [responsesRoute, chatRoute];
26
+ const defaults = (input) => {
27
+ const { apiKey: _, apiVersion: _apiVersion, resourceName: _resourceName, useCompletionUrls: _useCompletionUrls, baseURL: _baseURL, queryParams: _queryParams, ...rest } = input;
28
+ if ("auth" in rest) {
29
+ const { auth: _, ...withoutAuth } = rest;
30
+ return withoutAuth;
31
+ }
32
+ return rest;
33
+ };
34
+ const auth = (input) => {
35
+ if ("auth" in input && input.auth)
36
+ return input.auth;
37
+ return Auth.remove("authorization").andThen(Auth.optional("apiKey" in input ? input.apiKey : undefined, "apiKey")
38
+ .orElse(Auth.config("AZURE_OPENAI_API_KEY"))
39
+ .pipe(Auth.header("api-key")));
40
+ };
41
+ const configuredRoute = (route, input) => route.with({
42
+ auth: auth(input),
43
+ endpoint: {
44
+ // AtLeastOne guarantees at least one is set; baseURL wins if both are.
45
+ baseURL: input.baseURL ?? resourceBaseURL(input.resourceName),
46
+ query: {
47
+ ...(input.apiVersion ? { "api-version": input.apiVersion } : {}),
48
+ ...input.queryParams,
49
+ },
50
+ },
51
+ });
52
+ export const configure = (input) => {
53
+ const configuredResponsesRoute = configuredRoute(responsesRoute, input);
54
+ const configuredChatRoute = configuredRoute(chatRoute, input);
55
+ const modelDefaults = defaults(input);
56
+ const responses = (modelID) => configuredResponsesRoute.with(withOpenAIOptions(modelID, modelDefaults)).model({ id: modelID });
57
+ const chat = (modelID) => configuredChatRoute.with(withOpenAIOptions(modelID, modelDefaults)).model({ id: modelID });
58
+ return {
59
+ id,
60
+ model: (modelID) => (input.useCompletionUrls === true ? chat(modelID) : responses(modelID)),
61
+ responses,
62
+ chat,
63
+ configure,
64
+ };
65
+ };
66
+ export const provider = {
67
+ id,
68
+ configure,
69
+ };
70
+ //# sourceMappingURL=azure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"azure.js","sourceRoot":"","sources":["../../src/providers/azure.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ import type { Config, Redacted } from "effect";
2
+ import { type AtLeastOne, type ProviderAuthOption } from "../route/auth-options";
3
+ import type { RouteDefaultsInput } from "../route/client";
4
+ import { type ModelID } from "../schema";
5
+ export declare const aiGatewayID: string & import("effect/Brand").Brand<"LLM.ProviderID">;
6
+ export declare const workersAIID: string & import("effect/Brand").Brand<"LLM.ProviderID">;
7
+ export declare const aiGatewayAuthEnvVars: readonly ["CLOUDFLARE_API_TOKEN", "CF_AIG_TOKEN"];
8
+ export declare const workersAIAuthEnvVars: readonly ["CLOUDFLARE_API_KEY", "CLOUDFLARE_WORKERS_AI_TOKEN"];
9
+ type CloudflareSecret = string | Redacted.Redacted | Config.Config<string | Redacted.Redacted>;
10
+ type GatewayURL = AtLeastOne<{
11
+ readonly accountId: string;
12
+ readonly baseURL: string;
13
+ }> & {
14
+ readonly gatewayId?: string;
15
+ };
16
+ export type AIGatewayOptions = GatewayURL & RouteDefaultsInput & ProviderAuthOption<"optional"> & {
17
+ /** Cloudflare AI Gateway authentication token. Sent as `cf-aig-authorization`. */
18
+ readonly gatewayApiKey?: CloudflareSecret;
19
+ };
20
+ type WorkersAIURL = AtLeastOne<{
21
+ readonly accountId: string;
22
+ readonly baseURL: string;
23
+ }>;
24
+ export type WorkersAIOptions = WorkersAIURL & RouteDefaultsInput & ProviderAuthOption<"optional">;
25
+ export declare const aiGatewayBaseURL: (input: GatewayURL) => string;
26
+ export declare const workersAIBaseURL: (input: WorkersAIURL) => string;
27
+ export declare const aiGatewayRoute: import("../route").Route<unknown, import("../route/transport/http").HttpPrepared<string>>;
28
+ export declare const workersAIRoute: import("../route").Route<unknown, import("../route/transport/http").HttpPrepared<string>>;
29
+ export declare const routes: import("../route").Route<unknown, import("../route/transport/http").HttpPrepared<string>>[];
30
+ export declare const CloudflareAIGateway: {
31
+ id: string & import("effect/Brand").Brand<"LLM.ProviderID">;
32
+ configure: (options: AIGatewayOptions) => {
33
+ id: string & import("effect/Brand").Brand<"LLM.ProviderID">;
34
+ model: (modelID: string | ModelID) => import("..").Model;
35
+ configure: /*elided*/ any;
36
+ };
37
+ };
38
+ export declare const CloudflareWorkersAI: {
39
+ id: string & import("effect/Brand").Brand<"LLM.ProviderID">;
40
+ configure: (options: WorkersAIOptions) => {
41
+ id: string & import("effect/Brand").Brand<"LLM.ProviderID">;
42
+ model: (modelID: string | ModelID) => import("..").Model;
43
+ configure: /*elided*/ any;
44
+ };
45
+ };
46
+ export {};
47
+ //# sourceMappingURL=cloudflare.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloudflare.d.ts","sourceRoot":"","sources":["../../src/providers/cloudflare.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAG9C,OAAO,EAAe,KAAK,UAAU,EAAE,KAAK,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAC7F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACzD,OAAO,EAAc,KAAK,OAAO,EAAE,MAAM,WAAW,CAAA;AAEpD,eAAO,MAAM,WAAW,yDAA2C,CAAA;AACnE,eAAO,MAAM,WAAW,yDAA2C,CAAA;AACnE,eAAO,MAAM,oBAAoB,mDAAoD,CAAA;AACrF,eAAO,MAAM,oBAAoB,gEAAiE,CAAA;AAElG,KAAK,gBAAgB,GAAG,MAAM,GAAG,QAAQ,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAA;AAE9F,KAAK,UAAU,GAAG,UAAU,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB,CAAC,GAAG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC5B,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG,UAAU,GACvC,kBAAkB,GAClB,kBAAkB,CAAC,UAAU,CAAC,GAAG;IAC/B,kFAAkF;IAClF,QAAQ,CAAC,aAAa,CAAC,EAAE,gBAAgB,CAAA;CAC1C,CAAA;AAEH,KAAK,YAAY,GAAG,UAAU,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB,CAAC,CAAA;AAEF,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG,kBAAkB,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAA;AAEjG,eAAO,MAAM,gBAAgB,GAAI,OAAO,UAAU,WAIjD,CAAA;AAaD,eAAO,MAAM,gBAAgB,GAAI,OAAO,YAAY,WAInD,CAAA;AAMD,eAAO,MAAM,cAAc,2FAGzB,CAAA;AAEF,eAAO,MAAM,cAAc,2FAGzB,CAAA;AAEF,eAAO,MAAM,MAAM,6FAAmC,CAAA;AA8CtD,eAAO,MAAM,mBAAmB;;yBA1BK,gBAAgB;;yBAQhC,MAAM,GAAG,OAAO;;;CAqBpC,CAAA;AAED,eAAO,MAAM,mBAAmB;;yBAlBK,gBAAgB;;yBAQhC,MAAM,GAAG,OAAO;;;CAapC,CAAA"}
@@ -0,0 +1,88 @@
1
+ import * as OpenAICompatibleChat from "../protocols/openai-compatible-chat";
2
+ import { Auth } from "../route/auth";
3
+ import { AuthOptions } from "../route/auth-options";
4
+ import { ProviderID } from "../schema";
5
+ export const aiGatewayID = ProviderID.make("cloudflare-ai-gateway");
6
+ export const workersAIID = ProviderID.make("cloudflare-workers-ai");
7
+ export const aiGatewayAuthEnvVars = ["CLOUDFLARE_API_TOKEN", "CF_AIG_TOKEN"];
8
+ export const workersAIAuthEnvVars = ["CLOUDFLARE_API_KEY", "CLOUDFLARE_WORKERS_AI_TOKEN"];
9
+ export const aiGatewayBaseURL = (input) => {
10
+ if (input.baseURL)
11
+ return input.baseURL;
12
+ if (!input.accountId)
13
+ throw new Error("CloudflareAIGateway.configure requires accountId unless baseURL is supplied");
14
+ return `https://gateway.ai.cloudflare.com/v1/${encodeURIComponent(input.accountId)}/${encodeURIComponent(input.gatewayId?.trim() || "default")}/compat`;
15
+ };
16
+ const aiGatewayAuth = (input) => {
17
+ if ("auth" in input && input.auth)
18
+ return input.auth;
19
+ const gateway = Auth.optional(input.gatewayApiKey, "gatewayApiKey")
20
+ .orElse(Auth.config("CLOUDFLARE_API_TOKEN"))
21
+ .orElse(Auth.config("CF_AIG_TOKEN"))
22
+ .pipe(Auth.bearerHeader("cf-aig-authorization"));
23
+ if (!("apiKey" in input) || input.apiKey === undefined)
24
+ return gateway;
25
+ if (input.gatewayApiKey === undefined)
26
+ return Auth.bearer(input.apiKey);
27
+ return Auth.bearerHeader("cf-aig-authorization", input.gatewayApiKey).andThen(Auth.bearer(input.apiKey));
28
+ };
29
+ export const workersAIBaseURL = (input) => {
30
+ if (input.baseURL)
31
+ return input.baseURL;
32
+ if (!input.accountId)
33
+ throw new Error("CloudflareWorkersAI.configure requires accountId unless baseURL is supplied");
34
+ return `https://api.cloudflare.com/client/v4/accounts/${encodeURIComponent(input.accountId)}/ai/v1`;
35
+ };
36
+ const workersAIAuth = (input) => {
37
+ return AuthOptions.bearer(input, workersAIAuthEnvVars);
38
+ };
39
+ export const aiGatewayRoute = OpenAICompatibleChat.route.with({
40
+ id: "cloudflare-ai-gateway",
41
+ provider: aiGatewayID,
42
+ });
43
+ export const workersAIRoute = OpenAICompatibleChat.route.with({
44
+ id: "cloudflare-workers-ai",
45
+ provider: workersAIID,
46
+ });
47
+ export const routes = [aiGatewayRoute, workersAIRoute];
48
+ const aiGatewayDefaults = (options) => {
49
+ const { accountId: _accountId, gatewayId: _gatewayId, apiKey: _apiKey, gatewayApiKey: _gatewayApiKey, baseURL: _baseURL, auth: _auth, ...rest } = options;
50
+ return rest;
51
+ };
52
+ const workersAIDefaults = (options) => {
53
+ const { accountId: _accountId, apiKey: _apiKey, auth: _auth, baseURL: _baseURL, ...rest } = options;
54
+ return rest;
55
+ };
56
+ const configureAIGateway = (options) => {
57
+ const route = aiGatewayRoute.with({
58
+ ...aiGatewayDefaults(options),
59
+ endpoint: { baseURL: aiGatewayBaseURL(options) },
60
+ auth: aiGatewayAuth(options),
61
+ });
62
+ return {
63
+ id: aiGatewayID,
64
+ model: (modelID) => route.model({ id: modelID }),
65
+ configure: configureAIGateway,
66
+ };
67
+ };
68
+ const configureWorkersAI = (options) => {
69
+ const route = workersAIRoute.with({
70
+ ...workersAIDefaults(options),
71
+ endpoint: { baseURL: workersAIBaseURL(options) },
72
+ auth: workersAIAuth(options),
73
+ });
74
+ return {
75
+ id: workersAIID,
76
+ model: (modelID) => route.model({ id: modelID }),
77
+ configure: configureWorkersAI,
78
+ };
79
+ };
80
+ export const CloudflareAIGateway = {
81
+ id: aiGatewayID,
82
+ configure: configureAIGateway,
83
+ };
84
+ export const CloudflareWorkersAI = {
85
+ id: workersAIID,
86
+ configure: configureWorkersAI,
87
+ };
88
+ //# sourceMappingURL=cloudflare.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloudflare.js","sourceRoot":"","sources":["../../src/providers/cloudflare.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import { type ProviderAuthOption } from "../route/auth-options";
2
+ import type { RouteDefaultsInput } from "../route/client";
3
+ import { type ModelID } from "../schema";
4
+ import { type OpenAIProviderOptionsInput } from "./openai-options";
5
+ export declare const id: string & import("effect/Brand").Brand<"LLM.ProviderID">;
6
+ export type ModelOptions = Omit<RouteDefaultsInput, "providerOptions"> & ProviderAuthOption<"optional"> & {
7
+ readonly baseURL: string;
8
+ readonly endpoint?: "chat" | "responses";
9
+ readonly providerOptions?: OpenAIProviderOptionsInput;
10
+ };
11
+ export declare const shouldUseResponsesApi: (modelID: string | ModelID, endpoint?: ModelOptions["endpoint"]) => boolean;
12
+ export declare const routes: import("../route").Route<unknown, import("../route/transport/http").HttpPrepared<string>>[];
13
+ export declare const configure: (options: ModelOptions) => {
14
+ id: string & import("effect/Brand").Brand<"LLM.ProviderID">;
15
+ model: (modelID: string | ModelID) => import("..").Model;
16
+ responses: (modelID: string | ModelID) => import("..").Model;
17
+ chat: (modelID: string | ModelID) => import("..").Model;
18
+ configure: (options: ModelOptions) => /*elided*/ any;
19
+ };
20
+ export declare const provider: {
21
+ id: string & import("effect/Brand").Brand<"LLM.ProviderID">;
22
+ configure: (options: ModelOptions) => {
23
+ id: string & import("effect/Brand").Brand<"LLM.ProviderID">;
24
+ model: (modelID: string | ModelID) => import("..").Model;
25
+ responses: (modelID: string | ModelID) => import("..").Model;
26
+ chat: (modelID: string | ModelID) => import("..").Model;
27
+ configure: /*elided*/ any;
28
+ };
29
+ };
30
+ //# sourceMappingURL=github-copilot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"github-copilot.d.ts","sourceRoot":"","sources":["../../src/providers/github-copilot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAC5E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACzD,OAAO,EAAc,KAAK,OAAO,EAAE,MAAM,WAAW,CAAA;AAGpD,OAAO,EAAqB,KAAK,0BAA0B,EAAE,MAAM,kBAAkB,CAAA;AAErF,eAAO,MAAM,EAAE,yDAAoC,CAAA;AAInD,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,GACpE,kBAAkB,CAAC,UAAU,CAAC,GAAG;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,WAAW,CAAA;IACxC,QAAQ,CAAC,eAAe,CAAC,EAAE,0BAA0B,CAAA;CACtD,CAAA;AAEH,eAAO,MAAM,qBAAqB,GAAI,SAAS,MAAM,GAAG,OAAO,EAAE,WAAW,YAAY,CAAC,UAAU,CAAC,YAMnG,CAAA;AAED,eAAO,MAAM,MAAM,6FAA4C,CAAA;AAsB/D,eAAO,MAAM,SAAS,GAAI,SAAS,YAAY;;qBAS1B,MAAM,GAAG,OAAO;yBANP,MAAM,GAAG,OAAO;oBAErB,MAAM,GAAG,OAAO;yBALN,YAAY;CAe9C,CAAA;AAED,eAAO,MAAM,QAAQ;;yBAjBc,YAAY;;yBAS1B,MAAM,GAAG,OAAO;6BANP,MAAM,GAAG,OAAO;wBAErB,MAAM,GAAG,OAAO;;;CAexC,CAAA"}
@@ -0,0 +1,48 @@
1
+ import { AuthOptions } from "../route/auth-options";
2
+ import { ProviderID } from "../schema";
3
+ import * as OpenAIChat from "../protocols/openai-chat";
4
+ import * as OpenAIResponses from "../protocols/openai-responses";
5
+ import { withOpenAIOptions } from "./openai-options";
6
+ export const id = ProviderID.make("github-copilot");
7
+ export const shouldUseResponsesApi = (modelID, endpoint) => {
8
+ if (endpoint)
9
+ return endpoint === "responses";
10
+ const model = String(modelID);
11
+ const match = /^gpt-(\d+)/.exec(model);
12
+ if (!match)
13
+ return false;
14
+ return Number(match[1]) >= 5 && !model.startsWith("gpt-5-mini");
15
+ };
16
+ export const routes = [OpenAIResponses.route, OpenAIChat.route];
17
+ const chatRoute = OpenAIChat.route.with({ provider: id });
18
+ const responsesRoute = OpenAIResponses.route.with({ provider: id });
19
+ const defaults = (options) => {
20
+ const { apiKey: _, auth: _auth, baseURL: _baseURL, endpoint: _endpoint, ...rest } = options;
21
+ return rest;
22
+ };
23
+ const configuredResponsesRoute = (options) => responsesRoute.with({
24
+ endpoint: { baseURL: options.baseURL },
25
+ auth: AuthOptions.bearer(options, []),
26
+ });
27
+ const configuredChatRoute = (options) => chatRoute.with({
28
+ endpoint: { baseURL: options.baseURL },
29
+ auth: AuthOptions.bearer(options, []),
30
+ });
31
+ export const configure = (options) => {
32
+ const responsesRoute = configuredResponsesRoute(options);
33
+ const chatRoute = configuredChatRoute(options);
34
+ const responses = (modelID) => responsesRoute.with(withOpenAIOptions(modelID, defaults(options))).model({ id: modelID });
35
+ const chat = (modelID) => chatRoute.with(withOpenAIOptions(modelID, defaults(options))).model({ id: modelID });
36
+ return {
37
+ id,
38
+ model: (modelID) => shouldUseResponsesApi(modelID, options.endpoint) ? responses(modelID) : chat(modelID),
39
+ responses,
40
+ chat,
41
+ configure,
42
+ };
43
+ };
44
+ export const provider = {
45
+ id,
46
+ configure,
47
+ };
48
+ //# sourceMappingURL=github-copilot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"github-copilot.js","sourceRoot":"","sources":["../../src/providers/github-copilot.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import type { RouteDefaultsInput } from "../route/client";
2
+ import type { ProviderAuthOption } from "../route/auth-options";
3
+ import { type ModelID } from "../schema";
4
+ export declare const id: string & import("effect/Brand").Brand<"LLM.ProviderID">;
5
+ export declare const routes: import("../route").Route<unknown, import("../route/transport/http").HttpPrepared<string>>[];
6
+ export type Config = RouteDefaultsInput & ProviderAuthOption<"optional"> & {
7
+ readonly baseURL?: string;
8
+ };
9
+ export declare const configure: (input?: Config) => {
10
+ id: string & import("effect/Brand").Brand<"LLM.ProviderID">;
11
+ model: (modelID: string | ModelID) => import("..").Model;
12
+ configure: (input?: Config) => /*elided*/ any;
13
+ };
14
+ export declare const provider: {
15
+ id: string & import("effect/Brand").Brand<"LLM.ProviderID">;
16
+ model: (modelID: string | ModelID) => import("..").Model;
17
+ configure: (input?: Config) => {
18
+ id: string & import("effect/Brand").Brand<"LLM.ProviderID">;
19
+ model: (modelID: string | ModelID) => import("..").Model;
20
+ configure: /*elided*/ any;
21
+ };
22
+ };
23
+ export declare const model: (modelID: string | ModelID) => import("..").Model;
24
+ //# sourceMappingURL=google.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"google.d.ts","sourceRoot":"","sources":["../../src/providers/google.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAEzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAC/D,OAAO,EAAc,KAAK,OAAO,EAAE,MAAM,WAAW,CAAA;AAGpD,eAAO,MAAM,EAAE,yDAA4B,CAAA;AAE3C,eAAO,MAAM,MAAM,6FAAiB,CAAA;AAEpC,MAAM,MAAM,MAAM,GAAG,kBAAkB,GAAG,kBAAkB,CAAC,UAAU,CAAC,GAAG;IAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAcxG,eAAO,MAAM,SAAS,GAAI,QAAO,MAAW;;qBAIvB,MAAM,GAAG,OAAO;wBAJJ,MAAM;CAOtC,CAAA;AAED,eAAO,MAAM,QAAQ;;qBALA,MAAM,GAAG,OAAO;wBAJJ,MAAM;;yBAIlB,MAAM,GAAG,OAAO;;;CAKF,CAAA;AACnC,eAAO,MAAM,KAAK,YANG,MAAM,GAAG,OAAO,uBAMF,CAAA"}
@@ -0,0 +1,27 @@
1
+ import { Auth } from "../route/auth";
2
+ import { ProviderID } from "../schema";
3
+ import * as Gemini from "../protocols/gemini";
4
+ export const id = ProviderID.make("google");
5
+ export const routes = [Gemini.route];
6
+ const auth = (options) => {
7
+ if ("auth" in options && options.auth)
8
+ return options.auth;
9
+ return Auth.optional("apiKey" in options ? options.apiKey : undefined, "apiKey")
10
+ .orElse(Auth.config("GOOGLE_GENERATIVE_AI_API_KEY"))
11
+ .pipe(Auth.header("x-goog-api-key"));
12
+ };
13
+ const configuredRoute = (input) => {
14
+ const { apiKey: _, auth: _auth, baseURL, ...rest } = input;
15
+ return Gemini.route.with({ ...rest, endpoint: { baseURL }, auth: auth(input) });
16
+ };
17
+ export const configure = (input = {}) => {
18
+ const route = configuredRoute(input);
19
+ return {
20
+ id,
21
+ model: (modelID) => route.model({ id: modelID }),
22
+ configure,
23
+ };
24
+ };
25
+ export const provider = configure();
26
+ export const model = provider.model;
27
+ //# sourceMappingURL=google.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"google.js","sourceRoot":"","sources":["../../src/providers/google.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AAEpC,OAAO,EAAE,UAAU,EAAgB,MAAM,WAAW,CAAA;AACpD,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAA;AAE7C,MAAM,CAAC,MAAM,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;AAE3C,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAIpC,MAAM,IAAI,GAAG,CAAC,OAAuC,EAAE,EAAE;IACvD,IAAI,MAAM,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI;QAAE,OAAO,OAAO,CAAC,IAAI,CAAA;IAC1D,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC;SAC7E,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,8BAA8B,CAAC,CAAC;SACnD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAA;AACxC,CAAC,CAAA;AAED,MAAM,eAAe,GAAG,CAAC,KAAa,EAAE,EAAE;IACxC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAA;IAC1D,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;AACjF,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,QAAgB,EAAE,EAAE,EAAE;IAC9C,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,CAAA;IACpC,OAAO;QACL,EAAE;QACF,KAAK,EAAE,CAAC,OAAyB,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;QAClE,SAAS;KACV,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,SAAS,EAAE,CAAA;AACnC,MAAM,CAAC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAA"}
@@ -0,0 +1,12 @@
1
+ export * as Anthropic from "./anthropic";
2
+ export * as AmazonBedrock from "./amazon-bedrock";
3
+ export * as Azure from "./azure";
4
+ export * as Cloudflare from "./cloudflare";
5
+ export { CloudflareAIGateway, CloudflareWorkersAI } from "./cloudflare";
6
+ export * as GitHubCopilot from "./github-copilot";
7
+ export * as Google from "./google";
8
+ export * as OpenAI from "./openai";
9
+ export * as OpenAICompatible from "./openai-compatible";
10
+ export * as OpenRouter from "./openrouter";
11
+ export * as XAI from "./xai";
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,aAAa,CAAA;AACxC,OAAO,KAAK,aAAa,MAAM,kBAAkB,CAAA;AACjD,OAAO,KAAK,KAAK,MAAM,SAAS,CAAA;AAChC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAA;AAC1C,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AACvE,OAAO,KAAK,aAAa,MAAM,kBAAkB,CAAA;AACjD,OAAO,KAAK,MAAM,MAAM,UAAU,CAAA;AAClC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAA;AAClC,OAAO,KAAK,gBAAgB,MAAM,qBAAqB,CAAA;AACvD,OAAO,KAAK,UAAU,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,GAAG,MAAM,OAAO,CAAA"}
@@ -0,0 +1,12 @@
1
+ export * as Anthropic from "./anthropic";
2
+ export * as AmazonBedrock from "./amazon-bedrock";
3
+ export * as Azure from "./azure";
4
+ export * as Cloudflare from "./cloudflare";
5
+ export { CloudflareAIGateway, CloudflareWorkersAI } from "./cloudflare";
6
+ export * as GitHubCopilot from "./github-copilot";
7
+ export * as Google from "./google";
8
+ export * as OpenAI from "./openai";
9
+ export * as OpenAICompatible from "./openai-compatible";
10
+ export * as OpenRouter from "./openrouter";
11
+ export * as XAI from "./xai";
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,aAAa,CAAA;AACxC,OAAO,KAAK,aAAa,MAAM,kBAAkB,CAAA;AACjD,OAAO,KAAK,KAAK,MAAM,SAAS,CAAA;AAChC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAA;AAC1C,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AACvE,OAAO,KAAK,aAAa,MAAM,kBAAkB,CAAA;AACjD,OAAO,KAAK,MAAM,MAAM,UAAU,CAAA;AAClC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAA;AAClC,OAAO,KAAK,gBAAgB,MAAM,qBAAqB,CAAA;AACvD,OAAO,KAAK,UAAU,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,GAAG,MAAM,OAAO,CAAA"}
@@ -0,0 +1,44 @@
1
+ export interface OpenAICompatibleProfile {
2
+ readonly provider: string;
3
+ readonly baseURL: string;
4
+ }
5
+ export declare const profiles: {
6
+ readonly baseten: {
7
+ readonly provider: "baseten";
8
+ readonly baseURL: "https://inference.baseten.co/v1";
9
+ };
10
+ readonly cerebras: {
11
+ readonly provider: "cerebras";
12
+ readonly baseURL: "https://api.cerebras.ai/v1";
13
+ };
14
+ readonly deepinfra: {
15
+ readonly provider: "deepinfra";
16
+ readonly baseURL: "https://api.deepinfra.com/v1/openai";
17
+ };
18
+ readonly deepseek: {
19
+ readonly provider: "deepseek";
20
+ readonly baseURL: "https://api.deepseek.com/v1";
21
+ };
22
+ readonly fireworks: {
23
+ readonly provider: "fireworks";
24
+ readonly baseURL: "https://api.fireworks.ai/inference/v1";
25
+ };
26
+ readonly groq: {
27
+ readonly provider: "groq";
28
+ readonly baseURL: "https://api.groq.com/openai/v1";
29
+ };
30
+ readonly openrouter: {
31
+ readonly provider: "openrouter";
32
+ readonly baseURL: "https://openrouter.ai/api/v1";
33
+ };
34
+ readonly togetherai: {
35
+ readonly provider: "togetherai";
36
+ readonly baseURL: "https://api.together.xyz/v1";
37
+ };
38
+ readonly xai: {
39
+ readonly provider: "xai";
40
+ readonly baseURL: "https://api.x.ai/v1";
41
+ };
42
+ };
43
+ export declare const byProvider: Record<string, OpenAICompatibleProfile>;
44
+ //# sourceMappingURL=openai-compatible-profile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openai-compatible-profile.d.ts","sourceRoot":"","sources":["../../src/providers/openai-compatible-profile.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB;AAED,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAUuC,CAAA;AAE5D,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAE9D,CAAA"}
@@ -0,0 +1,13 @@
1
+ export const profiles = {
2
+ baseten: { provider: "baseten", baseURL: "https://inference.baseten.co/v1" },
3
+ cerebras: { provider: "cerebras", baseURL: "https://api.cerebras.ai/v1" },
4
+ deepinfra: { provider: "deepinfra", baseURL: "https://api.deepinfra.com/v1/openai" },
5
+ deepseek: { provider: "deepseek", baseURL: "https://api.deepseek.com/v1" },
6
+ fireworks: { provider: "fireworks", baseURL: "https://api.fireworks.ai/inference/v1" },
7
+ groq: { provider: "groq", baseURL: "https://api.groq.com/openai/v1" },
8
+ openrouter: { provider: "openrouter", baseURL: "https://openrouter.ai/api/v1" },
9
+ togetherai: { provider: "togetherai", baseURL: "https://api.together.xyz/v1" },
10
+ xai: { provider: "xai", baseURL: "https://api.x.ai/v1" },
11
+ };
12
+ export const byProvider = Object.fromEntries(Object.values(profiles).map((profile) => [profile.provider, profile]));
13
+ //# sourceMappingURL=openai-compatible-profile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openai-compatible-profile.js","sourceRoot":"","sources":["../../src/providers/openai-compatible-profile.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,OAAO,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,iCAAiC,EAAE;IAC5E,QAAQ,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,4BAA4B,EAAE;IACzE,SAAS,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,qCAAqC,EAAE;IACpF,QAAQ,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,6BAA6B,EAAE;IAC1E,SAAS,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,uCAAuC,EAAE;IACtF,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,gCAAgC,EAAE;IACrE,UAAU,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,8BAA8B,EAAE;IAC/E,UAAU,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,6BAA6B,EAAE;IAC9E,GAAG,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,qBAAqB,EAAE;CACE,CAAA;AAE5D,MAAM,CAAC,MAAM,UAAU,GAA4C,MAAM,CAAC,WAAW,CACnF,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CACtE,CAAA"}
@@ -0,0 +1,62 @@
1
+ import { type ModelID } from "../schema";
2
+ import type { RouteDefaultsInput } from "../route/client";
3
+ import { type ProviderAuthOption } from "../route/auth-options";
4
+ export declare const id: string & import("effect/Brand").Brand<"LLM.ProviderID">;
5
+ type GenericModelOptions = RouteDefaultsInput & ProviderAuthOption<"optional"> & {
6
+ readonly provider?: string;
7
+ readonly baseURL: string;
8
+ };
9
+ export type FamilyModelOptions = RouteDefaultsInput & ProviderAuthOption<"optional"> & {
10
+ readonly baseURL?: string;
11
+ };
12
+ export declare const routes: import("../route").Route<unknown, import("../route/transport/http").HttpPrepared<string>>[];
13
+ export declare const configure: (input: GenericModelOptions) => {
14
+ id: string & import("effect/Brand").Brand<"LLM.ProviderID">;
15
+ model: (modelID: string | ModelID) => import("..").Model;
16
+ configure: (input: GenericModelOptions) => /*elided*/ any;
17
+ };
18
+ export declare const provider: {
19
+ id: string & import("effect/Brand").Brand<"LLM.ProviderID">;
20
+ configure: (input: GenericModelOptions) => {
21
+ id: string & import("effect/Brand").Brand<"LLM.ProviderID">;
22
+ model: (modelID: string | ModelID) => import("..").Model;
23
+ configure: /*elided*/ any;
24
+ };
25
+ };
26
+ export declare const baseten: {
27
+ id: string & import("effect/Brand").Brand<"LLM.ProviderID">;
28
+ model: (modelID: string | ModelID) => import("..").Model;
29
+ configure: (input?: FamilyModelOptions) => /*elided*/ any;
30
+ };
31
+ export declare const cerebras: {
32
+ id: string & import("effect/Brand").Brand<"LLM.ProviderID">;
33
+ model: (modelID: string | ModelID) => import("..").Model;
34
+ configure: (input?: FamilyModelOptions) => /*elided*/ any;
35
+ };
36
+ export declare const deepinfra: {
37
+ id: string & import("effect/Brand").Brand<"LLM.ProviderID">;
38
+ model: (modelID: string | ModelID) => import("..").Model;
39
+ configure: (input?: FamilyModelOptions) => /*elided*/ any;
40
+ };
41
+ export declare const deepseek: {
42
+ id: string & import("effect/Brand").Brand<"LLM.ProviderID">;
43
+ model: (modelID: string | ModelID) => import("..").Model;
44
+ configure: (input?: FamilyModelOptions) => /*elided*/ any;
45
+ };
46
+ export declare const fireworks: {
47
+ id: string & import("effect/Brand").Brand<"LLM.ProviderID">;
48
+ model: (modelID: string | ModelID) => import("..").Model;
49
+ configure: (input?: FamilyModelOptions) => /*elided*/ any;
50
+ };
51
+ export declare const groq: {
52
+ id: string & import("effect/Brand").Brand<"LLM.ProviderID">;
53
+ model: (modelID: string | ModelID) => import("..").Model;
54
+ configure: (input?: FamilyModelOptions) => /*elided*/ any;
55
+ };
56
+ export declare const togetherai: {
57
+ id: string & import("effect/Brand").Brand<"LLM.ProviderID">;
58
+ model: (modelID: string | ModelID) => import("..").Model;
59
+ configure: (input?: FamilyModelOptions) => /*elided*/ any;
60
+ };
61
+ export {};
62
+ //# sourceMappingURL=openai-compatible.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openai-compatible.d.ts","sourceRoot":"","sources":["../../src/providers/openai-compatible.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,OAAO,EAAE,MAAM,WAAW,CAAA;AAEpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACzD,OAAO,EAAe,KAAK,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAG5E,eAAO,MAAM,EAAE,yDAAuC,CAAA;AAEtD,KAAK,mBAAmB,GAAG,kBAAkB,GAC3C,kBAAkB,CAAC,UAAU,CAAC,GAAG;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB,CAAA;AAEH,MAAM,MAAM,kBAAkB,GAAG,kBAAkB,GACjD,kBAAkB,CAAC,UAAU,CAAC,GAAG;IAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAC1B,CAAA;AAEH,eAAO,MAAM,MAAM,6FAA+B,CAAA;AAElD,eAAO,MAAM,SAAS,GAAI,OAAO,mBAAmB;;qBAW/B,MAAM,GAAG,OAAO;uBAXJ,mBAAmB;CAcnD,CAAA;AAkBD,eAAO,MAAM,QAAQ;;uBAhCY,mBAAmB;;yBAW/B,MAAM,GAAG,OAAO;;;CAwBpC,CAAA;AAED,eAAO,MAAM,OAAO;;qBA1BC,MAAM,GAAG,OAAO;wBAMF,kBAAkB;CAoBN,CAAA;AAC/C,eAAO,MAAM,QAAQ;;qBA3BA,MAAM,GAAG,OAAO;wBAMF,kBAAkB;CAqBJ,CAAA;AACjD,eAAO,MAAM,SAAS;;qBA5BD,MAAM,GAAG,OAAO;wBAMF,kBAAkB;CAsBF,CAAA;AACnD,eAAO,MAAM,QAAQ;;qBA7BA,MAAM,GAAG,OAAO;wBAMF,kBAAkB;CAuBJ,CAAA;AACjD,eAAO,MAAM,SAAS;;qBA9BD,MAAM,GAAG,OAAO;wBAMF,kBAAkB;CAwBF,CAAA;AACnD,eAAO,MAAM,IAAI;;qBA/BI,MAAM,GAAG,OAAO;wBAMF,kBAAkB;CAyBZ,CAAA;AACzC,eAAO,MAAM,UAAU;;qBAhCF,MAAM,GAAG,OAAO;wBAMF,kBAAkB;CA0BA,CAAA"}