ai-functions 2.1.3 → 2.4.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 (284) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +90 -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 +176 -0
  93. package/dist/function-registry.d.ts.map +1 -0
  94. package/dist/function-registry.js +685 -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/sandbox.d.ts +36 -0
  137. package/dist/sandbox.d.ts.map +1 -0
  138. package/dist/sandbox.js +44 -0
  139. package/dist/sandbox.js.map +1 -0
  140. package/dist/schema.js +2 -2
  141. package/dist/schema.js.map +1 -1
  142. package/dist/telemetry.d.ts +128 -0
  143. package/dist/telemetry.d.ts.map +1 -0
  144. package/dist/telemetry.js +285 -0
  145. package/dist/telemetry.js.map +1 -0
  146. package/dist/template.d.ts.map +1 -1
  147. package/dist/template.js +6 -1
  148. package/dist/template.js.map +1 -1
  149. package/dist/tool-orchestration.d.ts +66 -4
  150. package/dist/tool-orchestration.d.ts.map +1 -1
  151. package/dist/tool-orchestration.js +123 -23
  152. package/dist/tool-orchestration.js.map +1 -1
  153. package/dist/type-guards.d.ts +28 -0
  154. package/dist/type-guards.d.ts.map +1 -0
  155. package/dist/type-guards.js +29 -0
  156. package/dist/type-guards.js.map +1 -0
  157. package/dist/types.d.ts +155 -19
  158. package/dist/types.d.ts.map +1 -1
  159. package/dist/types.js +36 -1
  160. package/dist/types.js.map +1 -1
  161. package/dist/wrap-for-v3.d.ts +80 -0
  162. package/dist/wrap-for-v3.d.ts.map +1 -0
  163. package/dist/wrap-for-v3.js +89 -0
  164. package/dist/wrap-for-v3.js.map +1 -0
  165. package/examples/00-quickstart.ts +232 -0
  166. package/examples/01-rag-chatbot.ts +212 -0
  167. package/examples/02-multi-agent-research.ts +290 -0
  168. package/examples/03-email-classification.ts +379 -0
  169. package/examples/04-content-moderation.ts +400 -0
  170. package/examples/05-document-extraction.ts +455 -0
  171. package/examples/06-streaming-chat-nextjs.ts +437 -0
  172. package/examples/07-cloudflare-worker.ts +483 -0
  173. package/examples/08-batch-processing.ts +491 -0
  174. package/examples/09-budget-constrained.ts +527 -0
  175. package/examples/10-tool-orchestration.ts +565 -0
  176. package/examples/11-retry-resilience.ts +403 -0
  177. package/examples/12-caching-strategies.ts +422 -0
  178. package/examples/README.md +145 -0
  179. package/package.json +29 -25
  180. package/src/ai-promise.ts +226 -140
  181. package/src/ai-schemas.ts +122 -0
  182. package/src/ai.ts +71 -1176
  183. package/src/batch/anthropic.ts +96 -161
  184. package/src/batch/bedrock.ts +203 -454
  185. package/src/batch/cloudflare.ts +99 -282
  186. package/src/batch/google.ts +91 -297
  187. package/src/batch/index.ts +4 -1
  188. package/src/batch/memory.ts +15 -10
  189. package/src/batch/openai.ts +65 -193
  190. package/src/batch/provider.ts +336 -0
  191. package/src/batch-map.ts +29 -24
  192. package/src/batch-queue.ts +200 -11
  193. package/src/budget.ts +31 -18
  194. package/src/cache.ts +45 -17
  195. package/src/context.ts +106 -77
  196. package/src/digital-objects-registry.ts +750 -0
  197. package/src/errors.ts +37 -0
  198. package/src/eval/runner.ts +60 -36
  199. package/src/eval-log/in-memory.ts +90 -0
  200. package/src/eval-log/index.ts +46 -0
  201. package/src/eval-log/types.ts +110 -0
  202. package/src/function-registry.ts +874 -0
  203. package/src/generate.ts +33 -28
  204. package/src/index.ts +122 -21
  205. package/src/logger.ts +232 -0
  206. package/src/middleware/budget.ts +171 -0
  207. package/src/middleware/cache.ts +299 -0
  208. package/src/middleware/embed-cache.ts +195 -0
  209. package/src/middleware/index.ts +23 -0
  210. package/src/middleware/trace.ts +248 -0
  211. package/src/primitives.ts +589 -62
  212. package/src/retry.ts +144 -18
  213. package/src/sandbox.ts +52 -0
  214. package/src/schema.ts +8 -8
  215. package/src/telemetry.ts +403 -0
  216. package/src/template.ts +8 -4
  217. package/src/tool-orchestration.ts +213 -48
  218. package/src/type-guards.ts +31 -0
  219. package/src/types.ts +186 -27
  220. package/src/wrap-for-v3.ts +105 -0
  221. package/test/ai-promise.test.ts +1080 -0
  222. package/test/ai-proxy.test.ts +1 -1
  223. package/test/batch-autosubmit-errors.test.ts +49 -37
  224. package/test/batch-blog-posts.test.ts +87 -129
  225. package/test/core-functions.test.ts +183 -579
  226. package/test/decide.test.ts +154 -322
  227. package/test/define.test.ts +211 -8
  228. package/test/digital-objects-registry.test.ts +760 -0
  229. package/test/embedding-cache-middleware.test.ts +140 -0
  230. package/test/fill-template.test.ts +89 -0
  231. package/test/generate-core.test.ts +140 -229
  232. package/test/implicit-batch.test.ts +22 -65
  233. package/test/retry-policy-integration.test.ts +117 -0
  234. package/test/sandbox-execution.test.ts +155 -0
  235. package/test/schema.test.ts +55 -19
  236. package/test/template.test.ts +1164 -0
  237. package/test/tool-orchestration.test.ts +270 -0
  238. package/test/wrap-for-v3.test.ts +612 -0
  239. package/vitest.config.js +6 -0
  240. package/vitest.config.ts +20 -0
  241. package/LICENSE +0 -21
  242. package/dist/rpc/auth.d.ts +0 -69
  243. package/dist/rpc/auth.d.ts.map +0 -1
  244. package/dist/rpc/auth.js +0 -136
  245. package/dist/rpc/auth.js.map +0 -1
  246. package/dist/rpc/client.d.ts +0 -62
  247. package/dist/rpc/client.d.ts.map +0 -1
  248. package/dist/rpc/client.js +0 -103
  249. package/dist/rpc/client.js.map +0 -1
  250. package/dist/rpc/deferred.d.ts +0 -60
  251. package/dist/rpc/deferred.d.ts.map +0 -1
  252. package/dist/rpc/deferred.js +0 -96
  253. package/dist/rpc/deferred.js.map +0 -1
  254. package/dist/rpc/index.d.ts +0 -22
  255. package/dist/rpc/index.d.ts.map +0 -1
  256. package/dist/rpc/index.js +0 -38
  257. package/dist/rpc/index.js.map +0 -1
  258. package/dist/rpc/local.d.ts +0 -42
  259. package/dist/rpc/local.d.ts.map +0 -1
  260. package/dist/rpc/local.js +0 -50
  261. package/dist/rpc/local.js.map +0 -1
  262. package/dist/rpc/server.d.ts +0 -165
  263. package/dist/rpc/server.d.ts.map +0 -1
  264. package/dist/rpc/server.js +0 -405
  265. package/dist/rpc/server.js.map +0 -1
  266. package/dist/rpc/session.d.ts +0 -32
  267. package/dist/rpc/session.d.ts.map +0 -1
  268. package/dist/rpc/session.js +0 -43
  269. package/dist/rpc/session.js.map +0 -1
  270. package/dist/rpc/transport.d.ts +0 -306
  271. package/dist/rpc/transport.d.ts.map +0 -1
  272. package/dist/rpc/transport.js +0 -731
  273. package/dist/rpc/transport.js.map +0 -1
  274. package/src/batch/anthropic.js +0 -256
  275. package/src/batch/bedrock.js +0 -584
  276. package/src/batch/cloudflare.js +0 -287
  277. package/src/batch/google.js +0 -359
  278. package/src/batch/index.js +0 -30
  279. package/src/batch/memory.js +0 -187
  280. package/src/batch/openai.js +0 -402
  281. package/src/eval/index.js +0 -7
  282. package/src/eval/models.js +0 -119
  283. package/src/eval/runner.js +0 -147
  284. package/test/schema.test.js +0 -96
