@thewhateverapp/platform 0.9.30 → 0.10.1

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.
@@ -2,7 +2,7 @@
2
2
  * Edge AI Service
3
3
  *
4
4
  * Provides AI capabilities for user-generated tiles running on Cloudflare Workers/Pages.
5
- * Connects to the platform AI service for inference.
5
+ * Supports both direct Cloudflare Workers AI (via env.AI binding) and platform API fallback.
6
6
  *
7
7
  * @example
8
8
  * ```typescript
@@ -13,7 +13,7 @@
13
13
  * // Configure env once per request
14
14
  * configurePlatformEnv(() => getCloudflareContext().env);
15
15
  *
16
- * const ai = await getAI();
16
+ * const ai = getAI();
17
17
  *
18
18
  * // Simple text generation
19
19
  * const answer = await ai.ask("Summarize this text: ...");
@@ -31,24 +31,31 @@
31
31
  * images: [{ type: 'url', data: imageUrl }]
32
32
  * });
33
33
  *
34
+ * // Advanced: direct model access
35
+ * const embeddings = await ai.embed("text to embed");
36
+ * const image = await ai.generateImage("a beautiful sunset");
37
+ *
34
38
  * return NextResponse.json({ answer });
35
39
  * }
36
40
  * ```
37
41
  */
38
42
  import type { AIServiceProvider, AIRequest, AIEnv } from './types';
43
+ import { type WorkersAIHelpers, type WorkersAIEnv } from './workers';
39
44
  export type * from './types';
45
+ export type { WorkersAIHelpers, WorkersAIEnv } from './workers';
40
46
  /**
41
47
  * Get an AI service instance for the current request
42
48
  *
43
49
  * Automatically retrieves configuration from the environment.
50
+ * Prefers direct Workers AI (env.AI) if available, falls back to platform API.
44
51
  *
45
52
  * @param req - Optional: NextRequest, object with env property, or env object directly.
46
53
  * If not provided, uses the env configured via configurePlatformEnv().
47
- * @returns AI service provider instance
54
+ * @returns AI service provider instance (WorkersAIHelpers if using Workers AI)
48
55
  */
49
56
  export declare function getAI(req?: AIRequest | {
50
- env: AIEnv;
51
- } | AIEnv): AIServiceProvider;
57
+ env: AIEnv & WorkersAIEnv;
58
+ } | (AIEnv & WorkersAIEnv)): WorkersAIHelpers;
52
59
  /**
53
60
  * Create an AI service instance directly with config
54
61
  *
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ai/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,OAAO,KAAK,EACV,iBAAiB,EACjB,SAAS,EACT,KAAK,EAIN,MAAM,SAAS,CAAC;AAIjB,mBAAmB,SAAS,CAAC;AAK7B;;;;;;;;GAQG;AACH,wBAAgB,KAAK,CACnB,GAAG,CAAC,EAAE,SAAS,GAAG;IAAE,GAAG,EAAE,KAAK,CAAA;CAAE,GAAG,KAAK,GACvC,iBAAiB,CAmCnB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,iBAAiB,CAGvF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ai/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,OAAO,KAAK,EACV,iBAAiB,EACjB,SAAS,EACT,KAAK,EAIN,MAAM,SAAS,CAAC;AAEjB,OAAO,EAA8B,KAAK,gBAAgB,EAAE,KAAK,YAAY,EAAE,MAAM,WAAW,CAAC;AAGjG,mBAAmB,SAAS,CAAC;AAC7B,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAKhE;;;;;;;;;GASG;AACH,wBAAgB,KAAK,CACnB,GAAG,CAAC,EAAE,SAAS,GAAG;IAAE,GAAG,EAAE,KAAK,GAAG,YAAY,CAAA;CAAE,GAAG,CAAC,KAAK,GAAG,YAAY,CAAC,GACvE,gBAAgB,CA+DlB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,iBAAiB,CAGvF"}
package/dist/ai/index.js CHANGED
@@ -2,7 +2,7 @@
2
2
  * Edge AI Service
3
3
  *
4
4
  * Provides AI capabilities for user-generated tiles running on Cloudflare Workers/Pages.
5
- * Connects to the platform AI service for inference.
5
+ * Supports both direct Cloudflare Workers AI (via env.AI binding) and platform API fallback.
6
6
  *
7
7
  * @example
8
8
  * ```typescript
@@ -13,7 +13,7 @@
13
13
  * // Configure env once per request
14
14
  * configurePlatformEnv(() => getCloudflareContext().env);
15
15
  *
16
- * const ai = await getAI();
16
+ * const ai = getAI();
17
17
  *
18
18
  * // Simple text generation
19
19
  * const answer = await ai.ask("Summarize this text: ...");
@@ -31,21 +31,27 @@
31
31
  * images: [{ type: 'url', data: imageUrl }]
32
32
  * });
33
33
  *
34
+ * // Advanced: direct model access
35
+ * const embeddings = await ai.embed("text to embed");
36
+ * const image = await ai.generateImage("a beautiful sunset");
37
+ *
34
38
  * return NextResponse.json({ answer });
35
39
  * }
36
40
  * ```
37
41
  */
38
42
  import { getPlatformEnv, isPlatformEnvConfigured } from '../env';
43
+ import { createWorkersAIWithHelpers } from './workers';
39
44
  // Default platform API URL
40
45
  const DEFAULT_PLATFORM_API = 'https://api.thewhatever.app';
41
46
  /**
42
47
  * Get an AI service instance for the current request
43
48
  *
44
49
  * Automatically retrieves configuration from the environment.
50
+ * Prefers direct Workers AI (env.AI) if available, falls back to platform API.
45
51
  *
46
52
  * @param req - Optional: NextRequest, object with env property, or env object directly.
47
53
  * If not provided, uses the env configured via configurePlatformEnv().
48
- * @returns AI service provider instance
54
+ * @returns AI service provider instance (WorkersAIHelpers if using Workers AI)
49
55
  */
