@cloudflare/tanstack-ai 0.1.5 → 0.1.7
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 +6 -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 +18 -3
- package/dist/adapters/workers-ai.d.mts +18 -0
- package/dist/adapters/workers-ai.mjs +470 -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-5iL34e6H.cjs +310 -0
- package/dist/create-fetcher-5iL34e6H.cjs.map +1 -0
- package/dist/create-fetcher-6p6heb85.d.mts +93 -0
- package/dist/create-fetcher-DY7wfYYy.mjs +281 -0
- package/dist/create-fetcher-DY7wfYYy.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-Bm7Up4or.cjs +510 -0
- package/dist/workers-ai-Bm7Up4or.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-2YEF5YWC.cjs +0 -111
- package/dist/chunk-2YEF5YWC.cjs.map +0 -1
- package/dist/chunk-3L6IRVAV.cjs +0 -327
- package/dist/chunk-3L6IRVAV.cjs.map +0 -1
- package/dist/chunk-3VQDXJLW.cjs +0 -46
- package/dist/chunk-3VQDXJLW.cjs.map +0 -1
- package/dist/chunk-4DE2IREA.cjs +0 -8
- package/dist/chunk-4DE2IREA.cjs.map +0 -1
- package/dist/chunk-5WAK4STT.cjs +0 -98
- package/dist/chunk-5WAK4STT.cjs.map +0 -1
- package/dist/chunk-72MGG2FX.cjs +0 -218
- package/dist/chunk-72MGG2FX.cjs.map +0 -1
- package/dist/chunk-73UI5P36.js +0 -48
- package/dist/chunk-73UI5P36.js.map +0 -1
- package/dist/chunk-7HSUHP63.cjs +0 -42
- package/dist/chunk-7HSUHP63.cjs.map +0 -1
- package/dist/chunk-CEQA4ZVD.cjs +0 -48
- package/dist/chunk-CEQA4ZVD.cjs.map +0 -1
- package/dist/chunk-GT3TZXZX.cjs +0 -57
- package/dist/chunk-GT3TZXZX.cjs.map +0 -1
- package/dist/chunk-HPMTYA35.cjs +0 -86
- package/dist/chunk-HPMTYA35.cjs.map +0 -1
- package/dist/chunk-IQAGFHRT.cjs +0 -521
- package/dist/chunk-IQAGFHRT.cjs.map +0 -1
- package/dist/chunk-J5DSSZTO.js +0 -71
- package/dist/chunk-J5DSSZTO.js.map +0 -1
- package/dist/chunk-JDDH3EZD.js +0 -57
- package/dist/chunk-JDDH3EZD.js.map +0 -1
- package/dist/chunk-JHZAPIW5.cjs +0 -57
- package/dist/chunk-JHZAPIW5.cjs.map +0 -1
- package/dist/chunk-JK4WXQVL.js +0 -31
- package/dist/chunk-JK4WXQVL.js.map +0 -1
- package/dist/chunk-KQ3JSPII.js +0 -521
- package/dist/chunk-KQ3JSPII.js.map +0 -1
- package/dist/chunk-MBDHL2I4.js +0 -111
- package/dist/chunk-MBDHL2I4.js.map +0 -1
- package/dist/chunk-MM5TKP3U.js +0 -218
- package/dist/chunk-MM5TKP3U.js.map +0 -1
- package/dist/chunk-NGOJB274.js +0 -327
- package/dist/chunk-NGOJB274.js.map +0 -1
- package/dist/chunk-OU57O7JK.js +0 -98
- package/dist/chunk-OU57O7JK.js.map +0 -1
- package/dist/chunk-RQLWAWHC.js +0 -86
- package/dist/chunk-RQLWAWHC.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-W24YURD6.js +0 -57
- package/dist/chunk-W24YURD6.js.map +0 -1
- package/dist/chunk-XU7YEPML.js +0 -46
- package/dist/chunk-XU7YEPML.js.map +0 -1
- package/dist/chunk-ZLPTIWRB.cjs +0 -31
- package/dist/chunk-ZLPTIWRB.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
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export { createAnthropicChat_alias_1 as createAnthropicChat } from '../_tsup-dts-rollup.js';
|
|
2
|
-
export { createAnthropicSummarize_alias_1 as createAnthropicSummarize } from '../_tsup-dts-rollup.js';
|
|
3
|
-
export { AnthropicGatewayConfig_alias_1 as AnthropicGatewayConfig } from '../_tsup-dts-rollup.js';
|
|
4
|
-
export { ANTHROPIC_MODELS_alias_1 as ANTHROPIC_MODELS } from '../_tsup-dts-rollup.js';
|
|
5
|
-
export { AnthropicChatModel_alias_1 as AnthropicChatModel } from '../_tsup-dts-rollup.js';
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
ANTHROPIC_MODELS,
|
|
3
|
-
createAnthropicChat,
|
|
4
|
-
createAnthropicSummarize
|
|
5
|
-
} from "../chunk-JK4WXQVL.js";
|
|
6
|
-
import "../chunk-NGOJB274.js";
|
|
7
|
-
import "../chunk-V6TY7KAL.js";
|
|
8
|
-
export {
|
|
9
|
-
ANTHROPIC_MODELS,
|
|
10
|
-
createAnthropicChat,
|
|
11
|
-
createAnthropicSummarize
|
|
12
|
-
};
|
|
13
|
-
//# sourceMappingURL=anthropic.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export { createGeminiChat_alias_1 as createGeminiChat } from '../_tsup-dts-rollup.js';
|
|
2
|
-
export { createGeminiImage_alias_1 as createGeminiImage } from '../_tsup-dts-rollup.js';
|
|
3
|
-
export { createGeminiSummarize_alias_1 as createGeminiSummarize } from '../_tsup-dts-rollup.js';
|
|
4
|
-
export { createGeminiTts_alias_1 as createGeminiTts } from '../_tsup-dts-rollup.js';
|
|
5
|
-
export { GeminiTTSModel_alias_1 as GeminiTTSModel } from '../_tsup-dts-rollup.js';
|
|
6
|
-
export { GeminiGatewayConfig_alias_1 as GeminiGatewayConfig } from '../_tsup-dts-rollup.js';
|
|
7
|
-
export { GeminiChatModel_alias_1 as GeminiChatModel } from '../_tsup-dts-rollup.js';
|
|
8
|
-
export { GeminiTextModels_alias_1 as GeminiTextModels } from '../_tsup-dts-rollup.js';
|
|
9
|
-
export { GeminiImageModels_alias_1 as GeminiImageModels } from '../_tsup-dts-rollup.js';
|
|
10
|
-
export { GeminiSummarizeModels_alias_1 as GeminiSummarizeModels } from '../_tsup-dts-rollup.js';
|
|
11
|
-
export { GeminiTTSModels_alias_1 as GeminiTTSModels } from '../_tsup-dts-rollup.js';
|
|
12
|
-
export { GeminiTextModel_alias_1 as GeminiTextModel } from '../_tsup-dts-rollup.js';
|
|
13
|
-
export { GeminiImageModel_alias_1 as GeminiImageModel } from '../_tsup-dts-rollup.js';
|
|
14
|
-
export { GeminiSummarizeModel_alias_1 as GeminiSummarizeModel } from '../_tsup-dts-rollup.js';
|
package/dist/adapters/gemini.js
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
GeminiImageModels,
|
|
3
|
-
GeminiSummarizeModels,
|
|
4
|
-
GeminiTTSModels,
|
|
5
|
-
GeminiTextModels,
|
|
6
|
-
createGeminiChat,
|
|
7
|
-
createGeminiImage,
|
|
8
|
-
createGeminiSummarize,
|
|
9
|
-
createGeminiTts
|
|
10
|
-
} from "../chunk-J5DSSZTO.js";
|
|
11
|
-
import "../chunk-V6TY7KAL.js";
|
|
12
|
-
export {
|
|
13
|
-
GeminiImageModels,
|
|
14
|
-
GeminiSummarizeModels,
|
|
15
|
-
GeminiTTSModels,
|
|
16
|
-
GeminiTextModels,
|
|
17
|
-
createGeminiChat,
|
|
18
|
-
createGeminiImage,
|
|
19
|
-
createGeminiSummarize,
|
|
20
|
-
createGeminiTts
|
|
21
|
-
};
|
|
22
|
-
//# sourceMappingURL=gemini.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
package/dist/adapters/grok.d.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export { createGrokChat_alias_1 as createGrokChat } from '../_tsup-dts-rollup.js';
|
|
2
|
-
export { createGrokImage_alias_1 as createGrokImage } from '../_tsup-dts-rollup.js';
|
|
3
|
-
export { createGrokSummarize_alias_1 as createGrokSummarize } from '../_tsup-dts-rollup.js';
|
|
4
|
-
export { GrokGatewayConfig_alias_1 as GrokGatewayConfig } from '../_tsup-dts-rollup.js';
|
|
5
|
-
export { GROK_CHAT_MODELS_alias_1 as GROK_CHAT_MODELS } from '../_tsup-dts-rollup.js';
|
|
6
|
-
export { GROK_IMAGE_MODELS_alias_1 as GROK_IMAGE_MODELS } from '../_tsup-dts-rollup.js';
|
|
7
|
-
export { GrokChatModel_alias_1 as GrokChatModel } from '../_tsup-dts-rollup.js';
|
|
8
|
-
export { GrokImageModel_alias_1 as GrokImageModel } from '../_tsup-dts-rollup.js';
|
|
9
|
-
export { GrokSummarizeModel_alias_1 as GrokSummarizeModel } from '../_tsup-dts-rollup.js';
|
package/dist/adapters/grok.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
GROK_CHAT_MODELS,
|
|
3
|
-
GROK_IMAGE_MODELS,
|
|
4
|
-
createGrokChat,
|
|
5
|
-
createGrokImage,
|
|
6
|
-
createGrokSummarize
|
|
7
|
-
} from "../chunk-73UI5P36.js";
|
|
8
|
-
import "../chunk-NGOJB274.js";
|
|
9
|
-
import "../chunk-V6TY7KAL.js";
|
|
10
|
-
export {
|
|
11
|
-
GROK_CHAT_MODELS,
|
|
12
|
-
GROK_IMAGE_MODELS,
|
|
13
|
-
createGrokChat,
|
|
14
|
-
createGrokImage,
|
|
15
|
-
createGrokSummarize
|
|
16
|
-
};
|
|
17
|
-
//# sourceMappingURL=grok.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
export { createOpenAiChat_alias_1 as createOpenAiChat } from '../_tsup-dts-rollup.js';
|
|
2
|
-
export { createOpenAiSummarize_alias_1 as createOpenAiSummarize } from '../_tsup-dts-rollup.js';
|
|
3
|
-
export { createOpenAiImage_alias_1 as createOpenAiImage } from '../_tsup-dts-rollup.js';
|
|
4
|
-
export { createOpenAiTranscription_alias_1 as createOpenAiTranscription } from '../_tsup-dts-rollup.js';
|
|
5
|
-
export { createOpenAiTts_alias_1 as createOpenAiTts } from '../_tsup-dts-rollup.js';
|
|
6
|
-
export { createOpenAiVideo_alias_1 as createOpenAiVideo } from '../_tsup-dts-rollup.js';
|
|
7
|
-
export { OpenAiGatewayConfig_alias_1 as OpenAiGatewayConfig } from '../_tsup-dts-rollup.js';
|
|
8
|
-
export { OPENAI_CHAT_MODELS_alias_1 as OPENAI_CHAT_MODELS } from '../_tsup-dts-rollup.js';
|
|
9
|
-
export { OPENAI_IMAGE_MODELS_alias_1 as OPENAI_IMAGE_MODELS } from '../_tsup-dts-rollup.js';
|
|
10
|
-
export { OPENAI_TRANSCRIPTION_MODELS_alias_1 as OPENAI_TRANSCRIPTION_MODELS } from '../_tsup-dts-rollup.js';
|
|
11
|
-
export { OPENAI_TTS_MODELS_alias_1 as OPENAI_TTS_MODELS } from '../_tsup-dts-rollup.js';
|
|
12
|
-
export { OPENAI_VIDEO_MODELS_alias_1 as OPENAI_VIDEO_MODELS } from '../_tsup-dts-rollup.js';
|
|
13
|
-
export { OpenAIChatModel_alias_1 as OpenAIChatModel } from '../_tsup-dts-rollup.js';
|
|
14
|
-
export { OpenAIImageModel_alias_1 as OpenAIImageModel } from '../_tsup-dts-rollup.js';
|
|
15
|
-
export { OpenAITranscriptionModel_alias_1 as OpenAITranscriptionModel } from '../_tsup-dts-rollup.js';
|
|
16
|
-
export { OpenAITTSModel_alias_1 as OpenAITTSModel } from '../_tsup-dts-rollup.js';
|
|
17
|
-
export { OpenAIVideoModel_alias_1 as OpenAIVideoModel } from '../_tsup-dts-rollup.js';
|
package/dist/adapters/openai.js
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
OPENAI_CHAT_MODELS,
|
|
3
|
-
OPENAI_IMAGE_MODELS,
|
|
4
|
-
OPENAI_TRANSCRIPTION_MODELS,
|
|
5
|
-
OPENAI_TTS_MODELS,
|
|
6
|
-
OPENAI_VIDEO_MODELS,
|
|
7
|
-
createOpenAiChat,
|
|
8
|
-
createOpenAiImage,
|
|
9
|
-
createOpenAiSummarize,
|
|
10
|
-
createOpenAiTranscription,
|
|
11
|
-
createOpenAiTts,
|
|
12
|
-
createOpenAiVideo
|
|
13
|
-
} from "../chunk-JDDH3EZD.js";
|
|
14
|
-
import "../chunk-NGOJB274.js";
|
|
15
|
-
import "../chunk-V6TY7KAL.js";
|
|
16
|
-
export {
|
|
17
|
-
OPENAI_CHAT_MODELS,
|
|
18
|
-
OPENAI_IMAGE_MODELS,
|
|
19
|
-
OPENAI_TRANSCRIPTION_MODELS,
|
|
20
|
-
OPENAI_TTS_MODELS,
|
|
21
|
-
OPENAI_VIDEO_MODELS,
|
|
22
|
-
createOpenAiChat,
|
|
23
|
-
createOpenAiImage,
|
|
24
|
-
createOpenAiSummarize,
|
|
25
|
-
createOpenAiTranscription,
|
|
26
|
-
createOpenAiTts,
|
|
27
|
-
createOpenAiVideo
|
|
28
|
-
};
|
|
29
|
-
//# sourceMappingURL=openai.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export { createOpenRouterChat_alias_1 as createOpenRouterChat } from '../_tsup-dts-rollup.js';
|
|
2
|
-
export { createOpenRouterImage_alias_1 as createOpenRouterImage } from '../_tsup-dts-rollup.js';
|
|
3
|
-
export { createOpenRouterSummarize_alias_1 as createOpenRouterSummarize } from '../_tsup-dts-rollup.js';
|
|
4
|
-
export { OpenRouterGatewayConfig_alias_1 as OpenRouterGatewayConfig } from '../_tsup-dts-rollup.js';
|
|
5
|
-
export { OpenRouterChatModel_alias_1 as OpenRouterChatModel } from '../_tsup-dts-rollup.js';
|
|
6
|
-
export { OpenRouterImageModel_alias_1 as OpenRouterImageModel } from '../_tsup-dts-rollup.js';
|
|
7
|
-
export { OpenRouterSummarizeModel_alias_1 as OpenRouterSummarizeModel } from '../_tsup-dts-rollup.js';
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
createOpenRouterChat,
|
|
3
|
-
createOpenRouterImage,
|
|
4
|
-
createOpenRouterSummarize
|
|
5
|
-
} from "../chunk-W24YURD6.js";
|
|
6
|
-
import "../chunk-NGOJB274.js";
|
|
7
|
-
import "../chunk-V6TY7KAL.js";
|
|
8
|
-
export {
|
|
9
|
-
createOpenRouterChat,
|
|
10
|
-
createOpenRouterImage,
|
|
11
|
-
createOpenRouterSummarize
|
|
12
|
-
};
|
|
13
|
-
//# sourceMappingURL=openrouter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
WorkersAiImageAdapter,
|
|
3
|
-
createWorkersAiImage
|
|
4
|
-
} from "../chunk-OU57O7JK.js";
|
|
5
|
-
import "../chunk-XU7YEPML.js";
|
|
6
|
-
import "../chunk-2VII5BK2.js";
|
|
7
|
-
import "../chunk-NGOJB274.js";
|
|
8
|
-
import "../chunk-V6TY7KAL.js";
|
|
9
|
-
export {
|
|
10
|
-
WorkersAiImageAdapter,
|
|
11
|
-
createWorkersAiImage
|
|
12
|
-
};
|
|
13
|
-
//# sourceMappingURL=workers-ai-image.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
WorkersAiSummarizeAdapter,
|
|
3
|
-
createWorkersAiSummarize
|
|
4
|
-
} from "../chunk-RQLWAWHC.js";
|
|
5
|
-
import "../chunk-2VII5BK2.js";
|
|
6
|
-
import "../chunk-NGOJB274.js";
|
|
7
|
-
import "../chunk-V6TY7KAL.js";
|
|
8
|
-
export {
|
|
9
|
-
WorkersAiSummarizeAdapter,
|
|
10
|
-
createWorkersAiSummarize
|
|
11
|
-
};
|
|
12
|
-
//# sourceMappingURL=workers-ai-summarize.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export { createWorkersAiTranscription_alias_1 as createWorkersAiTranscription } from '../_tsup-dts-rollup.js';
|
|
2
|
-
export { WorkersAiTranscriptionModel_alias_1 as WorkersAiTranscriptionModel } from '../_tsup-dts-rollup.js';
|
|
3
|
-
export { WorkersAiTranscriptionAdapter } from '../_tsup-dts-rollup.js';
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
WorkersAiTranscriptionAdapter,
|
|
3
|
-
createWorkersAiTranscription
|
|
4
|
-
} from "../chunk-MM5TKP3U.js";
|
|
5
|
-
import "../chunk-XU7YEPML.js";
|
|
6
|
-
import "../chunk-2VII5BK2.js";
|
|
7
|
-
import "../chunk-NGOJB274.js";
|
|
8
|
-
import "../chunk-V6TY7KAL.js";
|
|
9
|
-
export {
|
|
10
|
-
WorkersAiTranscriptionAdapter,
|
|
11
|
-
createWorkersAiTranscription
|
|
12
|
-
};
|
|
13
|
-
//# sourceMappingURL=workers-ai-transcription.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
WorkersAiTTSAdapter,
|
|
3
|
-
createWorkersAiTts
|
|
4
|
-
} from "../chunk-MBDHL2I4.js";
|
|
5
|
-
import "../chunk-XU7YEPML.js";
|
|
6
|
-
import "../chunk-2VII5BK2.js";
|
|
7
|
-
import "../chunk-NGOJB274.js";
|
|
8
|
-
import "../chunk-V6TY7KAL.js";
|
|
9
|
-
export {
|
|
10
|
-
WorkersAiTTSAdapter,
|
|
11
|
-
createWorkersAiTts
|
|
12
|
-
};
|
|
13
|
-
//# sourceMappingURL=workers-ai-tts.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/ai/ai/packages/tanstack-ai/dist/adapters/workers-ai.cjs"],"names":[],"mappings":"AAAA;AACE;AACA;AACF,yDAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B;AACE;AACA;AACF,2IAAC","file":"/home/runner/work/ai/ai/packages/tanstack-ai/dist/adapters/workers-ai.cjs"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
package/dist/chunk-2VII5BK2.js
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
// src/utils/workers-ai-rest.ts
|
|
2
|
-
var WORKERS_AI_REST_BASE = "https://api.cloudflare.com/client/v4/accounts";
|
|
3
|
-
async function workersAiRestFetch(config, model, body, options) {
|
|
4
|
-
const response = await fetch(`${WORKERS_AI_REST_BASE}/${config.accountId}/ai/run/${model}`, {
|
|
5
|
-
method: "POST",
|
|
6
|
-
headers: {
|
|
7
|
-
Authorization: `Bearer ${config.apiKey}`,
|
|
8
|
-
"Content-Type": "application/json"
|
|
9
|
-
},
|
|
10
|
-
body: JSON.stringify(body),
|
|
11
|
-
signal: options?.signal
|
|
12
|
-
});
|
|
13
|
-
if (!response.ok) {
|
|
14
|
-
const errorText = await response.text();
|
|
15
|
-
const label = options?.label ?? "Workers AI";
|
|
16
|
-
throw new Error(`${label} request failed (${response.status}): ${errorText}`);
|
|
17
|
-
}
|
|
18
|
-
return response;
|
|
19
|
-
}
|
|
20
|
-
async function workersAiRestFetchBinary(config, model, audioBytes, contentType, options) {
|
|
21
|
-
const response = await fetch(`${WORKERS_AI_REST_BASE}/${config.accountId}/ai/run/${model}`, {
|
|
22
|
-
method: "POST",
|
|
23
|
-
headers: {
|
|
24
|
-
Authorization: `Bearer ${config.apiKey}`,
|
|
25
|
-
"Content-Type": contentType
|
|
26
|
-
},
|
|
27
|
-
body: audioBytes,
|
|
28
|
-
signal: options?.signal
|
|
29
|
-
});
|
|
30
|
-
if (!response.ok) {
|
|
31
|
-
const errorText = await response.text();
|
|
32
|
-
const label = options?.label ?? "Workers AI";
|
|
33
|
-
throw new Error(`${label} request failed (${response.status}): ${errorText}`);
|
|
34
|
-
}
|
|
35
|
-
return response;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
export {
|
|
39
|
-
workersAiRestFetch,
|
|
40
|
-
workersAiRestFetchBinary
|
|
41
|
-
};
|
|
42
|
-
//# sourceMappingURL=chunk-2VII5BK2.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/utils/workers-ai-rest.ts"],"sourcesContent":["import type { WorkersAiDirectCredentialsConfig } from \"./create-fetcher\";\n\n/**\n * Workers AI REST API base URL.\n * All model endpoints follow the pattern: `${BASE_URL}/${accountId}/ai/run/${model}`\n */\nconst WORKERS_AI_REST_BASE = \"https://api.cloudflare.com/client/v4/accounts\";\n\n/**\n * Make a REST API call to Workers AI.\n *\n * Handles the common pattern shared by all Workers AI adapters:\n * - Build the URL from account ID and model name\n * - Set Authorization and Content-Type headers\n * - Check response.ok and throw a descriptive error on failure\n *\n * @param config Credentials config with accountId and apiKey\n * @param model Workers AI model name (e.g. \"@cf/stabilityai/stable-diffusion-xl-base-1.0\")\n * @param body JSON request body\n * @param options Optional settings:\n * - `label` — human-readable label for error messages (default: \"Workers AI\")\n * - `signal` — AbortSignal for request cancellation / timeout\n * @returns The raw Response object — caller is responsible for parsing\n */\nexport async function workersAiRestFetch(\n\tconfig: WorkersAiDirectCredentialsConfig,\n\tmodel: string,\n\tbody: Record<string, unknown>,\n\toptions?: { label?: string; signal?: AbortSignal },\n): Promise<Response> {\n\tconst response = await fetch(`${WORKERS_AI_REST_BASE}/${config.accountId}/ai/run/${model}`, {\n\t\tmethod: \"POST\",\n\t\theaders: {\n\t\t\tAuthorization: `Bearer ${config.apiKey}`,\n\t\t\t\"Content-Type\": \"application/json\",\n\t\t},\n\t\tbody: JSON.stringify(body),\n\t\tsignal: options?.signal,\n\t});\n\n\tif (!response.ok) {\n\t\tconst errorText = await response.text();\n\t\tconst label = options?.label ?? \"Workers AI\";\n\t\tthrow new Error(`${label} request failed (${response.status}): ${errorText}`);\n\t}\n\n\treturn response;\n}\n\n/**\n * Make a binary REST API call to Workers AI.\n *\n * Some models (e.g. `@cf/deepgram/nova-3`) require raw binary audio with an\n * appropriate `Content-Type` header instead of JSON. This function sends the\n * audio bytes directly as the request body.\n *\n * @param config Credentials config with accountId and apiKey\n * @param model Workers AI model name\n * @param audioBytes Raw audio bytes\n * @param contentType MIME type of the audio (e.g. \"audio/wav\")\n * @param options Optional settings\n * @returns The raw Response object\n */\nexport async function workersAiRestFetchBinary(\n\tconfig: WorkersAiDirectCredentialsConfig,\n\tmodel: string,\n\taudioBytes: Uint8Array,\n\tcontentType: string,\n\toptions?: { label?: string; signal?: AbortSignal },\n): Promise<Response> {\n\tconst response = await fetch(`${WORKERS_AI_REST_BASE}/${config.accountId}/ai/run/${model}`, {\n\t\tmethod: \"POST\",\n\t\theaders: {\n\t\t\tAuthorization: `Bearer ${config.apiKey}`,\n\t\t\t\"Content-Type\": contentType,\n\t\t},\n\t\tbody: audioBytes,\n\t\tsignal: options?.signal,\n\t});\n\n\tif (!response.ok) {\n\t\tconst errorText = await response.text();\n\t\tconst label = options?.label ?? \"Workers AI\";\n\t\tthrow new Error(`${label} request failed (${response.status}): ${errorText}`);\n\t}\n\n\treturn response;\n}\n"],"mappings":";AAMA,IAAM,uBAAuB;AAkB7B,eAAsB,mBACrB,QACA,OACA,MACA,SACoB;AACpB,QAAM,WAAW,MAAM,MAAM,GAAG,oBAAoB,IAAI,OAAO,SAAS,WAAW,KAAK,IAAI;AAAA,IAC3F,QAAQ;AAAA,IACR,SAAS;AAAA,MACR,eAAe,UAAU,OAAO,MAAM;AAAA,MACtC,gBAAgB;AAAA,IACjB;AAAA,IACA,MAAM,KAAK,UAAU,IAAI;AAAA,IACzB,QAAQ,SAAS;AAAA,EAClB,CAAC;AAED,MAAI,CAAC,SAAS,IAAI;AACjB,UAAM,YAAY,MAAM,SAAS,KAAK;AACtC,UAAM,QAAQ,SAAS,SAAS;AAChC,UAAM,IAAI,MAAM,GAAG,KAAK,oBAAoB,SAAS,MAAM,MAAM,SAAS,EAAE;AAAA,EAC7E;AAEA,SAAO;AACR;AAgBA,eAAsB,yBACrB,QACA,OACA,YACA,aACA,SACoB;AACpB,QAAM,WAAW,MAAM,MAAM,GAAG,oBAAoB,IAAI,OAAO,SAAS,WAAW,KAAK,IAAI;AAAA,IAC3F,QAAQ;AAAA,IACR,SAAS;AAAA,MACR,eAAe,UAAU,OAAO,MAAM;AAAA,MACtC,gBAAgB;AAAA,IACjB;AAAA,IACA,MAAM;AAAA,IACN,QAAQ,SAAS;AAAA,EAClB,CAAC;AAED,MAAI,CAAC,SAAS,IAAI;AACjB,UAAM,YAAY,MAAM,SAAS,KAAK;AACtC,UAAM,QAAQ,SAAS,SAAS;AAChC,UAAM,IAAI,MAAM,GAAG,KAAK,oBAAoB,SAAS,MAAM,MAAM,SAAS,EAAE;AAAA,EAC7E;AAEA,SAAO;AACR;","names":[]}
|
package/dist/chunk-2YEF5YWC.cjs
DELETED
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var _chunk3VQDXJLWcjs = require('./chunk-3VQDXJLW.cjs');
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
var _chunk7HSUHP63cjs = require('./chunk-7HSUHP63.cjs');
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
var _chunk3L6IRVAVcjs = require('./chunk-3L6IRVAV.cjs');
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
var _chunk4DE2IREAcjs = require('./chunk-4DE2IREA.cjs');
|
|
17
|
-
|
|
18
|
-
// src/adapters/workers-ai-tts.ts
|
|
19
|
-
var _adapters = require('@tanstack/ai/adapters');
|
|
20
|
-
var WorkersAiTTSAdapter = class extends _adapters.BaseTTSAdapter {
|
|
21
|
-
constructor(config, model) {
|
|
22
|
-
super({}, model);
|
|
23
|
-
_chunk4DE2IREAcjs.__publicField.call(void 0, this, "name", "workers-ai-tts");
|
|
24
|
-
_chunk4DE2IREAcjs.__publicField.call(void 0, this, "adapterConfig");
|
|
25
|
-
_chunk3L6IRVAVcjs.validateWorkersAiConfig.call(void 0, config);
|
|
26
|
-
this.adapterConfig = config;
|
|
27
|
-
}
|
|
28
|
-
async generateSpeech(options) {
|
|
29
|
-
const { text, voice, format, speed, modelOptions } = options;
|
|
30
|
-
const extra = { ...modelOptions };
|
|
31
|
-
if (voice) extra.voice = voice;
|
|
32
|
-
if (speed != null) extra.speed = speed;
|
|
33
|
-
if (_chunk3L6IRVAVcjs.isDirectBindingConfig.call(void 0, this.adapterConfig)) {
|
|
34
|
-
return this.generateViaBinding(text, format, extra);
|
|
35
|
-
}
|
|
36
|
-
if (_chunk3L6IRVAVcjs.isDirectCredentialsConfig.call(void 0, this.adapterConfig)) {
|
|
37
|
-
return this.generateViaRest(text, format, extra);
|
|
38
|
-
}
|
|
39
|
-
return this.generateViaGateway(text, format, extra);
|
|
40
|
-
}
|
|
41
|
-
async generateViaBinding(text, format, options) {
|
|
42
|
-
const ai = this.adapterConfig.binding;
|
|
43
|
-
const result = await ai.run(this.model, { text, ...options });
|
|
44
|
-
return this.normalizeResult(result, format);
|
|
45
|
-
}
|
|
46
|
-
async generateViaRest(text, format, options) {
|
|
47
|
-
const config = this.adapterConfig;
|
|
48
|
-
const response = await _chunk7HSUHP63cjs.workersAiRestFetch.call(void 0,
|
|
49
|
-
config,
|
|
50
|
-
this.model,
|
|
51
|
-
{ text, ...options },
|
|
52
|
-
{ label: "Workers AI TTS", signal: options.signal }
|
|
53
|
-
);
|
|
54
|
-
const buffer = await response.arrayBuffer();
|
|
55
|
-
return this.wrapAudioResult(new Uint8Array(buffer), format);
|
|
56
|
-
}
|
|
57
|
-
async generateViaGateway(text, format, options) {
|
|
58
|
-
const gatewayConfig = this.adapterConfig;
|
|
59
|
-
const gatewayFetch = _chunk3L6IRVAVcjs.createGatewayFetch.call(void 0, "workers-ai", gatewayConfig);
|
|
60
|
-
const response = await gatewayFetch("https://api.cloudflare.com/v1/audio/speech", {
|
|
61
|
-
method: "POST",
|
|
62
|
-
body: JSON.stringify({
|
|
63
|
-
model: this.model,
|
|
64
|
-
text,
|
|
65
|
-
...options
|
|
66
|
-
})
|
|
67
|
-
});
|
|
68
|
-
if (!response.ok) {
|
|
69
|
-
const errorText = await response.text();
|
|
70
|
-
throw new Error(
|
|
71
|
-
`Workers AI TTS gateway request failed (${response.status}): ${errorText}`
|
|
72
|
-
);
|
|
73
|
-
}
|
|
74
|
-
const buffer = await response.arrayBuffer();
|
|
75
|
-
return this.wrapAudioResult(new Uint8Array(buffer), format);
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Normalize binding results. Workers AI TTS can return:
|
|
79
|
-
* - Uint8Array / ArrayBuffer (raw audio bytes)
|
|
80
|
-
* - ReadableStream<Uint8Array> (streamed audio bytes)
|
|
81
|
-
* - { audio: "base64..." } (JSON wrapper)
|
|
82
|
-
*/
|
|
83
|
-
async normalizeResult(result, format) {
|
|
84
|
-
const b64 = await _chunk3VQDXJLWcjs.binaryToBase64.call(void 0, result, "audio");
|
|
85
|
-
return {
|
|
86
|
-
id: this.generateId(),
|
|
87
|
-
model: this.model,
|
|
88
|
-
audio: b64,
|
|
89
|
-
format: _nullishCoalesce(format, () => ( "mp3")),
|
|
90
|
-
contentType: `audio/${_nullishCoalesce(format, () => ( "mp3"))}`
|
|
91
|
-
};
|
|
92
|
-
}
|
|
93
|
-
wrapAudioResult(bytes, format) {
|
|
94
|
-
return {
|
|
95
|
-
id: this.generateId(),
|
|
96
|
-
model: this.model,
|
|
97
|
-
audio: _chunk3VQDXJLWcjs.uint8ArrayToBase64.call(void 0, bytes),
|
|
98
|
-
format: _nullishCoalesce(format, () => ( "mp3")),
|
|
99
|
-
contentType: `audio/${_nullishCoalesce(format, () => ( "mp3"))}`
|
|
100
|
-
};
|
|
101
|
-
}
|
|
102
|
-
};
|
|
103
|
-
function createWorkersAiTts(model, config) {
|
|
104
|
-
return new WorkersAiTTSAdapter(config, model);
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
exports.WorkersAiTTSAdapter = WorkersAiTTSAdapter; exports.createWorkersAiTts = createWorkersAiTts;
|
|
111
|
-
//# sourceMappingURL=chunk-2YEF5YWC.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/ai/ai/packages/tanstack-ai/dist/chunk-2YEF5YWC.cjs","../src/adapters/workers-ai-tts.ts"],"names":[],"mappings":"AAAA;AACE;AACA;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACA;AACA;AACA;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;ACjBA,iDAA+B;AAoCxB,IAAM,oBAAA,EAAN,MAAA,QAAkC,yBAAkC;AAAA,EAI1E,WAAA,CAAY,MAAA,EAAgC,KAAA,EAA0B;AACrE,IAAA,KAAA,CAAM,CAAC,CAAA,EAAG,KAAK,CAAA;AAJhB,IAAA,6CAAA,IAAA,EAAS,MAAA,EAAO,gBAAA,CAAA;AAChB,IAAA,6CAAA,IAAA,EAAQ,eAAA,CAAA;AAIP,IAAA,uDAAA,MAA8B,CAAA;AAC9B,IAAA,IAAA,CAAK,cAAA,EAAgB,MAAA;AAAA,EACtB;AAAA,EAEA,MAAM,cAAA,CAAe,OAAA,EAAyC;AAC7D,IAAA,MAAM,EAAE,IAAA,EAAM,KAAA,EAAO,MAAA,EAAQ,KAAA,EAAO,aAAa,EAAA,EAAI,OAAA;AAGrD,IAAA,MAAM,MAAA,EAAiC,EAAE,GAAG,aAAa,CAAA;AACzD,IAAA,GAAA,CAAI,KAAA,EAAO,KAAA,CAAM,MAAA,EAAQ,KAAA;AACzB,IAAA,GAAA,CAAI,MAAA,GAAS,IAAA,EAAM,KAAA,CAAM,MAAA,EAAQ,KAAA;AAEjC,IAAA,GAAA,CAAI,qDAAA,IAAsB,CAAK,aAAa,CAAA,EAAG;AAC9C,MAAA,OAAO,IAAA,CAAK,kBAAA,CAAmB,IAAA,EAAM,MAAA,EAAQ,KAAK,CAAA;AAAA,IACnD;AAEA,IAAA,GAAA,CAAI,yDAAA,IAA0B,CAAK,aAAa,CAAA,EAAG;AAClD,MAAA,OAAO,IAAA,CAAK,eAAA,CAAgB,IAAA,EAAM,MAAA,EAAQ,KAAK,CAAA;AAAA,IAChD;AAEA,IAAA,OAAO,IAAA,CAAK,kBAAA,CAAmB,IAAA,EAAM,MAAA,EAAQ,KAAK,CAAA;AAAA,EACnD;AAAA,EAEA,MAAc,kBAAA,CACb,IAAA,EACA,MAAA,EACA,OAAA,EACqB;AACrB,IAAA,MAAM,GAAA,EAAM,IAAA,CAAK,aAAA,CAA+C,OAAA;AAChE,IAAA,MAAM,OAAA,EAAS,MAAM,EAAA,CAAG,GAAA,CAAI,IAAA,CAAK,KAAA,EAAO,EAAE,IAAA,EAAM,GAAG,QAAQ,CAAC,CAAA;AAE5D,IAAA,OAAO,IAAA,CAAK,eAAA,CAAgB,MAAA,EAAQ,MAAM,CAAA;AAAA,EAC3C;AAAA,EAEA,MAAc,eAAA,CACb,IAAA,EACA,MAAA,EACA,OAAA,EACqB;AACrB,IAAA,MAAM,OAAA,EAAS,IAAA,CAAK,aAAA;AACpB,IAAA,MAAM,SAAA,EAAW,MAAM,kDAAA;AAAA,MACtB,MAAA;AAAA,MACA,IAAA,CAAK,KAAA;AAAA,MACL,EAAE,IAAA,EAAM,GAAG,QAAQ,CAAA;AAAA,MACnB,EAAE,KAAA,EAAO,gBAAA,EAAkB,MAAA,EAAS,OAAA,CAAqC,OAAO;AAAA,IACjF,CAAA;AAGA,IAAA,MAAM,OAAA,EAAS,MAAM,QAAA,CAAS,WAAA,CAAY,CAAA;AAC1C,IAAA,OAAO,IAAA,CAAK,eAAA,CAAgB,IAAI,UAAA,CAAW,MAAM,CAAA,EAAG,MAAM,CAAA;AAAA,EAC3D;AAAA,EAEA,MAAc,kBAAA,CACb,IAAA,EACA,MAAA,EACA,OAAA,EACqB;AACrB,IAAA,MAAM,cAAA,EAAgB,IAAA,CAAK,aAAA;AAC3B,IAAA,MAAM,aAAA,EAAe,kDAAA,YAAmB,EAAc,aAAa,CAAA;AAKnE,IAAA,MAAM,SAAA,EAAW,MAAM,YAAA,CAAa,4CAAA,EAA8C;AAAA,MACjF,MAAA,EAAQ,MAAA;AAAA,MACR,IAAA,EAAM,IAAA,CAAK,SAAA,CAAU;AAAA,QACpB,KAAA,EAAO,IAAA,CAAK,KAAA;AAAA,QACZ,IAAA;AAAA,QACA,GAAG;AAAA,MACJ,CAAC;AAAA,IACF,CAAC,CAAA;AAED,IAAA,GAAA,CAAI,CAAC,QAAA,CAAS,EAAA,EAAI;AACjB,MAAA,MAAM,UAAA,EAAY,MAAM,QAAA,CAAS,IAAA,CAAK,CAAA;AACtC,MAAA,MAAM,IAAI,KAAA;AAAA,QACT,CAAA,uCAAA,EAA0C,QAAA,CAAS,MAAM,CAAA,GAAA,EAAM,SAAS,CAAA;AAAA,MAAA;AACzE,IAAA;AAGD,IAAA;AACA,IAAA;AAA0D,EAAA;AAC3D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAA;AAWC,IAAA;AACA,IAAA;AAAO,MAAA;AACc,MAAA;AACR,MAAA;AACL,MAAA;AACW,MAAA;AACmB,IAAA;AACtC,EAAA;AACD,EAAA;AAGC,IAAA;AAAO,MAAA;AACc,MAAA;AACR,MAAA;AACmB,MAAA;AACb,MAAA;AACmB,IAAA;AACtC,EAAA;AAEF;AA0BO;AACN,EAAA;AACD;AD5EA;AACA;AACA;AACA;AACA","file":"/home/runner/work/ai/ai/packages/tanstack-ai/dist/chunk-2YEF5YWC.cjs","sourcesContent":[null,"import { BaseTTSAdapter } from \"@tanstack/ai/adapters\";\nimport type { TTSOptions, TTSResult } from \"@tanstack/ai\";\nimport {\n\ttype WorkersAiAdapterConfig,\n\ttype WorkersAiDirectBindingConfig,\n\ttype WorkersAiDirectCredentialsConfig,\n\ttype AiGatewayAdapterConfig,\n\tcreateGatewayFetch,\n\tisDirectBindingConfig,\n\tisDirectCredentialsConfig,\n\tvalidateWorkersAiConfig,\n} from \"../utils/create-fetcher\";\nimport { workersAiRestFetch } from \"../utils/workers-ai-rest\";\nimport { binaryToBase64, uint8ArrayToBase64 } from \"../utils/binary\";\n\n// ---------------------------------------------------------------------------\n// Model types\n// ---------------------------------------------------------------------------\n\n/**\n * Workers AI models that support text-to-speech generation.\n *\n * Note: the typed `AiModels` interface in `@cloudflare/workers-types` may lag\n * behind what's deployed. We use a string union here that matches the known\n * models including Deepgram partner models.\n */\nexport type WorkersAiTTSModel =\n\t| \"@cf/deepgram/aura-1\"\n\t| \"@cf/deepgram/aura-2-en\"\n\t| \"@cf/deepgram/aura-2-es\"\n\t| (string & {});\n\n// ---------------------------------------------------------------------------\n// WorkersAiTTSAdapter\n// ---------------------------------------------------------------------------\n\nexport class WorkersAiTTSAdapter extends BaseTTSAdapter<WorkersAiTTSModel> {\n\treadonly name = \"workers-ai-tts\" as const;\n\tprivate adapterConfig: WorkersAiAdapterConfig;\n\n\tconstructor(config: WorkersAiAdapterConfig, model: WorkersAiTTSModel) {\n\t\tsuper({}, model);\n\t\tvalidateWorkersAiConfig(config);\n\t\tthis.adapterConfig = config;\n\t}\n\n\tasync generateSpeech(options: TTSOptions): Promise<TTSResult> {\n\t\tconst { text, voice, format, speed, modelOptions } = options;\n\n\t\t// Workers AI TTS models (Deepgram aura-1) accept { text, lang? }\n\t\tconst extra: Record<string, unknown> = { ...modelOptions };\n\t\tif (voice) extra.voice = voice;\n\t\tif (speed != null) extra.speed = speed;\n\n\t\tif (isDirectBindingConfig(this.adapterConfig)) {\n\t\t\treturn this.generateViaBinding(text, format, extra);\n\t\t}\n\n\t\tif (isDirectCredentialsConfig(this.adapterConfig)) {\n\t\t\treturn this.generateViaRest(text, format, extra);\n\t\t}\n\n\t\treturn this.generateViaGateway(text, format, extra);\n\t}\n\n\tprivate async generateViaBinding(\n\t\ttext: string,\n\t\tformat: string | undefined,\n\t\toptions: Record<string, unknown>,\n\t): Promise<TTSResult> {\n\t\tconst ai = (this.adapterConfig as WorkersAiDirectBindingConfig).binding;\n\t\tconst result = await ai.run(this.model, { text, ...options });\n\n\t\treturn this.normalizeResult(result, format);\n\t}\n\n\tprivate async generateViaRest(\n\t\ttext: string,\n\t\tformat: string | undefined,\n\t\toptions: Record<string, unknown>,\n\t): Promise<TTSResult> {\n\t\tconst config = this.adapterConfig as WorkersAiDirectCredentialsConfig;\n\t\tconst response = await workersAiRestFetch(\n\t\t\tconfig,\n\t\t\tthis.model,\n\t\t\t{ text, ...options },\n\t\t\t{ label: \"Workers AI TTS\", signal: (options as { signal?: AbortSignal }).signal },\n\t\t);\n\n\t\t// Workers AI TTS returns audio bytes directly\n\t\tconst buffer = await response.arrayBuffer();\n\t\treturn this.wrapAudioResult(new Uint8Array(buffer), format);\n\t}\n\n\tprivate async generateViaGateway(\n\t\ttext: string,\n\t\tformat: string | undefined,\n\t\toptions: Record<string, unknown>,\n\t): Promise<TTSResult> {\n\t\tconst gatewayConfig = this.adapterConfig as AiGatewayAdapterConfig;\n\t\tconst gatewayFetch = createGatewayFetch(\"workers-ai\", gatewayConfig);\n\n\t\t// The URL here is a placeholder — createGatewayFetch for \"workers-ai\" extracts\n\t\t// the model from the body, sets it as the endpoint, and routes through the gateway.\n\t\t// The actual URL path is not used.\n\t\tconst response = await gatewayFetch(\"https://api.cloudflare.com/v1/audio/speech\", {\n\t\t\tmethod: \"POST\",\n\t\t\tbody: JSON.stringify({\n\t\t\t\tmodel: this.model,\n\t\t\t\ttext,\n\t\t\t\t...options,\n\t\t\t}),\n\t\t});\n\n\t\tif (!response.ok) {\n\t\t\tconst errorText = await response.text();\n\t\t\tthrow new Error(\n\t\t\t\t`Workers AI TTS gateway request failed (${response.status}): ${errorText}`,\n\t\t\t);\n\t\t}\n\n\t\tconst buffer = await response.arrayBuffer();\n\t\treturn this.wrapAudioResult(new Uint8Array(buffer), format);\n\t}\n\n\t/**\n\t * Normalize binding results. Workers AI TTS can return:\n\t * - Uint8Array / ArrayBuffer (raw audio bytes)\n\t * - ReadableStream<Uint8Array> (streamed audio bytes)\n\t * - { audio: \"base64...\" } (JSON wrapper)\n\t */\n\tprivate async normalizeResult(result: unknown, format: string | undefined): Promise<TTSResult> {\n\t\t// Use the shared binaryToBase64 helper for Uint8Array/ArrayBuffer/ReadableStream\n\t\t// and { audio: \"base64...\" } JSON wrapper\n\t\tconst b64 = await binaryToBase64(result, \"audio\");\n\t\treturn {\n\t\t\tid: this.generateId(),\n\t\t\tmodel: this.model,\n\t\t\taudio: b64,\n\t\t\tformat: format ?? \"mp3\",\n\t\t\tcontentType: `audio/${format ?? \"mp3\"}`,\n\t\t};\n\t}\n\n\tprivate wrapAudioResult(bytes: Uint8Array, format: string | undefined): TTSResult {\n\t\treturn {\n\t\t\tid: this.generateId(),\n\t\t\tmodel: this.model,\n\t\t\taudio: uint8ArrayToBase64(bytes),\n\t\t\tformat: format ?? \"mp3\",\n\t\t\tcontentType: `audio/${format ?? \"mp3\"}`,\n\t\t};\n\t}\n}\n\n// ---------------------------------------------------------------------------\n// Factory function\n// ---------------------------------------------------------------------------\n\n/**\n * Creates a Workers AI text-to-speech adapter.\n *\n * Works with TanStack AI's `generateSpeech()` activity function:\n * ```ts\n * import { generateSpeech } from \"@tanstack/ai\";\n * import { createWorkersAiTts } from \"@cloudflare/tanstack-ai\";\n *\n * const adapter = createWorkersAiTts(\n * \"@cf/deepgram/aura-1\",\n * { binding: env.AI },\n * );\n *\n * const result = await generateSpeech({ adapter, text: \"Hello world\" });\n * // result.audio — base64-encoded audio\n * ```\n *\n * Note: Factory takes `(model, config)` for ergonomics — the class constructor\n * uses `(config, model)` to match TanStack AI's upstream convention.\n */\nexport function createWorkersAiTts(model: WorkersAiTTSModel, config: WorkersAiAdapterConfig) {\n\treturn new WorkersAiTTSAdapter(config, model);\n}\n"]}
|