@@ -47,7 +47,7 @@ export class ToolValidator {
47
47
  if (error instanceof z.ZodError) {
48
48
  return {
49
49
  valid: false,
50
- errors: error.errors.map(e => `${e.path.join('.')}: ${e.message}`),
50
+ errors: error.errors.map((e) => `${e.path.join('.')}: ${e.message}`),
51
51
  };
52
52
  }
53
53
  return {
@@ -60,7 +60,7 @@ export class ToolValidator {
60
60
  * Validate multiple tool calls at once
61
61
  */
62
62
  validateAll(calls) {
63
- return calls.map(call => this.validate(call.name, call.arguments));
63
+ return calls.map((call) => this.validate(call.name, call.arguments));
64
64
  }
65
65
  }
66
66
  // ============================================================================
@@ -68,6 +68,13 @@ export class ToolValidator {
68
68
  // ============================================================================
69
69
  /**
70
70
  * Routes tool calls to registered handlers
71
+ *
72
+ * @deprecated Phase C Week 2 — `ToolRouter` has zero production callers in
73
+ * primitives.org.ai (audited 2026-05-06; see `bd show aip-ibid`). Only the
74
+ * `ai-primitives` umbrella re-export tests reference it. AI SDK 6's native
75
+ * tool-routing under `generateText({ tools })` and `Agent` / `ToolLoopAgent`
76
+ * cover the same surface. Will be removed in the Phase C semver bump
77
+ * alongside `AgenticLoop` and `createAgenticLoop`.
71
78
  */
72
79
  export class ToolRouter {
73
80
  tools = new Map();
@@ -129,7 +136,7 @@ export class ToolRouter {
129
136
  * Route multiple tool calls in parallel
130
137
  */
131
138
  async routeAllParallel(calls) {
132
- return Promise.all(calls.map(call => this.route(call)));
139
+ return Promise.all(calls.map((call) => this.route(call)));
133
140
  }
134
141
  /**
135
142
  * Format a tool result for model consumption
@@ -139,13 +146,13 @@ export class ToolRouter {
139
146
  return {
140
147
  role: 'tool',
141
148
  content: JSON.stringify(result.result),
142
- tool_call_id: result.toolCall?.id,
149
+ ...(result.toolCall?.id !== undefined && { tool_call_id: result.toolCall.id }),
143
150
  };
144
151
  }
145
152
  return {
146
153
  role: 'tool',
147
154
  content: JSON.stringify({ error: result.error }),
148
- tool_call_id: result.toolCall?.id,
155
+ ...(result.toolCall?.id !== undefined && { tool_call_id: result.toolCall.id }),
149
156
  isError: true,
150
157
  };
151
158
  }
@@ -155,6 +162,15 @@ export class ToolRouter {
155
162
  // ============================================================================
156
163
  /**
157
164
  * Orchestrates multi-turn model→tools→model loops
165
+ *
166
+ * @deprecated Phase C Week 2 — `AgenticLoop` has zero production callers in
167
+ * primitives.org.ai (audited 2026-05-06; see `bd show aip-ibid`). Only the
168
+ * `ai-primitives` umbrella re-export tests reference it. The production
169
+ * cascade walker (`services-as-software/v3/invoke/cascade-walker.ts:178`)
170
+ * already uses AI SDK 6's `generateText({ tools, maxSteps: 10 })` directly
171
+ * for agentic steps — no consumer code paths through this class. AI SDK 6's
172
+ * `Agent` / `ToolLoopAgent` (`stopWhen: stepCountIs(N)`) are the going-
173
+ * forward primitives. Will be removed in the Phase C semver bump.
158
174
  */
159
175
  export class AgenticLoop {
160
176
  options;
@@ -247,7 +263,7 @@ export class AgenticLoop {
247
263
  return {
248
264
  name: call.name,
249
265
  arguments: call.arguments,
250
- error: lastError,
266
+ ...(lastError !== undefined && { error: lastError }),
251
267
  retryCount: retryCount > 0 ? retryCount - 1 : 0,
252
268
  };
253
269
  }
@@ -271,7 +287,7 @@ export class AgenticLoop {
271
287
  chunks.push(calls.slice(i, i + maxParallelCalls));
272
288
  }
273
289
  for (const chunk of chunks) {
274
- const chunkResults = await Promise.all(chunk.map(call => this.executeToolCall(call, abortSignal)));
290
+ const chunkResults = await Promise.all(chunk.map((call) => this.executeToolCall(call, abortSignal)));
275
291
  results.push(...chunkResults);
276
292
  }
277
293
  return results;
@@ -317,7 +333,9 @@ export class AgenticLoop {
317
333
  let steps = 0;
318
334
  let stopReason = 'stop';
319
335
  let finalText = '';
320
- let totalUsage = trackUsage ? { promptTokens: 0, completionTokens: 0, totalTokens: 0 } : undefined;
336
+ let totalUsage = trackUsage
337
+ ? { promptTokens: 0, completionTokens: 0, totalTokens: 0 }
338
+ : undefined;
321
339
  try {
322
340
  while (steps < maxSteps) {
323
341
  // Check abort signal
@@ -355,7 +373,7 @@ export class AgenticLoop {
355
373
  // Execute tool calls
356
374
  const toolResults = await this.executeToolCalls(response.toolCalls, abortSignal);
357
375
  // Check for errors
358
- const hasErrors = toolResults.some(r => r.error);
376
+ const hasErrors = toolResults.some((r) => r.error);
359
377
  if (hasErrors && !continueOnError) {
360
378
  // Still record the results but note the errors
361
379
  }
@@ -387,8 +405,8 @@ export class AgenticLoop {
387
405
  stepNumber: steps,
388
406
  toolCalls: response.toolCalls.map((tc, i) => ({
389
407
  ...tc,
390
- result: toolResults[i]?.result,
391
- error: toolResults[i]?.error,
408
+ ...(toolResults[i]?.result !== undefined && { result: toolResults[i]?.result }),
409
+ ...(toolResults[i]?.error !== undefined && { error: toolResults[i]?.error }),
392
410
  })),
393
411
  response,
394
412
  messages: [...messages],
@@ -426,7 +444,7 @@ export class AgenticLoop {
426
444
  toolCalls: allToolCalls,
427
445
  toolResults: allToolResults,
428
446
  stopReason,
429
- usage: totalUsage,
447
+ ...(totalUsage !== undefined && { usage: totalUsage }),
430
448
  messages,
431
449
  };
432
450
  }
@@ -444,7 +462,9 @@ export class AgenticLoop {
444
462
  let steps = 0;
445
463
  let stopReason = 'stop';
446
464
  let finalText = '';
447
- let totalUsage = trackUsage ? { promptTokens: 0, completionTokens: 0, totalTokens: 0 } : undefined;
465
+ let totalUsage = trackUsage
466
+ ? { promptTokens: 0, completionTokens: 0, totalTokens: 0 }
467
+ : undefined;
448
468
  yield { type: 'start', prompt, timestamp: Date.now() };
449
469
  try {
450
470
  while (steps < maxSteps) {
@@ -483,8 +503,8 @@ export class AgenticLoop {
483
503
  yield {
484
504
  type: 'tool_result',
485
505
  toolName: result.name,
486
- result: result.result,
487
- error: result.error,
506
+ ...(result.result !== undefined && { result: result.result }),
507
+ ...(result.error !== undefined && { error: result.error }),
488
508
  stepNumber: steps,
489
509
  timestamp: Date.now(),
490
510
  };
@@ -535,7 +555,7 @@ export class AgenticLoop {
535
555
  toolCalls: allToolCalls,
536
556
  toolResults: allToolResults,
537
557
  stopReason,
538
- usage: totalUsage,
558
+ ...(totalUsage !== undefined && { usage: totalUsage }),
539
559
  messages,
540
560
  };
541
561
  }
@@ -568,9 +588,7 @@ export function wrapTool(tool, middleware) {
568
588
  ...tool,
569
589
  execute: async (params) => {
570
590
  try {
571
- const modifiedParams = middleware.before
572
- ? await middleware.before(params)
573
- : params;
591
+ const modifiedParams = middleware.before ? await middleware.before(params) : params;
574
592
  const result = await tool.execute(modifiedParams);
575
593
  return middleware.after ? await middleware.after(result) : result;
576
594
  }
@@ -585,23 +603,99 @@ export function wrapTool(tool, middleware) {
585
603
  }
586
604
  /**
587
605
  * Create a tool with caching support
606
+ *
607
+ * Features:
608
+ * - TTL-based expiration
609
+ * - Optional periodic cleanup of expired entries (prevents memory leaks)
610
+ * - Optional max size with LRU eviction
611
+ * - Manual cache control (clear, destroy)
588
612
  */
589
613
  export function cachedTool(tool, options = {}) {
614
+ const { ttl = 60000, keyFn = JSON.stringify, cleanupIntervalMs = 0, maxSize = 0 } = options;
590
615
  const cache = new Map();
591
- const { ttl = 60000, keyFn = JSON.stringify } = options;
592
- return {
616
+ let cleanupTimer = null;
617
+ let destroyed = false;
618
+ // Cleanup function to remove expired entries
619
+ const cleanupExpired = () => {
620
+ const now = Date.now();
621
+ for (const [key, entry] of cache) {
622
+ if (entry.expires <= now) {
623
+ cache.delete(key);
624
+ }
625
+ }
626
+ };
627
+ // Start periodic cleanup if configured
628
+ if (cleanupIntervalMs > 0) {
629
+ cleanupTimer = setInterval(cleanupExpired, cleanupIntervalMs);
630
+ // Unref the timer so it doesn't keep the process alive (Node.js)
631
+ if (typeof cleanupTimer === 'object' && 'unref' in cleanupTimer) {
632
+ cleanupTimer.unref();
633
+ }
634
+ }
635
+ // Evict oldest entries based on lastAccessed (LRU)
636
+ const evictOldest = () => {
637
+ if (maxSize <= 0 || cache.size < maxSize)
638
+ return;
639
+ // Find the entry with oldest lastAccessed
640
+ let oldestKey = null;
641
+ let oldestTime = Infinity;
642
+ for (const [key, entry] of cache) {
643
+ if (entry.lastAccessed < oldestTime) {
644
+ oldestTime = entry.lastAccessed;
645
+ oldestKey = key;
646
+ }
647
+ }
648
+ if (oldestKey) {
649
+ cache.delete(oldestKey);
650
+ }
651
+ };
652
+ const cachedToolInstance = {
593
653
  ...tool,
594
654
  execute: async (params) => {
655
+ if (destroyed) {
656
+ // If destroyed, just execute without caching
657
+ return tool.execute(params);
658
+ }
595
659
  const key = keyFn(params);
596
660
  const cached = cache.get(key);
597
- if (cached && cached.expires > Date.now()) {
661
+ const now = Date.now();
662
+ if (cached && cached.expires > now) {
663
+ // Cache hit - update last accessed time for LRU
664
+ cached.lastAccessed = now;
598
665
  return cached.value;
599
666
  }
667
+ // Cache miss or expired - remove expired entry if present
668
+ if (cached) {
669
+ cache.delete(key);
670
+ }
600
671
  const result = await tool.execute(params);
601
- cache.set(key, { value: result, expires: Date.now() + ttl });
672
+ // Evict oldest if we're at max size
673
+ if (maxSize > 0 && cache.size >= maxSize) {
674
+ evictOldest();
675
+ }
676
+ cache.set(key, {
677
+ value: result,
678
+ expires: now + ttl,
679
+ lastAccessed: now,
680
+ });
602
681
  return result;
603
682
  },
683
+ cacheSize() {
684
+ return cache.size;
685
+ },
686
+ clearCache() {
687
+ cache.clear();
688
+ },
689
+ destroy() {
690
+ destroyed = true;
691
+ if (cleanupTimer !== null) {
692
+ clearInterval(cleanupTimer);
693
+ cleanupTimer = null;
694
+ }
695
+ cache.clear();
696
+ },
604
697
  };
698
+ return cachedToolInstance;
605
699
  }
606
700
  /**
607
701
  * Create a tool with rate limiting
@@ -649,6 +743,12 @@ export function timeoutTool(tool, timeoutMs) {
649
743
  }
650
744
  /**
651
745
  * Create an agentic loop with sensible defaults
746
+ *
747
+ * @deprecated Phase C Week 2 — `createAgenticLoop` has zero production
748
+ * callers in primitives.org.ai (only `ai-primitives` umbrella re-export
749
+ * tests). Use AI SDK 6's `Agent` / `ToolLoopAgent` with
750
+ * `stopWhen: stepCountIs(N)` instead. Will be removed alongside
751
+ * `AgenticLoop` in the Phase C semver bump. See `bd show aip-ibid`.
652
752
  */
653
753
  export function createAgenticLoop(options) {
654
754
  return new AgenticLoop({
@@ -1 +1 @@
1
- {"version":3,"file":"tool-orchestration.js","sourceRoot":"","sources":["../src/tool-orchestration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-orchestration.js","sourceRoot":"","sources":["../src/tool-orchestration.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Type Guards for AI Functions
3
+ *
4
+ * Shared type guard utilities used across AI packages.
5
+ *
6
+ * @packageDocumentation
7
+ */
8
+ import type { ZodTypeAny } from 'zod';
9
+ /**
10
+ * Check if value is a Zod schema
11
+ *
12
+ * Uses duck-typing to detect Zod schemas by checking for the
13
+ * `_def` property (internal Zod schema definition) and `parse` method.
14
+ *
15
+ * @example
16
+ * ```ts
17
+ * import { isZodSchema } from 'ai-functions'
18
+ * import { z } from 'zod'
19
+ *
20
+ * const schema = z.object({ name: z.string() })
21
+ * if (isZodSchema(schema)) {
22
+ * // TypeScript knows schema is ZodTypeAny
23
+ * schema.parse({ name: 'test' })
24
+ * }
25
+ * ```
26
+ */
27
+ export declare function isZodSchema(value: unknown): value is ZodTypeAny;
28
+ //# sourceMappingURL=type-guards.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-guards.d.ts","sourceRoot":"","sources":["../src/type-guards.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAErC;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAE/D"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Type Guards for AI Functions
3
+ *
4
+ * Shared type guard utilities used across AI packages.
5
+ *
6
+ * @packageDocumentation
7
+ */
8
+ /**
9
+ * Check if value is a Zod schema
10
+ *
11
+ * Uses duck-typing to detect Zod schemas by checking for the
12
+ * `_def` property (internal Zod schema definition) and `parse` method.
13
+ *
14
+ * @example
15
+ * ```ts
16
+ * import { isZodSchema } from 'ai-functions'
17
+ * import { z } from 'zod'
18
+ *
19
+ * const schema = z.object({ name: z.string() })
20
+ * if (isZodSchema(schema)) {
21
+ * // TypeScript knows schema is ZodTypeAny
22
+ * schema.parse({ name: 'test' })
23
+ * }
24
+ * ```
25
+ */
26
+ export function isZodSchema(value) {
27
+ return value !== null && typeof value === 'object' && '_def' in value && 'parse' in value;
28
+ }
29
+ //# sourceMappingURL=type-guards.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-guards.js","sourceRoot":"","sources":["../src/type-guards.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK,IAAI,OAAO,IAAI,KAAK,CAAA;AAC3F,CAAC"}
package/dist/types.d.ts CHANGED
@@ -1,6 +1,86 @@
1
1
  /**
2
2
  * Core types for AI functions
3
3
  */
4
+ import type { SandboxEnv } from 'ai-evaluate';
5
+ /**
6
+ * Host Workers environment for the ai-evaluate sandbox.
7
+ *
8
+ * Re-exported from ai-evaluate so consumers can type the optional `env`
9
+ * argument threaded through `DefinedFunction.call` / `generateAndRunCode`
10
+ * without importing ai-evaluate directly.
11
+ */
12
+ export type { SandboxEnv } from 'ai-evaluate';
13
+ /**
14
+ * Symbol used to identify pending human function results
15
+ */
16
+ export declare const PENDING_HUMAN_RESULT_SYMBOL: unique symbol;
17
+ /**
18
+ * Human interaction channels
19
+ *
20
+ * - chat: Real-time messaging (WebSocket, in-app)
21
+ * - email: Async email communication
22
+ * - phone: Voice calls
23
+ * - sms: SMS text messages
24
+ * - workspace: Team collaboration platforms (Slack, Teams, Discord)
25
+ * - web: Web-based interface (browser, web app)
26
+ */
27
+ export type HumanChannel = 'chat' | 'email' | 'phone' | 'sms' | 'workspace' | 'web';
28
+ /**
29
+ * Pending human function result returned when human input is not yet available.
30
+ *
31
+ * This is returned by human functions that need actual human input but are running
32
+ * in a placeholder mode (e.g., during testing or when channel integrations are not configured).
33
+ *
34
+ * Use `isPendingHumanResult()` to check if a result is pending before using it.
35
+ *
36
+ * @example
37
+ * ```ts
38
+ * const result = await approveRefund({ amount: 500, reason: 'Duplicate charge' })
39
+ *
40
+ * if (isPendingHumanResult(result)) {
41
+ * console.log('Waiting for human approval via:', result.channel)
42
+ * // Handle pending state - queue for later, show UI, etc.
43
+ * } else {
44
+ * // result is the actual TOutput type
45
+ * console.log('Approved:', result.approved)
46
+ * }
47
+ * ```
48
+ */
49
+ export interface HumanFunctionPending<TExpected = unknown> {
50
+ /** Symbol marker for type identification */
51
+ readonly [PENDING_HUMAN_RESULT_SYMBOL]: true;
52
+ /** Indicates this is a pending placeholder, not actual human response */
53
+ readonly _pending: true;
54
+ /** The channel where human input was requested */
55
+ readonly channel: HumanChannel;
56
+ /** Generated UI/content artifacts for the channel */
57
+ readonly artifacts: unknown;
58
+ /** The expected response type schema */
59
+ readonly expectedResponseType: TExpected;
60
+ }
61
+ /**
62
+ * Type guard to check if a result is a pending human function result.
63
+ *
64
+ * Use this to safely handle cases where human input is not yet available.
65
+ *
66
+ * @param value - The value to check
67
+ * @returns True if the value is a HumanFunctionPending object
68
+ *
69
+ * @example
70
+ * ```ts
71
+ * const result = await reviewDocument({ docId: '123' })
72
+ *
73
+ * if (isPendingHumanResult(result)) {
74
+ * // result is HumanFunctionPending - human input needed
75
+ * console.warn('Human review pending:', result.channel)
76
+ * return { status: 'pending', channel: result.channel }
77
+ * }
78
+ *
79
+ * // result is ReviewResult - actual human response
80
+ * return { status: 'reviewed', approved: result.approved }
81
+ * ```
82
+ */
83
+ export declare function isPendingHumanResult<T>(value: T | HumanFunctionPending): value is HumanFunctionPending;
4
84
  /**
5
85
  * A function definition that can be called by AI
6
86
  *
@@ -172,17 +252,6 @@ export type CodeLanguage = 'typescript' | 'javascript' | 'python' | 'go' | 'rust
172
252
  * Output types for generative functions
173
253
  */
174
254
  export type GenerativeOutputType = 'string' | 'object' | 'image' | 'video';
175
- /**
176
- * Human interaction channels
177
- *
178
- * - chat: Real-time messaging (WebSocket, in-app)
179
- * - email: Async email communication
180
- * - phone: Voice calls
181
- * - sms: SMS text messages
182
- * - workspace: Team collaboration platforms (Slack, Teams, Discord)
183
- * - web: Web-based interface (browser, web app)
184
- */
185
- export type HumanChannel = 'chat' | 'email' | 'phone' | 'sms' | 'workspace' | 'web';
186
255
  /**
187
256
  * Legacy channel type for backwards compatibility
188
257
  * @deprecated Use HumanChannel instead
@@ -231,12 +300,24 @@ export interface BaseFunctionDefinition<TOutput = unknown, TInput = unknown> {
231
300
  returnType?: TOutput;
232
301
  }
233
302
  /**
234
- * Code function - generates actual executable code
303
+ * Code function - a **deterministic** handler.
304
+ *
305
+ * `Code` is the deterministic kind: a fetch/transform/rule handler that runs
306
+ * the **same logic every time** with no model in the execution path. When
307
+ * called, it invokes the supplied {@link CodeFunctionDefinition.handler}
308
+ * (or evaluates the inline {@link CodeFunctionDefinition.code} body) and
309
+ * returns the result directly — no LLM is consulted at call time.
310
+ *
311
+ * This is the contract consumers bind to (e.g. ADR-0033's
312
+ * "Code = deterministic"). If you want a model to *author* code, that is a
313
+ * generation task: use {@link generateCode} / the `generate('code', …)`
314
+ * primitive, or define a `Generative` function whose output is source text.
315
+ * See the migration note in the package README.
235
316
  *
236
- * When called, this generates:
237
- * - Implementation code with JSDoc comments
238
- * - Vitest test cases
239
- * - Example usage scripts
317
+ * Exactly one of `handler` or `code` should be supplied. `handler` is the
318
+ * canonical form (a native function reference); `code` is an inline source
319
+ * body, deterministically compiled by the consumer's runtime — never sent to
320
+ * a model.
240
321
  *
241
322
  * @example
242
323
  * ```ts
@@ -248,7 +329,7 @@ export interface BaseFunctionDefinition<TOutput = unknown, TInput = unknown> {
248
329
  * rate: 'Tax rate as decimal (number)',
249
330
  * },
250
331
  * returnType: 'The calculated tax amount (number)',
251
- * language: 'typescript',
332
+ * handler: ({ amount, rate }) => amount * rate,
252
333
  * })
253
334
  * ```
254
335
  *
@@ -257,6 +338,50 @@ export interface BaseFunctionDefinition<TOutput = unknown, TInput = unknown> {
257
338
  */
258
339
  export interface CodeFunctionDefinition<TOutput = unknown, TInput = unknown> extends BaseFunctionDefinition<TOutput, TInput> {
259
340
  type: 'code';
341
+ /**
342
+ * The deterministic handler invoked on every call. Receives the parsed
343
+ * `args` and returns (or resolves to) the result. No LLM is involved.
344
+ *
345
+ * Either `handler` or {@link CodeFunctionDefinition.code} must be provided;
346
+ * `handler` takes precedence when both are present.
347
+ */
348
+ handler?: (input: TInput) => TOutput | Promise<TOutput>;
349
+ /**
350
+ * Inline source body for the handler, as a string. Deterministically
351
+ * compiled by the consumer's runtime (it is **not** generated by a model).
352
+ * Used when a handler cannot be passed by reference (e.g. a definition
353
+ * loaded from storage). The body receives the `args` in scope and should
354
+ * `return` the result.
355
+ *
356
+ * Either `code` or {@link CodeFunctionDefinition.handler} must be provided.
357
+ */
358
+ code?: string;
359
+ /** Target programming language of `code` (default: `'typescript'`). Metadata only. */
360
+ language?: CodeLanguage;
361
+ /** Optional human-readable note about what the handler does. Metadata only. */
362
+ instructions?: string;
363
+ }
364
+ /**
365
+ * Definition for a code-**authoring** request — the explicit, opt-in path for
366
+ * having a model *write* code. This is the behavior `type: 'code'` used to
367
+ * have implicitly; it has been split out so that `Code` can mean
368
+ * "deterministic handler" without a silent change of meaning.
369
+ *
370
+ * This is **not** part of the {@link FunctionDefinition} union and never
371
+ * executes deterministically — calling it consults a model. Drive it via
372
+ * {@link generateCode}.
373
+ *
374
+ * @typeParam TInput - The arguments schema describing the code to author
375
+ */
376
+ export interface CodeGenerationDefinition<TInput = unknown> {
377
+ /** Name of the function/query to author */
378
+ name: string;
379
+ /** Human-readable description of what the code should do */
380
+ description?: string;
381
+ /** Arguments/spec schema describing the code to generate */
382
+ args: TInput;
383
+ /** Return type schema the authored code should produce (optional) */
384
+ returnType?: unknown;
260
385
  /** Target programming language */
261
386
  language?: CodeLanguage;
262
387
  /** Additional context or requirements for code generation */
@@ -265,6 +390,8 @@ export interface CodeFunctionDefinition<TOutput = unknown, TInput = unknown> ext
265
390
  includeTests?: boolean;
266
391
  /** Whether to include example usage (default: true) */
267
392
  includeExamples?: boolean;
393
+ /** Model to use for authoring (defaults to 'sonnet') */
394
+ model?: string;
268
395
  }
269
396
  /**
270
397
  * Code function result with generated artifacts
@@ -460,8 +587,17 @@ export type FunctionDefinition<TOutput = unknown, TInput = unknown> = CodeFuncti
460
587
  export interface DefinedFunction<TOutput = unknown, TInput = unknown> {
461
588
  /** The original definition */
462
589
  definition: FunctionDefinition<TOutput, TInput>;
463
- /** Call the function */
464
- call: (args: TInput) => Promise<TOutput>;
590
+ /**
591
+ * Call the function.
592
+ *
593
+ * @param args - The function arguments.
594
+ * @param env - Optional host Workers env (carrying a `LOADER` worker-loader
595
+ * binding, and `TEST` for the test path) used by `type: 'code'` functions
596
+ * to run inline `code` bodies in ai-evaluate's sandbox. When omitted, the
597
+ * inline-code path falls back to the Miniflare-backed Node runtime. Has no
598
+ * effect on `handler`-based code functions or other function types.
599
+ */
600
+ call: (args: TInput, env?: SandboxEnv) => Promise<TOutput>;
465
601
  /** Get the function as a tool definition for AI */
466
602
  asTool: () => AIFunctionDefinition<TOutput, TInput>;
467
603
  }