50
56
  export function getAI(req) {
51
57
  let env;
@@ -60,7 +66,7 @@ export function getAI(req) {
60
66
  else if ('env' in req) {
61
67
  env = req.env;
62
68
  }
63
- else if ('PLATFORM_API_KEY' in req || 'PLATFORM_API_URL' in req || 'TILE_ID' in req) {
69
+ else if ('PLATFORM_API_KEY' in req || 'PLATFORM_API_URL' in req || 'TILE_ID' in req || 'AI' in req) {
64
70
  // Direct env object
65
71
  env = req;
66
72
  }
@@ -70,12 +76,38 @@ export function getAI(req) {
70
76
  if (!env) {
71
77
  throw new Error('No environment found in request. Ensure you are running in edge runtime.');
72
78
  }
79
+ // Prefer Workers AI if available
80
+ if (env.AI) {
81
+ return createWorkersAIWithHelpers(env.AI);
82
+ }
83
+ // Fall back to platform API
73
84
  const apiUrl = env.PLATFORM_API_URL || DEFAULT_PLATFORM_API;
74
85
  const apiKey = env.PLATFORM_API_KEY;
75
86
  if (!apiKey) {
76
- throw new Error('No PLATFORM_API_KEY found in environment. Add PLATFORM_API_KEY to your wrangler.jsonc secrets.');
87
+ throw new Error('No AI binding or PLATFORM_API_KEY found. ' +
88
+ 'Add AI binding to wrangler.jsonc or set PLATFORM_API_KEY secret.');
77
89
  }
78
- return createAIProvider(apiUrl, apiKey);
90
+ // Platform API doesn't support all helper methods, so we need to create a compatible wrapper
91
+ const baseProvider = createAIProvider(apiUrl, apiKey);
92
+ // Return with stub implementations for helpers (not supported via platform API)
93
+ return {
94
+ ...baseProvider,
95
+ async embed() {
96
+ throw new Error('embed() requires Workers AI binding (env.AI). Platform API does not support embeddings.');
97
+ },
98
+ async generateImage() {
99
+ throw new Error('generateImage() requires Workers AI binding (env.AI). Platform API does not support image generation.');
100
+ },
101
+ async transcribe() {
102
+ throw new Error('transcribe() requires Workers AI binding (env.AI). Platform API does not support speech recognition.');
103
+ },
104
+ async translate() {
105
+ throw new Error('translate() requires Workers AI binding (env.AI). Platform API does not support translation.');
106
+ },
107
+ async run() {
108
+ throw new Error('run() requires Workers AI binding (env.AI). Use ask() or prompt() instead.');
109
+ },
110
+ };
79
111
  }
80
112
  /**
81
113
  * Create an AI service instance directly with config
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ai/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ai/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,115 @@
1
+ /**
2
+ * AI Namespace API - Convenience wrappers
3
+ *
4
+ * Provides a clean namespace-based API for common AI tasks
5
+ *
6
+ * @example
7
+ * ```typescript
8
+ * import { ai } from '@thewhateverapp/platform';
9
+ *
10
+ * // Simple text generation
11
+ * const answer = await ai.chat("What is TypeScript?");
12
+ *
13
+ * // Generate embeddings
14
+ * const vectors = await ai.embed(["hello world", "foo bar"]);
15
+ *
16
+ * // Generate image
17
+ * const imageBuffer = await ai.generateImage("a sunset over mountains");
18
+ *
19
+ * // Advanced usage with full control
20
+ * const ai = getAI();
21
+ * const response = await ai.prompt({ ... });
22
+ * ```
23
+ */
24
+ import type { AskOptions, PromptRequest } from './types';
25
+ /**
26
+ * AI namespace with convenient helper methods
27
+ */
28
+ export declare const ai: {
29
+ /**
30
+ * Simple chat/text generation
31
+ *
32
+ * @example
33
+ * ```typescript
34
+ * const answer = await ai.chat("Explain quantum computing in simple terms");
35
+ * ```
36
+ */
37
+ chat(prompt: string, options?: AskOptions): Promise<string>;
38
+ /**
39
+ * Generate text embeddings for semantic search
40
+ *
41
+ * @example
42
+ * ```typescript
43
+ * const embeddings = await ai.embed("search query");
44
+ * const multipleEmbeddings = await ai.embed(["query 1", "query 2"]);
45
+ * ```
46
+ */
47
+ embed(text: string | string[]): Promise<number[][]>;
48
+ /**
49
+ * Generate an image from a text prompt
50
+ *
51
+ * @example
52
+ * ```typescript
53
+ * const imageBuffer = await ai.generateImage("a beautiful sunset over mountains");
54
+ * const blob = new Blob([imageBuffer], { type: 'image/png' });
55
+ * ```
56
+ */
57
+ generateImage(prompt: string, options?: {
58
+ model?: string;
59
+ width?: number;
60
+ height?: number;
61
+ steps?: number;
62
+ }): Promise<ArrayBuffer>;
63
+ /**
64
+ * Transcribe audio to text
65
+ *
66
+ * @example
67
+ * ```typescript
68
+ * const audioBlob = await fetch('/audio.mp3').then(r => r.blob());
69
+ * const transcript = await ai.transcribe(audioBlob);
70
+ * ```
71
+ */
72
+ transcribe(audio: ArrayBuffer | Blob, options?: {
73
+ model?: string;
74
+ language?: string;
75
+ }): Promise<string>;
76
+ /**
77
+ * Translate text between languages
78
+ *
79
+ * @example
80
+ * ```typescript
81
+ * const spanish = await ai.translate("Hello, world!", "es");
82
+ * const french = await ai.translate("Hello, world!", "fr", "en");
83
+ * ```
84
+ */
85
+ translate(text: string, targetLang: string, sourceLang?: string): Promise<string>;
86
+ /**
87
+ * Advanced: Full prompt with detailed options and response
88
+ *
89
+ * @example
90
+ * ```typescript
91
+ * const response = await ai.prompt({
92
+ * prompt: "Describe this image",
93
+ * capabilities: ['vision'],
94
+ * images: [{ type: 'url', data: 'https://example.com/image.jpg' }],
95
+ * maxTokens: 500
96
+ * });
97
+ * console.log(response.text);
98
+ * console.log(response.tokensUsed);
99
+ * ```
100
+ */
101
+ prompt(request: PromptRequest): Promise<import("./types").PromptResponse>;
102
+ /**
103
+ * Run a specific model directly with custom options
104
+ *
105
+ * @example
106
+ * ```typescript
107
+ * const result = await ai.run('@cf/meta/llama-3.1-8b-instruct', {
108
+ * prompt: "Hello!",
109
+ * max_tokens: 100
110
+ * });
111
+ * ```
112
+ */
113
+ run<T = any>(model: string, options: any): Promise<T>;
114
+ };
115
+ //# sourceMappingURL=namespace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"namespace.d.ts","sourceRoot":"","sources":["../../src/ai/namespace.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAEzD;;GAEG;AACH,eAAO,MAAM,EAAE;IACb;;;;;;;OAOG;iBACgB,MAAM,YAAY,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAKjE;;;;;;;;OAQG;gBACe,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;IAKzD;;;;;;;;OAQG;0BAEO,MAAM,YACJ;QACR,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GACA,OAAO,CAAC,WAAW,CAAC;IAKvB;;;;;;;;OAQG;sBAEM,WAAW,GAAG,IAAI,YACf;QACR,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GACA,OAAO,CAAC,MAAM,CAAC;IAKlB;;;;;;;;OAQG;oBAEK,MAAM,cACA,MAAM,eACL,MAAM,GAClB,OAAO,CAAC,MAAM,CAAC;IAKlB;;;;;;;;;;;;;;OAcG;oBACmB,aAAa;IAKnC;;;;;;;;;;OAUG;QACO,CAAC,eAAe,MAAM,WAAW,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC;CAI5D,CAAC"}
@@ -0,0 +1,128 @@
1
+ /**
2
+ * AI Namespace API - Convenience wrappers
3
+ *
4
+ * Provides a clean namespace-based API for common AI tasks
5
+ *
6
+ * @example
7
+ * ```typescript
8
+ * import { ai } from '@thewhateverapp/platform';
9
+ *
10
+ * // Simple text generation
11
+ * const answer = await ai.chat("What is TypeScript?");
12
+ *
13
+ * // Generate embeddings
14
+ * const vectors = await ai.embed(["hello world", "foo bar"]);
15
+ *
16
+ * // Generate image
17
+ * const imageBuffer = await ai.generateImage("a sunset over mountains");
18
+ *
19
+ * // Advanced usage with full control
20
+ * const ai = getAI();
21
+ * const response = await ai.prompt({ ... });
22
+ * ```
23
+ */
24
+ import { getAI } from './index';
25
+ /**
26
+ * AI namespace with convenient helper methods
27
+ */
28
+ export const ai = {
29
+ /**
30
+ * Simple chat/text generation
31
+ *
32
+ * @example
33
+ * ```typescript
34
+ * const answer = await ai.chat("Explain quantum computing in simple terms");
35
+ * ```
36
+ */
37
+ async chat(prompt, options) {
38
+ const provider = getAI();
39
+ return provider.ask(prompt, options);
40
+ },
41
+ /**
42
+ * Generate text embeddings for semantic search
43
+ *
44
+ * @example
45
+ * ```typescript
46
+ * const embeddings = await ai.embed("search query");
47
+ * const multipleEmbeddings = await ai.embed(["query 1", "query 2"]);
48
+ * ```
49
+ */
50
+ async embed(text) {
51
+ const provider = getAI();
52
+ return provider.embed(text);
53
+ },
54
+ /**
55
+ * Generate an image from a text prompt
56
+ *
57
+ * @example
58
+ * ```typescript
59
+ * const imageBuffer = await ai.generateImage("a beautiful sunset over mountains");
60
+ * const blob = new Blob([imageBuffer], { type: 'image/png' });
61
+ * ```
62
+ */
63
+ async generateImage(prompt, options) {
64
+ const provider = getAI();
65
+ return provider.generateImage(prompt, options);
66
+ },
67
+ /**
68
+ * Transcribe audio to text
69
+ *
70
+ * @example
71
+ * ```typescript
72
+ * const audioBlob = await fetch('/audio.mp3').then(r => r.blob());
73
+ * const transcript = await ai.transcribe(audioBlob);
74
+ * ```
75
+ */
76
+ async transcribe(audio, options) {
77
+ const provider = getAI();
78
+ return provider.transcribe(audio, options);
79
+ },
80
+ /**
81
+ * Translate text between languages
82
+ *
83
+ * @example
84
+ * ```typescript
85
+ * const spanish = await ai.translate("Hello, world!", "es");
86
+ * const french = await ai.translate("Hello, world!", "fr", "en");
87
+ * ```
88
+ */
89
+ async translate(text, targetLang, sourceLang) {
90
+ const provider = getAI();
91
+ return provider.translate(text, targetLang, sourceLang);
92
+ },
93
+ /**
94
+ * Advanced: Full prompt with detailed options and response
95
+ *
96
+ * @example
97
+ * ```typescript
98
+ * const response = await ai.prompt({
99
+ * prompt: "Describe this image",
100
+ * capabilities: ['vision'],
101
+ * images: [{ type: 'url', data: 'https://example.com/image.jpg' }],
102
+ * maxTokens: 500
103
+ * });
104
+ * console.log(response.text);
105
+ * console.log(response.tokensUsed);
106
+ * ```
107
+ */
108
+ async prompt(request) {
109
+ const provider = getAI();
110
+ return provider.prompt(request);
111
+ },
112
+ /**
113
+ * Run a specific model directly with custom options
114
+ *
115
+ * @example
116
+ * ```typescript
117
+ * const result = await ai.run('@cf/meta/llama-3.1-8b-instruct', {
118
+ * prompt: "Hello!",
119
+ * max_tokens: 100
120
+ * });
121
+ * ```
122
+ */
123
+ async run(model, options) {
124
+ const provider = getAI();
125
+ return provider.run(model, options);
126
+ },
127
+ };
128
+ //# sourceMappingURL=namespace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"namespace.js","sourceRoot":"","sources":["../../src/ai/namespace.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC;;GAEG;AACH,MAAM,CAAC,MAAM,EAAE,GAAG;IAChB;;;;;;;OAOG;IACH,KAAK,CAAC,IAAI,CAAC,MAAc,EAAE,OAAoB;QAC7C,MAAM,QAAQ,GAAG,KAAK,EAAE,CAAC;QACzB,OAAO,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,KAAK,CAAC,IAAuB;QACjC,MAAM,QAAQ,GAAG,KAAK,EAAE,CAAC;QACzB,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,aAAa,CACjB,MAAc,EACd,OAKC;QAED,MAAM,QAAQ,GAAG,KAAK,EAAE,CAAC;QACzB,OAAO,QAAQ,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,UAAU,CACd,KAAyB,EACzB,OAGC;QAED,MAAM,QAAQ,GAAG,KAAK,EAAE,CAAC;QACzB,OAAO,QAAQ,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,SAAS,CACb,IAAY,EACZ,UAAkB,EAClB,UAAmB;QAEnB,MAAM,QAAQ,GAAG,KAAK,EAAE,CAAC;QACzB,OAAO,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAC1D,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,MAAM,CAAC,OAAsB;QACjC,MAAM,QAAQ,GAAG,KAAK,EAAE,CAAC;QACzB,OAAO,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,GAAG,CAAU,KAAa,EAAE,OAAY;QAC5C,MAAM,QAAQ,GAAG,KAAK,EAAE,CAAC;QACzB,OAAO,QAAQ,CAAC,GAAG,CAAI,KAAK,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC;CACF,CAAC"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Cloudflare Workers AI Provider
3
+ *
4
+ * Direct access to Cloudflare's AI models via env.AI.run()
5
+ * Supports text generation, embeddings, image generation, speech recognition, etc.
6
+ */
7
+ import type { AIServiceProvider } from './types';
8
+ /**
9
+ * Cloudflare AI binding interface
10
+ */
11
+ interface CloudflareAI {
12
+ run<T = any>(model: string, options: any): Promise<T>;
13
+ }
14
+ /**
15
+ * Extended environment with Cloudflare AI binding
16
+ */
17
+ export interface WorkersAIEnv {
18
+ AI?: CloudflareAI;
19
+ }
20
+ /**
21
+ * Create Workers AI provider
22
+ */
23
+ export declare function createWorkersAI(ai: CloudflareAI): AIServiceProvider;
24
+ /**
25
+ * High-level AI namespace with helper functions
26
+ */
27
+ export interface WorkersAIHelpers extends AIServiceProvider {
28
+ /**
29
+ * Generate text embeddings for semantic search
30
+ * @param text - Text or array of texts to embed
31
+ * @returns Array of embedding vectors
32
+ */
33
+ embed(text: string | string[]): Promise<number[][]>;
34
+ /**
35
+ * Generate an image from a text prompt
36
+ * @param prompt - Description of the image to generate
37
+ * @param options - Image generation options
38
+ * @returns Image as ArrayBuffer
39
+ */
40
+ generateImage(prompt: string, options?: {
41
+ model?: string;
42
+ width?: number;
43
+ height?: number;
44
+ steps?: number;
45
+ }): Promise<ArrayBuffer>;
46
+ /**
47
+ * Transcribe audio to text
48
+ * @param audio - Audio file as ArrayBuffer or Blob
49
+ * @param options - Transcription options
50
+ * @returns Transcribed text
51
+ */
52
+ transcribe(audio: ArrayBuffer | Blob, options?: {
53
+ model?: string;
54
+ language?: string;
55
+ }): Promise<string>;
56
+ /**
57
+ * Translate text between languages
58
+ * @param text - Text to translate
59
+ * @param targetLang - Target language code (e.g., 'es', 'fr', 'de')
60
+ * @param sourceLang - Source language code (auto-detected if not provided)
61
+ * @returns Translated text
62
+ */
63
+ translate(text: string, targetLang: string, sourceLang?: string): Promise<string>;
64
+ /**
65
+ * Run a model directly with custom options
66
+ * @param model - Model ID (e.g., '@cf/meta/llama-3.1-8b-instruct')
67
+ * @param options - Model-specific options
68
+ * @returns Model response
69
+ */
70
+ run<T = any>(model: string, options: any): Promise<T>;
71
+ }
72
+ /**
73
+ * Create enhanced Workers AI provider with helper functions
74
+ */
75
+ export declare function createWorkersAIWithHelpers(ai: CloudflareAI): WorkersAIHelpers;
76
+ export {};
77
+ //# sourceMappingURL=workers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workers.d.ts","sourceRoot":"","sources":["../../src/ai/workers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,iBAAiB,EAKlB,MAAM,SAAS,CAAC;AAEjB;;GAEG;AACH,UAAU,YAAY;IACpB,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CACvD;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,EAAE,CAAC,EAAE,YAAY,CAAC;CACnB;AAoDD;;GAEG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,YAAY,GAAG,iBAAiB,CAkFnE;AAED;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,iBAAiB;IACzD;;;;OAIG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAEpD;;;;;OAKG;IACH,aAAa,CACX,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GACA,OAAO,CAAC,WAAW,CAAC,CAAC;IAExB;;;;;OAKG;IACH,UAAU,CACR,KAAK,EAAE,WAAW,GAAG,IAAI,EACzB,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GACA,OAAO,CAAC,MAAM,CAAC,CAAC;IAEnB;;;;;;OAMG;IACH,SAAS,CACP,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,CAAC,CAAC;IAEnB;;;;;OAKG;IACH,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CACvD;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,EAAE,EAAE,YAAY,GAAG,gBAAgB,CA6E7E"}
@@ -0,0 +1,171 @@
1
+ /**
2
+ * Cloudflare Workers AI Provider
3
+ *
4
+ * Direct access to Cloudflare's AI models via env.AI.run()
5
+ * Supports text generation, embeddings, image generation, speech recognition, etc.
6
+ */
7
+ /**
8
+ * Model selection based on capabilities
9
+ */
10
+ function selectModel(capabilities) {
11
+ if (!capabilities || capabilities.length === 0) {
12
+ // Default: fast general-purpose model
13
+ return '@cf/meta/llama-3.1-8b-instruct-fast';
14
+ }
15
+ const caps = new Set(capabilities);
16
+ // Vision models
17
+ if (caps.has('vision')) {
18
+ return '@cf/meta/llama-3.2-11b-vision-instruct';
19
+ }
20
+ // Coding models
21
+ if (caps.has('coding')) {
22
+ return '@cf/qwen/qwen2.5-coder-32b-instruct';
23
+ }
24
+ // Reasoning models
25
+ if (caps.has('reasoning')) {
26
+ return '@cf/qwen/qwq-32b';
27
+ }
28
+ // Fast models
29
+ if (caps.has('fast')) {
30
+ return '@cf/meta/llama-3.1-8b-instruct-fast';
31
+ }
32
+ // Long context models
33
+ if (caps.has('long-context')) {
34
+ return '@cf/meta/llama-3.1-70b-instruct';
35
+ }
36
+ // Cost-effective models
37
+ if (caps.has('cost-effective')) {
38
+ return '@cf/meta/llama-3.2-1b-instruct';
39
+ }
40
+ // Creative models
41
+ if (caps.has('creative')) {
42
+ return '@cf/meta/llama-3.1-8b-instruct';
43
+ }
44
+ // Default fallback
45
+ return '@cf/meta/llama-3.1-8b-instruct-fast';
46
+ }
47
+ /**
48
+ * Create Workers AI provider
49
+ */
50
+ export function createWorkersAI(ai) {
51
+ return {
52
+ async ask(prompt, options) {
53
+ const model = selectModel(options?.capabilities);
54
+ const response = await ai.run(model, {
55
+ prompt,
56
+ max_tokens: options?.maxTokens,
57
+ temperature: options?.temperature,
58
+ });
59
+ return response.response || '';
60
+ },
61
+ async prompt(request) {
62
+ const model = request.model || selectModel(request.capabilities);
63
+ // Build messages array
64
+ const messages = [];
65
+ // Add system message if provided
66
+ if (request.systemPrompt) {
67
+ messages.push({
68
+ role: 'system',
69
+ content: request.systemPrompt,
70
+ });
71
+ }
72
+ // Add user message with optional images
73
+ if (request.images && request.images.length > 0) {
74
+ // Vision model - include images
75
+ const content = [{ type: 'text', text: request.prompt }];
76
+ for (const img of request.images) {
77
+ if (img.type === 'url') {
78
+ content.push({
79
+ type: 'image_url',
80
+ image_url: { url: img.data },
81
+ });
82
+ }
83
+ else if (img.type === 'base64') {
84
+ content.push({
85
+ type: 'image_url',
86
+ image_url: {
87
+ url: `data:${img.mimeType || 'image/jpeg'};base64,${img.data}`,
88
+ },
89
+ });
90
+ }
91
+ }
92
+ messages.push({ role: 'user', content });
93
+ }
94
+ else {
95
+ // Text-only
96
+ messages.push({ role: 'user', content: request.prompt });
97
+ }
98
+ // Run the model
99
+ const response = await ai.run(model, {
100
+ messages,
101
+ max_tokens: request.maxTokens,
102
+ temperature: request.temperature,
103
+ });
104
+ // Extract text from response (different models return different formats)
105
+ let text = '';
106
+ if (response.response) {
107
+ text = response.response;
108
+ }
109
+ else if (response.choices && response.choices.length > 0) {
110
+ text = response.choices[0].message?.content || response.choices[0].text || '';
111
+ }
112
+ return {
113
+ text,
114
+ provider: 'cloudflare',
115
+ model,
116
+ tokensUsed: {
117
+ input: 0, // Workers AI doesn't return token counts
118
+ output: 0,
119
+ total: 0,
120
+ },
121
+ };
122
+ },
123
+ };
124
+ }
125
+ /**
126
+ * Create enhanced Workers AI provider with helper functions
127
+ */
128
+ export function createWorkersAIWithHelpers(ai) {
129
+ const baseProvider = createWorkersAI(ai);
130
+ return {
131
+ ...baseProvider,
132
+ async embed(text) {
133
+ const texts = Array.isArray(text) ? text : [text];
134
+ const model = '@cf/baai/bge-large-en-v1.5';
135
+ const results = await Promise.all(texts.map((t) => ai.run(model, { text: t })));
136
+ return results.map((r) => r.data[0]);
137
+ },
138
+ async generateImage(prompt, options) {
139
+ const model = options?.model || '@cf/black-forest-labs/flux-1-schnell';
140
+ const response = await ai.run(model, {
141
+ prompt,
142
+ num_steps: options?.steps || 4,
143
+ });
144
+ return response;
145
+ },
146
+ async transcribe(audio, options) {
147
+ const model = options?.model || '@cf/openai/whisper-large-v3-turbo';
148
+ // Convert Blob to ArrayBuffer if needed
149
+ const audioBuffer = audio instanceof Blob ? await audio.arrayBuffer() : audio;
150
+ const response = await ai.run(model, {
151
+ audio: Array.from(new Uint8Array(audioBuffer)),
152
+ language: options?.language,
153
+ });
154
+ return response.text || response.vtt || '';
155
+ },
156
+ async translate(text, targetLang, sourceLang) {
157
+ // Use multilingual translation model
158
+ const model = '@cf/meta/m2m100-1.2b';
159
+ const response = await ai.run(model, {
160
+ text,
161
+ source_lang: sourceLang || 'en',
162
+ target_lang: targetLang,
163
+ });
164
+ return response.translated_text;
165
+ },
166
+ async run(model, options) {
167
+ return ai.run(model, options);
168
+ },
169
+ };
170
+ }
171
+ //# sourceMappingURL=workers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workers.js","sourceRoot":"","sources":["../../src/ai/workers.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -37,7 +37,8 @@ export type { StorageProvider, StorageObject, StorageMetadata, ListOptions as St
37
37
  export { getPublicStorage, createPublicStorage, resetPublicStorage, } from './public-storage';
38
38
  export type { PublicStorageProvider, PublicStorageUploadOptions, PublicStorageUploadResult, } from './public-storage';
39
39
  export { getAI, createAI } from './ai';
40
- export type { AIServiceProvider, AIProvider, AICapability, AskOptions, PromptRequest, PromptResponse, ImageInput, } from './ai/types';
40
+ export { ai } from './ai/namespace';
41
+ export type { AIServiceProvider, AIProvider, AICapability, AskOptions, PromptRequest, PromptResponse, ImageInput, WorkersAIHelpers, WorkersAIEnv, } from './ai';
41
42
  export { getTileState } from './tile-state';
42
43
  export type { TileStateProvider, Comment, Report, } from './tile-state/types';
43
44
  export { getTileContext, clearTileContextCache } from './tile-context';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -39,8 +39,9 @@ export { getKV, createKV } from './kv';
39
39
  export { getStorage, createStorage } from './r2';
40
40
  // Public Storage - Public file uploads via platform-api (CDN-backed)
41
41
  export { getPublicStorage, createPublicStorage, resetPublicStorage, } from './public-storage';
42
- // AI - Artificial Intelligence (Claude 4.5, GPT-5, Gemini 3)
42
+ // AI - Artificial Intelligence (Cloudflare Workers AI + Platform API)
43
43
  export { getAI, createAI } from './ai';
44
+ export { ai } from './ai/namespace';
44
45
  // Tile State - Durable Objects for real-time state
45
46
  export { getTileState } from './tile-state';
46
47
  // Tile Context - Server-side authentication for tile API routes
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,0EAA0E;AAC1E,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,OAAO,CAAC;AAGf,eAAe;AACf,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAK9D,gFAAgF;AAChF,mEAAmE;AACnE,gFAAgF;AAEhF,mDAAmD;AACnD,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAazD,yCAAyC;AACzC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAWvC,gCAAgC;AAChC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AAYjD,qEAAqE;AACrE,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAO1B,6DAA6D;AAC7D,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAWvC,mDAAmD;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAO5C,gEAAgE;AAChE,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAOvE,mDAAmD;AACnD,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAetG,0FAA0F;AAC1F,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAsB7E,gFAAgF;AAChF,mDAAmD;AACnD,gFAAgF;AAEhF,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAE7D,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,0EAA0E;AAC1E,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,OAAO,CAAC;AAGf,eAAe;AACf,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAK9D,gFAAgF;AAChF,mEAAmE;AACnE,gFAAgF;AAEhF,mDAAmD;AACnD,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAazD,yCAAyC;AACzC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAWvC,gCAAgC;AAChC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AAYjD,qEAAqE;AACrE,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAO1B,sEAAsE;AACtE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AACvC,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAapC,mDAAmD;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAO5C,gEAAgE;AAChE,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAOvE,mDAAmD;AACnD,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAetG,0FAA0F;AAC1F,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAsB7E,gFAAgF;AAChF,mDAAmD;AACnD,gFAAgF;AAEhF,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAE7D,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC"}
@@ -1,22 +1,42 @@
1
1
  /**
2
2
  * Cloudflare KV provider implementation
3
3
  *
4
- * Direct wrapper around Cloudflare KV with consistent API
4
+ * Direct wrapper around Cloudflare KV with consistent API.
5
+ *
6
+ * IMPORTANT: This provider has explicit string and JSON operations:
7
+ * - put/get: For raw strings only
8
+ * - putJson/getJson: For objects (automatic serialization)
5
9
  */
6
- import type { KVProvider, KVValue, KVValueType, KVSetOptions, KVListOptions, KVListResult, KVMetadata } from '../types';
10
+ import type { KVProvider, KVSetOptions, KVListOptions, KVListResult, KVMetadata } from '../types';
7
11
  /**
8
12
  * Cloudflare KV implementation
9
13
  */
10
14
  export declare class CloudflareKV implements KVProvider {
11
15
  private kv;
12
16
  constructor(kv: KVNamespace);
13
- get<T = string>(key: string, type?: KVValueType): Promise<T | null>;
14
- put(key: string, value: KVValue, options?: KVSetOptions): Promise<void>;
15
17
  /**
16
- * Alias for put() - undocumented, for backwards compatibility
18
+ * Get a string value by key
19
+ * Returns the raw string value, no automatic parsing
20
+ */
21
+ get(key: string): Promise<string | null>;
22
+ /**
23
+ * Store a string value by key
24
+ * For objects, use putJson() instead
25
+ */
26
+ put(key: string, value: string, options?: KVSetOptions): Promise<void>;
27
+ /**
28
+ * Get a JSON value by key (automatically parsed)
29
+ */
30
+ getJson<T = unknown>(key: string): Promise<T | null>;
31
+ /**
32
+ * Store a JSON value by key (automatically serialized)
33
+ */
34
+ putJson<T = unknown>(key: string, value: T, options?: KVSetOptions): Promise<void>;
35
+ /**
36
+ * Alias for put() - for backwards compatibility
17
37
  * @internal
18
38
  */
19
- set(key: string, value: KVValue, options?: KVSetOptions): Promise<void>;
39
+ set(key: string, value: string, options?: KVSetOptions): Promise<void>;
20
40
  delete(key: string): Promise<void>;
21
41
  deleteMany(keys: string[]): Promise<void>;
22
42
  has(key: string): Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"cloudflare-kv.d.ts","sourceRoot":"","sources":["../../../src/kv/providers/cloudflare-kv.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,UAAU,EACV,OAAO,EACP,WAAW,EACX,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,UAAU,EACX,MAAM,UAAU,CAAC;AAElB;;GAEG;AACH,qBAAa,YAAa,YAAW,UAAU;IACjC,OAAO,CAAC,EAAE;gBAAF,EAAE,EAAE,WAAW;IAE7B,GAAG,CAAC,CAAC,GAAG,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,WAAoB,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAoD3E,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAwB7E;;;OAGG;IACG,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvE,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlC,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAKzC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKlC,IAAI,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;IA4BpD,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAY1D;;;OAGG;IACG,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,MAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAQjE;;;OAGG;IACG,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,MAAU,GAAG,OAAO,CAAC,MAAM,CAAC;CAGlE"}
1
+ {"version":3,"file":"cloudflare-kv.d.ts","sourceRoot":"","sources":["../../../src/kv/providers/cloudflare-kv.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,UAAU,EAEV,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,UAAU,EACX,MAAM,UAAU,CAAC;AAElB;;GAEG;AACH,qBAAa,YAAa,YAAW,UAAU;IACjC,OAAO,CAAC,EAAE;gBAAF,EAAE,EAAE,WAAW;IAEnC;;;OAGG;IACG,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAI9C;;;OAGG;IACG,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAqB5E;;OAEG;IACG,OAAO,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAiB1D;;OAEG;IACG,OAAO,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAcxF;;;OAGG;IACG,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAItE,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlC,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAKzC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKlC,IAAI,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;IA4BpD,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAY1D;;;OAGG;IACG,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,MAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAQjE;;;OAGG;IACG,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,MAAU,GAAG,OAAO,CAAC,MAAM,CAAC;CAGlE"}
@@ -1,7 +1,11 @@
1
1
  /**
2
2
  * Cloudflare KV provider implementation
3
3
  *
4
- * Direct wrapper around Cloudflare KV with consistent API
4
+ * Direct wrapper around Cloudflare KV with consistent API.
5
+ *
6
+ * IMPORTANT: This provider has explicit string and JSON operations:
7
+ * - put/get: For raw strings only
8
+ * - putJson/getJson: For objects (automatic serialization)
5
9
  */
6
10
  /**
7
11
  * Cloudflare KV implementation
@@ -11,52 +15,22 @@ export class CloudflareKV {
11
15
  constructor(kv) {
12
16
  this.kv = kv;
13
17
  }
14
- async get(key, type = 'text') {
15
- switch (type) {
16
- case 'text': {
17
- const value = await this.kv.get(key, 'text');
18
- if (value === null)
19
- return null;
20
- // Auto-detect JSON: if it looks like JSON object or array, try to parse it
21
- const trimmed = value.trim();
22
- if ((trimmed.startsWith('{') && trimmed.endsWith('}')) ||
23
- (trimmed.startsWith('[') && trimmed.endsWith(']'))) {
24
- try {
25
- return JSON.parse(value);
26
- }
27
- catch {
28
- // Not valid JSON, return as string
29
- return value;
30
- }
31
- }
32
- return value;
33
- }
34
- case 'json':
35
- return (await this.kv.get(key, 'json'));
36
- case 'arrayBuffer':
37
- return (await this.kv.get(key, 'arrayBuffer'));
38
- case 'stream':
39
- return (await this.kv.get(key, 'stream'));
40
- default: {
41
- const value = await this.kv.get(key, 'text');
42
- if (value === null)
43
- return null;
44
- // Auto-detect JSON for default case too
45
- const trimmed = value.trim();
46
- if ((trimmed.startsWith('{') && trimmed.endsWith('}')) ||
47
- (trimmed.startsWith('[') && trimmed.endsWith(']'))) {
48
- try {
49
- return JSON.parse(value);
50
- }
51
- catch {
52
- return value;
53
- }
54
- }
55
- return value;
56
- }
57
- }
18
+ /**
19
+ * Get a string value by key
20
+ * Returns the raw string value, no automatic parsing
21
+ */
22
+ async get(key) {
23
+ return this.kv.get(key, 'text');
58
24
  }
25
+ /**
26
+ * Store a string value by key
27
+ * For objects, use putJson() instead
28
+ */
59
29
  async put(key, value, options) {
30
+ if (typeof value !== 'string') {
31
+ throw new Error(`kv.put() only accepts strings. Got ${typeof value}. ` +
32
+ `For objects, use kv.putJson() instead.`);
33
+ }
60
34
  const kvOptions = {};
61
35
  if (options?.ttl) {
62
36
  kvOptions.expirationTtl = options.ttl;
@@ -64,23 +38,41 @@ export class CloudflareKV {
64
38
  if (options?.metadata) {
65
39
  kvOptions.metadata = options.metadata;
66
40
  }
67
- // Handle different value types
68
- if (typeof value === 'string') {
69
- await this.kv.put(key, value, kvOptions);
41
+ await this.kv.put(key, value, kvOptions);
42
+ }
43
+ /**
44
+ * Get a JSON value by key (automatically parsed)
45
+ */
46
+ async getJson(key) {
47
+ const value = await this.kv.get(key, 'text');
48
+ if (value === null)
49
+ return null;
50
+ try {
51
+ return JSON.parse(value);
70
52
  }
71
- else if (value instanceof ReadableStream) {
72
- await this.kv.put(key, value, kvOptions);
53
+ catch (error) {
54
+ // Log warning for debugging corrupted data
55
+ console.warn(`[KV] getJson('${key}'): Failed to parse stored value. ` +
56
+ `Value starts with: "${value.slice(0, 50)}...". ` +
57
+ `This may indicate corrupted data.`);
58
+ return null;
73
59
  }
74
- else if (value instanceof ArrayBuffer) {
75
- await this.kv.put(key, value, kvOptions);
60
+ }
61
+ /**
62
+ * Store a JSON value by key (automatically serialized)
63
+ */
64
+ async putJson(key, value, options) {
65
+ const kvOptions = {};
66
+ if (options?.ttl) {
67
+ kvOptions.expirationTtl = options.ttl;
76
68
  }
77
- else {
78
- // Object - serialize to JSON
79
- await this.kv.put(key, JSON.stringify(value), kvOptions);
69
+ if (options?.metadata) {
70
+ kvOptions.metadata = options.metadata;
80
71
  }
72
+ await this.kv.put(key, JSON.stringify(value), kvOptions);
81
73
  }
82
74
  /**
83
- * Alias for put() - undocumented, for backwards compatibility
75
+ * Alias for put() - for backwards compatibility
84
76
  * @internal
85
77
  */
86
78
  async set(key, value, options) {
@@ -133,7 +125,7 @@ export class CloudflareKV {
133
125
  * Note: KV doesn't support atomic operations, so this is best-effort
134
126
  */
135
127
  async increment(key, amount = 1) {
136
- const current = await this.get(key, 'text');
128
+ const current = await this.get(key);
137
129
  const currentValue = current ? parseInt(current, 10) : 0;
138
130
  const newValue = currentValue + amount;
139
131
  await this.put(key, String(newValue));
@@ -1 +1 @@
1
- {"version":3,"file":"cloudflare-kv.js","sourceRoot":"","sources":["../../../src/kv/providers/cloudflare-kv.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cloudflare-kv.js","sourceRoot":"","sources":["../../../src/kv/providers/cloudflare-kv.ts"],"names":[],"mappings":"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"}
@@ -6,26 +6,43 @@
6
6
  */
7
7
  /**
8
8
  * Main KV provider interface
9
+ *
10
+ * IMPORTANT: String operations (put/get) and JSON operations (putJson/getJson) are explicit.
11
+ * - Use put/get for raw strings
12
+ * - Use putJson/getJson for objects (automatic serialization)
9
13
  */
10
14
  export interface KVProvider {
11
15
  /**
12
- * Get a value by key
16
+ * Get a string value by key
17
+ * @param key - The key to retrieve
18
+ * @returns The raw string value or null if not found
19
+ */
20
+ get(key: string): Promise<string | null>;
21
+ /**
22
+ * Store a string value by key
23
+ * @param key - The key to store
24
+ * @param value - The string value to store
25
+ * @param options - Optional storage options (TTL, metadata)
26
+ */
27
+ put(key: string, value: string, options?: KVSetOptions): Promise<void>;
28
+ /**
29
+ * Get a JSON value by key (automatically parsed)
13
30
  * @param key - The key to retrieve
14
- * @param type - Optional type hint ('text', 'json', 'arrayBuffer', 'stream')
31
+ * @returns The parsed object or null if not found
15
32
  */
16
- get<T = string>(key: string, type?: KVValueType): Promise<T | null>;
33
+ getJson<T = unknown>(key: string): Promise<T | null>;
17
34
  /**
18
- * Store a value by key (matches Cloudflare's native KV API)
35
+ * Store a JSON value by key (automatically serialized)
19
36
  * @param key - The key to store
20
- * @param value - The value to store
37
+ * @param value - The value to serialize and store
21
38
  * @param options - Optional storage options (TTL, metadata)
22
39
  */
23
- put(key: string, value: KVValue, options?: KVSetOptions): Promise<void>;
40
+ putJson<T = unknown>(key: string, value: T, options?: KVSetOptions): Promise<void>;
24
41
  /**
25
42
  * Alias for put() - undocumented, for backwards compatibility
26
43
  * @internal
27
44
  */
28
- set(key: string, value: KVValue, options?: KVSetOptions): Promise<void>;
45
+ set(key: string, value: string, options?: KVSetOptions): Promise<void>;
29
46
  /**
30
47
  * Delete a value by key
31
48
  * @param key - The key to delete
@@ -65,13 +82,14 @@ export interface KVProvider {
65
82
  decrement?(key: string, amount?: number): Promise<number>;
66
83
  }
67
84
  /**
68
- * Value types supported by KV
85
+ * Value types supported by KV (for binary operations)
69
86
  */
70
- export type KVValueType = 'text' | 'json' | 'arrayBuffer' | 'stream';
87
+ export type KVValueType = 'text' | 'arrayBuffer' | 'stream';
71
88
  /**
72
- * Values that can be stored in KV
89
+ * Values that can be stored in KV via put()
90
+ * Note: For objects, use putJson() instead
73
91
  */
74
- export type KVValue = string | ReadableStream | ArrayBuffer | object;
92
+ export type KVValue = string | ReadableStream | ArrayBuffer;
75
93
  /**
76
94
  * Options for setting values
77
95
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/kv/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/kv/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thewhateverapp/platform",
3
- "version": "0.9.30",
3
+ "version": "0.10.1",
4
4
  "description": "Universal SDK for The Whatever App platform services",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",