ai-functions 2.1.3 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (277) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +55 -1
  3. package/README.md +38 -0
  4. package/dist/ai-promise.d.ts +3 -3
  5. package/dist/ai-promise.d.ts.map +1 -1
  6. package/dist/ai-promise.js +135 -64
  7. package/dist/ai-promise.js.map +1 -1
  8. package/dist/ai-schemas.d.ts +56 -0
  9. package/dist/ai-schemas.d.ts.map +1 -0
  10. package/dist/ai-schemas.js +53 -0
  11. package/dist/ai-schemas.js.map +1 -0
  12. package/dist/ai.d.ts +16 -242
  13. package/dist/ai.d.ts.map +1 -1
  14. package/dist/ai.js +51 -858
  15. package/dist/ai.js.map +1 -1
  16. package/dist/batch/anthropic.d.ts +6 -4
  17. package/dist/batch/anthropic.d.ts.map +1 -1
  18. package/dist/batch/anthropic.js +83 -145
  19. package/dist/batch/anthropic.js.map +1 -1
  20. package/dist/batch/bedrock.d.ts +8 -30
  21. package/dist/batch/bedrock.d.ts.map +1 -1
  22. package/dist/batch/bedrock.js +155 -338
  23. package/dist/batch/bedrock.js.map +1 -1
  24. package/dist/batch/cloudflare.d.ts +8 -20
  25. package/dist/batch/cloudflare.d.ts.map +1 -1
  26. package/dist/batch/cloudflare.js +68 -189
  27. package/dist/batch/cloudflare.js.map +1 -1
  28. package/dist/batch/google.d.ts +6 -20
  29. package/dist/batch/google.d.ts.map +1 -1
  30. package/dist/batch/google.js +70 -238
  31. package/dist/batch/google.js.map +1 -1
  32. package/dist/batch/index.d.ts +4 -1
  33. package/dist/batch/index.d.ts.map +1 -1
  34. package/dist/batch/index.js +4 -1
  35. package/dist/batch/index.js.map +1 -1
  36. package/dist/batch/memory.d.ts +1 -1
  37. package/dist/batch/memory.d.ts.map +1 -1
  38. package/dist/batch/memory.js +14 -10
  39. package/dist/batch/memory.js.map +1 -1
  40. package/dist/batch/openai.d.ts +11 -14
  41. package/dist/batch/openai.d.ts.map +1 -1
  42. package/dist/batch/openai.js +52 -156
  43. package/dist/batch/openai.js.map +1 -1
  44. package/dist/batch/provider.d.ts +111 -0
  45. package/dist/batch/provider.d.ts.map +1 -0
  46. package/dist/batch/provider.js +233 -0
  47. package/dist/batch/provider.js.map +1 -0
  48. package/dist/batch-map.d.ts.map +1 -1
  49. package/dist/batch-map.js +23 -17
  50. package/dist/batch-map.js.map +1 -1
  51. package/dist/batch-queue.d.ts +65 -0
  52. package/dist/batch-queue.d.ts.map +1 -1
  53. package/dist/batch-queue.js +169 -14
  54. package/dist/batch-queue.js.map +1 -1
  55. package/dist/budget.d.ts.map +1 -1
  56. package/dist/budget.js +27 -14
  57. package/dist/budget.js.map +1 -1
  58. package/dist/cache.d.ts +23 -0
  59. package/dist/cache.d.ts.map +1 -1
  60. package/dist/cache.js +36 -15
  61. package/dist/cache.js.map +1 -1
  62. package/dist/context.d.ts +26 -8
  63. package/dist/context.d.ts.map +1 -1
  64. package/dist/context.js +64 -62
  65. package/dist/context.js.map +1 -1
  66. package/dist/digital-objects-registry.d.ts +229 -0
  67. package/dist/digital-objects-registry.d.ts.map +1 -0
  68. package/dist/digital-objects-registry.js +617 -0
  69. package/dist/digital-objects-registry.js.map +1 -0
  70. package/dist/embeddings.d.ts +2 -2
  71. package/dist/embeddings.d.ts.map +1 -1
  72. package/dist/errors.d.ts +22 -0
  73. package/dist/errors.d.ts.map +1 -0
  74. package/dist/errors.js +35 -0
  75. package/dist/errors.js.map +1 -0
  76. package/dist/eval/runner.d.ts +8 -0
  77. package/dist/eval/runner.d.ts.map +1 -1
  78. package/dist/eval/runner.js +41 -35
  79. package/dist/eval/runner.js.map +1 -1
  80. package/dist/eval-log/in-memory.d.ts +34 -0
  81. package/dist/eval-log/in-memory.d.ts.map +1 -0
  82. package/dist/eval-log/in-memory.js +84 -0
  83. package/dist/eval-log/in-memory.js.map +1 -0
  84. package/dist/eval-log/index.d.ts +29 -0
  85. package/dist/eval-log/index.d.ts.map +1 -0
  86. package/dist/eval-log/index.js +39 -0
  87. package/dist/eval-log/index.js.map +1 -0
  88. package/dist/eval-log/types.d.ts +101 -0
  89. package/dist/eval-log/types.d.ts.map +1 -0
  90. package/dist/eval-log/types.js +16 -0
  91. package/dist/eval-log/types.js.map +1 -0
  92. package/dist/function-registry.d.ts +116 -0
  93. package/dist/function-registry.d.ts.map +1 -0
  94. package/dist/function-registry.js +546 -0
  95. package/dist/function-registry.js.map +1 -0
  96. package/dist/generate.d.ts +9 -3
  97. package/dist/generate.d.ts.map +1 -1
  98. package/dist/generate.js +18 -18
  99. package/dist/generate.js.map +1 -1
  100. package/dist/index.d.ts +18 -11
  101. package/dist/index.d.ts.map +1 -1
  102. package/dist/index.js +35 -18
  103. package/dist/index.js.map +1 -1
  104. package/dist/logger.d.ts +118 -0
  105. package/dist/logger.d.ts.map +1 -0
  106. package/dist/logger.js +187 -0
  107. package/dist/logger.js.map +1 -0
  108. package/dist/middleware/budget.d.ts +84 -0
  109. package/dist/middleware/budget.d.ts.map +1 -0
  110. package/dist/middleware/budget.js +110 -0
  111. package/dist/middleware/budget.js.map +1 -0
  112. package/dist/middleware/cache.d.ts +103 -0
  113. package/dist/middleware/cache.d.ts.map +1 -0
  114. package/dist/middleware/cache.js +228 -0
  115. package/dist/middleware/cache.js.map +1 -0
  116. package/dist/middleware/embed-cache.d.ts +99 -0
  117. package/dist/middleware/embed-cache.d.ts.map +1 -0
  118. package/dist/middleware/embed-cache.js +128 -0
  119. package/dist/middleware/embed-cache.js.map +1 -0
  120. package/dist/middleware/index.d.ts +11 -0
  121. package/dist/middleware/index.d.ts.map +1 -0
  122. package/dist/middleware/index.js +11 -0
  123. package/dist/middleware/index.js.map +1 -0
  124. package/dist/middleware/trace.d.ts +103 -0
  125. package/dist/middleware/trace.d.ts.map +1 -0
  126. package/dist/middleware/trace.js +176 -0
  127. package/dist/middleware/trace.js.map +1 -0
  128. package/dist/primitives.d.ts +120 -1
  129. package/dist/primitives.d.ts.map +1 -1
  130. package/dist/primitives.js +398 -26
  131. package/dist/primitives.js.map +1 -1
  132. package/dist/retry.d.ts +66 -1
  133. package/dist/retry.d.ts.map +1 -1
  134. package/dist/retry.js +115 -8
  135. package/dist/retry.js.map +1 -1
  136. package/dist/schema.js +2 -2
  137. package/dist/schema.js.map +1 -1
  138. package/dist/telemetry.d.ts +128 -0
  139. package/dist/telemetry.d.ts.map +1 -0
  140. package/dist/telemetry.js +285 -0
  141. package/dist/telemetry.js.map +1 -0
  142. package/dist/template.d.ts.map +1 -1
  143. package/dist/template.js +6 -1
  144. package/dist/template.js.map +1 -1
  145. package/dist/tool-orchestration.d.ts +66 -4
  146. package/dist/tool-orchestration.d.ts.map +1 -1
  147. package/dist/tool-orchestration.js +123 -23
  148. package/dist/tool-orchestration.js.map +1 -1
  149. package/dist/type-guards.d.ts +28 -0
  150. package/dist/type-guards.d.ts.map +1 -0
  151. package/dist/type-guards.js +29 -0
  152. package/dist/type-guards.js.map +1 -0
  153. package/dist/types.d.ts +135 -17
  154. package/dist/types.d.ts.map +1 -1
  155. package/dist/types.js +36 -1
  156. package/dist/types.js.map +1 -1
  157. package/dist/wrap-for-v3.d.ts +80 -0
  158. package/dist/wrap-for-v3.d.ts.map +1 -0
  159. package/dist/wrap-for-v3.js +89 -0
  160. package/dist/wrap-for-v3.js.map +1 -0
  161. package/examples/00-quickstart.ts +232 -0
  162. package/examples/01-rag-chatbot.ts +212 -0
  163. package/examples/02-multi-agent-research.ts +290 -0
  164. package/examples/03-email-classification.ts +379 -0
  165. package/examples/04-content-moderation.ts +400 -0
  166. package/examples/05-document-extraction.ts +455 -0
  167. package/examples/06-streaming-chat-nextjs.ts +437 -0
  168. package/examples/07-cloudflare-worker.ts +483 -0
  169. package/examples/08-batch-processing.ts +491 -0
  170. package/examples/09-budget-constrained.ts +527 -0
  171. package/examples/10-tool-orchestration.ts +565 -0
  172. package/examples/11-retry-resilience.ts +403 -0
  173. package/examples/12-caching-strategies.ts +422 -0
  174. package/examples/README.md +145 -0
  175. package/package.json +28 -25
  176. package/src/ai-promise.ts +226 -140
  177. package/src/ai-schemas.ts +122 -0
  178. package/src/ai.ts +69 -1176
  179. package/src/batch/anthropic.ts +96 -161
  180. package/src/batch/bedrock.ts +203 -454
  181. package/src/batch/cloudflare.ts +99 -282
  182. package/src/batch/google.ts +91 -297
  183. package/src/batch/index.ts +4 -1
  184. package/src/batch/memory.ts +15 -10
  185. package/src/batch/openai.ts +65 -193
  186. package/src/batch/provider.ts +336 -0
  187. package/src/batch-map.ts +29 -24
  188. package/src/batch-queue.ts +200 -11
  189. package/src/budget.ts +31 -18
  190. package/src/cache.ts +45 -17
  191. package/src/context.ts +106 -77
  192. package/src/digital-objects-registry.ts +750 -0
  193. package/src/errors.ts +37 -0
  194. package/src/eval/runner.ts +60 -36
  195. package/src/eval-log/in-memory.ts +90 -0
  196. package/src/eval-log/index.ts +46 -0
  197. package/src/eval-log/types.ts +110 -0
  198. package/src/function-registry.ts +671 -0
  199. package/src/generate.ts +33 -28
  200. package/src/index.ts +119 -21
  201. package/src/logger.ts +232 -0
  202. package/src/middleware/budget.ts +171 -0
  203. package/src/middleware/cache.ts +299 -0
  204. package/src/middleware/embed-cache.ts +195 -0
  205. package/src/middleware/index.ts +23 -0
  206. package/src/middleware/trace.ts +248 -0
  207. package/src/primitives.ts +589 -62
  208. package/src/retry.ts +144 -18
  209. package/src/schema.ts +8 -8
  210. package/src/telemetry.ts +403 -0
  211. package/src/template.ts +8 -4
  212. package/src/tool-orchestration.ts +213 -48
  213. package/src/type-guards.ts +31 -0
  214. package/src/types.ts +164 -25
  215. package/src/wrap-for-v3.ts +105 -0
  216. package/test/ai-promise.test.ts +1080 -0
  217. package/test/ai-proxy.test.ts +1 -1
  218. package/test/batch-autosubmit-errors.test.ts +49 -37
  219. package/test/batch-blog-posts.test.ts +87 -129
  220. package/test/core-functions.test.ts +183 -579
  221. package/test/decide.test.ts +154 -322
  222. package/test/define.test.ts +211 -8
  223. package/test/digital-objects-registry.test.ts +760 -0
  224. package/test/embedding-cache-middleware.test.ts +140 -0
  225. package/test/generate-core.test.ts +140 -229
  226. package/test/implicit-batch.test.ts +22 -65
  227. package/test/retry-policy-integration.test.ts +117 -0
  228. package/test/schema.test.ts +55 -19
  229. package/test/template.test.ts +1164 -0
  230. package/test/tool-orchestration.test.ts +270 -0
  231. package/test/wrap-for-v3.test.ts +612 -0
  232. package/vitest.config.js +6 -0
  233. package/vitest.config.ts +20 -0
  234. package/LICENSE +0 -21
  235. package/dist/rpc/auth.d.ts +0 -69
  236. package/dist/rpc/auth.d.ts.map +0 -1
  237. package/dist/rpc/auth.js +0 -136
  238. package/dist/rpc/auth.js.map +0 -1
  239. package/dist/rpc/client.d.ts +0 -62
  240. package/dist/rpc/client.d.ts.map +0 -1
  241. package/dist/rpc/client.js +0 -103
  242. package/dist/rpc/client.js.map +0 -1
  243. package/dist/rpc/deferred.d.ts +0 -60
  244. package/dist/rpc/deferred.d.ts.map +0 -1
  245. package/dist/rpc/deferred.js +0 -96
  246. package/dist/rpc/deferred.js.map +0 -1
  247. package/dist/rpc/index.d.ts +0 -22
  248. package/dist/rpc/index.d.ts.map +0 -1
  249. package/dist/rpc/index.js +0 -38
  250. package/dist/rpc/index.js.map +0 -1
  251. package/dist/rpc/local.d.ts +0 -42
  252. package/dist/rpc/local.d.ts.map +0 -1
  253. package/dist/rpc/local.js +0 -50
  254. package/dist/rpc/local.js.map +0 -1
  255. package/dist/rpc/server.d.ts +0 -165
  256. package/dist/rpc/server.d.ts.map +0 -1
  257. package/dist/rpc/server.js +0 -405
  258. package/dist/rpc/server.js.map +0 -1
  259. package/dist/rpc/session.d.ts +0 -32
  260. package/dist/rpc/session.d.ts.map +0 -1
  261. package/dist/rpc/session.js +0 -43
  262. package/dist/rpc/session.js.map +0 -1
  263. package/dist/rpc/transport.d.ts +0 -306
  264. package/dist/rpc/transport.d.ts.map +0 -1
  265. package/dist/rpc/transport.js +0 -731
  266. package/dist/rpc/transport.js.map +0 -1
  267. package/src/batch/anthropic.js +0 -256
  268. package/src/batch/bedrock.js +0 -584
  269. package/src/batch/cloudflare.js +0 -287
  270. package/src/batch/google.js +0 -359
  271. package/src/batch/index.js +0 -30
  272. package/src/batch/memory.js +0 -187
  273. package/src/batch/openai.js +0 -402
  274. package/src/eval/index.js +0 -7
  275. package/src/eval/models.js +0 -119
  276. package/src/eval/runner.js +0 -147
  277. package/test/schema.test.js +0 -96
