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
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenTelemetry Integration for ai-functions
|
|
3
|
+
*
|
|
4
|
+
* Provides instrumented wrappers and telemetry utilities for AI function calls.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```ts
|
|
8
|
+
* import { withTelemetry, instrumentGenerate } from 'ai-functions/telemetry'
|
|
9
|
+
*
|
|
10
|
+
* // Enable telemetry globally
|
|
11
|
+
* withTelemetry({ provider: createConsoleTelemetryProvider() }, async () => {
|
|
12
|
+
* const text = await generate('Explain quantum computing')
|
|
13
|
+
* })
|
|
14
|
+
*
|
|
15
|
+
* // Or instrument individual functions
|
|
16
|
+
* const traced = instrumentGenerate(generate)
|
|
17
|
+
* const text = await traced('Explain quantum computing')
|
|
18
|
+
* ```
|
|
19
|
+
*
|
|
20
|
+
* @packageDocumentation
|
|
21
|
+
*/
|
|
22
|
+
import { type Tracer, type Meter, type Logger, type Span, type SpanAttributes, type TelemetryProvider, type Counter, type Histogram } from '@org.ai/types';
|
|
23
|
+
/**
|
|
24
|
+
* Get the tracer for ai-functions
|
|
25
|
+
*/
|
|
26
|
+
export declare function getFunctionsTracer(): Tracer;
|
|
27
|
+
/**
|
|
28
|
+
* Get the meter for ai-functions
|
|
29
|
+
*/
|
|
30
|
+
export declare function getFunctionsMeter(): Meter;
|
|
31
|
+
/**
|
|
32
|
+
* Get the logger for ai-functions
|
|
33
|
+
*/
|
|
34
|
+
export declare function getFunctionsLogger(): Logger;
|
|
35
|
+
/**
|
|
36
|
+
* Get AI metrics for the package
|
|
37
|
+
*/
|
|
38
|
+
export declare function getAIMetrics(): {
|
|
39
|
+
requestDuration: Histogram;
|
|
40
|
+
requestTotal: Counter;
|
|
41
|
+
requestErrors: Counter;
|
|
42
|
+
tokensUsed: Counter;
|
|
43
|
+
costTotal: Counter;
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* Reset cached telemetry instances (useful after changing provider)
|
|
47
|
+
*/
|
|
48
|
+
export declare function resetTelemetry(): void;
|
|
49
|
+
/**
|
|
50
|
+
* Options for withTelemetry
|
|
51
|
+
*/
|
|
52
|
+
export interface WithTelemetryOptions {
|
|
53
|
+
/** Telemetry provider to use */
|
|
54
|
+
provider?: TelemetryProvider;
|
|
55
|
+
/** Service name for telemetry */
|
|
56
|
+
serviceName?: string;
|
|
57
|
+
/** Service version */
|
|
58
|
+
serviceVersion?: string;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Execute a function with telemetry enabled
|
|
62
|
+
*
|
|
63
|
+
* @example
|
|
64
|
+
* ```ts
|
|
65
|
+
* import { createConsoleTelemetryProvider } from '@org.ai/types'
|
|
66
|
+
*
|
|
67
|
+
* await withTelemetry({
|
|
68
|
+
* provider: createConsoleTelemetryProvider()
|
|
69
|
+
* }, async () => {
|
|
70
|
+
* const text = await generate('Hello')
|
|
71
|
+
* })
|
|
72
|
+
* ```
|
|
73
|
+
*/
|
|
74
|
+
export declare function withTelemetry<T>(options: WithTelemetryOptions, fn: () => Promise<T>): Promise<T>;
|
|
75
|
+
/**
|
|
76
|
+
* Record AI request metrics
|
|
77
|
+
*/
|
|
78
|
+
export declare function recordAIRequest(params: {
|
|
79
|
+
model: string;
|
|
80
|
+
provider: string;
|
|
81
|
+
inputTokens: number;
|
|
82
|
+
outputTokens: number;
|
|
83
|
+
durationMs: number;
|
|
84
|
+
success: boolean;
|
|
85
|
+
costUsd?: number | undefined;
|
|
86
|
+
}): void;
|
|
87
|
+
/**
|
|
88
|
+
* Create a traced version of any async function
|
|
89
|
+
*/
|
|
90
|
+
export declare function traced<TArgs extends unknown[], TResult>(name: string, fn: (...args: TArgs) => Promise<TResult>, options?: {
|
|
91
|
+
kind?: 'internal' | 'client' | 'server';
|
|
92
|
+
getAttributes?: (...args: TArgs) => SpanAttributes;
|
|
93
|
+
}): (...args: TArgs) => Promise<TResult>;
|
|
94
|
+
/**
|
|
95
|
+
* Create instrumented generate function
|
|
96
|
+
*
|
|
97
|
+
* @example
|
|
98
|
+
* ```ts
|
|
99
|
+
* import { generate } from 'ai-functions'
|
|
100
|
+
* import { instrumentGenerate } from 'ai-functions/telemetry'
|
|
101
|
+
*
|
|
102
|
+
* const tracedGenerate = instrumentGenerate(generate)
|
|
103
|
+
* const result = await tracedGenerate('text', 'Hello world')
|
|
104
|
+
* ```
|
|
105
|
+
*/
|
|
106
|
+
export declare function instrumentGenerate<T extends (...args: any[]) => Promise<any>>(generateFn: T): T;
|
|
107
|
+
/**
|
|
108
|
+
* Create instrumented AI function with full metrics
|
|
109
|
+
*/
|
|
110
|
+
export declare function instrumentAIFunction<TInput, TOutput>(name: string, fn: (input: TInput) => Promise<TOutput>, options?: {
|
|
111
|
+
model?: string;
|
|
112
|
+
provider?: string;
|
|
113
|
+
getTokens?: (input: TInput, output: TOutput) => {
|
|
114
|
+
input: number;
|
|
115
|
+
output: number;
|
|
116
|
+
};
|
|
117
|
+
getCost?: (input: TInput, output: TOutput) => number;
|
|
118
|
+
}): (input: TInput) => Promise<TOutput>;
|
|
119
|
+
/**
|
|
120
|
+
* Start a span for an AI operation
|
|
121
|
+
*/
|
|
122
|
+
export declare function startAISpan(name: string, attributes?: SpanAttributes): Span;
|
|
123
|
+
/**
|
|
124
|
+
* Execute code within a span
|
|
125
|
+
*/
|
|
126
|
+
export declare function withAISpan<T>(name: string, fn: (span: Span) => Promise<T>, attributes?: SpanAttributes): Promise<T>;
|
|
127
|
+
export { type Tracer, type Meter, type Logger, type Span, type SpanAttributes, type TelemetryProvider, type Counter, type Histogram, getTracer, getMeter, getLogger, setTelemetryProvider, getTelemetryProvider, SemanticAttributes, MetricNames, createAIMetrics, } from '@org.ai/types';
|
|
128
|
+
//# sourceMappingURL=telemetry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,285 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenTelemetry Integration for ai-functions
|
|
3
|
+
*
|
|
4
|
+
* Provides instrumented wrappers and telemetry utilities for AI function calls.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```ts
|
|
8
|
+
* import { withTelemetry, instrumentGenerate } from 'ai-functions/telemetry'
|
|
9
|
+
*
|
|
10
|
+
* // Enable telemetry globally
|
|
11
|
+
* withTelemetry({ provider: createConsoleTelemetryProvider() }, async () => {
|
|
12
|
+
* const text = await generate('Explain quantum computing')
|
|
13
|
+
* })
|
|
14
|
+
*
|
|
15
|
+
* // Or instrument individual functions
|
|
16
|
+
* const traced = instrumentGenerate(generate)
|
|
17
|
+
* const text = await traced('Explain quantum computing')
|
|
18
|
+
* ```
|
|
19
|
+
*
|
|
20
|
+
* @packageDocumentation
|
|
21
|
+
*/
|
|
22
|
+
import { getTracer, getMeter, getLogger, setTelemetryProvider, getTelemetryProvider, createAIMetrics, SemanticAttributes, MetricNames, } from '@org.ai/types';
|
|
23
|
+
// Package info
|
|
24
|
+
const PACKAGE_NAME = 'ai-functions';
|
|
25
|
+
const PACKAGE_VERSION = '2.1.4';
|
|
26
|
+
// ============================================================================
|
|
27
|
+
// Package-level Telemetry
|
|
28
|
+
// ============================================================================
|
|
29
|
+
let packageTracer;
|
|
30
|
+
let packageMeter;
|
|
31
|
+
let packageLogger;
|
|
32
|
+
let aiMetrics;
|
|
33
|
+
/**
|
|
34
|
+
* Get the tracer for ai-functions
|
|
35
|
+
*/
|
|
36
|
+
export function getFunctionsTracer() {
|
|
37
|
+
if (!packageTracer) {
|
|
38
|
+
packageTracer = getTracer(PACKAGE_NAME, PACKAGE_VERSION);
|
|
39
|
+
}
|
|
40
|
+
return packageTracer;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Get the meter for ai-functions
|
|
44
|
+
*/
|
|
45
|
+
export function getFunctionsMeter() {
|
|
46
|
+
if (!packageMeter) {
|
|
47
|
+
packageMeter = getMeter(PACKAGE_NAME, PACKAGE_VERSION);
|
|
48
|
+
}
|
|
49
|
+
return packageMeter;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Get the logger for ai-functions
|
|
53
|
+
*/
|
|
54
|
+
export function getFunctionsLogger() {
|
|
55
|
+
if (!packageLogger) {
|
|
56
|
+
packageLogger = getLogger(PACKAGE_NAME);
|
|
57
|
+
}
|
|
58
|
+
return packageLogger;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Get AI metrics for the package
|
|
62
|
+
*/
|
|
63
|
+
export function getAIMetrics() {
|
|
64
|
+
if (!aiMetrics) {
|
|
65
|
+
aiMetrics = createAIMetrics(getFunctionsMeter());
|
|
66
|
+
}
|
|
67
|
+
return aiMetrics;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Reset cached telemetry instances (useful after changing provider)
|
|
71
|
+
*/
|
|
72
|
+
export function resetTelemetry() {
|
|
73
|
+
packageTracer = undefined;
|
|
74
|
+
packageMeter = undefined;
|
|
75
|
+
packageLogger = undefined;
|
|
76
|
+
aiMetrics = undefined;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Execute a function with telemetry enabled
|
|
80
|
+
*
|
|
81
|
+
* @example
|
|
82
|
+
* ```ts
|
|
83
|
+
* import { createConsoleTelemetryProvider } from '@org.ai/types'
|
|
84
|
+
*
|
|
85
|
+
* await withTelemetry({
|
|
86
|
+
* provider: createConsoleTelemetryProvider()
|
|
87
|
+
* }, async () => {
|
|
88
|
+
* const text = await generate('Hello')
|
|
89
|
+
* })
|
|
90
|
+
* ```
|
|
91
|
+
*/
|
|
92
|
+
export async function withTelemetry(options, fn) {
|
|
93
|
+
const previousProvider = getTelemetryProvider();
|
|
94
|
+
if (options.provider) {
|
|
95
|
+
setTelemetryProvider(options.provider);
|
|
96
|
+
resetTelemetry();
|
|
97
|
+
}
|
|
98
|
+
try {
|
|
99
|
+
return await fn();
|
|
100
|
+
}
|
|
101
|
+
finally {
|
|
102
|
+
if (options.provider) {
|
|
103
|
+
setTelemetryProvider(previousProvider);
|
|
104
|
+
resetTelemetry();
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
// ============================================================================
|
|
109
|
+
// Instrumentation Wrappers
|
|
110
|
+
// ============================================================================
|
|
111
|
+
/**
|
|
112
|
+
* Record AI request metrics
|
|
113
|
+
*/
|
|
114
|
+
export function recordAIRequest(params) {
|
|
115
|
+
const metrics = getAIMetrics();
|
|
116
|
+
const labels = {
|
|
117
|
+
model: params.model,
|
|
118
|
+
provider: params.provider,
|
|
119
|
+
status: params.success ? 'success' : 'error',
|
|
120
|
+
};
|
|
121
|
+
metrics.requestTotal.add(1, labels);
|
|
122
|
+
metrics.requestDuration.record(params.durationMs, labels);
|
|
123
|
+
metrics.tokensUsed.add(params.inputTokens + params.outputTokens, {
|
|
124
|
+
...labels,
|
|
125
|
+
type: 'total',
|
|
126
|
+
});
|
|
127
|
+
if (!params.success) {
|
|
128
|
+
metrics.requestErrors.add(1, labels);
|
|
129
|
+
}
|
|
130
|
+
if (params.costUsd !== undefined) {
|
|
131
|
+
metrics.costTotal.add(params.costUsd, labels);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Create a traced version of any async function
|
|
136
|
+
*/
|
|
137
|
+
export function traced(name, fn, options = {}) {
|
|
138
|
+
return async (...args) => {
|
|
139
|
+
const tracer = getFunctionsTracer();
|
|
140
|
+
const logger = getFunctionsLogger();
|
|
141
|
+
const attributes = {
|
|
142
|
+
[SemanticAttributes.AI_FUNCTION_NAME]: name,
|
|
143
|
+
...(options.getAttributes ? options.getAttributes(...args) : {}),
|
|
144
|
+
};
|
|
145
|
+
return tracer.withSpan(name, { kind: options.kind || 'internal', attributes }, async (span) => {
|
|
146
|
+
logger.debug(`Executing ${name}`, { attributes });
|
|
147
|
+
try {
|
|
148
|
+
const result = await fn(...args);
|
|
149
|
+
span.setStatus('ok');
|
|
150
|
+
return result;
|
|
151
|
+
}
|
|
152
|
+
catch (error) {
|
|
153
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
154
|
+
span.setStatus('error', message);
|
|
155
|
+
span.setAttribute(SemanticAttributes.EXCEPTION_MESSAGE, message);
|
|
156
|
+
if (error instanceof Error && error.stack) {
|
|
157
|
+
span.setAttribute(SemanticAttributes.EXCEPTION_STACKTRACE, error.stack);
|
|
158
|
+
}
|
|
159
|
+
logger.error(`Error in ${name}`, error instanceof Error ? error : undefined, {
|
|
160
|
+
attributes,
|
|
161
|
+
});
|
|
162
|
+
throw error;
|
|
163
|
+
}
|
|
164
|
+
});
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Create instrumented generate function
|
|
169
|
+
*
|
|
170
|
+
* @example
|
|
171
|
+
* ```ts
|
|
172
|
+
* import { generate } from 'ai-functions'
|
|
173
|
+
* import { instrumentGenerate } from 'ai-functions/telemetry'
|
|
174
|
+
*
|
|
175
|
+
* const tracedGenerate = instrumentGenerate(generate)
|
|
176
|
+
* const result = await tracedGenerate('text', 'Hello world')
|
|
177
|
+
* ```
|
|
178
|
+
*/
|
|
179
|
+
export function instrumentGenerate(generateFn) {
|
|
180
|
+
return traced('ai.generate', generateFn, {
|
|
181
|
+
kind: 'client',
|
|
182
|
+
getAttributes: (type) => ({
|
|
183
|
+
[SemanticAttributes.AI_FUNCTION_TYPE]: type || 'text',
|
|
184
|
+
}),
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Create instrumented AI function with full metrics
|
|
189
|
+
*/
|
|
190
|
+
export function instrumentAIFunction(name, fn, options = {}) {
|
|
191
|
+
return async (input) => {
|
|
192
|
+
const tracer = getFunctionsTracer();
|
|
193
|
+
const logger = getFunctionsLogger();
|
|
194
|
+
const startTime = Date.now();
|
|
195
|
+
const attributes = {
|
|
196
|
+
[SemanticAttributes.AI_FUNCTION_NAME]: name,
|
|
197
|
+
...(options.model && { [SemanticAttributes.AI_MODEL]: options.model }),
|
|
198
|
+
...(options.provider && { [SemanticAttributes.AI_PROVIDER]: options.provider }),
|
|
199
|
+
};
|
|
200
|
+
return tracer.withSpan(`ai.function.${name}`, { kind: 'client', attributes }, async (span) => {
|
|
201
|
+
logger.info(`AI function ${name} started`, { model: options.model });
|
|
202
|
+
try {
|
|
203
|
+
const output = await fn(input);
|
|
204
|
+
const durationMs = Date.now() - startTime;
|
|
205
|
+
// Record metrics
|
|
206
|
+
const tokens = options.getTokens?.(input, output);
|
|
207
|
+
const cost = options.getCost?.(input, output);
|
|
208
|
+
if (tokens) {
|
|
209
|
+
span.setAttribute(SemanticAttributes.AI_INPUT_TOKENS, tokens.input);
|
|
210
|
+
span.setAttribute(SemanticAttributes.AI_OUTPUT_TOKENS, tokens.output);
|
|
211
|
+
span.setAttribute(SemanticAttributes.AI_TOTAL_TOKENS, tokens.input + tokens.output);
|
|
212
|
+
}
|
|
213
|
+
if (cost !== undefined) {
|
|
214
|
+
span.setAttribute(SemanticAttributes.AI_COST_USD, cost);
|
|
215
|
+
}
|
|
216
|
+
recordAIRequest({
|
|
217
|
+
model: options.model || 'unknown',
|
|
218
|
+
provider: options.provider || 'unknown',
|
|
219
|
+
inputTokens: tokens?.input || 0,
|
|
220
|
+
outputTokens: tokens?.output || 0,
|
|
221
|
+
durationMs,
|
|
222
|
+
success: true,
|
|
223
|
+
costUsd: cost,
|
|
224
|
+
});
|
|
225
|
+
span.setStatus('ok');
|
|
226
|
+
logger.info(`AI function ${name} completed`, {
|
|
227
|
+
durationMs,
|
|
228
|
+
tokens: tokens?.input !== undefined ? tokens.input + (tokens.output || 0) : undefined,
|
|
229
|
+
});
|
|
230
|
+
return output;
|
|
231
|
+
}
|
|
232
|
+
catch (error) {
|
|
233
|
+
const durationMs = Date.now() - startTime;
|
|
234
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
235
|
+
recordAIRequest({
|
|
236
|
+
model: options.model || 'unknown',
|
|
237
|
+
provider: options.provider || 'unknown',
|
|
238
|
+
inputTokens: 0,
|
|
239
|
+
outputTokens: 0,
|
|
240
|
+
durationMs,
|
|
241
|
+
success: false,
|
|
242
|
+
});
|
|
243
|
+
span.setStatus('error', message);
|
|
244
|
+
logger.error(`AI function ${name} failed`, error instanceof Error ? error : undefined, {
|
|
245
|
+
durationMs,
|
|
246
|
+
});
|
|
247
|
+
throw error;
|
|
248
|
+
}
|
|
249
|
+
});
|
|
250
|
+
};
|
|
251
|
+
}
|
|
252
|
+
// ============================================================================
|
|
253
|
+
// Span Helpers
|
|
254
|
+
// ============================================================================
|
|
255
|
+
/**
|
|
256
|
+
* Start a span for an AI operation
|
|
257
|
+
*/
|
|
258
|
+
export function startAISpan(name, attributes) {
|
|
259
|
+
const tracer = getFunctionsTracer();
|
|
260
|
+
return tracer.startSpan(name, {
|
|
261
|
+
kind: 'client',
|
|
262
|
+
attributes: {
|
|
263
|
+
[SemanticAttributes.SERVICE_NAME]: PACKAGE_NAME,
|
|
264
|
+
...attributes,
|
|
265
|
+
},
|
|
266
|
+
});
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* Execute code within a span
|
|
270
|
+
*/
|
|
271
|
+
export async function withAISpan(name, fn, attributes) {
|
|
272
|
+
const tracer = getFunctionsTracer();
|
|
273
|
+
return tracer.withSpan(name, { kind: 'client', attributes }, fn);
|
|
274
|
+
}
|
|
275
|
+
// ============================================================================
|
|
276
|
+
// Re-exports from @org.ai/types
|
|
277
|
+
// ============================================================================
|
|
278
|
+
export {
|
|
279
|
+
// Global functions
|
|
280
|
+
getTracer, getMeter, getLogger, setTelemetryProvider, getTelemetryProvider,
|
|
281
|
+
// Constants
|
|
282
|
+
SemanticAttributes, MetricNames,
|
|
283
|
+
// Utilities
|
|
284
|
+
createAIMetrics, } from '@org.ai/types';
|
|
285
|
+
//# sourceMappingURL=telemetry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"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"}
|
package/dist/template.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../src/template.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,wEAAwE;IACxE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAA;IACtD,wBAAwB;IACxB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,oBAAoB;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,sBAAsB;IACtB,IAAI,CAAC,EAAE,SAAS,GAAG,YAAY,CAAA;CAChC;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,oBAAoB,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAgBzF;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG;IAC7C,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;CACxC,CAAA;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EACtC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,eAAe,KAAK,OAAO,CAAC,CAAC,CAAC,EACnD,cAAc,CAAC,EAAE,eAAe,GAC/B,gBAAgB,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../src/template.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,wEAAwE;IACxE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAA;IACtD,wBAAwB;IACxB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,oBAAoB;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,sBAAsB;IACtB,IAAI,CAAC,EAAE,SAAS,GAAG,YAAY,CAAA;CAChC;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,oBAAoB,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAgBzF;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG;IAC7C,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;CACxC,CAAA;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EACtC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,eAAe,KAAK,OAAO,CAAC,CAAC,CAAC,EACnD,cAAc,CAAC,EAAE,eAAe,GAC/B,gBAAgB,CAAC,CAAC,CAAC,CAqBrB;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI;IAChC,CAAC,OAAO,EAAE,oBAAoB,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAA;IAC1E,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;CACxD,CAAA;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EACtC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,KAAK,OAAO,CAAC,CAAC,CAAC,GACjE,gBAAgB,CAAC,CAAC,CAAC,CAgBrB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAE,SAAQ,gBAAgB,CAAC,CAAC,CAAC;IAChF,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,CAAC,EAAE,CAAC,CAAA;CAC1C;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,EAC1C,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC,EACvB,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,CAAC,EAAE,CAAC,GAC/C,iBAAiB,CAAC,CAAC,EAAE,MAAM,CAAC,CAI9B;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAa/F;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAA;AAE/D,wBAAgB,oBAAoB,CAAC,CAAC,EACpC,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,EAAE,CAAC,EAC5B,WAAW,CAAC,EAAE,MAAM,cAAc,CAAC,CAAC,CAAC,GACpC,cAAc,CAAC,CAAC,CAAC,CA+CnB"}
|
package/dist/template.js
CHANGED
|
@@ -32,8 +32,13 @@ export function parseTemplate(strings, ...values) {
|
|
|
32
32
|
* Create a chainable promise that supports both await and options chaining
|
|
33
33
|
*/
|
|
34
34
|
export function createChainablePromise(executor, defaultOptions) {
|
|
35
|
-
// Create the base promise
|
|
35
|
+
// Create the base promise with a no-op catch to prevent unhandled rejection
|
|
36
|
+
// The actual error will still be thrown when .then() or await is called
|
|
36
37
|
const basePromise = executor(defaultOptions);
|
|
38
|
+
// Prevent unhandled rejection warning by attaching a no-op catch
|
|
39
|
+
// This doesn't swallow the error - it just prevents the warning when the
|
|
40
|
+
// promise is not immediately awaited (e.g., when chaining options)
|
|
41
|
+
basePromise.catch(() => { });
|
|
37
42
|
// Create a function that accepts options
|
|
38
43
|
const chainable = ((options) => {
|
|
39
44
|
return executor({ ...defaultOptions, ...options });
|
package/dist/template.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template.js","sourceRoot":"","sources":["../src/template.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAA;AAoBhC;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,OAA6B,EAAE,GAAG,MAAiB;IAC/E,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE;QACvC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;QACvB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,MAAM,GAAG,GAAG,CAAA;QACrB,CAAC;QAED,iCAAiC;QACjC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YAChD,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAA;YACpC,OAAO,MAAM,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,CAAA;QACnC,CAAC;QAED,4BAA4B;QAC5B,OAAO,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IACrC,CAAC,EAAE,EAAE,CAAC,CAAA;AACR,CAAC;AASD;;GAEG;AACH,MAAM,UAAU,sBAAsB,CACpC,QAAmD,EACnD,cAAgC;IAEhC,
|
|
1
|
+
{"version":3,"file":"template.js","sourceRoot":"","sources":["../src/template.ts"],"names":[],"mappings":"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"}
|
|
@@ -144,13 +144,26 @@ export interface LoopOptions {
|
|
|
144
144
|
/** Callback for each step */
|
|
145
145
|
onStep?: (step: StepInfo) => void;
|
|
146
146
|
}
|
|
147
|
+
/**
|
|
148
|
+
* Model generation options passed to the model
|
|
149
|
+
*/
|
|
150
|
+
export interface ModelGenerationOptions {
|
|
151
|
+
/** Messages for the conversation */
|
|
152
|
+
messages: Message[];
|
|
153
|
+
/** Tools available for use */
|
|
154
|
+
tools: Record<string, {
|
|
155
|
+
description: string;
|
|
156
|
+
parameters: unknown;
|
|
157
|
+
execute: (args: unknown) => Promise<unknown>;
|
|
158
|
+
}>;
|
|
159
|
+
}
|
|
147
160
|
/**
|
|
148
161
|
* Options for running the loop
|
|
149
162
|
*/
|
|
150
163
|
export interface RunOptions {
|
|
151
164
|
/** Model to use for generation */
|
|
152
165
|
model: {
|
|
153
|
-
generate: (options:
|
|
166
|
+
generate: (options: ModelGenerationOptions) => Promise<ModelResponse>;
|
|
154
167
|
};
|
|
155
168
|
/** Initial prompt */
|
|
156
169
|
prompt: string;
|
|
@@ -228,6 +241,13 @@ export declare class ToolValidator {
|
|
|
228
241
|
}
|
|
229
242
|
/**
|
|
230
243
|
* Routes tool calls to registered handlers
|
|
244
|
+
*
|
|
245
|
+
* @deprecated Phase C Week 2 — `ToolRouter` has zero production callers in
|
|
246
|
+
* primitives.org.ai (audited 2026-05-06; see `bd show aip-ibid`). Only the
|
|
247
|
+
* `ai-primitives` umbrella re-export tests reference it. AI SDK 6's native
|
|
248
|
+
* tool-routing under `generateText({ tools })` and `Agent` / `ToolLoopAgent`
|
|
249
|
+
* cover the same surface. Will be removed in the Phase C semver bump
|
|
250
|
+
* alongside `AgenticLoop` and `createAgenticLoop`.
|
|
231
251
|
*/
|
|
232
252
|
export declare class ToolRouter {
|
|
233
253
|
private tools;
|
|
@@ -255,6 +275,15 @@ export declare class ToolRouter {
|
|
|
255
275
|
}
|
|
256
276
|
/**
|
|
257
277
|
* Orchestrates multi-turn model→tools→model loops
|
|
278
|
+
*
|
|
279
|
+
* @deprecated Phase C Week 2 — `AgenticLoop` has zero production callers in
|
|
280
|
+
* primitives.org.ai (audited 2026-05-06; see `bd show aip-ibid`). Only the
|
|
281
|
+
* `ai-primitives` umbrella re-export tests reference it. The production
|
|
282
|
+
* cascade walker (`services-as-software/v3/invoke/cascade-walker.ts:178`)
|
|
283
|
+
* already uses AI SDK 6's `generateText({ tools, maxSteps: 10 })` directly
|
|
284
|
+
* for agentic steps — no consumer code paths through this class. AI SDK 6's
|
|
285
|
+
* `Agent` / `ToolLoopAgent` (`stopWhen: stepCountIs(N)`) are the going-
|
|
286
|
+
* forward primitives. Will be removed in the Phase C semver bump.
|
|
258
287
|
*/
|
|
259
288
|
export declare class AgenticLoop {
|
|
260
289
|
private options;
|
|
@@ -365,12 +394,39 @@ export declare function wrapTool<T extends Tool>(tool: T, middleware: {
|
|
|
365
394
|
onError?: (error: Error) => Promise<unknown> | unknown;
|
|
366
395
|
}): Tool;
|
|
367
396
|
/**
|
|
368
|
-
*
|
|
397
|
+
* Options for cachedTool
|
|
369
398
|
*/
|
|
370
|
-
export
|
|
399
|
+
export interface CachedToolOptions {
|
|
400
|
+
/** Time-to-live in milliseconds (default: 60000) */
|
|
371
401
|
ttl?: number;
|
|
402
|
+
/** Function to generate cache key from params (default: JSON.stringify) */
|
|
372
403
|
keyFn?: (params: unknown) => string;
|
|
373
|
-
|
|
404
|
+
/** Interval in ms for automatic cleanup of expired entries (default: 0 = disabled) */
|
|
405
|
+
cleanupIntervalMs?: number;
|
|
406
|
+
/** Maximum cache size before LRU eviction kicks in (default: 0 = unlimited) */
|
|
407
|
+
maxSize?: number;
|
|
408
|
+
}
|
|
409
|
+
/**
|
|
410
|
+
* Extended tool interface with cache management methods
|
|
411
|
+
*/
|
|
412
|
+
export interface CachedTool extends Tool {
|
|
413
|
+
/** Get the current number of entries in the cache */
|
|
414
|
+
cacheSize(): number;
|
|
415
|
+
/** Clear all cache entries */
|
|
416
|
+
clearCache(): void;
|
|
417
|
+
/** Stop cleanup timer and clear cache */
|
|
418
|
+
destroy(): void;
|
|
419
|
+
}
|
|
420
|
+
/**
|
|
421
|
+
* Create a tool with caching support
|
|
422
|
+
*
|
|
423
|
+
* Features:
|
|
424
|
+
* - TTL-based expiration
|
|
425
|
+
* - Optional periodic cleanup of expired entries (prevents memory leaks)
|
|
426
|
+
* - Optional max size with LRU eviction
|
|
427
|
+
* - Manual cache control (clear, destroy)
|
|
428
|
+
*/
|
|
429
|
+
export declare function cachedTool<T extends Tool>(tool: T, options?: CachedToolOptions): CachedTool;
|
|
374
430
|
/**
|
|
375
431
|
* Create a tool with rate limiting
|
|
376
432
|
*/
|
|
@@ -384,6 +440,12 @@ export declare function rateLimitedTool<T extends Tool>(tool: T, options: {
|
|
|
384
440
|
export declare function timeoutTool<T extends Tool>(tool: T, timeoutMs: number): Tool;
|
|
385
441
|
/**
|
|
386
442
|
* Create an agentic loop with sensible defaults
|
|
443
|
+
*
|
|
444
|
+
* @deprecated Phase C Week 2 — `createAgenticLoop` has zero production
|
|
445
|
+
* callers in primitives.org.ai (only `ai-primitives` umbrella re-export
|
|
446
|
+
* tests). Use AI SDK 6's `Agent` / `ToolLoopAgent` with
|
|
447
|
+
* `stopWhen: stepCountIs(N)` instead. Will be removed alongside
|
|
448
|
+
* `AgenticLoop` in the Phase C semver bump. See `bd show aip-ibid`.
|
|
387
449
|
*/
|
|
388
450
|
export declare function createAgenticLoop(options: Partial<LoopOptions> & {
|
|
389
451
|
tools: Tool[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-orchestration.d.ts","sourceRoot":"","sources":["../src/tool-orchestration.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"tool-orchestration.d.ts","sourceRoot":"","sources":["../src/tool-orchestration.ts"],"names":[],"mappings":"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"}
|