@cloudflare/tanstack-ai 0.1.6 → 0.1.8
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.
- package/README.md +35 -6
- package/dist/adapters/anthropic.cjs +32 -11
- package/dist/adapters/anthropic.cjs.map +1 -1
- package/dist/adapters/anthropic.d.cts +23 -5
- package/dist/adapters/anthropic.d.mts +23 -0
- package/dist/adapters/anthropic.mjs +30 -0
- package/dist/adapters/anthropic.mjs.map +1 -0
- package/dist/adapters/gemini.cjs +83 -20
- package/dist/adapters/gemini.cjs.map +1 -1
- package/dist/adapters/gemini.d.cts +52 -14
- package/dist/adapters/gemini.d.mts +52 -0
- package/dist/adapters/gemini.mjs +76 -0
- package/dist/adapters/gemini.mjs.map +1 -0
- package/dist/adapters/grok.cjs +44 -15
- package/dist/adapters/grok.cjs.map +1 -1
- package/dist/adapters/grok.d.cts +26 -9
- package/dist/adapters/grok.d.mts +26 -0
- package/dist/adapters/grok.mjs +40 -0
- package/dist/adapters/grok.mjs.map +1 -0
- package/dist/adapters/openai.cjs +76 -27
- package/dist/adapters/openai.cjs.map +1 -1
- package/dist/adapters/openai.d.cts +45 -17
- package/dist/adapters/openai.d.mts +45 -0
- package/dist/adapters/openai.mjs +66 -0
- package/dist/adapters/openai.mjs.map +1 -0
- package/dist/adapters/openrouter.cjs +83 -11
- package/dist/adapters/openrouter.cjs.map +1 -1
- package/dist/adapters/openrouter.d.cts +39 -7
- package/dist/adapters/openrouter.d.mts +39 -0
- package/dist/adapters/openrouter.mjs +81 -0
- package/dist/adapters/openrouter.mjs.map +1 -0
- package/dist/adapters/workers-ai-image.cjs +97 -11
- package/dist/adapters/workers-ai-image.cjs.map +1 -1
- package/dist/adapters/workers-ai-image.d.cts +41 -3
- package/dist/adapters/workers-ai-image.d.mts +41 -0
- package/dist/adapters/workers-ai-image.mjs +96 -0
- package/dist/adapters/workers-ai-image.mjs.map +1 -0
- package/dist/adapters/workers-ai-summarize.cjs +86 -10
- package/dist/adapters/workers-ai-summarize.cjs.map +1 -1
- package/dist/adapters/workers-ai-summarize.d.cts +42 -3
- package/dist/adapters/workers-ai-summarize.d.mts +42 -0
- package/dist/adapters/workers-ai-summarize.mjs +85 -0
- package/dist/adapters/workers-ai-summarize.mjs.map +1 -0
- package/dist/adapters/workers-ai-transcription.cjs +200 -11
- package/dist/adapters/workers-ai-transcription.cjs.map +1 -1
- package/dist/adapters/workers-ai-transcription.d.cts +74 -3
- package/dist/adapters/workers-ai-transcription.d.mts +74 -0
- package/dist/adapters/workers-ai-transcription.mjs +199 -0
- package/dist/adapters/workers-ai-transcription.mjs.map +1 -0
- package/dist/adapters/workers-ai-tts.cjs +112 -11
- package/dist/adapters/workers-ai-tts.cjs.map +1 -1
- package/dist/adapters/workers-ai-tts.d.cts +54 -3
- package/dist/adapters/workers-ai-tts.d.mts +54 -0
- package/dist/adapters/workers-ai-tts.mjs +111 -0
- package/dist/adapters/workers-ai-tts.mjs.map +1 -0
- package/dist/adapters/workers-ai.cjs +4 -11
- package/dist/adapters/workers-ai.d.cts +45 -3
- package/dist/adapters/workers-ai.d.mts +45 -0
- package/dist/adapters/workers-ai.mjs +481 -0
- package/dist/adapters/workers-ai.mjs.map +1 -0
- package/dist/binary-C9FAYwZj.cjs +70 -0
- package/dist/binary-C9FAYwZj.cjs.map +1 -0
- package/dist/binary-p4H_N_3M.mjs +59 -0
- package/dist/binary-p4H_N_3M.mjs.map +1 -0
- package/dist/create-fetcher-6p6heb85.d.mts +93 -0
- package/dist/create-fetcher-By-hTiT9.cjs +312 -0
- package/dist/create-fetcher-By-hTiT9.cjs.map +1 -0
- package/dist/create-fetcher-CeUOJgrh.mjs +283 -0
- package/dist/create-fetcher-CeUOJgrh.mjs.map +1 -0
- package/dist/create-fetcher-vAQ8WW-p.d.cts +93 -0
- package/dist/defineProperty-CbyrzcbA.mjs +39 -0
- package/dist/defineProperty-DQoAg20E.cjs +44 -0
- package/dist/index.cjs +50 -97
- package/dist/index.d.cts +12 -64
- package/dist/index.d.mts +12 -0
- package/dist/index.mjs +11 -0
- package/dist/workers-ai-BOZ5iyhY.cjs +521 -0
- package/dist/workers-ai-BOZ5iyhY.cjs.map +1 -0
- package/dist/workers-ai-rest-CkNCtBwv.cjs +85 -0
- package/dist/workers-ai-rest-CkNCtBwv.cjs.map +1 -0
- package/dist/workers-ai-rest-GKy2r7eG.mjs +74 -0
- package/dist/workers-ai-rest-GKy2r7eG.mjs.map +1 -0
- package/package.json +73 -40
- package/dist/_tsup-dts-rollup.d.cts +0 -837
- package/dist/_tsup-dts-rollup.d.ts +0 -837
- package/dist/adapters/anthropic.d.ts +0 -5
- package/dist/adapters/anthropic.js +0 -13
- package/dist/adapters/anthropic.js.map +0 -1
- package/dist/adapters/gemini.d.ts +0 -14
- package/dist/adapters/gemini.js +0 -22
- package/dist/adapters/gemini.js.map +0 -1
- package/dist/adapters/grok.d.ts +0 -9
- package/dist/adapters/grok.js +0 -17
- package/dist/adapters/grok.js.map +0 -1
- package/dist/adapters/openai.d.ts +0 -17
- package/dist/adapters/openai.js +0 -29
- package/dist/adapters/openai.js.map +0 -1
- package/dist/adapters/openrouter.d.ts +0 -7
- package/dist/adapters/openrouter.js +0 -13
- package/dist/adapters/openrouter.js.map +0 -1
- package/dist/adapters/workers-ai-image.d.ts +0 -3
- package/dist/adapters/workers-ai-image.js +0 -13
- package/dist/adapters/workers-ai-image.js.map +0 -1
- package/dist/adapters/workers-ai-summarize.d.ts +0 -3
- package/dist/adapters/workers-ai-summarize.js +0 -12
- package/dist/adapters/workers-ai-summarize.js.map +0 -1
- package/dist/adapters/workers-ai-transcription.d.ts +0 -3
- package/dist/adapters/workers-ai-transcription.js +0 -13
- package/dist/adapters/workers-ai-transcription.js.map +0 -1
- package/dist/adapters/workers-ai-tts.d.ts +0 -3
- package/dist/adapters/workers-ai-tts.js +0 -13
- package/dist/adapters/workers-ai-tts.js.map +0 -1
- package/dist/adapters/workers-ai.cjs.map +0 -1
- package/dist/adapters/workers-ai.d.ts +0 -3
- package/dist/adapters/workers-ai.js +0 -11
- package/dist/adapters/workers-ai.js.map +0 -1
- package/dist/chunk-2VII5BK2.js +0 -42
- package/dist/chunk-2VII5BK2.js.map +0 -1
- package/dist/chunk-3VQDXJLW.cjs +0 -46
- package/dist/chunk-3VQDXJLW.cjs.map +0 -1
- package/dist/chunk-3WK5ZD57.js +0 -57
- package/dist/chunk-3WK5ZD57.js.map +0 -1
- package/dist/chunk-4DE2IREA.cjs +0 -8
- package/dist/chunk-4DE2IREA.cjs.map +0 -1
- package/dist/chunk-53A2QIXV.js +0 -98
- package/dist/chunk-53A2QIXV.js.map +0 -1
- package/dist/chunk-6MEX2ZSM.cjs +0 -48
- package/dist/chunk-6MEX2ZSM.cjs.map +0 -1
- package/dist/chunk-7HSUHP63.cjs +0 -42
- package/dist/chunk-7HSUHP63.cjs.map +0 -1
- package/dist/chunk-AIAJANLC.js +0 -327
- package/dist/chunk-AIAJANLC.js.map +0 -1
- package/dist/chunk-CB3PSZY2.cjs +0 -218
- package/dist/chunk-CB3PSZY2.cjs.map +0 -1
- package/dist/chunk-FQE2UKUU.cjs +0 -57
- package/dist/chunk-FQE2UKUU.cjs.map +0 -1
- package/dist/chunk-GL3HHR4M.js +0 -523
- package/dist/chunk-GL3HHR4M.js.map +0 -1
- package/dist/chunk-J5DSSZTO.js +0 -71
- package/dist/chunk-J5DSSZTO.js.map +0 -1
- package/dist/chunk-JRFPCMSE.js +0 -57
- package/dist/chunk-JRFPCMSE.js.map +0 -1
- package/dist/chunk-KWYOUT2Y.js +0 -111
- package/dist/chunk-KWYOUT2Y.js.map +0 -1
- package/dist/chunk-MJ45L566.cjs +0 -57
- package/dist/chunk-MJ45L566.cjs.map +0 -1
- package/dist/chunk-N6U27RQW.cjs +0 -111
- package/dist/chunk-N6U27RQW.cjs.map +0 -1
- package/dist/chunk-NH3FF5JC.js +0 -86
- package/dist/chunk-NH3FF5JC.js.map +0 -1
- package/dist/chunk-OFUYHQZE.cjs +0 -31
- package/dist/chunk-OFUYHQZE.cjs.map +0 -1
- package/dist/chunk-OUEAAP25.cjs +0 -523
- package/dist/chunk-OUEAAP25.cjs.map +0 -1
- package/dist/chunk-Q33U5I5S.js +0 -31
- package/dist/chunk-Q33U5I5S.js.map +0 -1
- package/dist/chunk-V4LKHWJA.cjs +0 -71
- package/dist/chunk-V4LKHWJA.cjs.map +0 -1
- package/dist/chunk-V6TY7KAL.js +0 -8
- package/dist/chunk-V6TY7KAL.js.map +0 -1
- package/dist/chunk-WBTQKWFN.cjs +0 -327
- package/dist/chunk-WBTQKWFN.cjs.map +0 -1
- package/dist/chunk-XU7YEPML.js +0 -46
- package/dist/chunk-XU7YEPML.js.map +0 -1
- package/dist/chunk-YCGNMVQZ.js +0 -218
- package/dist/chunk-YCGNMVQZ.js.map +0 -1
- package/dist/chunk-Z5ZC5ZOQ.js +0 -48
- package/dist/chunk-Z5ZC5ZOQ.js.map +0 -1
- package/dist/chunk-ZFB72L57.cjs +0 -86
- package/dist/chunk-ZFB72L57.cjs.map +0 -1
- package/dist/chunk-ZGLSJM26.cjs +0 -98
- package/dist/chunk-ZGLSJM26.cjs.map +0 -1
- package/dist/index.cjs.map +0 -1
- package/dist/index.d.ts +0 -64
- package/dist/index.js +0 -97
- package/dist/index.js.map +0 -1
package/dist/adapters/grok.cjs
CHANGED
|
@@ -1,17 +1,46 @@
|
|
|
1
|
-
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
require("../workers-ai-BOZ5iyhY.cjs");
|
|
3
|
+
const require_create_fetcher = require("../create-fetcher-By-hTiT9.cjs");
|
|
4
|
+
let _tanstack_ai_grok = require("@tanstack/ai-grok");
|
|
5
|
+
//#region src/adapters/grok.ts
|
|
6
|
+
/**
|
|
7
|
+
* Creates a Grok chat adapter which uses Cloudflare AI Gateway.
|
|
8
|
+
* Supports both binding and credential-based configurations.
|
|
9
|
+
*
|
|
10
|
+
* Since GrokTextConfig extends the OpenAI SDK's ClientOptions,
|
|
11
|
+
* we can inject the gateway fetch directly — no subclassing needed.
|
|
12
|
+
*/
|
|
13
|
+
function createGrokChat(model, config) {
|
|
14
|
+
return new _tanstack_ai_grok.GrokTextAdapter({
|
|
15
|
+
apiKey: config.apiKey ?? "unused",
|
|
16
|
+
fetch: require_create_fetcher.createGatewayFetch("grok", config)
|
|
17
|
+
}, model);
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Creates a Grok image adapter which uses Cloudflare AI Gateway.
|
|
21
|
+
* Supports both binding and credential-based configurations.
|
|
22
|
+
*/
|
|
23
|
+
function createGrokImage(model, config) {
|
|
24
|
+
return new _tanstack_ai_grok.GrokImageAdapter({
|
|
25
|
+
apiKey: config.apiKey ?? "unused",
|
|
26
|
+
fetch: require_create_fetcher.createGatewayFetch("grok", config)
|
|
27
|
+
}, model);
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Creates a Grok summarize adapter which uses Cloudflare AI Gateway.
|
|
31
|
+
* Supports both binding and credential-based configurations.
|
|
32
|
+
*/
|
|
33
|
+
function createGrokSummarize(model, config) {
|
|
34
|
+
return new _tanstack_ai_grok.GrokSummarizeAdapter({
|
|
35
|
+
apiKey: config.apiKey ?? "unused",
|
|
36
|
+
fetch: require_create_fetcher.createGatewayFetch("grok", config)
|
|
37
|
+
}, model);
|
|
38
|
+
}
|
|
39
|
+
//#endregion
|
|
40
|
+
exports.GROK_CHAT_MODELS = _tanstack_ai_grok.GROK_CHAT_MODELS;
|
|
41
|
+
exports.GROK_IMAGE_MODELS = _tanstack_ai_grok.GROK_IMAGE_MODELS;
|
|
42
|
+
exports.createGrokChat = createGrokChat;
|
|
43
|
+
exports.createGrokImage = createGrokImage;
|
|
44
|
+
exports.createGrokSummarize = createGrokSummarize;
|
|
2
45
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
var _chunk6MEX2ZSMcjs = require('../chunk-6MEX2ZSM.cjs');
|
|
8
|
-
require('../chunk-WBTQKWFN.cjs');
|
|
9
|
-
require('../chunk-4DE2IREA.cjs');
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
exports.GROK_CHAT_MODELS = _chunk6MEX2ZSMcjs.GROK_CHAT_MODELS; exports.GROK_IMAGE_MODELS = _chunk6MEX2ZSMcjs.GROK_IMAGE_MODELS; exports.createGrokChat = _chunk6MEX2ZSMcjs.createGrokChat; exports.createGrokImage = _chunk6MEX2ZSMcjs.createGrokImage; exports.createGrokSummarize = _chunk6MEX2ZSMcjs.createGrokSummarize;
|
|
17
46
|
//# sourceMappingURL=grok.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/
|
|
1
|
+
{"version":3,"file":"grok.cjs","names":["GrokTextAdapter","createGatewayFetch","GrokImageAdapter","GrokSummarizeAdapter"],"sources":["../../src/adapters/grok.ts"],"sourcesContent":["import {\n\tGrokTextAdapter,\n\tGrokImageAdapter,\n\tGrokSummarizeAdapter,\n\tGROK_CHAT_MODELS,\n\tGROK_IMAGE_MODELS,\n\ttype GrokChatModel,\n\ttype GrokImageModel,\n\ttype GrokSummarizeModel,\n} from \"@tanstack/ai-grok\";\nimport { createGatewayFetch, type AiGatewayAdapterConfig } from \"../utils/create-fetcher\";\n\nexport type GrokGatewayConfig = AiGatewayAdapterConfig;\n\n/**\n * Creates a Grok chat adapter which uses Cloudflare AI Gateway.\n * Supports both binding and credential-based configurations.\n *\n * Since GrokTextConfig extends the OpenAI SDK's ClientOptions,\n * we can inject the gateway fetch directly — no subclassing needed.\n */\nexport function createGrokChat(model: GrokChatModel, config: GrokGatewayConfig) {\n\treturn new GrokTextAdapter(\n\t\t{\n\t\t\tapiKey: config.apiKey ?? \"unused\",\n\t\t\tfetch: createGatewayFetch(\"grok\", config),\n\t\t},\n\t\tmodel,\n\t);\n}\n\n/**\n * Creates a Grok image adapter which uses Cloudflare AI Gateway.\n * Supports both binding and credential-based configurations.\n */\nexport function createGrokImage(model: GrokImageModel, config: GrokGatewayConfig) {\n\treturn new GrokImageAdapter(\n\t\t{\n\t\t\tapiKey: config.apiKey ?? \"unused\",\n\t\t\tfetch: createGatewayFetch(\"grok\", config),\n\t\t},\n\t\tmodel,\n\t);\n}\n\n/**\n * Creates a Grok summarize adapter which uses Cloudflare AI Gateway.\n * Supports both binding and credential-based configurations.\n */\nexport function createGrokSummarize(model: GrokSummarizeModel, config: GrokGatewayConfig) {\n\treturn new GrokSummarizeAdapter(\n\t\t{\n\t\t\tapiKey: config.apiKey ?? \"unused\",\n\t\t\tfetch: createGatewayFetch(\"grok\", config),\n\t\t},\n\t\tmodel,\n\t);\n}\n\nexport {\n\tGROK_CHAT_MODELS,\n\tGROK_IMAGE_MODELS,\n\ttype GrokChatModel,\n\ttype GrokImageModel,\n\ttype GrokSummarizeModel,\n};\n"],"mappings":";;;;;;;;;;;;AAqBA,SAAgB,eAAe,OAAsB,QAA2B;AAC/E,QAAO,IAAIA,kBAAAA,gBACV;EACC,QAAQ,OAAO,UAAU;EACzB,OAAOC,uBAAAA,mBAAmB,QAAQ,OAAO;EACzC,EACD,MACA;;;;;;AAOF,SAAgB,gBAAgB,OAAuB,QAA2B;AACjF,QAAO,IAAIC,kBAAAA,iBACV;EACC,QAAQ,OAAO,UAAU;EACzB,OAAOD,uBAAAA,mBAAmB,QAAQ,OAAO;EACzC,EACD,MACA;;;;;;AAOF,SAAgB,oBAAoB,OAA2B,QAA2B;AACzF,QAAO,IAAIE,kBAAAA,qBACV;EACC,QAAQ,OAAO,UAAU;EACzB,OAAOF,uBAAAA,mBAAmB,QAAQ,OAAO;EACzC,EACD,MACA"}
|
package/dist/adapters/grok.d.cts
CHANGED
|
@@ -1,9 +1,26 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
import { t as AiGatewayAdapterConfig } from "../create-fetcher-vAQ8WW-p.cjs";
|
|
2
|
+
import { GROK_CHAT_MODELS, GROK_IMAGE_MODELS, GrokChatModel, GrokImageAdapter, GrokImageModel, GrokSummarizeAdapter, GrokSummarizeModel, GrokTextAdapter } from "@tanstack/ai-grok";
|
|
3
|
+
|
|
4
|
+
//#region src/adapters/grok.d.ts
|
|
5
|
+
type GrokGatewayConfig = AiGatewayAdapterConfig;
|
|
6
|
+
/**
|
|
7
|
+
* Creates a Grok chat adapter which uses Cloudflare AI Gateway.
|
|
8
|
+
* Supports both binding and credential-based configurations.
|
|
9
|
+
*
|
|
10
|
+
* Since GrokTextConfig extends the OpenAI SDK's ClientOptions,
|
|
11
|
+
* we can inject the gateway fetch directly — no subclassing needed.
|
|
12
|
+
*/
|
|
13
|
+
declare function createGrokChat(model: GrokChatModel, config: GrokGatewayConfig): GrokTextAdapter<"grok-4-1-fast-reasoning" | "grok-4-1-fast-non-reasoning" | "grok-code-fast-1" | "grok-4-fast-reasoning" | "grok-4-fast-non-reasoning" | "grok-4" | "grok-3" | "grok-3-mini" | "grok-2-vision-1212">;
|
|
14
|
+
/**
|
|
15
|
+
* Creates a Grok image adapter which uses Cloudflare AI Gateway.
|
|
16
|
+
* Supports both binding and credential-based configurations.
|
|
17
|
+
*/
|
|
18
|
+
declare function createGrokImage(model: GrokImageModel, config: GrokGatewayConfig): GrokImageAdapter<"grok-2-image-1212">;
|
|
19
|
+
/**
|
|
20
|
+
* Creates a Grok summarize adapter which uses Cloudflare AI Gateway.
|
|
21
|
+
* Supports both binding and credential-based configurations.
|
|
22
|
+
*/
|
|
23
|
+
declare function createGrokSummarize(model: GrokSummarizeModel, config: GrokGatewayConfig): GrokSummarizeAdapter<"grok-4-1-fast-reasoning" | "grok-4-1-fast-non-reasoning" | "grok-code-fast-1" | "grok-4-fast-reasoning" | "grok-4-fast-non-reasoning" | "grok-4" | "grok-3" | "grok-3-mini" | "grok-2-vision-1212">;
|
|
24
|
+
//#endregion
|
|
25
|
+
export { GROK_CHAT_MODELS, GROK_IMAGE_MODELS, type GrokChatModel, GrokGatewayConfig, type GrokImageModel, type GrokSummarizeModel, createGrokChat, createGrokImage, createGrokSummarize };
|
|
26
|
+
//# sourceMappingURL=grok.d.cts.map
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { t as AiGatewayAdapterConfig } from "../create-fetcher-6p6heb85.mjs";
|
|
2
|
+
import { GROK_CHAT_MODELS, GROK_IMAGE_MODELS, GrokChatModel, GrokImageAdapter, GrokImageModel, GrokSummarizeAdapter, GrokSummarizeModel, GrokTextAdapter } from "@tanstack/ai-grok";
|
|
3
|
+
|
|
4
|
+
//#region src/adapters/grok.d.ts
|
|
5
|
+
type GrokGatewayConfig = AiGatewayAdapterConfig;
|
|
6
|
+
/**
|
|
7
|
+
* Creates a Grok chat adapter which uses Cloudflare AI Gateway.
|
|
8
|
+
* Supports both binding and credential-based configurations.
|
|
9
|
+
*
|
|
10
|
+
* Since GrokTextConfig extends the OpenAI SDK's ClientOptions,
|
|
11
|
+
* we can inject the gateway fetch directly — no subclassing needed.
|
|
12
|
+
*/
|
|
13
|
+
declare function createGrokChat(model: GrokChatModel, config: GrokGatewayConfig): GrokTextAdapter<"grok-4-1-fast-reasoning" | "grok-4-1-fast-non-reasoning" | "grok-code-fast-1" | "grok-4-fast-reasoning" | "grok-4-fast-non-reasoning" | "grok-4" | "grok-3" | "grok-3-mini" | "grok-2-vision-1212">;
|
|
14
|
+
/**
|
|
15
|
+
* Creates a Grok image adapter which uses Cloudflare AI Gateway.
|
|
16
|
+
* Supports both binding and credential-based configurations.
|
|
17
|
+
*/
|
|
18
|
+
declare function createGrokImage(model: GrokImageModel, config: GrokGatewayConfig): GrokImageAdapter<"grok-2-image-1212">;
|
|
19
|
+
/**
|
|
20
|
+
* Creates a Grok summarize adapter which uses Cloudflare AI Gateway.
|
|
21
|
+
* Supports both binding and credential-based configurations.
|
|
22
|
+
*/
|
|
23
|
+
declare function createGrokSummarize(model: GrokSummarizeModel, config: GrokGatewayConfig): GrokSummarizeAdapter<"grok-4-1-fast-reasoning" | "grok-4-1-fast-non-reasoning" | "grok-code-fast-1" | "grok-4-fast-reasoning" | "grok-4-fast-non-reasoning" | "grok-4" | "grok-3" | "grok-3-mini" | "grok-2-vision-1212">;
|
|
24
|
+
//#endregion
|
|
25
|
+
export { GROK_CHAT_MODELS, GROK_IMAGE_MODELS, type GrokChatModel, GrokGatewayConfig, type GrokImageModel, type GrokSummarizeModel, createGrokChat, createGrokImage, createGrokSummarize };
|
|
26
|
+
//# sourceMappingURL=grok.d.mts.map
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { t as createGatewayFetch } from "../create-fetcher-CeUOJgrh.mjs";
|
|
2
|
+
import { GROK_CHAT_MODELS, GROK_IMAGE_MODELS, GrokImageAdapter, GrokSummarizeAdapter, GrokTextAdapter } from "@tanstack/ai-grok";
|
|
3
|
+
//#region src/adapters/grok.ts
|
|
4
|
+
/**
|
|
5
|
+
* Creates a Grok chat adapter which uses Cloudflare AI Gateway.
|
|
6
|
+
* Supports both binding and credential-based configurations.
|
|
7
|
+
*
|
|
8
|
+
* Since GrokTextConfig extends the OpenAI SDK's ClientOptions,
|
|
9
|
+
* we can inject the gateway fetch directly — no subclassing needed.
|
|
10
|
+
*/
|
|
11
|
+
function createGrokChat(model, config) {
|
|
12
|
+
return new GrokTextAdapter({
|
|
13
|
+
apiKey: config.apiKey ?? "unused",
|
|
14
|
+
fetch: createGatewayFetch("grok", config)
|
|
15
|
+
}, model);
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Creates a Grok image adapter which uses Cloudflare AI Gateway.
|
|
19
|
+
* Supports both binding and credential-based configurations.
|
|
20
|
+
*/
|
|
21
|
+
function createGrokImage(model, config) {
|
|
22
|
+
return new GrokImageAdapter({
|
|
23
|
+
apiKey: config.apiKey ?? "unused",
|
|
24
|
+
fetch: createGatewayFetch("grok", config)
|
|
25
|
+
}, model);
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Creates a Grok summarize adapter which uses Cloudflare AI Gateway.
|
|
29
|
+
* Supports both binding and credential-based configurations.
|
|
30
|
+
*/
|
|
31
|
+
function createGrokSummarize(model, config) {
|
|
32
|
+
return new GrokSummarizeAdapter({
|
|
33
|
+
apiKey: config.apiKey ?? "unused",
|
|
34
|
+
fetch: createGatewayFetch("grok", config)
|
|
35
|
+
}, model);
|
|
36
|
+
}
|
|
37
|
+
//#endregion
|
|
38
|
+
export { GROK_CHAT_MODELS, GROK_IMAGE_MODELS, createGrokChat, createGrokImage, createGrokSummarize };
|
|
39
|
+
|
|
40
|
+
//# sourceMappingURL=grok.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grok.mjs","names":[],"sources":["../../src/adapters/grok.ts"],"sourcesContent":["import {\n\tGrokTextAdapter,\n\tGrokImageAdapter,\n\tGrokSummarizeAdapter,\n\tGROK_CHAT_MODELS,\n\tGROK_IMAGE_MODELS,\n\ttype GrokChatModel,\n\ttype GrokImageModel,\n\ttype GrokSummarizeModel,\n} from \"@tanstack/ai-grok\";\nimport { createGatewayFetch, type AiGatewayAdapterConfig } from \"../utils/create-fetcher\";\n\nexport type GrokGatewayConfig = AiGatewayAdapterConfig;\n\n/**\n * Creates a Grok chat adapter which uses Cloudflare AI Gateway.\n * Supports both binding and credential-based configurations.\n *\n * Since GrokTextConfig extends the OpenAI SDK's ClientOptions,\n * we can inject the gateway fetch directly — no subclassing needed.\n */\nexport function createGrokChat(model: GrokChatModel, config: GrokGatewayConfig) {\n\treturn new GrokTextAdapter(\n\t\t{\n\t\t\tapiKey: config.apiKey ?? \"unused\",\n\t\t\tfetch: createGatewayFetch(\"grok\", config),\n\t\t},\n\t\tmodel,\n\t);\n}\n\n/**\n * Creates a Grok image adapter which uses Cloudflare AI Gateway.\n * Supports both binding and credential-based configurations.\n */\nexport function createGrokImage(model: GrokImageModel, config: GrokGatewayConfig) {\n\treturn new GrokImageAdapter(\n\t\t{\n\t\t\tapiKey: config.apiKey ?? \"unused\",\n\t\t\tfetch: createGatewayFetch(\"grok\", config),\n\t\t},\n\t\tmodel,\n\t);\n}\n\n/**\n * Creates a Grok summarize adapter which uses Cloudflare AI Gateway.\n * Supports both binding and credential-based configurations.\n */\nexport function createGrokSummarize(model: GrokSummarizeModel, config: GrokGatewayConfig) {\n\treturn new GrokSummarizeAdapter(\n\t\t{\n\t\t\tapiKey: config.apiKey ?? \"unused\",\n\t\t\tfetch: createGatewayFetch(\"grok\", config),\n\t\t},\n\t\tmodel,\n\t);\n}\n\nexport {\n\tGROK_CHAT_MODELS,\n\tGROK_IMAGE_MODELS,\n\ttype GrokChatModel,\n\ttype GrokImageModel,\n\ttype GrokSummarizeModel,\n};\n"],"mappings":";;;;;;;;;;AAqBA,SAAgB,eAAe,OAAsB,QAA2B;AAC/E,QAAO,IAAI,gBACV;EACC,QAAQ,OAAO,UAAU;EACzB,OAAO,mBAAmB,QAAQ,OAAO;EACzC,EACD,MACA;;;;;;AAOF,SAAgB,gBAAgB,OAAuB,QAA2B;AACjF,QAAO,IAAI,iBACV;EACC,QAAQ,OAAO,UAAU;EACzB,OAAO,mBAAmB,QAAQ,OAAO;EACzC,EACD,MACA;;;;;;AAOF,SAAgB,oBAAoB,OAA2B,QAA2B;AACzF,QAAO,IAAI,qBACV;EACC,QAAQ,OAAO,UAAU;EACzB,OAAO,mBAAmB,QAAQ,OAAO;EACzC,EACD,MACA"}
|
package/dist/adapters/openai.cjs
CHANGED
|
@@ -1,29 +1,78 @@
|
|
|
1
|
-
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
require("../workers-ai-BOZ5iyhY.cjs");
|
|
3
|
+
const require_create_fetcher = require("../create-fetcher-By-hTiT9.cjs");
|
|
4
|
+
let _tanstack_ai_openai = require("@tanstack/ai-openai");
|
|
5
|
+
//#region src/adapters/openai.ts
|
|
6
|
+
/**
|
|
7
|
+
* Builds an OpenAI-compatible config that injects the gateway fetch.
|
|
8
|
+
* OpenAITextConfig extends OpenAI SDK's ClientOptions, which supports a `fetch` parameter.
|
|
9
|
+
*/
|
|
10
|
+
function buildOpenAiConfig(provider, config) {
|
|
11
|
+
return {
|
|
12
|
+
apiKey: config.apiKey ?? "unused",
|
|
13
|
+
fetch: require_create_fetcher.createGatewayFetch(provider, config)
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Creates an OpenAI chat adapter which uses Cloudflare AI Gateway.
|
|
18
|
+
* Supports both binding and credential-based configurations.
|
|
19
|
+
* @param model The OpenAI model to use
|
|
20
|
+
* @param config Configuration options
|
|
21
|
+
*/
|
|
22
|
+
function createOpenAiChat(model, config) {
|
|
23
|
+
return new _tanstack_ai_openai.OpenAITextAdapter(buildOpenAiConfig("openai", config), model);
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Creates an OpenAI summarize adapter which uses Cloudflare AI Gateway.
|
|
27
|
+
* @param model The OpenAI model to use
|
|
28
|
+
* @param config Configuration options
|
|
29
|
+
*/
|
|
30
|
+
function createOpenAiSummarize(model, config) {
|
|
31
|
+
return new _tanstack_ai_openai.OpenAISummarizeAdapter(buildOpenAiConfig("openai", config), model);
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Creates an OpenAI image adapter which uses Cloudflare AI Gateway.
|
|
35
|
+
* @param model The OpenAI image model to use
|
|
36
|
+
* @param config Configuration options
|
|
37
|
+
*/
|
|
38
|
+
function createOpenAiImage(model, config) {
|
|
39
|
+
return new _tanstack_ai_openai.OpenAIImageAdapter(buildOpenAiConfig("openai", config), model);
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Creates an OpenAI transcription adapter which uses Cloudflare AI Gateway.
|
|
43
|
+
* @param model The OpenAI transcription model to use
|
|
44
|
+
* @param config Configuration options
|
|
45
|
+
*/
|
|
46
|
+
function createOpenAiTranscription(model, config) {
|
|
47
|
+
return new _tanstack_ai_openai.OpenAITranscriptionAdapter(buildOpenAiConfig("openai", config), model);
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Creates an OpenAI TTS adapter which uses Cloudflare AI Gateway.
|
|
51
|
+
* @param model The OpenAI TTS model to use
|
|
52
|
+
* @param config Configuration options
|
|
53
|
+
*/
|
|
54
|
+
function createOpenAiTts(model, config) {
|
|
55
|
+
return new _tanstack_ai_openai.OpenAITTSAdapter(buildOpenAiConfig("openai", config), model);
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Creates an OpenAI video adapter which uses Cloudflare AI Gateway.
|
|
59
|
+
* @param model The OpenAI video model to use
|
|
60
|
+
* @param config Configuration options
|
|
61
|
+
*/
|
|
62
|
+
function createOpenAiVideo(model, config) {
|
|
63
|
+
return new _tanstack_ai_openai.OpenAIVideoAdapter(buildOpenAiConfig("openai", config), model);
|
|
64
|
+
}
|
|
65
|
+
//#endregion
|
|
66
|
+
exports.OPENAI_CHAT_MODELS = _tanstack_ai_openai.OPENAI_CHAT_MODELS;
|
|
67
|
+
exports.OPENAI_IMAGE_MODELS = _tanstack_ai_openai.OPENAI_IMAGE_MODELS;
|
|
68
|
+
exports.OPENAI_TRANSCRIPTION_MODELS = _tanstack_ai_openai.OPENAI_TRANSCRIPTION_MODELS;
|
|
69
|
+
exports.OPENAI_TTS_MODELS = _tanstack_ai_openai.OPENAI_TTS_MODELS;
|
|
70
|
+
exports.OPENAI_VIDEO_MODELS = _tanstack_ai_openai.OPENAI_VIDEO_MODELS;
|
|
71
|
+
exports.createOpenAiChat = createOpenAiChat;
|
|
72
|
+
exports.createOpenAiImage = createOpenAiImage;
|
|
73
|
+
exports.createOpenAiSummarize = createOpenAiSummarize;
|
|
74
|
+
exports.createOpenAiTranscription = createOpenAiTranscription;
|
|
75
|
+
exports.createOpenAiTts = createOpenAiTts;
|
|
76
|
+
exports.createOpenAiVideo = createOpenAiVideo;
|
|
2
77
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
var _chunkFQE2UKUUcjs = require('../chunk-FQE2UKUU.cjs');
|
|
14
|
-
require('../chunk-WBTQKWFN.cjs');
|
|
15
|
-
require('../chunk-4DE2IREA.cjs');
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
exports.OPENAI_CHAT_MODELS = _chunkFQE2UKUUcjs.OPENAI_CHAT_MODELS; exports.OPENAI_IMAGE_MODELS = _chunkFQE2UKUUcjs.OPENAI_IMAGE_MODELS; exports.OPENAI_TRANSCRIPTION_MODELS = _chunkFQE2UKUUcjs.OPENAI_TRANSCRIPTION_MODELS; exports.OPENAI_TTS_MODELS = _chunkFQE2UKUUcjs.OPENAI_TTS_MODELS; exports.OPENAI_VIDEO_MODELS = _chunkFQE2UKUUcjs.OPENAI_VIDEO_MODELS; exports.createOpenAiChat = _chunkFQE2UKUUcjs.createOpenAiChat; exports.createOpenAiImage = _chunkFQE2UKUUcjs.createOpenAiImage; exports.createOpenAiSummarize = _chunkFQE2UKUUcjs.createOpenAiSummarize; exports.createOpenAiTranscription = _chunkFQE2UKUUcjs.createOpenAiTranscription; exports.createOpenAiTts = _chunkFQE2UKUUcjs.createOpenAiTts; exports.createOpenAiVideo = _chunkFQE2UKUUcjs.createOpenAiVideo;
|
|
29
78
|
//# sourceMappingURL=openai.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/
|
|
1
|
+
{"version":3,"file":"openai.cjs","names":["createGatewayFetch","OpenAITextAdapter","OpenAISummarizeAdapter","OpenAIImageAdapter","OpenAITranscriptionAdapter","OpenAITTSAdapter","OpenAIVideoAdapter"],"sources":["../../src/adapters/openai.ts"],"sourcesContent":["import {\n\tOpenAIImageAdapter,\n\tOpenAISummarizeAdapter,\n\tOpenAITextAdapter,\n\tOpenAITranscriptionAdapter,\n\tOpenAITTSAdapter,\n\tOpenAIVideoAdapter,\n\tOPENAI_CHAT_MODELS,\n\tOPENAI_IMAGE_MODELS,\n\tOPENAI_TRANSCRIPTION_MODELS,\n\tOPENAI_TTS_MODELS,\n\tOPENAI_VIDEO_MODELS,\n\ttype OpenAIChatModel,\n\ttype OpenAIImageModel,\n\ttype OpenAITranscriptionModel,\n\ttype OpenAITTSModel,\n\ttype OpenAIVideoModel,\n} from \"@tanstack/ai-openai\";\nimport { createGatewayFetch, type AiGatewayAdapterConfig } from \"../utils/create-fetcher\";\n\nexport type OpenAiGatewayConfig = AiGatewayAdapterConfig;\n\n/**\n * Builds an OpenAI-compatible config that injects the gateway fetch.\n * OpenAITextConfig extends OpenAI SDK's ClientOptions, which supports a `fetch` parameter.\n */\nfunction buildOpenAiConfig(provider: string, config: OpenAiGatewayConfig) {\n\treturn {\n\t\tapiKey: config.apiKey ?? \"unused\",\n\t\tfetch: createGatewayFetch(provider, config),\n\t};\n}\n\n/**\n * Creates an OpenAI chat adapter which uses Cloudflare AI Gateway.\n * Supports both binding and credential-based configurations.\n * @param model The OpenAI model to use\n * @param config Configuration options\n */\nexport function createOpenAiChat(model: OpenAIChatModel, config: OpenAiGatewayConfig) {\n\treturn new OpenAITextAdapter(buildOpenAiConfig(\"openai\", config), model);\n}\n\n/**\n * Creates an OpenAI summarize adapter which uses Cloudflare AI Gateway.\n * @param model The OpenAI model to use\n * @param config Configuration options\n */\nexport function createOpenAiSummarize(model: OpenAIChatModel, config: OpenAiGatewayConfig) {\n\treturn new OpenAISummarizeAdapter(buildOpenAiConfig(\"openai\", config), model);\n}\n\n/**\n * Creates an OpenAI image adapter which uses Cloudflare AI Gateway.\n * @param model The OpenAI image model to use\n * @param config Configuration options\n */\nexport function createOpenAiImage(model: OpenAIImageModel, config: OpenAiGatewayConfig) {\n\treturn new OpenAIImageAdapter(buildOpenAiConfig(\"openai\", config), model);\n}\n\n/**\n * Creates an OpenAI transcription adapter which uses Cloudflare AI Gateway.\n * @param model The OpenAI transcription model to use\n * @param config Configuration options\n */\nexport function createOpenAiTranscription(\n\tmodel: OpenAITranscriptionModel,\n\tconfig: OpenAiGatewayConfig,\n) {\n\treturn new OpenAITranscriptionAdapter(buildOpenAiConfig(\"openai\", config), model);\n}\n\n/**\n * Creates an OpenAI TTS adapter which uses Cloudflare AI Gateway.\n * @param model The OpenAI TTS model to use\n * @param config Configuration options\n */\nexport function createOpenAiTts(model: OpenAITTSModel, config: OpenAiGatewayConfig) {\n\treturn new OpenAITTSAdapter(buildOpenAiConfig(\"openai\", config), model);\n}\n\n/**\n * Creates an OpenAI video adapter which uses Cloudflare AI Gateway.\n * @param model The OpenAI video model to use\n * @param config Configuration options\n */\nexport function createOpenAiVideo(model: OpenAIVideoModel, config: OpenAiGatewayConfig) {\n\treturn new OpenAIVideoAdapter(buildOpenAiConfig(\"openai\", config), model);\n}\n\nexport {\n\tOPENAI_CHAT_MODELS,\n\tOPENAI_IMAGE_MODELS,\n\tOPENAI_TRANSCRIPTION_MODELS,\n\tOPENAI_TTS_MODELS,\n\tOPENAI_VIDEO_MODELS,\n\ttype OpenAIChatModel,\n\ttype OpenAIImageModel,\n\ttype OpenAITranscriptionModel,\n\ttype OpenAITTSModel,\n\ttype OpenAIVideoModel,\n};\n"],"mappings":";;;;;;;;;AA0BA,SAAS,kBAAkB,UAAkB,QAA6B;AACzE,QAAO;EACN,QAAQ,OAAO,UAAU;EACzB,OAAOA,uBAAAA,mBAAmB,UAAU,OAAO;EAC3C;;;;;;;;AASF,SAAgB,iBAAiB,OAAwB,QAA6B;AACrF,QAAO,IAAIC,oBAAAA,kBAAkB,kBAAkB,UAAU,OAAO,EAAE,MAAM;;;;;;;AAQzE,SAAgB,sBAAsB,OAAwB,QAA6B;AAC1F,QAAO,IAAIC,oBAAAA,uBAAuB,kBAAkB,UAAU,OAAO,EAAE,MAAM;;;;;;;AAQ9E,SAAgB,kBAAkB,OAAyB,QAA6B;AACvF,QAAO,IAAIC,oBAAAA,mBAAmB,kBAAkB,UAAU,OAAO,EAAE,MAAM;;;;;;;AAQ1E,SAAgB,0BACf,OACA,QACC;AACD,QAAO,IAAIC,oBAAAA,2BAA2B,kBAAkB,UAAU,OAAO,EAAE,MAAM;;;;;;;AAQlF,SAAgB,gBAAgB,OAAuB,QAA6B;AACnF,QAAO,IAAIC,oBAAAA,iBAAiB,kBAAkB,UAAU,OAAO,EAAE,MAAM;;;;;;;AAQxE,SAAgB,kBAAkB,OAAyB,QAA6B;AACvF,QAAO,IAAIC,oBAAAA,mBAAmB,kBAAkB,UAAU,OAAO,EAAE,MAAM"}
|
|
@@ -1,17 +1,45 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
1
|
+
import { t as AiGatewayAdapterConfig } from "../create-fetcher-vAQ8WW-p.cjs";
|
|
2
|
+
import { OPENAI_CHAT_MODELS, OPENAI_IMAGE_MODELS, OPENAI_TRANSCRIPTION_MODELS, OPENAI_TTS_MODELS, OPENAI_VIDEO_MODELS, OpenAIChatModel, OpenAIImageAdapter, OpenAIImageModel, OpenAISummarizeAdapter, OpenAITTSAdapter, OpenAITTSModel, OpenAITextAdapter, OpenAITranscriptionAdapter, OpenAITranscriptionModel, OpenAIVideoAdapter, OpenAIVideoModel } from "@tanstack/ai-openai";
|
|
3
|
+
|
|
4
|
+
//#region src/adapters/openai.d.ts
|
|
5
|
+
type OpenAiGatewayConfig = AiGatewayAdapterConfig;
|
|
6
|
+
/**
|
|
7
|
+
* Creates an OpenAI chat adapter which uses Cloudflare AI Gateway.
|
|
8
|
+
* Supports both binding and credential-based configurations.
|
|
9
|
+
* @param model The OpenAI model to use
|
|
10
|
+
* @param config Configuration options
|
|
11
|
+
*/
|
|
12
|
+
declare function createOpenAiChat(model: OpenAIChatModel, config: OpenAiGatewayConfig): OpenAITextAdapter<"gpt-5.2" | "gpt-5.2-pro" | "gpt-5.2-chat-latest" | "gpt-5.1" | "gpt-5.1-codex" | "gpt-5" | "gpt-5-mini" | "gpt-5-nano" | "gpt-5-pro" | "gpt-5-codex" | "o3" | "o3-pro" | "o3-mini" | "o4-mini" | "o3-deep-research" | "o4-mini-deep-research" | "gpt-4.1" | "gpt-4.1-mini" | "gpt-4.1-nano" | "gpt-4" | "gpt-4-turbo" | "gpt-4o" | "gpt-4o-mini" | "gpt-3.5-turbo" | "gpt-audio" | "gpt-audio-mini" | "gpt-4o-audio" | "gpt-4o-mini-audio" | "gpt-5.1-chat-latest" | "gpt-5-chat-latest" | "chatgpt-4o-latest" | "gpt-5.1-codex-mini" | "codex-mini-latest" | "gpt-4o-search-preview" | "gpt-4o-mini-search-preview" | "computer-use-preview" | "o1" | "o1-pro">;
|
|
13
|
+
/**
|
|
14
|
+
* Creates an OpenAI summarize adapter which uses Cloudflare AI Gateway.
|
|
15
|
+
* @param model The OpenAI model to use
|
|
16
|
+
* @param config Configuration options
|
|
17
|
+
*/
|
|
18
|
+
declare function createOpenAiSummarize(model: OpenAIChatModel, config: OpenAiGatewayConfig): OpenAISummarizeAdapter<"gpt-5.2" | "gpt-5.2-pro" | "gpt-5.2-chat-latest" | "gpt-5.1" | "gpt-5.1-codex" | "gpt-5" | "gpt-5-mini" | "gpt-5-nano" | "gpt-5-pro" | "gpt-5-codex" | "o3" | "o3-pro" | "o3-mini" | "o4-mini" | "o3-deep-research" | "o4-mini-deep-research" | "gpt-4.1" | "gpt-4.1-mini" | "gpt-4.1-nano" | "gpt-4" | "gpt-4-turbo" | "gpt-4o" | "gpt-4o-mini" | "gpt-3.5-turbo" | "gpt-audio" | "gpt-audio-mini" | "gpt-4o-audio" | "gpt-4o-mini-audio" | "gpt-5.1-chat-latest" | "gpt-5-chat-latest" | "chatgpt-4o-latest" | "gpt-5.1-codex-mini" | "codex-mini-latest" | "gpt-4o-search-preview" | "gpt-4o-mini-search-preview" | "computer-use-preview" | "o1" | "o1-pro">;
|
|
19
|
+
/**
|
|
20
|
+
* Creates an OpenAI image adapter which uses Cloudflare AI Gateway.
|
|
21
|
+
* @param model The OpenAI image model to use
|
|
22
|
+
* @param config Configuration options
|
|
23
|
+
*/
|
|
24
|
+
declare function createOpenAiImage(model: OpenAIImageModel, config: OpenAiGatewayConfig): OpenAIImageAdapter<"gpt-image-1" | "gpt-image-1-mini" | "dall-e-3" | "dall-e-2">;
|
|
25
|
+
/**
|
|
26
|
+
* Creates an OpenAI transcription adapter which uses Cloudflare AI Gateway.
|
|
27
|
+
* @param model The OpenAI transcription model to use
|
|
28
|
+
* @param config Configuration options
|
|
29
|
+
*/
|
|
30
|
+
declare function createOpenAiTranscription(model: OpenAITranscriptionModel, config: OpenAiGatewayConfig): OpenAITranscriptionAdapter<"whisper-1" | "gpt-4o-transcribe" | "gpt-4o-mini-transcribe" | "gpt-4o-transcribe-diarize">;
|
|
31
|
+
/**
|
|
32
|
+
* Creates an OpenAI TTS adapter which uses Cloudflare AI Gateway.
|
|
33
|
+
* @param model The OpenAI TTS model to use
|
|
34
|
+
* @param config Configuration options
|
|
35
|
+
*/
|
|
36
|
+
declare function createOpenAiTts(model: OpenAITTSModel, config: OpenAiGatewayConfig): OpenAITTSAdapter<"tts-1" | "tts-1-hd" | "gpt-4o-audio-preview">;
|
|
37
|
+
/**
|
|
38
|
+
* Creates an OpenAI video adapter which uses Cloudflare AI Gateway.
|
|
39
|
+
* @param model The OpenAI video model to use
|
|
40
|
+
* @param config Configuration options
|
|
41
|
+
*/
|
|
42
|
+
declare function createOpenAiVideo(model: OpenAIVideoModel, config: OpenAiGatewayConfig): OpenAIVideoAdapter<"sora-2" | "sora-2-pro">;
|
|
43
|
+
//#endregion
|
|
44
|
+
export { OPENAI_CHAT_MODELS, OPENAI_IMAGE_MODELS, OPENAI_TRANSCRIPTION_MODELS, OPENAI_TTS_MODELS, OPENAI_VIDEO_MODELS, type OpenAIChatModel, type OpenAIImageModel, type OpenAITTSModel, type OpenAITranscriptionModel, type OpenAIVideoModel, OpenAiGatewayConfig, createOpenAiChat, createOpenAiImage, createOpenAiSummarize, createOpenAiTranscription, createOpenAiTts, createOpenAiVideo };
|
|
45
|
+
//# sourceMappingURL=openai.d.cts.map
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { t as AiGatewayAdapterConfig } from "../create-fetcher-6p6heb85.mjs";
|
|
2
|
+
import { OPENAI_CHAT_MODELS, OPENAI_IMAGE_MODELS, OPENAI_TRANSCRIPTION_MODELS, OPENAI_TTS_MODELS, OPENAI_VIDEO_MODELS, OpenAIChatModel, OpenAIImageAdapter, OpenAIImageModel, OpenAISummarizeAdapter, OpenAITTSAdapter, OpenAITTSModel, OpenAITextAdapter, OpenAITranscriptionAdapter, OpenAITranscriptionModel, OpenAIVideoAdapter, OpenAIVideoModel } from "@tanstack/ai-openai";
|
|
3
|
+
|
|
4
|
+
//#region src/adapters/openai.d.ts
|
|
5
|
+
type OpenAiGatewayConfig = AiGatewayAdapterConfig;
|
|
6
|
+
/**
|
|
7
|
+
* Creates an OpenAI chat adapter which uses Cloudflare AI Gateway.
|
|
8
|
+
* Supports both binding and credential-based configurations.
|
|
9
|
+
* @param model The OpenAI model to use
|
|
10
|
+
* @param config Configuration options
|
|
11
|
+
*/
|
|
12
|
+
declare function createOpenAiChat(model: OpenAIChatModel, config: OpenAiGatewayConfig): OpenAITextAdapter<"gpt-5.2" | "gpt-5.2-pro" | "gpt-5.2-chat-latest" | "gpt-5.1" | "gpt-5.1-codex" | "gpt-5" | "gpt-5-mini" | "gpt-5-nano" | "gpt-5-pro" | "gpt-5-codex" | "o3" | "o3-pro" | "o3-mini" | "o4-mini" | "o3-deep-research" | "o4-mini-deep-research" | "gpt-4.1" | "gpt-4.1-mini" | "gpt-4.1-nano" | "gpt-4" | "gpt-4-turbo" | "gpt-4o" | "gpt-4o-mini" | "gpt-3.5-turbo" | "gpt-audio" | "gpt-audio-mini" | "gpt-4o-audio" | "gpt-4o-mini-audio" | "gpt-5.1-chat-latest" | "gpt-5-chat-latest" | "chatgpt-4o-latest" | "gpt-5.1-codex-mini" | "codex-mini-latest" | "gpt-4o-search-preview" | "gpt-4o-mini-search-preview" | "computer-use-preview" | "o1" | "o1-pro">;
|
|
13
|
+
/**
|
|
14
|
+
* Creates an OpenAI summarize adapter which uses Cloudflare AI Gateway.
|
|
15
|
+
* @param model The OpenAI model to use
|
|
16
|
+
* @param config Configuration options
|
|
17
|
+
*/
|
|
18
|
+
declare function createOpenAiSummarize(model: OpenAIChatModel, config: OpenAiGatewayConfig): OpenAISummarizeAdapter<"gpt-5.2" | "gpt-5.2-pro" | "gpt-5.2-chat-latest" | "gpt-5.1" | "gpt-5.1-codex" | "gpt-5" | "gpt-5-mini" | "gpt-5-nano" | "gpt-5-pro" | "gpt-5-codex" | "o3" | "o3-pro" | "o3-mini" | "o4-mini" | "o3-deep-research" | "o4-mini-deep-research" | "gpt-4.1" | "gpt-4.1-mini" | "gpt-4.1-nano" | "gpt-4" | "gpt-4-turbo" | "gpt-4o" | "gpt-4o-mini" | "gpt-3.5-turbo" | "gpt-audio" | "gpt-audio-mini" | "gpt-4o-audio" | "gpt-4o-mini-audio" | "gpt-5.1-chat-latest" | "gpt-5-chat-latest" | "chatgpt-4o-latest" | "gpt-5.1-codex-mini" | "codex-mini-latest" | "gpt-4o-search-preview" | "gpt-4o-mini-search-preview" | "computer-use-preview" | "o1" | "o1-pro">;
|
|
19
|
+
/**
|
|
20
|
+
* Creates an OpenAI image adapter which uses Cloudflare AI Gateway.
|
|
21
|
+
* @param model The OpenAI image model to use
|
|
22
|
+
* @param config Configuration options
|
|
23
|
+
*/
|
|
24
|
+
declare function createOpenAiImage(model: OpenAIImageModel, config: OpenAiGatewayConfig): OpenAIImageAdapter<"gpt-image-1" | "gpt-image-1-mini" | "dall-e-3" | "dall-e-2">;
|
|
25
|
+
/**
|
|
26
|
+
* Creates an OpenAI transcription adapter which uses Cloudflare AI Gateway.
|
|
27
|
+
* @param model The OpenAI transcription model to use
|
|
28
|
+
* @param config Configuration options
|
|
29
|
+
*/
|
|
30
|
+
declare function createOpenAiTranscription(model: OpenAITranscriptionModel, config: OpenAiGatewayConfig): OpenAITranscriptionAdapter<"whisper-1" | "gpt-4o-transcribe" | "gpt-4o-mini-transcribe" | "gpt-4o-transcribe-diarize">;
|
|
31
|
+
/**
|
|
32
|
+
* Creates an OpenAI TTS adapter which uses Cloudflare AI Gateway.
|
|
33
|
+
* @param model The OpenAI TTS model to use
|
|
34
|
+
* @param config Configuration options
|
|
35
|
+
*/
|
|
36
|
+
declare function createOpenAiTts(model: OpenAITTSModel, config: OpenAiGatewayConfig): OpenAITTSAdapter<"tts-1" | "tts-1-hd" | "gpt-4o-audio-preview">;
|
|
37
|
+
/**
|
|
38
|
+
* Creates an OpenAI video adapter which uses Cloudflare AI Gateway.
|
|
39
|
+
* @param model The OpenAI video model to use
|
|
40
|
+
* @param config Configuration options
|
|
41
|
+
*/
|
|
42
|
+
declare function createOpenAiVideo(model: OpenAIVideoModel, config: OpenAiGatewayConfig): OpenAIVideoAdapter<"sora-2" | "sora-2-pro">;
|
|
43
|
+
//#endregion
|
|
44
|
+
export { OPENAI_CHAT_MODELS, OPENAI_IMAGE_MODELS, OPENAI_TRANSCRIPTION_MODELS, OPENAI_TTS_MODELS, OPENAI_VIDEO_MODELS, type OpenAIChatModel, type OpenAIImageModel, type OpenAITTSModel, type OpenAITranscriptionModel, type OpenAIVideoModel, OpenAiGatewayConfig, createOpenAiChat, createOpenAiImage, createOpenAiSummarize, createOpenAiTranscription, createOpenAiTts, createOpenAiVideo };
|
|
45
|
+
//# sourceMappingURL=openai.d.mts.map
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { t as createGatewayFetch } from "../create-fetcher-CeUOJgrh.mjs";
|
|
2
|
+
import { OPENAI_CHAT_MODELS, OPENAI_IMAGE_MODELS, OPENAI_TRANSCRIPTION_MODELS, OPENAI_TTS_MODELS, OPENAI_VIDEO_MODELS, OpenAIImageAdapter, OpenAISummarizeAdapter, OpenAITTSAdapter, OpenAITextAdapter, OpenAITranscriptionAdapter, OpenAIVideoAdapter } from "@tanstack/ai-openai";
|
|
3
|
+
//#region src/adapters/openai.ts
|
|
4
|
+
/**
|
|
5
|
+
* Builds an OpenAI-compatible config that injects the gateway fetch.
|
|
6
|
+
* OpenAITextConfig extends OpenAI SDK's ClientOptions, which supports a `fetch` parameter.
|
|
7
|
+
*/
|
|
8
|
+
function buildOpenAiConfig(provider, config) {
|
|
9
|
+
return {
|
|
10
|
+
apiKey: config.apiKey ?? "unused",
|
|
11
|
+
fetch: createGatewayFetch(provider, config)
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Creates an OpenAI chat adapter which uses Cloudflare AI Gateway.
|
|
16
|
+
* Supports both binding and credential-based configurations.
|
|
17
|
+
* @param model The OpenAI model to use
|
|
18
|
+
* @param config Configuration options
|
|
19
|
+
*/
|
|
20
|
+
function createOpenAiChat(model, config) {
|
|
21
|
+
return new OpenAITextAdapter(buildOpenAiConfig("openai", config), model);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Creates an OpenAI summarize adapter which uses Cloudflare AI Gateway.
|
|
25
|
+
* @param model The OpenAI model to use
|
|
26
|
+
* @param config Configuration options
|
|
27
|
+
*/
|
|
28
|
+
function createOpenAiSummarize(model, config) {
|
|
29
|
+
return new OpenAISummarizeAdapter(buildOpenAiConfig("openai", config), model);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Creates an OpenAI image adapter which uses Cloudflare AI Gateway.
|
|
33
|
+
* @param model The OpenAI image model to use
|
|
34
|
+
* @param config Configuration options
|
|
35
|
+
*/
|
|
36
|
+
function createOpenAiImage(model, config) {
|
|
37
|
+
return new OpenAIImageAdapter(buildOpenAiConfig("openai", config), model);
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Creates an OpenAI transcription adapter which uses Cloudflare AI Gateway.
|
|
41
|
+
* @param model The OpenAI transcription model to use
|
|
42
|
+
* @param config Configuration options
|
|
43
|
+
*/
|
|
44
|
+
function createOpenAiTranscription(model, config) {
|
|
45
|
+
return new OpenAITranscriptionAdapter(buildOpenAiConfig("openai", config), model);
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Creates an OpenAI TTS adapter which uses Cloudflare AI Gateway.
|
|
49
|
+
* @param model The OpenAI TTS model to use
|
|
50
|
+
* @param config Configuration options
|
|
51
|
+
*/
|
|
52
|
+
function createOpenAiTts(model, config) {
|
|
53
|
+
return new OpenAITTSAdapter(buildOpenAiConfig("openai", config), model);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Creates an OpenAI video adapter which uses Cloudflare AI Gateway.
|
|
57
|
+
* @param model The OpenAI video model to use
|
|
58
|
+
* @param config Configuration options
|
|
59
|
+
*/
|
|
60
|
+
function createOpenAiVideo(model, config) {
|
|
61
|
+
return new OpenAIVideoAdapter(buildOpenAiConfig("openai", config), model);
|
|
62
|
+
}
|
|
63
|
+
//#endregion
|
|
64
|
+
export { OPENAI_CHAT_MODELS, OPENAI_IMAGE_MODELS, OPENAI_TRANSCRIPTION_MODELS, OPENAI_TTS_MODELS, OPENAI_VIDEO_MODELS, createOpenAiChat, createOpenAiImage, createOpenAiSummarize, createOpenAiTranscription, createOpenAiTts, createOpenAiVideo };
|
|
65
|
+
|
|
66
|
+
//# sourceMappingURL=openai.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai.mjs","names":[],"sources":["../../src/adapters/openai.ts"],"sourcesContent":["import {\n\tOpenAIImageAdapter,\n\tOpenAISummarizeAdapter,\n\tOpenAITextAdapter,\n\tOpenAITranscriptionAdapter,\n\tOpenAITTSAdapter,\n\tOpenAIVideoAdapter,\n\tOPENAI_CHAT_MODELS,\n\tOPENAI_IMAGE_MODELS,\n\tOPENAI_TRANSCRIPTION_MODELS,\n\tOPENAI_TTS_MODELS,\n\tOPENAI_VIDEO_MODELS,\n\ttype OpenAIChatModel,\n\ttype OpenAIImageModel,\n\ttype OpenAITranscriptionModel,\n\ttype OpenAITTSModel,\n\ttype OpenAIVideoModel,\n} from \"@tanstack/ai-openai\";\nimport { createGatewayFetch, type AiGatewayAdapterConfig } from \"../utils/create-fetcher\";\n\nexport type OpenAiGatewayConfig = AiGatewayAdapterConfig;\n\n/**\n * Builds an OpenAI-compatible config that injects the gateway fetch.\n * OpenAITextConfig extends OpenAI SDK's ClientOptions, which supports a `fetch` parameter.\n */\nfunction buildOpenAiConfig(provider: string, config: OpenAiGatewayConfig) {\n\treturn {\n\t\tapiKey: config.apiKey ?? \"unused\",\n\t\tfetch: createGatewayFetch(provider, config),\n\t};\n}\n\n/**\n * Creates an OpenAI chat adapter which uses Cloudflare AI Gateway.\n * Supports both binding and credential-based configurations.\n * @param model The OpenAI model to use\n * @param config Configuration options\n */\nexport function createOpenAiChat(model: OpenAIChatModel, config: OpenAiGatewayConfig) {\n\treturn new OpenAITextAdapter(buildOpenAiConfig(\"openai\", config), model);\n}\n\n/**\n * Creates an OpenAI summarize adapter which uses Cloudflare AI Gateway.\n * @param model The OpenAI model to use\n * @param config Configuration options\n */\nexport function createOpenAiSummarize(model: OpenAIChatModel, config: OpenAiGatewayConfig) {\n\treturn new OpenAISummarizeAdapter(buildOpenAiConfig(\"openai\", config), model);\n}\n\n/**\n * Creates an OpenAI image adapter which uses Cloudflare AI Gateway.\n * @param model The OpenAI image model to use\n * @param config Configuration options\n */\nexport function createOpenAiImage(model: OpenAIImageModel, config: OpenAiGatewayConfig) {\n\treturn new OpenAIImageAdapter(buildOpenAiConfig(\"openai\", config), model);\n}\n\n/**\n * Creates an OpenAI transcription adapter which uses Cloudflare AI Gateway.\n * @param model The OpenAI transcription model to use\n * @param config Configuration options\n */\nexport function createOpenAiTranscription(\n\tmodel: OpenAITranscriptionModel,\n\tconfig: OpenAiGatewayConfig,\n) {\n\treturn new OpenAITranscriptionAdapter(buildOpenAiConfig(\"openai\", config), model);\n}\n\n/**\n * Creates an OpenAI TTS adapter which uses Cloudflare AI Gateway.\n * @param model The OpenAI TTS model to use\n * @param config Configuration options\n */\nexport function createOpenAiTts(model: OpenAITTSModel, config: OpenAiGatewayConfig) {\n\treturn new OpenAITTSAdapter(buildOpenAiConfig(\"openai\", config), model);\n}\n\n/**\n * Creates an OpenAI video adapter which uses Cloudflare AI Gateway.\n * @param model The OpenAI video model to use\n * @param config Configuration options\n */\nexport function createOpenAiVideo(model: OpenAIVideoModel, config: OpenAiGatewayConfig) {\n\treturn new OpenAIVideoAdapter(buildOpenAiConfig(\"openai\", config), model);\n}\n\nexport {\n\tOPENAI_CHAT_MODELS,\n\tOPENAI_IMAGE_MODELS,\n\tOPENAI_TRANSCRIPTION_MODELS,\n\tOPENAI_TTS_MODELS,\n\tOPENAI_VIDEO_MODELS,\n\ttype OpenAIChatModel,\n\ttype OpenAIImageModel,\n\ttype OpenAITranscriptionModel,\n\ttype OpenAITTSModel,\n\ttype OpenAIVideoModel,\n};\n"],"mappings":";;;;;;;AA0BA,SAAS,kBAAkB,UAAkB,QAA6B;AACzE,QAAO;EACN,QAAQ,OAAO,UAAU;EACzB,OAAO,mBAAmB,UAAU,OAAO;EAC3C;;;;;;;;AASF,SAAgB,iBAAiB,OAAwB,QAA6B;AACrF,QAAO,IAAI,kBAAkB,kBAAkB,UAAU,OAAO,EAAE,MAAM;;;;;;;AAQzE,SAAgB,sBAAsB,OAAwB,QAA6B;AAC1F,QAAO,IAAI,uBAAuB,kBAAkB,UAAU,OAAO,EAAE,MAAM;;;;;;;AAQ9E,SAAgB,kBAAkB,OAAyB,QAA6B;AACvF,QAAO,IAAI,mBAAmB,kBAAkB,UAAU,OAAO,EAAE,MAAM;;;;;;;AAQ1E,SAAgB,0BACf,OACA,QACC;AACD,QAAO,IAAI,2BAA2B,kBAAkB,UAAU,OAAO,EAAE,MAAM;;;;;;;AAQlF,SAAgB,gBAAgB,OAAuB,QAA6B;AACnF,QAAO,IAAI,iBAAiB,kBAAkB,UAAU,OAAO,EAAE,MAAM;;;;;;;AAQxE,SAAgB,kBAAkB,OAAyB,QAA6B;AACvF,QAAO,IAAI,mBAAmB,kBAAkB,UAAU,OAAO,EAAE,MAAM"}
|
|
@@ -1,13 +1,85 @@
|
|
|
1
|
-
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
require("../workers-ai-BOZ5iyhY.cjs");
|
|
3
|
+
const require_create_fetcher = require("../create-fetcher-By-hTiT9.cjs");
|
|
4
|
+
let _tanstack_ai_openrouter = require("@tanstack/ai-openrouter");
|
|
5
|
+
let _openrouter_sdk = require("@openrouter/sdk");
|
|
6
|
+
//#region src/adapters/openrouter.ts
|
|
7
|
+
/**
|
|
8
|
+
* Build OpenRouter config that routes requests through AI Gateway.
|
|
9
|
+
*
|
|
10
|
+
* The OpenRouter SDK accepts an `httpClient` with a custom `fetcher`,
|
|
11
|
+
* which we use to inject the AI Gateway fetch.
|
|
12
|
+
*/
|
|
13
|
+
function buildOpenRouterConfig(config) {
|
|
14
|
+
const httpClient = new _openrouter_sdk.HTTPClient({ fetcher: require_create_fetcher.createGatewayFetch("openrouter", config) });
|
|
15
|
+
return {
|
|
16
|
+
apiKey: config.apiKey ?? "unused",
|
|
17
|
+
httpClient
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Build OpenRouter image config that routes requests through AI Gateway.
|
|
22
|
+
*
|
|
23
|
+
* `OpenRouterImageConfig` extends `OpenRouterClientConfig` which declares
|
|
24
|
+
* `baseURL` and `apiKey` but not `httpClient`. However, the image adapter
|
|
25
|
+
* internally creates an `OpenRouter` SDK instance (which does accept
|
|
26
|
+
* `httpClient` via `SDKOptions`). The double-cast is needed because the
|
|
27
|
+
* declared config type is narrower than what the SDK constructor accepts.
|
|
28
|
+
*/
|
|
29
|
+
function buildOpenRouterImageConfig(config) {
|
|
30
|
+
const httpClient = new _openrouter_sdk.HTTPClient({ fetcher: require_create_fetcher.createGatewayFetch("openrouter", config) });
|
|
31
|
+
return {
|
|
32
|
+
apiKey: config.apiKey ?? "unused",
|
|
33
|
+
httpClient
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Build OpenRouter summarize config.
|
|
38
|
+
*
|
|
39
|
+
* `OpenRouterSummarizeConfig` extends `OpenRouterConfig` with optional
|
|
40
|
+
* `temperature` and `maxTokens` fields. Since those are optional, a plain
|
|
41
|
+
* `OpenRouterConfig` is structurally compatible — no cast needed.
|
|
42
|
+
*/
|
|
43
|
+
function buildOpenRouterSummarizeConfig(config) {
|
|
44
|
+
const httpClient = new _openrouter_sdk.HTTPClient({ fetcher: require_create_fetcher.createGatewayFetch("openrouter", config) });
|
|
45
|
+
return {
|
|
46
|
+
apiKey: config.apiKey ?? "unused",
|
|
47
|
+
httpClient
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Creates an OpenRouter chat adapter which uses Cloudflare AI Gateway.
|
|
52
|
+
* Supports both binding and credential-based configurations.
|
|
53
|
+
*
|
|
54
|
+
* @param model The model to use (e.g. "openai/gpt-4o", "anthropic/claude-sonnet-4-5")
|
|
55
|
+
* @param config Configuration options
|
|
56
|
+
*/
|
|
57
|
+
function createOpenRouterChat(model, config) {
|
|
58
|
+
return new _tanstack_ai_openrouter.OpenRouterTextAdapter(buildOpenRouterConfig(config), model);
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Creates an OpenRouter image adapter which uses Cloudflare AI Gateway.
|
|
62
|
+
* Supports both binding and credential-based configurations.
|
|
63
|
+
*
|
|
64
|
+
* @param model The image model to use
|
|
65
|
+
* @param config Configuration options
|
|
66
|
+
*/
|
|
67
|
+
function createOpenRouterImage(model, config) {
|
|
68
|
+
return new _tanstack_ai_openrouter.OpenRouterImageAdapter(buildOpenRouterImageConfig(config), model);
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Creates an OpenRouter summarize adapter which uses Cloudflare AI Gateway.
|
|
72
|
+
* Supports both binding and credential-based configurations.
|
|
73
|
+
*
|
|
74
|
+
* @param model The model to use for summarization
|
|
75
|
+
* @param config Configuration options
|
|
76
|
+
*/
|
|
77
|
+
function createOpenRouterSummarize(model, config) {
|
|
78
|
+
return new _tanstack_ai_openrouter.OpenRouterSummarizeAdapter(buildOpenRouterSummarizeConfig(config), model);
|
|
79
|
+
}
|
|
80
|
+
//#endregion
|
|
81
|
+
exports.createOpenRouterChat = createOpenRouterChat;
|
|
82
|
+
exports.createOpenRouterImage = createOpenRouterImage;
|
|
83
|
+
exports.createOpenRouterSummarize = createOpenRouterSummarize;
|
|
2
84
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
var _chunkMJ45L566cjs = require('../chunk-MJ45L566.cjs');
|
|
6
|
-
require('../chunk-WBTQKWFN.cjs');
|
|
7
|
-
require('../chunk-4DE2IREA.cjs');
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
exports.createOpenRouterChat = _chunkMJ45L566cjs.createOpenRouterChat; exports.createOpenRouterImage = _chunkMJ45L566cjs.createOpenRouterImage; exports.createOpenRouterSummarize = _chunkMJ45L566cjs.createOpenRouterSummarize;
|
|
13
85
|
//# sourceMappingURL=openrouter.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/
|
|
1
|
+
{"version":3,"file":"openrouter.cjs","names":["HTTPClient","createGatewayFetch","OpenRouterTextAdapter","OpenRouterImageAdapter","OpenRouterSummarizeAdapter"],"sources":["../../src/adapters/openrouter.ts"],"sourcesContent":["import {\n\tOpenRouterTextAdapter,\n\tOpenRouterImageAdapter,\n\tOpenRouterSummarizeAdapter,\n\ttype OpenRouterConfig,\n\ttype OpenRouterImageConfig,\n\ttype OpenRouterSummarizeConfig,\n} from \"@tanstack/ai-openrouter\";\nimport { HTTPClient } from \"@openrouter/sdk\";\nimport { createGatewayFetch, type AiGatewayAdapterConfig } from \"../utils/create-fetcher\";\nimport type { AnyTextAdapter } from \"@tanstack/ai\";\n\nexport type OpenRouterGatewayConfig = AiGatewayAdapterConfig;\n\n/**\n * Build OpenRouter config that routes requests through AI Gateway.\n *\n * The OpenRouter SDK accepts an `httpClient` with a custom `fetcher`,\n * which we use to inject the AI Gateway fetch.\n */\nfunction buildOpenRouterConfig(config: OpenRouterGatewayConfig): OpenRouterConfig {\n\tconst httpClient = new HTTPClient({\n\t\tfetcher: createGatewayFetch(\"openrouter\", config),\n\t});\n\treturn {\n\t\tapiKey: config.apiKey ?? \"unused\",\n\t\t// Cast needed: the installed @openrouter/sdk version may differ from the\n\t\t// version @tanstack/ai-openrouter was built against. The HTTPClient interface\n\t\t// is structurally compatible but TypeScript sees them as separate declarations.\n\t\thttpClient: httpClient as unknown as OpenRouterConfig[\"httpClient\"],\n\t};\n}\n\n/**\n * Build OpenRouter image config that routes requests through AI Gateway.\n *\n * `OpenRouterImageConfig` extends `OpenRouterClientConfig` which declares\n * `baseURL` and `apiKey` but not `httpClient`. However, the image adapter\n * internally creates an `OpenRouter` SDK instance (which does accept\n * `httpClient` via `SDKOptions`). The double-cast is needed because the\n * declared config type is narrower than what the SDK constructor accepts.\n */\nfunction buildOpenRouterImageConfig(config: OpenRouterGatewayConfig): OpenRouterImageConfig {\n\tconst httpClient = new HTTPClient({\n\t\tfetcher: createGatewayFetch(\"openrouter\", config),\n\t});\n\treturn {\n\t\tapiKey: config.apiKey ?? \"unused\",\n\t\thttpClient,\n\t} as unknown as OpenRouterImageConfig;\n}\n\n/**\n * Build OpenRouter summarize config.\n *\n * `OpenRouterSummarizeConfig` extends `OpenRouterConfig` with optional\n * `temperature` and `maxTokens` fields. Since those are optional, a plain\n * `OpenRouterConfig` is structurally compatible — no cast needed.\n */\nfunction buildOpenRouterSummarizeConfig(\n\tconfig: OpenRouterGatewayConfig,\n): OpenRouterSummarizeConfig {\n\tconst httpClient = new HTTPClient({\n\t\tfetcher: createGatewayFetch(\"openrouter\", config),\n\t});\n\treturn {\n\t\tapiKey: config.apiKey ?? \"unused\",\n\t\thttpClient: httpClient as unknown as OpenRouterSummarizeConfig[\"httpClient\"],\n\t};\n}\n\n// ---------------------------------------------------------------------------\n// Chat model type — OpenRouter supports many models; we use a loose string type\n// ---------------------------------------------------------------------------\n\n/** OpenRouter chat model identifier. Accepts any string since OpenRouter proxies hundreds of models. */\nexport type OpenRouterChatModel = string;\n\n/** OpenRouter image model identifier. */\nexport type OpenRouterImageModel = string;\n\n/** OpenRouter summarize model identifier (same as chat models). */\nexport type OpenRouterSummarizeModel = string;\n\n// ---------------------------------------------------------------------------\n// Factory functions\n// ---------------------------------------------------------------------------\n\n/**\n * Creates an OpenRouter chat adapter which uses Cloudflare AI Gateway.\n * Supports both binding and credential-based configurations.\n *\n * @param model The model to use (e.g. \"openai/gpt-4o\", \"anthropic/claude-sonnet-4-5\")\n * @param config Configuration options\n */\nexport function createOpenRouterChat(\n\tmodel: OpenRouterChatModel,\n\tconfig: OpenRouterGatewayConfig,\n): AnyTextAdapter {\n\t// Cast needed: we accept any string model while upstream expects a literal union\n\treturn new OpenRouterTextAdapter(buildOpenRouterConfig(config), model as any);\n}\n\n/**\n * Creates an OpenRouter image adapter which uses Cloudflare AI Gateway.\n * Supports both binding and credential-based configurations.\n *\n * @param model The image model to use\n * @param config Configuration options\n */\nexport function createOpenRouterImage(\n\tmodel: OpenRouterImageModel,\n\tconfig: OpenRouterGatewayConfig,\n) {\n\t// Cast needed: we accept any string model while upstream expects a literal union\n\treturn new OpenRouterImageAdapter(buildOpenRouterImageConfig(config), model as any);\n}\n\n/**\n * Creates an OpenRouter summarize adapter which uses Cloudflare AI Gateway.\n * Supports both binding and credential-based configurations.\n *\n * @param model The model to use for summarization\n * @param config Configuration options\n */\nexport function createOpenRouterSummarize(\n\tmodel: OpenRouterSummarizeModel,\n\tconfig: OpenRouterGatewayConfig,\n) {\n\t// Cast needed: we accept any string model while upstream expects a literal union\n\treturn new OpenRouterSummarizeAdapter(buildOpenRouterSummarizeConfig(config), model as any);\n}\n"],"mappings":";;;;;;;;;;;;AAoBA,SAAS,sBAAsB,QAAmD;CACjF,MAAM,aAAa,IAAIA,gBAAAA,WAAW,EACjC,SAASC,uBAAAA,mBAAmB,cAAc,OAAO,EACjD,CAAC;AACF,QAAO;EACN,QAAQ,OAAO,UAAU;EAIb;EACZ;;;;;;;;;;;AAYF,SAAS,2BAA2B,QAAwD;CAC3F,MAAM,aAAa,IAAID,gBAAAA,WAAW,EACjC,SAASC,uBAAAA,mBAAmB,cAAc,OAAO,EACjD,CAAC;AACF,QAAO;EACN,QAAQ,OAAO,UAAU;EACzB;EACA;;;;;;;;;AAUF,SAAS,+BACR,QAC4B;CAC5B,MAAM,aAAa,IAAID,gBAAAA,WAAW,EACjC,SAASC,uBAAAA,mBAAmB,cAAc,OAAO,EACjD,CAAC;AACF,QAAO;EACN,QAAQ,OAAO,UAAU;EACb;EACZ;;;;;;;;;AA2BF,SAAgB,qBACf,OACA,QACiB;AAEjB,QAAO,IAAIC,wBAAAA,sBAAsB,sBAAsB,OAAO,EAAE,MAAa;;;;;;;;;AAU9E,SAAgB,sBACf,OACA,QACC;AAED,QAAO,IAAIC,wBAAAA,uBAAuB,2BAA2B,OAAO,EAAE,MAAa;;;;;;;;;AAUpF,SAAgB,0BACf,OACA,QACC;AAED,QAAO,IAAIC,wBAAAA,2BAA2B,+BAA+B,OAAO,EAAE,MAAa"}
|