@@ -1,26 +1,26 @@
1
1
  /**
2
2
  * Google GenAI (Gemini) Adapter
3
3
  *
4
- * Implements processing using Google's Generative AI API (Gemini models).
5
4
  * Google doesn't have a native batch API like OpenAI/Anthropic, so this
6
- * implements concurrent processing for the flex tier.
5
+ * adapter fakes batch processing via concurrent direct calls and tracks the
6
+ * job state locally (see `LocalJobStore` in `./provider.js`).
7
+ *
8
+ * For true async batch processing, consider Google Cloud Batch with Vertex AI.
7
9
  *
8
10
  * @see https://ai.google.dev/gemini-api/docs
9
11
  *
10
12
  * @packageDocumentation
11
13
  */
12
- import { registerBatchAdapter, registerFlexAdapter, } from '../batch-queue.js';
14
+ import { LocalJobStore, processConcurrently, registerBatchAdapter, registerFlexAdapter, tryParseJson, } from './provider.js';
13
15
  // ============================================================================
14
- // Google GenAI Client Configuration
16
+ // Google GenAI client configuration
15
17
  // ============================================================================
16
18
  let googleApiKey;
17
19
  let googleBaseUrl = 'https://generativelanguage.googleapis.com/v1beta';
18
20
  // AI Gateway configuration (optional - for routing through Cloudflare AI Gateway)
