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.
- package/.turbo/turbo-build.log +1 -1
- package/CHANGELOG.md +90 -1
- package/README.md +38 -0
- package/dist/ai-promise.d.ts +3 -3
- package/dist/ai-promise.d.ts.map +1 -1
- package/dist/ai-promise.js +135 -64
- package/dist/ai-promise.js.map +1 -1
- package/dist/ai-schemas.d.ts +56 -0
- package/dist/ai-schemas.d.ts.map +1 -0
- package/dist/ai-schemas.js +53 -0
- package/dist/ai-schemas.js.map +1 -0
- package/dist/ai.d.ts +16 -242
- package/dist/ai.d.ts.map +1 -1
- package/dist/ai.js +51 -858
- package/dist/ai.js.map +1 -1
- package/dist/batch/anthropic.d.ts +6 -4
- package/dist/batch/anthropic.d.ts.map +1 -1
- package/dist/batch/anthropic.js +83 -145
- package/dist/batch/anthropic.js.map +1 -1
- package/dist/batch/bedrock.d.ts +8 -30
- package/dist/batch/bedrock.d.ts.map +1 -1
- package/dist/batch/bedrock.js +155 -338
- package/dist/batch/bedrock.js.map +1 -1
- package/dist/batch/cloudflare.d.ts +8 -20
- package/dist/batch/cloudflare.d.ts.map +1 -1
- package/dist/batch/cloudflare.js +68 -189
- package/dist/batch/cloudflare.js.map +1 -1
- package/dist/batch/google.d.ts +6 -20
- package/dist/batch/google.d.ts.map +1 -1
- package/dist/batch/google.js +70 -238
- package/dist/batch/google.js.map +1 -1
- package/dist/batch/index.d.ts +4 -1
- package/dist/batch/index.d.ts.map +1 -1
- package/dist/batch/index.js +4 -1
- package/dist/batch/index.js.map +1 -1
- package/dist/batch/memory.d.ts +1 -1
- package/dist/batch/memory.d.ts.map +1 -1
- package/dist/batch/memory.js +14 -10
- package/dist/batch/memory.js.map +1 -1
- package/dist/batch/openai.d.ts +11 -14
- package/dist/batch/openai.d.ts.map +1 -1
- package/dist/batch/openai.js +52 -156
- package/dist/batch/openai.js.map +1 -1
- package/dist/batch/provider.d.ts +111 -0
- package/dist/batch/provider.d.ts.map +1 -0
- package/dist/batch/provider.js +233 -0
- package/dist/batch/provider.js.map +1 -0
- package/dist/batch-map.d.ts.map +1 -1
- package/dist/batch-map.js +23 -17
- package/dist/batch-map.js.map +1 -1
- package/dist/batch-queue.d.ts +65 -0
- package/dist/batch-queue.d.ts.map +1 -1
- package/dist/batch-queue.js +169 -14
- package/dist/batch-queue.js.map +1 -1
- package/dist/budget.d.ts.map +1 -1
- package/dist/budget.js +27 -14
- package/dist/budget.js.map +1 -1
- package/dist/cache.d.ts +23 -0
- package/dist/cache.d.ts.map +1 -1
- package/dist/cache.js +36 -15
- package/dist/cache.js.map +1 -1
- package/dist/context.d.ts +26 -8
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +64 -62
- package/dist/context.js.map +1 -1
- package/dist/digital-objects-registry.d.ts +229 -0
- package/dist/digital-objects-registry.d.ts.map +1 -0
- package/dist/digital-objects-registry.js +617 -0
- package/dist/digital-objects-registry.js.map +1 -0
- package/dist/embeddings.d.ts +2 -2
- package/dist/embeddings.d.ts.map +1 -1
- package/dist/errors.d.ts +22 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +35 -0
- package/dist/errors.js.map +1 -0
- package/dist/eval/runner.d.ts +8 -0
- package/dist/eval/runner.d.ts.map +1 -1
- package/dist/eval/runner.js +41 -35
- package/dist/eval/runner.js.map +1 -1
- package/dist/eval-log/in-memory.d.ts +34 -0
- package/dist/eval-log/in-memory.d.ts.map +1 -0
- package/dist/eval-log/in-memory.js +84 -0
- package/dist/eval-log/in-memory.js.map +1 -0
- package/dist/eval-log/index.d.ts +29 -0
- package/dist/eval-log/index.d.ts.map +1 -0
- package/dist/eval-log/index.js +39 -0
- package/dist/eval-log/index.js.map +1 -0
- package/dist/eval-log/types.d.ts +101 -0
- package/dist/eval-log/types.d.ts.map +1 -0
- package/dist/eval-log/types.js +16 -0
- package/dist/eval-log/types.js.map +1 -0
- package/dist/function-registry.d.ts +176 -0
- package/dist/function-registry.d.ts.map +1 -0
- package/dist/function-registry.js +685 -0
- package/dist/function-registry.js.map +1 -0
- package/dist/generate.d.ts +9 -3
- package/dist/generate.d.ts.map +1 -1
- package/dist/generate.js +18 -18
- package/dist/generate.js.map +1 -1
- package/dist/index.d.ts +18 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +35 -18
- package/dist/index.js.map +1 -1
- package/dist/logger.d.ts +118 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +187 -0
- package/dist/logger.js.map +1 -0
- package/dist/middleware/budget.d.ts +84 -0
- package/dist/middleware/budget.d.ts.map +1 -0
- package/dist/middleware/budget.js +110 -0
- package/dist/middleware/budget.js.map +1 -0
- package/dist/middleware/cache.d.ts +103 -0
- package/dist/middleware/cache.d.ts.map +1 -0
- package/dist/middleware/cache.js +228 -0
- package/dist/middleware/cache.js.map +1 -0
- package/dist/middleware/embed-cache.d.ts +99 -0
- package/dist/middleware/embed-cache.d.ts.map +1 -0
- package/dist/middleware/embed-cache.js +128 -0
- package/dist/middleware/embed-cache.js.map +1 -0
- package/dist/middleware/index.d.ts +11 -0
- package/dist/middleware/index.d.ts.map +1 -0
- package/dist/middleware/index.js +11 -0
- package/dist/middleware/index.js.map +1 -0
- package/dist/middleware/trace.d.ts +103 -0
- package/dist/middleware/trace.d.ts.map +1 -0
- package/dist/middleware/trace.js +176 -0
- package/dist/middleware/trace.js.map +1 -0
- package/dist/primitives.d.ts +120 -1
- package/dist/primitives.d.ts.map +1 -1
- package/dist/primitives.js +398 -26
- package/dist/primitives.js.map +1 -1
- package/dist/retry.d.ts +66 -1
- package/dist/retry.d.ts.map +1 -1
- package/dist/retry.js +115 -8
- package/dist/retry.js.map +1 -1
- package/dist/sandbox.d.ts +36 -0
- package/dist/sandbox.d.ts.map +1 -0
- package/dist/sandbox.js +44 -0
- package/dist/sandbox.js.map +1 -0
- package/dist/schema.js +2 -2
- package/dist/schema.js.map +1 -1
- package/dist/telemetry.d.ts +128 -0
- package/dist/telemetry.d.ts.map +1 -0
- package/dist/telemetry.js +285 -0
- package/dist/telemetry.js.map +1 -0
- package/dist/template.d.ts.map +1 -1
- package/dist/template.js +6 -1
- package/dist/template.js.map +1 -1
- package/dist/tool-orchestration.d.ts +66 -4
- package/dist/tool-orchestration.d.ts.map +1 -1
- package/dist/tool-orchestration.js +123 -23
- package/dist/tool-orchestration.js.map +1 -1
- package/dist/type-guards.d.ts +28 -0
- package/dist/type-guards.d.ts.map +1 -0
- package/dist/type-guards.js +29 -0
- package/dist/type-guards.js.map +1 -0
- package/dist/types.d.ts +155 -19
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +36 -1
- package/dist/types.js.map +1 -1
- package/dist/wrap-for-v3.d.ts +80 -0
- package/dist/wrap-for-v3.d.ts.map +1 -0
- package/dist/wrap-for-v3.js +89 -0
- package/dist/wrap-for-v3.js.map +1 -0
- package/examples/00-quickstart.ts +232 -0
- package/examples/01-rag-chatbot.ts +212 -0
- package/examples/02-multi-agent-research.ts +290 -0
- package/examples/03-email-classification.ts +379 -0
- package/examples/04-content-moderation.ts +400 -0
- package/examples/05-document-extraction.ts +455 -0
- package/examples/06-streaming-chat-nextjs.ts +437 -0
- package/examples/07-cloudflare-worker.ts +483 -0
- package/examples/08-batch-processing.ts +491 -0
- package/examples/09-budget-constrained.ts +527 -0
- package/examples/10-tool-orchestration.ts +565 -0
- package/examples/11-retry-resilience.ts +403 -0
- package/examples/12-caching-strategies.ts +422 -0
- package/examples/README.md +145 -0
- package/package.json +29 -25
- package/src/ai-promise.ts +226 -140
- package/src/ai-schemas.ts +122 -0
- package/src/ai.ts +71 -1176
- package/src/batch/anthropic.ts +96 -161
- package/src/batch/bedrock.ts +203 -454
- package/src/batch/cloudflare.ts +99 -282
- package/src/batch/google.ts +91 -297
- package/src/batch/index.ts +4 -1
- package/src/batch/memory.ts +15 -10
- package/src/batch/openai.ts +65 -193
- package/src/batch/provider.ts +336 -0
- package/src/batch-map.ts +29 -24
- package/src/batch-queue.ts +200 -11
- package/src/budget.ts +31 -18
- package/src/cache.ts +45 -17
- package/src/context.ts +106 -77
- package/src/digital-objects-registry.ts +750 -0
- package/src/errors.ts +37 -0
- package/src/eval/runner.ts +60 -36
- package/src/eval-log/in-memory.ts +90 -0
- package/src/eval-log/index.ts +46 -0
- package/src/eval-log/types.ts +110 -0
- package/src/function-registry.ts +874 -0
- package/src/generate.ts +33 -28
- package/src/index.ts +122 -21
- package/src/logger.ts +232 -0
- package/src/middleware/budget.ts +171 -0
- package/src/middleware/cache.ts +299 -0
- package/src/middleware/embed-cache.ts +195 -0
- package/src/middleware/index.ts +23 -0
- package/src/middleware/trace.ts +248 -0
- package/src/primitives.ts +589 -62
- package/src/retry.ts +144 -18
- package/src/sandbox.ts +52 -0
- package/src/schema.ts +8 -8
- package/src/telemetry.ts +403 -0
- package/src/template.ts +8 -4
- package/src/tool-orchestration.ts +213 -48
- package/src/type-guards.ts +31 -0
- package/src/types.ts +186 -27
- package/src/wrap-for-v3.ts +105 -0
- package/test/ai-promise.test.ts +1080 -0
- package/test/ai-proxy.test.ts +1 -1
- package/test/batch-autosubmit-errors.test.ts +49 -37
- package/test/batch-blog-posts.test.ts +87 -129
- package/test/core-functions.test.ts +183 -579
- package/test/decide.test.ts +154 -322
- package/test/define.test.ts +211 -8
- package/test/digital-objects-registry.test.ts +760 -0
- package/test/embedding-cache-middleware.test.ts +140 -0
- package/test/fill-template.test.ts +89 -0
- package/test/generate-core.test.ts +140 -229
- package/test/implicit-batch.test.ts +22 -65
- package/test/retry-policy-integration.test.ts +117 -0
- package/test/sandbox-execution.test.ts +155 -0
- package/test/schema.test.ts +55 -19
- package/test/template.test.ts +1164 -0
- package/test/tool-orchestration.test.ts +270 -0
- package/test/wrap-for-v3.test.ts +612 -0
- package/vitest.config.js +6 -0
- package/vitest.config.ts +20 -0
- package/LICENSE +0 -21
- package/dist/rpc/auth.d.ts +0 -69
- package/dist/rpc/auth.d.ts.map +0 -1
- package/dist/rpc/auth.js +0 -136
- package/dist/rpc/auth.js.map +0 -1
- package/dist/rpc/client.d.ts +0 -62
- package/dist/rpc/client.d.ts.map +0 -1
- package/dist/rpc/client.js +0 -103
- package/dist/rpc/client.js.map +0 -1
- package/dist/rpc/deferred.d.ts +0 -60
- package/dist/rpc/deferred.d.ts.map +0 -1
- package/dist/rpc/deferred.js +0 -96
- package/dist/rpc/deferred.js.map +0 -1
- package/dist/rpc/index.d.ts +0 -22
- package/dist/rpc/index.d.ts.map +0 -1
- package/dist/rpc/index.js +0 -38
- package/dist/rpc/index.js.map +0 -1
- package/dist/rpc/local.d.ts +0 -42
- package/dist/rpc/local.d.ts.map +0 -1
- package/dist/rpc/local.js +0 -50
- package/dist/rpc/local.js.map +0 -1
- package/dist/rpc/server.d.ts +0 -165
- package/dist/rpc/server.d.ts.map +0 -1
- package/dist/rpc/server.js +0 -405
- package/dist/rpc/server.js.map +0 -1
- package/dist/rpc/session.d.ts +0 -32
- package/dist/rpc/session.d.ts.map +0 -1
- package/dist/rpc/session.js +0 -43
- package/dist/rpc/session.js.map +0 -1
- package/dist/rpc/transport.d.ts +0 -306
- package/dist/rpc/transport.d.ts.map +0 -1
- package/dist/rpc/transport.js +0 -731
- package/dist/rpc/transport.js.map +0 -1
- package/src/batch/anthropic.js +0 -256
- package/src/batch/bedrock.js +0 -584
- package/src/batch/cloudflare.js +0 -287
- package/src/batch/google.js +0 -359
- package/src/batch/index.js +0 -30
- package/src/batch/memory.js +0 -187
- package/src/batch/openai.js +0 -402
- package/src/eval/index.js +0 -7
- package/src/eval/models.js +0 -119
- package/src/eval/runner.js +0 -147
- 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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
592
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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 -
|
|
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
|
-
*
|
|
237
|
-
*
|
|
238
|
-
*
|
|
239
|
-
*
|
|
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
|
-
*
|
|
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
|
-
/**
|
|
464
|
-
|
|
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
|
}
|