19
21
  let gatewayUrl;
20
22
  let gatewayToken;
21
- /**
22
- * Configure the Google GenAI client
23
- */
23
+ /** Configure the Google GenAI client. */
24
24
  export function configureGoogleGenAI(options) {
25
25
  if (options.apiKey)
26
26
  googleApiKey = options.apiKey;
@@ -32,10 +32,8 @@ export function configureGoogleGenAI(options) {
32
32
  gatewayToken = options.gatewayToken;
33
33
  }
34
34
  function getConfig() {
35
- // Check for AI Gateway configuration
36
- const gwUrl = gatewayUrl || process.env.AI_GATEWAY_URL;
37
- const gwToken = gatewayToken || process.env.AI_GATEWAY_TOKEN;
38
- // If using gateway, we don't need a direct API key
35
+ const gwUrl = gatewayUrl || process.env['AI_GATEWAY_URL'];
36
+ const gwToken = gatewayToken || process.env['AI_GATEWAY_TOKEN'];
39
37
  if (gwUrl && gwToken) {
40
38
  return {
41
39
  apiKey: '',
@@ -44,315 +42,149 @@ function getConfig() {
44
42
  gatewayToken: gwToken,
45
43
  };
46
44
  }
47
- const key = googleApiKey || process.env.GOOGLE_API_KEY || process.env.GEMINI_API_KEY;
45
+ const key = googleApiKey || process.env['GOOGLE_API_KEY'] || process.env['GEMINI_API_KEY'];
48
46
  if (!key) {
49
47
  throw new Error('Google API key not configured. Set GOOGLE_API_KEY or GEMINI_API_KEY, or use AI_GATEWAY_URL and AI_GATEWAY_TOKEN');
50
48
  }
51
- return { apiKey: key, baseUrl: googleBaseUrl, gatewayUrl: undefined, gatewayToken: undefined };
49
+ return { apiKey: key, baseUrl: googleBaseUrl };
52
50
  }
53
51
  // ============================================================================
54
- // In-memory job tracking
52
+ // Local job tracking
55
53
  // ============================================================================
56
- const pendingJobs = new Map();
57
- let jobCounter = 0;
54
+ const jobs = new LocalJobStore('google_batch');
58
55
  // ============================================================================
59
- // Google GenAI Batch Adapter
56
+ // Google GenAI batch adapter (BatchProvider port)
60
57
  // ============================================================================
61
- /**
62
- * Google GenAI batch adapter
63
- *
64
- * Note: Google doesn't have a native batch API like OpenAI/Anthropic.
65
- * This adapter implements batch processing via concurrent requests.
66
- * For true async batch processing, consider using Google Cloud Batch
67
- * with Vertex AI.
68
- */
69
58
  const googleAdapter = {
70
59
  async submit(items, options) {
71
- const jobId = `google_batch_${++jobCounter}_${Date.now()}`;
72
60
  const model = options.model || 'gemini-2.0-flash';
73
- // Store job state
74
- pendingJobs.set(jobId, {
75
- items,
76
- options,
77
- results: [],
78
- status: 'pending',
79
- createdAt: new Date(),
80
- });
81
- // Process requests concurrently
82
- const completion = processGoogleRequestsConcurrently(jobId, items, model, options);
61
+ const { id, state } = jobs.create(items, options);
62
+ // Drive the job state machine in the background; `waitForCompletion`
63
+ // will poll the in-memory state.
64
+ const completion = (async () => {
65
+ state.status = 'in_progress';
66
+ const results = await processConcurrently(items, (item) => processGoogleItem(item, model), {
67
+ concurrency: 10,
68
+ onWaveComplete: (partial) => {
69
+ state.results = partial;
70
+ },
71
+ });
72
+ state.results = results;
73
+ state.status = results.every((r) => r.status === 'completed') ? 'completed' : 'failed';
74
+ state.completedAt = new Date();
75
+ return results;
76
+ })();
83
77
  const job = {
84
- id: jobId,
78
+ id,
85
79
  provider: 'google',
86
80
  status: 'pending',
87
81
  totalItems: items.length,
88
82
  completedItems: 0,
89
83
  failedItems: 0,
90
- createdAt: new Date(),
91
- webhookUrl: options.webhookUrl,
84
+ createdAt: state.createdAt,
85
+ ...(options.webhookUrl !== undefined && { webhookUrl: options.webhookUrl }),
92
86
  };
93
87
  return { job, completion };
94
88
  },
95
89
  async getStatus(batchId) {
96
- const job = pendingJobs.get(batchId);
97
- if (!job) {
98
- throw new Error(`Batch not found: ${batchId}`);
99
- }
100
- const completedItems = job.results.filter((r) => r.status === 'completed').length;
101
- const failedItems = job.results.filter((r) => r.status === 'failed').length;
102
- return {
103
- id: batchId,
104
- provider: 'google',
105
- status: job.status,
106
- totalItems: job.items.length,
107
- completedItems,
108
- failedItems,
109
- createdAt: job.createdAt,
110
- completedAt: job.completedAt,
111
- };
90
+ return jobs.snapshot(batchId, 'google');
112
91
  },
113
92
  async cancel(batchId) {
114
- const job = pendingJobs.get(batchId);
115
- if (job) {
116
- job.status = 'cancelled';
93
+ if (jobs.has(batchId)) {
94
+ jobs.get(batchId).status = 'cancelled';
117
95
  }
118
96
  },
119
97
  async getResults(batchId) {
120
- const job = pendingJobs.get(batchId);
121
- if (!job) {
122
- throw new Error(`Batch not found: ${batchId}`);
123
- }
124
- return job.results;
98
+ return jobs.get(batchId).results;
125
99
  },
126
100
  async waitForCompletion(batchId, pollInterval = 1000) {
127
- const job = pendingJobs.get(batchId);
128
- if (!job) {
129
- throw new Error(`Batch not found: ${batchId}`);
130
- }
131
- while (job.status !== 'completed' && job.status !== 'failed' && job.status !== 'cancelled') {
132
- await new Promise((resolve) => setTimeout(resolve, pollInterval));
133
- }
134
- return job.results;
101
+ return jobs.waitForCompletion(batchId, pollInterval);
135
102
  },
136
103
  };
137
104
  // ============================================================================
138
- // Google GenAI Flex Adapter
105
+ // Google GenAI flex adapter (FlexAdapter port)
139
106
  // ============================================================================
140
- /**
141
- * Google GenAI Flex Adapter
142
- *
143
- * Implements concurrent processing for medium-sized batches.
144
- * Uses the Gemini API for fast turnaround.
145
- */
146
107
  const googleFlexAdapter = {
147
108
  async submitFlex(items, options) {
148
109
  const model = options.model || 'gemini-2.0-flash';
149
- const CONCURRENCY = 10;
150
- const results = [];
151
- // Process items concurrently
152
- for (let i = 0; i < items.length; i += CONCURRENCY) {
153
- const batch = items.slice(i, i + CONCURRENCY);
154
- const batchResults = await Promise.all(batch.map(async (item) => {
155
- try {
156
- return await processGoogleItem(item, model);
157
- }
158
- catch (error) {
159
- return {
160
- id: item.id,
161
- customId: item.id,
162
- status: 'failed',
163
- error: error instanceof Error ? error.message : 'Unknown error',
164
- };
165
- }
166
- }));
167
- results.push(...batchResults);
168
- }
169
- return results;
110
+ return processConcurrently(items, (item) => processGoogleItem(item, model), {
111
+ concurrency: 10,
112
+ });
170
113
  },
171
114
  };
172
115
  // ============================================================================
173
- // Processing
116
+ // Per-item processing
174
117
  // ============================================================================
175
- async function processGoogleRequestsConcurrently(jobId, items, model, options) {
176
- const job = pendingJobs.get(jobId);
177
- if (!job) {
178
- throw new Error(`Job not found: ${jobId}`);
179
- }
180
- job.status = 'in_progress';
181
- const CONCURRENCY = 10;
182
- const results = [];
183
- for (let i = 0; i < items.length; i += CONCURRENCY) {
184
- const batch = items.slice(i, i + CONCURRENCY);
185
- const batchResults = await Promise.all(batch.map(async (item) => {
186
- try {
187
- return await processGoogleItem(item, model);
188
- }
189
- catch (error) {
190
- return {
191
- id: item.id,
192
- customId: item.id,
193
- status: 'failed',
194
- error: error instanceof Error ? error.message : 'Unknown error',
195
- };
196
- }
197
- }));
198
- results.push(...batchResults);
199
- job.results = results;
200
- }
201
- job.status = results.every((r) => r.status === 'completed') ? 'completed' : 'failed';
202
- job.completedAt = new Date();
203
- return results;
204
- }
205
118
  async function processGoogleItem(item, model) {
206
119
  const config = getConfig();
207
- // Check if using AI Gateway
208
120
  if (config.gatewayUrl && config.gatewayToken) {
209
121
  return processGoogleItemViaGateway(item, config, model);
210
122
  }
211
- // Build the model name (add models/ prefix if not present)
212
123
  const modelName = model.startsWith('models/') ? model : `models/${model}`;
213
124
  const url = `${config.baseUrl}/${modelName}:generateContent?key=${config.apiKey}`;
214
- // Build messages
215
- const contents = [];
216
- // Add system instruction as a user message if provided (Gemini handles this differently)
217
- if (item.options?.system) {
218
- contents.push({
219
- role: 'user',
220
- parts: [{ text: `System instruction: ${item.options.system}\n\nUser request: ${item.prompt}` }],
221
- });
222
- }
223
- else {
224
- contents.push({
225
- role: 'user',
226
- parts: [{ text: item.prompt }],
227
- });
228
- }
229
- const body = {
230
- contents,
231
- generationConfig: {
232
- maxOutputTokens: item.options?.maxTokens || 8192,
233
- temperature: item.options?.temperature,
234
- },
235
- };
236
- // Add JSON mode if schema is provided
237
- if (item.schema) {
238
- body.generationConfig = {
239
- ...body.generationConfig,
240
- responseMimeType: 'application/json',
241
- };
242
- }
243
125
  const response = await fetch(url, {
244
126
  method: 'POST',
245
- headers: {
246
- 'Content-Type': 'application/json',
247
- },
248
- body: JSON.stringify(body),
127
+ headers: { 'Content-Type': 'application/json' },
128
+ body: JSON.stringify(buildGeminiBody(item)),
249
129
  });
250
130
  if (!response.ok) {
251
131
  const error = await response.text();
252
132
  throw new Error(`Google GenAI API error: ${response.status} ${error}`);
253
133
  }
254
- const data = (await response.json());
255
- // Extract content
256
- const content = data.candidates?.[0]?.content?.parts?.[0]?.text;
257
- let result = content;
258
- // Try to parse JSON if schema was provided or content looks like JSON
259
- if (content && (item.schema || content.trim().startsWith('{') || content.trim().startsWith('['))) {
260
- try {
261
- result = JSON.parse(content);
262
- }
263
- catch {
264
- // Keep as string
265
- }
266
- }
267
- return {
268
- id: item.id,
269
- customId: item.id,
270
- status: 'completed',
271
- result,
272
- usage: data.usageMetadata
273
- ? {
274
- promptTokens: data.usageMetadata.promptTokenCount,
275
- completionTokens: data.usageMetadata.candidatesTokenCount,
276
- totalTokens: data.usageMetadata.totalTokenCount,
277
- }
278
- : undefined,
279
- };
134
+ return parseGeminiResponse(item, (await response.json()));
280
135
  }
281
136
  /**
282
- * Process a Google GenAI item via Cloudflare AI Gateway
137
+ * Process a Google GenAI item via Cloudflare AI Gateway.
283
138
  * Gateway URL format: {gateway_url}/google-ai-studio/v1beta/models/{model}:generateContent
284
139
  */
285
140
  async function processGoogleItemViaGateway(item, config, model) {
286
- // AI Gateway URL for Google AI Studio
287
- // Format: {gateway_url}/google-ai-studio/v1beta/models/{model}:generateContent
288
141
  const modelName = model.startsWith('models/') ? model.replace('models/', '') : model;
289
142
  const url = `${config.gatewayUrl}/google-ai-studio/v1beta/models/${modelName}:generateContent`;
290
- // Build messages
291
- const contents = [];
292
- if (item.options?.system) {
293
- contents.push({
294
- role: 'user',
295
- parts: [{ text: `System instruction: ${item.options.system}\n\nUser request: ${item.prompt}` }],
296
- });
297
- }
298
- else {
299
- contents.push({
300
- role: 'user',
301
- parts: [{ text: item.prompt }],
302
- });
303
- }
304
- const body = {
305
- contents,
306
- generationConfig: {
307
- maxOutputTokens: item.options?.maxTokens || 8192,
308
- temperature: item.options?.temperature,
309
- },
310
- };
311
- if (item.schema) {
312
- body.generationConfig = {
313
- ...body.generationConfig,
314
- responseMimeType: 'application/json',
315
- };
316
- }
317
143
  const response = await fetch(url, {
318
144
  method: 'POST',
319
145
  headers: {
320
146
  'cf-aig-authorization': `Bearer ${config.gatewayToken}`,
321
147
  'Content-Type': 'application/json',
322
148
  },
323
- body: JSON.stringify(body),
149
+ body: JSON.stringify(buildGeminiBody(item)),
324
150
  });
325
151
  if (!response.ok) {
326
152
  const error = await response.text();
327
153
  throw new Error(`Google GenAI via Gateway error: ${response.status} ${error}`);
328
154
  }
329
- const data = (await response.json());
155
+ return parseGeminiResponse(item, (await response.json()));
156
+ }
157
+ function buildGeminiBody(item) {
158
+ // Gemini handles system instructions as part of the user message.
159
+ const userText = item.options?.system
160
+ ? `System instruction: ${item.options.system}\n\nUser request: ${item.prompt}`
161
+ : item.prompt;
162
+ const contents = [{ role: 'user', parts: [{ text: userText }] }];
163
+ const generationConfig = {
164
+ maxOutputTokens: item.options?.maxTokens || 8192,
165
+ ...(item.options?.temperature !== undefined && { temperature: item.options.temperature }),
166
+ ...(item.schema && { responseMimeType: 'application/json' }),
167
+ };
168
+ return { contents, generationConfig };
169
+ }
170
+ function parseGeminiResponse(item, data) {
330
171
  const content = data.candidates?.[0]?.content?.parts?.[0]?.text;
331
- let result = content;
332
- if (content && (item.schema || content.trim().startsWith('{') || content.trim().startsWith('['))) {
333
- try {
334
- result = JSON.parse(content);
335
- }
336
- catch {
337
- // Keep as string
338
- }
339
- }
340
172
  return {
341
173
  id: item.id,
342
174
  customId: item.id,
343
175
  status: 'completed',
344
- result,
345
- usage: data.usageMetadata
346
- ? {
176
+ result: tryParseJson(content, !!item.schema),
177
+ ...(data.usageMetadata && {
178
+ usage: {
347
179
  promptTokens: data.usageMetadata.promptTokenCount,
348
180
  completionTokens: data.usageMetadata.candidatesTokenCount,
349
181
  totalTokens: data.usageMetadata.totalTokenCount,
350
- }
351
- : undefined,
182
+ },
183
+ }),
352
184
  };
353
185
  }
354
186
  // ============================================================================
355
- // Register Adapters
187
+ // Register adapters
356
188
  // ============================================================================
357
189
  registerBatchAdapter('google', googleAdapter);
358
190
  registerFlexAdapter('google', googleFlexAdapter);
@@ -1 +1 @@
1
- {"version":3,"file":"google.js","sourceRoot":"","sources":["../../src/batch/google.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"google.js","sourceRoot":"","sources":["../../src/batch/google.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,9 @@
1
1
  /**
2
2
  * Batch Adapters Index
3
3
  *
4
- * Import specific adapters to register them:
4
+ * The `BatchProvider` port lives in `./provider.js`. Each adapter file is a
5
+ * small implementation of that port for one provider. Import a specific
6
+ * adapter to register it:
5
7
  *
6
8
  * @example
7
9
  * ```ts
@@ -23,6 +25,7 @@
23
25
  *
24
26
  * @packageDocumentation
25
27
  */
28
+ export * from './provider.js';
26
29
  export * from './openai.js';
27
30
  export * from './anthropic.js';
28
31
  export * from './cloudflare.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/batch/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/batch/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA"}
@@ -1,7 +1,9 @@
1
1
  /**
2
2
  * Batch Adapters Index
3
3
  *
4
- * Import specific adapters to register them:
4
+ * The `BatchProvider` port lives in `./provider.js`. Each adapter file is a
5
+ * small implementation of that port for one provider. Import a specific
6
+ * adapter to register it:
5
7
  *
6
8
  * @example
7
9
  * ```ts
@@ -23,6 +25,7 @@
23
25
  *
24
26
  * @packageDocumentation
25
27
  */
28
+ export * from './provider.js';
26
29
  export * from './openai.js';
27
30
  export * from './anthropic.js';
28
31
  export * from './cloudflare.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/batch/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/batch/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA"}
@@ -6,7 +6,7 @@
6
6
  *
7
7
  * @packageDocumentation
8
8
  */
9
- import { type BatchAdapter, type BatchItem, type BatchQueueOptions, type BatchResult } from '../batch-queue.js';
9
+ import { type BatchAdapter, type BatchItem, type BatchQueueOptions, type BatchResult } from './provider.js';
10
10
  interface MemoryBatch {
11
11
  id: string;
12
12
  items: BatchItem[];
@@ -1 +1 @@
1
- {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/batch/memory.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,SAAS,EAEd,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAEjB,MAAM,mBAAmB,CAAA;AAO1B,UAAU,WAAW;IACnB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,SAAS,EAAE,CAAA;IAClB,OAAO,EAAE,iBAAiB,CAAA;IAC1B,MAAM,EAAE,SAAS,GAAG,aAAa,GAAG,WAAW,GAAG,QAAQ,CAAA;IAC1D,OAAO,EAAE,WAAW,EAAE,CAAA;IACtB,SAAS,EAAE,IAAI,CAAA;IACf,WAAW,CAAC,EAAE,IAAI,CAAA;CACnB;AASD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,yCAAyC;IACzC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IAC/C,kCAAkC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAID;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAE1E;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,IAAI,CAGnC;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAErD;AAMD,QAAA,MAAM,aAAa,EAAE,YAkFpB,CAAA;AAyFD,OAAO,EAAE,aAAa,EAAE,CAAA"}
1
+ {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/batch/memory.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,SAAS,EAEd,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAEjB,MAAM,eAAe,CAAA;AAOtB,UAAU,WAAW;IACnB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,SAAS,EAAE,CAAA;IAClB,OAAO,EAAE,iBAAiB,CAAA;IAC1B,MAAM,EAAE,SAAS,GAAG,aAAa,GAAG,WAAW,GAAG,QAAQ,CAAA;IAC1D,OAAO,EAAE,WAAW,EAAE,CAAA;IACtB,SAAS,EAAE,IAAI,CAAA;IACf,WAAW,CAAC,EAAE,IAAI,CAAA;CACnB;AASD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,yCAAyC;IACzC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IAC/C,kCAAkC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAID;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAE1E;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,IAAI,CAGnC;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAErD;AAMD,QAAA,MAAM,aAAa,EAAE,YAuFpB,CAAA;AAyFD,OAAO,EAAE,aAAa,EAAE,CAAA"}
@@ -6,7 +6,7 @@
6
6
  *
7
7
  * @packageDocumentation
8
8
  */
9
- import { registerBatchAdapter, } from '../batch-queue.js';
9
+ import { registerBatchAdapter, } from './provider.js';
10
10
  import { generateObject, generateText } from '../generate.js';
11
11
  // ============================================================================
12
12
  // Storage
@@ -58,7 +58,7 @@ const memoryAdapter = {
58
58
  completedItems: 0,
59
59
  failedItems: 0,
60
60
  createdAt: batch.createdAt,
61
- webhookUrl: options.webhookUrl,
61
+ ...(options.webhookUrl !== undefined && { webhookUrl: options.webhookUrl }),
62
62
  };
63
63
  return { job, completion };
64
64
  },
@@ -72,12 +72,16 @@ const memoryAdapter = {
72
72
  return {
73
73
  id: batch.id,
74
74
  provider: 'openai',
75
- status: batch.status === 'completed' ? 'completed' : batch.status === 'failed' ? 'failed' : 'in_progress',
75
+ status: batch.status === 'completed'
76
+ ? 'completed'
77
+ : batch.status === 'failed'
78
+ ? 'failed'
79
+ : 'in_progress',
76
80
  totalItems: batch.items.length,
77
81
  completedItems,
78
82
  failedItems,
79
83
  createdAt: batch.createdAt,
80
- completedAt: batch.completedAt,
84
+ ...(batch.completedAt && { completedAt: batch.completedAt }),
81
85
  };
82
86
  },
83
87
  async cancel(batchId) {
@@ -133,9 +137,9 @@ async function processMemoryBatch(batch) {
133
137
  model: batch.options.model || 'sonnet',
134
138
  schema: item.schema,
135
139
  prompt: item.prompt,
136
- system: item.options?.system,
137
- temperature: item.options?.temperature,
138
- maxTokens: item.options?.maxTokens,
140
+ ...(item.options?.system !== undefined && { system: item.options.system }),
141
+ ...(item.options?.temperature !== undefined && { temperature: item.options.temperature }),
142
+ ...(item.options?.maxTokens !== undefined && { maxTokens: item.options.maxTokens }),
139
143
  });
140
144
  result = response.object;
141
145
  }
@@ -144,9 +148,9 @@ async function processMemoryBatch(batch) {
144
148
  const response = await generateText({
145
149
  model: batch.options.model || 'sonnet',
146
150
  prompt: item.prompt,
147
- system: item.options?.system,
148
- temperature: item.options?.temperature,
149
- maxTokens: item.options?.maxTokens,
151
+ ...(item.options?.system !== undefined && { system: item.options.system }),
152
+ ...(item.options?.temperature !== undefined && { temperature: item.options.temperature }),
153
+ ...(item.options?.maxTokens !== undefined && { maxTokens: item.options.maxTokens }),
150
154
  });
151
155
  result = response.text;
152
156
  }
@@ -1 +1 @@
1
- {"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/batch/memory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/batch/memory.ts"],"names":[],"mappings":"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"}