ai-functions 2.1.3 → 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +1 -1
- package/CHANGELOG.md +55 -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 +116 -0
- package/dist/function-registry.d.ts.map +1 -0
- package/dist/function-registry.js +546 -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/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 +135 -17
- 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 +28 -25
- package/src/ai-promise.ts +226 -140
- package/src/ai-schemas.ts +122 -0
- package/src/ai.ts +69 -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 +671 -0
- package/src/generate.ts +33 -28
- package/src/index.ts +119 -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/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 +164 -25
- 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/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/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
package/dist/generate.d.ts
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
*
|
|
9
9
|
* @packageDocumentation
|
|
10
10
|
*/
|
|
11
|
-
import { generateText as sdkGenerateText, streamText as sdkStreamText, type
|
|
11
|
+
import { generateText as sdkGenerateText, streamText as sdkStreamText, type LanguageModel } from 'ai';
|
|
12
12
|
type ModelArg = string | LanguageModel;
|
|
13
13
|
interface GenerateObjectOptions<T> {
|
|
14
14
|
model: ModelArg;
|
|
@@ -102,7 +102,11 @@ interface GenerateTextOptions {
|
|
|
102
102
|
* })
|
|
103
103
|
* ```
|
|
104
104
|
*/
|
|
105
|
-
export declare function generateObject<T>(options: GenerateObjectOptions<T>): Promise<
|
|
105
|
+
export declare function generateObject<T>(options: GenerateObjectOptions<T>): Promise<{
|
|
106
|
+
object: T;
|
|
107
|
+
usage?: unknown;
|
|
108
|
+
warnings?: unknown[] | undefined;
|
|
109
|
+
}>;
|
|
106
110
|
/**
|
|
107
111
|
* Generate text from a prompt using AI
|
|
108
112
|
*
|
|
@@ -145,7 +149,9 @@ export declare function generateText(options: GenerateTextOptions): Promise<Awai
|
|
|
145
149
|
* }
|
|
146
150
|
* ```
|
|
147
151
|
*/
|
|
148
|
-
export declare function streamObject<T>(options: GenerateObjectOptions<T>): Promise<
|
|
152
|
+
export declare function streamObject<T>(options: GenerateObjectOptions<T>): Promise<{
|
|
153
|
+
partialObjectStream: AsyncIterable<T>;
|
|
154
|
+
}>;
|
|
149
155
|
/**
|
|
150
156
|
* Stream text from a prompt using AI
|
|
151
157
|
*
|
package/dist/generate.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"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"}
|
package/dist/generate.js
CHANGED
|
@@ -8,9 +8,9 @@
|
|
|
8
8
|
*
|
|
9
9
|
* @packageDocumentation
|
|
10
10
|
*/
|
|
11
|
-
import {
|
|
11
|
+
import { generateText as sdkGenerateText, streamText as sdkStreamText, Output, } from 'ai';
|
|
12
12
|
import { schema as convertSchema } from './schema.js';
|
|
13
|
-
import { isZodSchema } from '
|
|
13
|
+
import { isZodSchema } from './type-guards.js';
|
|
14
14
|
/**
|
|
15
15
|
* Resolve model string to LanguageModel instance
|
|
16
16
|
* Uses ai-providers for model routing with Cloudflare AI Gateway support
|
|
@@ -72,13 +72,14 @@ function resolveSchema(schemaArg) {
|
|
|
72
72
|
export async function generateObject(options) {
|
|
73
73
|
const model = await resolveModel(options.model);
|
|
74
74
|
const schema = resolveSchema(options.schema);
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
75
|
+
const { schema: _schema, mode: _mode, ...rest } = options;
|
|
76
|
+
// Using unknown cast for SDK compatibility - the AI SDK has complex type unions
|
|
77
|
+
const result = await sdkGenerateText({
|
|
78
|
+
...rest,
|
|
78
79
|
model,
|
|
79
|
-
schema,
|
|
80
|
-
output: 'object'
|
|
80
|
+
output: Output.object({ schema }),
|
|
81
81
|
});
|
|
82
|
+
return { object: result.output, usage: result.usage, warnings: result.warnings };
|
|
82
83
|
}
|
|
83
84
|
/**
|
|
84
85
|
* Generate text from a prompt using AI
|
|
@@ -107,7 +108,7 @@ export async function generateText(options) {
|
|
|
107
108
|
const model = await resolveModel(options.model);
|
|
108
109
|
return sdkGenerateText({
|
|
109
110
|
...options,
|
|
110
|
-
model
|
|
111
|
+
model,
|
|
111
112
|
});
|
|
112
113
|
}
|
|
113
114
|
/**
|
|
@@ -131,17 +132,16 @@ export async function generateText(options) {
|
|
|
131
132
|
export async function streamObject(options) {
|
|
132
133
|
const model = await resolveModel(options.model);
|
|
133
134
|
const schema = resolveSchema(options.schema);
|
|
134
|
-
|
|
135
|
-
//
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
139
|
-
return sdkStreamObject({
|
|
140
|
-
...options,
|
|
135
|
+
const { schema: _schema, mode: _mode, ...rest } = options;
|
|
136
|
+
// Using unknown cast for SDK compatibility - the AI SDK has complex type unions
|
|
137
|
+
const result = await sdkStreamText({
|
|
138
|
+
...rest,
|
|
141
139
|
model,
|
|
142
|
-
schema,
|
|
143
|
-
output: 'object'
|
|
140
|
+
output: Output.object({ schema }),
|
|
144
141
|
});
|
|
142
|
+
return {
|
|
143
|
+
partialObjectStream: result.partialOutputStream,
|
|
144
|
+
};
|
|
145
145
|
}
|
|
146
146
|
/**
|
|
147
147
|
* Stream text from a prompt using AI
|
|
@@ -164,7 +164,7 @@ export async function streamText(options) {
|
|
|
164
164
|
const model = await resolveModel(options.model);
|
|
165
165
|
return sdkStreamText({
|
|
166
166
|
...options,
|
|
167
|
-
model
|
|
167
|
+
model,
|
|
168
168
|
});
|
|
169
169
|
}
|
|
170
170
|
//# sourceMappingURL=generate.js.map
|
package/dist/generate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -15,23 +15,30 @@
|
|
|
15
15
|
*
|
|
16
16
|
* @packageDocumentation
|
|
17
17
|
*/
|
|
18
|
-
export type { AIFunctionDefinition, JSONSchema, AIGenerateOptions, AIGenerateResult, AIFunctionCall, AIClient, ImageOptions, ImageResult, VideoOptions, VideoResult, WriteOptions, TemplateFunction as CoreTemplateFunction, ListItem, ListResult, NamedList, ListsResult, CodeLanguage, GenerativeOutputType, HumanChannel, LegacyHumanChannel, SchemaLimitations, BaseFunctionDefinition, CodeFunctionDefinition, CodeFunctionResult, GenerativeFunctionDefinition, GenerativeFunctionResult, AgenticFunctionDefinition, AgenticExecutionState, HumanFunctionDefinition, HumanFunctionResult, FunctionDefinition, DefinedFunction, FunctionRegistry, AutoDefineResult, } from '
|
|
19
|
-
export { schema, type SimpleSchema } from '
|
|
20
|
-
export { parseTemplate, createTemplateFunction, createChainablePromise, createStreamableList, withBatch, type FunctionOptions, type TemplateFunction, type BatchableFunction, type StreamableList, type ChainablePromise, } from '
|
|
21
|
-
export { AIPromise, isAIPromise, getRawPromise, createTextPromise, createObjectPromise, createListPromise, createListsPromise, createBooleanPromise, createExtractPromise, createAITemplateFunction, parseTemplateWithDependencies, AI_PROMISE_SYMBOL, RAW_PROMISE_SYMBOL, type AIPromiseOptions, type StreamingAIPromise, type StreamOptions, } from '
|
|
22
|
-
export { generateObject, generateText, streamObject, streamText } from '
|
|
23
|
-
export { generate, type GenerateType, type GenerateOptions, ai, write, code, list, lists, extract, summarize, is, diagram, slides, image, video, do, research, read, browse, decide, ask, approve, review, type HumanOptions, type HumanResult, } from '
|
|
24
|
-
export { configure, getContext, withContext, getGlobalContext, resetContext, getModel, getProvider, type ExecutionContext, } from '
|
|
25
|
-
export { isZodSchema } from '
|
|
26
|
-
export { AI, define, defineFunction, type AIProxy } from './ai.js';
|
|
27
|
-
export { ai as aiPrompt } from '
|
|
18
|
+
export type { AIFunctionDefinition, JSONSchema, AIGenerateOptions, AIGenerateResult, AIFunctionCall, AIClient, ImageOptions, ImageResult, VideoOptions, VideoResult, WriteOptions, TemplateFunction as CoreTemplateFunction, ListItem, ListResult, NamedList, ListsResult, CodeLanguage, GenerativeOutputType, HumanChannel, LegacyHumanChannel, SchemaLimitations, BaseFunctionDefinition, CodeFunctionDefinition, CodeFunctionResult, CodeGenerationDefinition, GenerativeFunctionDefinition, GenerativeFunctionResult, AgenticFunctionDefinition, AgenticExecutionState, HumanFunctionDefinition, HumanFunctionResult, FunctionDefinition, DefinedFunction, FunctionRegistry, AutoDefineResult, } from './types.js';
|
|
19
|
+
export { schema, type SimpleSchema } from './schema.js';
|
|
20
|
+
export { parseTemplate, createTemplateFunction, createChainablePromise, createStreamableList, withBatch, type FunctionOptions, type TemplateFunction, type BatchableFunction, type StreamableList, type ChainablePromise, } from './template.js';
|
|
21
|
+
export { AIPromise, isAIPromise, getRawPromise, createTextPromise, createObjectPromise, createListPromise, createListsPromise, createBooleanPromise, createExtractPromise, createAITemplateFunction, parseTemplateWithDependencies, AI_PROMISE_SYMBOL, RAW_PROMISE_SYMBOL, type AIPromiseOptions, type StreamingAIPromise, type StreamOptions, } from './ai-promise.js';
|
|
22
|
+
export { generateObject, generateText, streamObject, streamText } from './generate.js';
|
|
23
|
+
export { generate, type GenerateType, type GenerateOptions, ai, write, code, list, lists, extract, summarize, is, diagram, slides, image, video, do, research, read, browse, decide, ask, approve, review, type HumanOptions, type HumanResult, } from './primitives.js';
|
|
24
|
+
export { configure, getContext, withContext, getGlobalContext, resetContext, getModel, getProvider, type ExecutionContext, } from './context.js';
|
|
25
|
+
export { isZodSchema } from './type-guards.js';
|
|
26
|
+
export { AI, ai as aiProxy, define, defineFunction, functions, createFunctionRegistry, resetGlobalRegistry, withTemplate, type AIProxy, createSchemaFunctions, type AISchemaOptions, type SchemaFunctions, type InferSimpleSchemaResult, createDefinedFunction, convertArgsToJSONSchema, fillTemplate, generateCode, } from './ai.js';
|
|
27
|
+
export { ai as aiPrompt } from './primitives.js';
|
|
28
28
|
export * from './embeddings.js';
|
|
29
29
|
export * from './providers/index.js';
|
|
30
|
-
export { BatchQueue, createBatch, withBatch as withBatchQueue, registerBatchAdapter, getBatchAdapter, isBatchMode, deferToBatch, BATCH_MODE_SYMBOL, type BatchMode as BatchQueueMode, type BatchProvider, type BatchStatus, type BatchItem, type BatchJob, type BatchResult, type BatchSubmitResult, type BatchAdapter, type BatchQueueOptions, type DeferredOptions, } from './batch-queue.js';
|
|
30
|
+
export { BatchQueue, createBatch, withBatch as withBatchQueue, registerBatchAdapter, getBatchAdapter, registerFlexAdapter, getFlexAdapter, hasFlexAdapter, tiersForModel, modelSupportsTier, isBatchMode, deferToBatch, BATCH_MODE_SYMBOL, type BatchMode as BatchQueueMode, type BatchProvider, type BatchStatus, type BatchItem, type BatchJob, type BatchResult, type BatchSubmitResult, type BatchAdapter, type FlexAdapter, type BatchQueueOptions, type DeferredOptions, } from './batch-queue.js';
|
|
31
|
+
export { policyFor as modelPolicyFor, type ModelPolicy, type BatchTier, type RetryPolicyData, type CircuitBreakerPolicyData, type ErrorCategoryName, } from 'language-models';
|
|
31
32
|
export { BatchMapPromise, createBatchMap, isBatchMapPromise, BATCH_MAP_SYMBOL, type CapturedOperation, type BatchMapOptions, } from './batch-map.js';
|
|
32
33
|
export { getBatchMode, getBatchThreshold, shouldUseBatchAPI, getFlexThreshold, getExecutionTier, isFlexAvailable, type BatchMode, type ContextBudgetConfig, type ExecutionTier, } from './context.js';
|
|
33
34
|
export { BudgetTracker, TokenCounter, RequestContext, BudgetExceededError, createRequestContext, withBudget, type BudgetConfig, type BudgetAlert, type BudgetSnapshot, type TokenUsage, type RequestInfo, type RequestContextOptions, type ModelPricing, type WithBudgetOptions, type RemainingBudget, type CheckBudgetOptions, } from './budget.js';
|
|
34
35
|
export { AgenticLoop, ToolRouter, ToolValidator, createTool, createToolset, wrapTool, cachedTool, rateLimitedTool, timeoutTool, createAgenticLoop, type Tool, type ToolCall, type ToolResult, type FormattedToolResult, type ValidationResult, type ModelResponse, type Message, type StepInfo, type LoopOptions, type RunOptions, type ToolCallResult, type SDKToolResult, type LoopResult, type LoopStreamEvent, } from './tool-orchestration.js';
|
|
35
36
|
export { MemoryCache, EmbeddingCache, GenerationCache, withCache, hashKey, createCacheKey, type CacheStorage, type CacheEntry, type CacheOptions, type CacheStats, type MemoryCacheOptions, type CacheKeyType, type EmbeddingCacheOptions, type BatchEmbeddingResult, type GenerationParams, type GenerationCacheGetOptions, type WithCacheOptions, type CachedFunction, } from './cache.js';
|
|
36
37
|
export { RetryableError, NonRetryableError, NetworkError, RateLimitError, CircuitOpenError, ErrorCategory, classifyError, calculateBackoff, RetryPolicy, CircuitBreaker, FallbackChain, withRetry, type JitterStrategy, type BackoffOptions, type RetryOptions, type RetryInfo, type BatchItemResult, type CircuitState, type CircuitBreakerOptions, type CircuitBreakerMetrics, type FallbackModel, type FallbackOptions, type FallbackMetrics, } from './retry.js';
|
|
38
|
+
export { DigitalObjectsFunctionRegistry, createDigitalObjectsRegistry, FUNCTION_NOUNS, FUNCTION_VERBS, type StoredFunctionDefinition, type FunctionCallData, type DigitalObjectsRegistryOptions, } from './digital-objects-registry.js';
|
|
39
|
+
export { configureLogger, getLogger, resetLogger, getLogLevel, setLogLevel, type Logger, type LoggerConfig, } from './logger.js';
|
|
40
|
+
export { cacheMiddleware, embeddingCacheMiddleware, budgetMiddleware, traceMiddleware, type CacheMiddlewareOptions, type CacheMiddlewareStore, type EmbedCacheMiddlewareOptions, type EmbedCacheMiddlewareStore, type BudgetMiddlewareOptions, type PricingOverlay, type TraceEvent, type TraceEventKind, type TraceMiddlewareOptions, } from './middleware/index.js';
|
|
41
|
+
export { wrapForV3, type WrapForV3Options } from './wrap-for-v3.js';
|
|
42
|
+
export type { LanguageModelV3 } from '@ai-sdk/provider';
|
|
43
|
+
export { InMemoryEvalLogStore, getEvalLogStore, configureEvalLogStore, type EvalLogEntry, type EvalLogListOptions, type EvalLogStore, } from './eval-log/index.js';
|
|
37
44
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAOH,YAAY,EACV,oBAAoB,EACpB,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,gBAAgB,IAAI,oBAAoB,EACxC,QAAQ,EACR,UAAU,EACV,SAAS,EACT,WAAW,EACX,YAAY,EACZ,oBAAoB,EACpB,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,EACtB,sBAAsB,EACtB,kBAAkB,EAClB,4BAA4B,EAC5B,wBAAwB,EACxB,yBAAyB,EACzB,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -15,27 +15,29 @@
|
|
|
15
15
|
*
|
|
16
16
|
* @packageDocumentation
|
|
17
17
|
*/
|
|
18
|
-
// Schema exports
|
|
19
|
-
export { schema } from '
|
|
20
|
-
// Template exports
|
|
21
|
-
export { parseTemplate, createTemplateFunction, createChainablePromise, createStreamableList, withBatch, } from '
|
|
22
|
-
// AIPromise exports
|
|
23
|
-
export { AIPromise, isAIPromise, getRawPromise, createTextPromise, createObjectPromise, createListPromise, createListsPromise, createBooleanPromise, createExtractPromise, createAITemplateFunction, parseTemplateWithDependencies, AI_PROMISE_SYMBOL, RAW_PROMISE_SYMBOL, } from '
|
|
24
|
-
// Generation exports
|
|
25
|
-
export { generateObject, generateText, streamObject, streamText } from '
|
|
26
|
-
// Primitives
|
|
27
|
-
export { generate, ai, write, code, list, lists, extract, summarize, is, diagram, slides, image, video, do, research, read, browse, decide, ask, approve, review, } from '
|
|
28
|
-
// Context exports
|
|
29
|
-
export { configure, getContext, withContext, getGlobalContext, resetContext, getModel, getProvider, } from '
|
|
30
|
-
// Type guards
|
|
31
|
-
export { isZodSchema } from '
|
|
18
|
+
// Schema exports
|
|
19
|
+
export { schema } from './schema.js';
|
|
20
|
+
// Template exports
|
|
21
|
+
export { parseTemplate, createTemplateFunction, createChainablePromise, createStreamableList, withBatch, } from './template.js';
|
|
22
|
+
// AIPromise exports
|
|
23
|
+
export { AIPromise, isAIPromise, getRawPromise, createTextPromise, createObjectPromise, createListPromise, createListsPromise, createBooleanPromise, createExtractPromise, createAITemplateFunction, parseTemplateWithDependencies, AI_PROMISE_SYMBOL, RAW_PROMISE_SYMBOL, } from './ai-promise.js';
|
|
24
|
+
// Generation exports
|
|
25
|
+
export { generateObject, generateText, streamObject, streamText } from './generate.js';
|
|
26
|
+
// Primitives
|
|
27
|
+
export { generate, ai, write, code, list, lists, extract, summarize, is, diagram, slides, image, video, do, research, read, browse, decide, ask, approve, review, } from './primitives.js';
|
|
28
|
+
// Context exports
|
|
29
|
+
export { configure, getContext, withContext, getGlobalContext, resetContext, getModel, getProvider, } from './context.js';
|
|
30
|
+
// Type guards
|
|
31
|
+
export { isZodSchema } from './type-guards.js';
|
|
32
32
|
// ============================================================================
|
|
33
33
|
// Export AI Proxy (the AI class/proxy from ai.ts)
|
|
34
34
|
// This is separate from the core 'ai' template function
|
|
35
35
|
// ============================================================================
|
|
36
|
-
export { AI, define, defineFunction
|
|
37
|
-
// Also export
|
|
38
|
-
|
|
36
|
+
export { AI, ai as aiProxy, define, defineFunction, functions, createFunctionRegistry, resetGlobalRegistry, withTemplate,
|
|
37
|
+
// Also export from new split modules
|
|
38
|
+
createSchemaFunctions, createDefinedFunction, convertArgsToJSONSchema, fillTemplate, generateCode, } from './ai.js';
|
|
39
|
+
// Also export 'ai' primitive as 'aiPrompt' for convenience
|
|
40
|
+
export { ai as aiPrompt } from './primitives.js';
|
|
39
41
|
// Export embedding utilities (not in ai-core)
|
|
40
42
|
export * from './embeddings.js';
|
|
41
43
|
// Export providers (not in ai-core)
|
|
@@ -44,7 +46,9 @@ export * from './providers/index.js';
|
|
|
44
46
|
// Extended exports (NOT in ai-core)
|
|
45
47
|
// ============================================================================
|
|
46
48
|
// Export batch processing
|
|
47
|
-
export { BatchQueue, createBatch, withBatch as withBatchQueue, registerBatchAdapter, getBatchAdapter, isBatchMode, deferToBatch, BATCH_MODE_SYMBOL, } from './batch-queue.js';
|
|
49
|
+
export { BatchQueue, createBatch, withBatch as withBatchQueue, registerBatchAdapter, getBatchAdapter, registerFlexAdapter, getFlexAdapter, hasFlexAdapter, tiersForModel, modelSupportsTier, isBatchMode, deferToBatch, BATCH_MODE_SYMBOL, } from './batch-queue.js';
|
|
50
|
+
// Export per-model policy data (sourced from language-models)
|
|
51
|
+
export { policyFor as modelPolicyFor, } from 'language-models';
|
|
48
52
|
// Export batch map for automatic batching
|
|
49
53
|
export { BatchMapPromise, createBatchMap, isBatchMapPromise, BATCH_MAP_SYMBOL, } from './batch-map.js';
|
|
50
54
|
// Export additional execution context features (full version with batch/budget)
|
|
@@ -81,4 +85,17 @@ CircuitBreaker,
|
|
|
81
85
|
FallbackChain,
|
|
82
86
|
// Convenience helper
|
|
83
87
|
withRetry, } from './retry.js';
|
|
88
|
+
// Export digital-objects function registry
|
|
89
|
+
export { DigitalObjectsFunctionRegistry, createDigitalObjectsRegistry, FUNCTION_NOUNS, FUNCTION_VERBS, } from './digital-objects-registry.js';
|
|
90
|
+
// Export configurable logger
|
|
91
|
+
export { configureLogger, getLogger, resetLogger, getLogLevel, setLogLevel, } from './logger.js';
|
|
92
|
+
// ============================================================================
|
|
93
|
+
// V3 middleware stack — cache / budget / trace via wrapLanguageModel
|
|
94
|
+
// ============================================================================
|
|
95
|
+
// Composable middleware primitives
|
|
96
|
+
export { cacheMiddleware, embeddingCacheMiddleware, budgetMiddleware, traceMiddleware, } from './middleware/index.js';
|
|
97
|
+
// Convenience composer
|
|
98
|
+
export { wrapForV3 } from './wrap-for-v3.js';
|
|
99
|
+
// Pluggable persistence primitive for trace/eval entries
|
|
100
|
+
export { InMemoryEvalLogStore, getEvalLogStore, configureEvalLogStore, } from './eval-log/index.js';
|
|
84
101
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/logger.d.ts
ADDED
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configurable Logger for AI Functions
|
|
3
|
+
*
|
|
4
|
+
* Provides a pluggable logging interface that defaults to console but can be
|
|
5
|
+
* configured to use any logging implementation. This allows library consumers
|
|
6
|
+
* to integrate with their own logging infrastructure.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```ts
|
|
10
|
+
* import { configureLogger, getLogger } from 'ai-functions'
|
|
11
|
+
*
|
|
12
|
+
* // Use with default console logger
|
|
13
|
+
* const logger = getLogger()
|
|
14
|
+
* logger.warn('Something happened')
|
|
15
|
+
*
|
|
16
|
+
* // Configure a custom logger
|
|
17
|
+
* configureLogger({
|
|
18
|
+
* debug: (msg, ...args) => myLogger.debug(msg, ...args),
|
|
19
|
+
* info: (msg, ...args) => myLogger.info(msg, ...args),
|
|
20
|
+
* warn: (msg, ...args) => myLogger.warn(msg, ...args),
|
|
21
|
+
* error: (msg, ...args) => myLogger.error(msg, ...args),
|
|
22
|
+
* })
|
|
23
|
+
*
|
|
24
|
+
* // Disable logging entirely
|
|
25
|
+
* configureLogger(null)
|
|
26
|
+
* ```
|
|
27
|
+
*
|
|
28
|
+
* @packageDocumentation
|
|
29
|
+
*/
|
|
30
|
+
/**
|
|
31
|
+
* Logger interface that matches the standard console methods.
|
|
32
|
+
*
|
|
33
|
+
* All methods are optional to allow partial implementations.
|
|
34
|
+
* Missing methods will be no-ops when called.
|
|
35
|
+
*/
|
|
36
|
+
export interface Logger {
|
|
37
|
+
/** Debug level logging (verbose) */
|
|
38
|
+
debug?: (message: string, ...args: unknown[]) => void;
|
|
39
|
+
/** Info level logging (general information) */
|
|
40
|
+
info?: (message: string, ...args: unknown[]) => void;
|
|
41
|
+
/** Warning level logging (potential issues) */
|
|
42
|
+
warn?: (message: string, ...args: unknown[]) => void;
|
|
43
|
+
/** Error level logging (errors and exceptions) */
|
|
44
|
+
error?: (message: string, ...args: unknown[]) => void;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Logger configuration options
|
|
48
|
+
*/
|
|
49
|
+
export interface LoggerConfig {
|
|
50
|
+
/** The logger implementation to use */
|
|
51
|
+
logger?: Logger | null;
|
|
52
|
+
/** Minimum log level to output */
|
|
53
|
+
level?: 'debug' | 'info' | 'warn' | 'error' | 'silent';
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Configure the global logger for ai-functions.
|
|
57
|
+
*
|
|
58
|
+
* @param config - Logger configuration or just a logger instance
|
|
59
|
+
*
|
|
60
|
+
* @example
|
|
61
|
+
* ```ts
|
|
62
|
+
* // Use a custom logger
|
|
63
|
+
* configureLogger({
|
|
64
|
+
* logger: {
|
|
65
|
+
* debug: (msg) => myLogger.debug(msg),
|
|
66
|
+
* info: (msg) => myLogger.info(msg),
|
|
67
|
+
* warn: (msg) => myLogger.warn(msg),
|
|
68
|
+
* error: (msg) => myLogger.error(msg),
|
|
69
|
+
* },
|
|
70
|
+
* level: 'info',
|
|
71
|
+
* })
|
|
72
|
+
*
|
|
73
|
+
* // Just set the log level
|
|
74
|
+
* configureLogger({ level: 'debug' })
|
|
75
|
+
*
|
|
76
|
+
* // Disable all logging
|
|
77
|
+
* configureLogger({ logger: null })
|
|
78
|
+
* // or
|
|
79
|
+
* configureLogger({ level: 'silent' })
|
|
80
|
+
*
|
|
81
|
+
* // Reset to defaults
|
|
82
|
+
* configureLogger({})
|
|
83
|
+
* ```
|
|
84
|
+
*/
|
|
85
|
+
export declare function configureLogger(config: LoggerConfig | Logger | null): void;
|
|
86
|
+
/**
|
|
87
|
+
* Get the current logger instance.
|
|
88
|
+
*
|
|
89
|
+
* Returns a logger that respects the configured log level.
|
|
90
|
+
* Methods for levels below the configured minimum will be no-ops.
|
|
91
|
+
*
|
|
92
|
+
* @returns Logger instance with level filtering applied
|
|
93
|
+
*
|
|
94
|
+
* @example
|
|
95
|
+
* ```ts
|
|
96
|
+
* const logger = getLogger()
|
|
97
|
+
* logger.warn('This is a warning')
|
|
98
|
+
* logger.error('This is an error', { details: 'foo' })
|
|
99
|
+
* ```
|
|
100
|
+
*/
|
|
101
|
+
export declare function getLogger(): Required<Logger>;
|
|
102
|
+
/**
|
|
103
|
+
* Reset the logger to default configuration.
|
|
104
|
+
*
|
|
105
|
+
* Restores the console-based logger with 'warn' minimum level.
|
|
106
|
+
*/
|
|
107
|
+
export declare function resetLogger(): void;
|
|
108
|
+
/**
|
|
109
|
+
* Get the current log level
|
|
110
|
+
*/
|
|
111
|
+
export declare function getLogLevel(): string;
|
|
112
|
+
/**
|
|
113
|
+
* Set the minimum log level
|
|
114
|
+
*
|
|
115
|
+
* @param level - Minimum level to log ('debug' | 'info' | 'warn' | 'error' | 'silent')
|
|
116
|
+
*/
|
|
117
|
+
export declare function setLogLevel(level: 'debug' | 'info' | 'warn' | 'error' | 'silent'): void;
|
|
118
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAMH;;;;;GAKG;AACH,MAAM,WAAW,MAAM;IACrB,oCAAoC;IACpC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;IACrD,+CAA+C;IAC/C,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;IACpD,+CAA+C;IAC/C,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;IACpD,kDAAkD;IAClD,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;CACtD;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,kCAAkC;IAClC,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAA;CACvD;AAyCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,CAiC1E;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,SAAS,IAAI,QAAQ,CAAC,MAAM,CAAC,CAyB5C;AAED;;;;GAIG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAGlC;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,IAAI,CAEvF"}
|
package/dist/logger.js
ADDED
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configurable Logger for AI Functions
|
|
3
|
+
*
|
|
4
|
+
* Provides a pluggable logging interface that defaults to console but can be
|
|
5
|
+
* configured to use any logging implementation. This allows library consumers
|
|
6
|
+
* to integrate with their own logging infrastructure.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```ts
|
|
10
|
+
* import { configureLogger, getLogger } from 'ai-functions'
|
|
11
|
+
*
|
|
12
|
+
* // Use with default console logger
|
|
13
|
+
* const logger = getLogger()
|
|
14
|
+
* logger.warn('Something happened')
|
|
15
|
+
*
|
|
16
|
+
* // Configure a custom logger
|
|
17
|
+
* configureLogger({
|
|
18
|
+
* debug: (msg, ...args) => myLogger.debug(msg, ...args),
|
|
19
|
+
* info: (msg, ...args) => myLogger.info(msg, ...args),
|
|
20
|
+
* warn: (msg, ...args) => myLogger.warn(msg, ...args),
|
|
21
|
+
* error: (msg, ...args) => myLogger.error(msg, ...args),
|
|
22
|
+
* })
|
|
23
|
+
*
|
|
24
|
+
* // Disable logging entirely
|
|
25
|
+
* configureLogger(null)
|
|
26
|
+
* ```
|
|
27
|
+
*
|
|
28
|
+
* @packageDocumentation
|
|
29
|
+
*/
|
|
30
|
+
// ============================================================================
|
|
31
|
+
// Logger State
|
|
32
|
+
// ============================================================================
|
|
33
|
+
/** Log level priority (lower = more verbose) */
|
|
34
|
+
const LOG_LEVELS = {
|
|
35
|
+
debug: 0,
|
|
36
|
+
info: 1,
|
|
37
|
+
warn: 2,
|
|
38
|
+
error: 3,
|
|
39
|
+
silent: 4,
|
|
40
|
+
};
|
|
41
|
+
/** Default console-based logger */
|
|
42
|
+
const defaultLogger = {
|
|
43
|
+
debug: (message, ...args) => console.debug(message, ...args),
|
|
44
|
+
info: (message, ...args) => console.info(message, ...args),
|
|
45
|
+
warn: (message, ...args) => console.warn(message, ...args),
|
|
46
|
+
error: (message, ...args) => console.error(message, ...args),
|
|
47
|
+
};
|
|
48
|
+
/** No-op logger for when logging is disabled */
|
|
49
|
+
const noopLogger = {
|
|
50
|
+
debug: () => { },
|
|
51
|
+
info: () => { },
|
|
52
|
+
warn: () => { },
|
|
53
|
+
error: () => { },
|
|
54
|
+
};
|
|
55
|
+
/** Current logger instance */
|
|
56
|
+
let currentLogger = defaultLogger;
|
|
57
|
+
/** Current minimum log level */
|
|
58
|
+
let currentLevel = 'warn';
|
|
59
|
+
// ============================================================================
|
|
60
|
+
// Configuration Functions
|
|
61
|
+
// ============================================================================
|
|
62
|
+
/**
|
|
63
|
+
* Configure the global logger for ai-functions.
|
|
64
|
+
*
|
|
65
|
+
* @param config - Logger configuration or just a logger instance
|
|
66
|
+
*
|
|
67
|
+
* @example
|
|
68
|
+
* ```ts
|
|
69
|
+
* // Use a custom logger
|
|
70
|
+
* configureLogger({
|
|
71
|
+
* logger: {
|
|
72
|
+
* debug: (msg) => myLogger.debug(msg),
|
|
73
|
+
* info: (msg) => myLogger.info(msg),
|
|
74
|
+
* warn: (msg) => myLogger.warn(msg),
|
|
75
|
+
* error: (msg) => myLogger.error(msg),
|
|
76
|
+
* },
|
|
77
|
+
* level: 'info',
|
|
78
|
+
* })
|
|
79
|
+
*
|
|
80
|
+
* // Just set the log level
|
|
81
|
+
* configureLogger({ level: 'debug' })
|
|
82
|
+
*
|
|
83
|
+
* // Disable all logging
|
|
84
|
+
* configureLogger({ logger: null })
|
|
85
|
+
* // or
|
|
86
|
+
* configureLogger({ level: 'silent' })
|
|
87
|
+
*
|
|
88
|
+
* // Reset to defaults
|
|
89
|
+
* configureLogger({})
|
|
90
|
+
* ```
|
|
91
|
+
*/
|
|
92
|
+
export function configureLogger(config) {
|
|
93
|
+
// Handle null (disable logging)
|
|
94
|
+
if (config === null) {
|
|
95
|
+
currentLogger = noopLogger;
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
// Handle Logger directly
|
|
99
|
+
if (config && ('debug' in config || 'info' in config || 'warn' in config || 'error' in config)) {
|
|
100
|
+
// Check if it's a Logger (has at least one log method but no 'logger' or 'level' key)
|
|
101
|
+
if (!('logger' in config) && !('level' in config)) {
|
|
102
|
+
currentLogger = config;
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
// Handle LoggerConfig
|
|
107
|
+
const loggerConfig = config;
|
|
108
|
+
if (loggerConfig.logger === null) {
|
|
109
|
+
currentLogger = noopLogger;
|
|
110
|
+
}
|
|
111
|
+
else if (loggerConfig.logger) {
|
|
112
|
+
currentLogger = loggerConfig.logger;
|
|
113
|
+
}
|
|
114
|
+
else if (config === undefined || Object.keys(config).length === 0) {
|
|
115
|
+
// Reset to default
|
|
116
|
+
currentLogger = defaultLogger;
|
|
117
|
+
currentLevel = 'warn';
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
if (loggerConfig.level) {
|
|
121
|
+
currentLevel = loggerConfig.level;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Get the current logger instance.
|
|
126
|
+
*
|
|
127
|
+
* Returns a logger that respects the configured log level.
|
|
128
|
+
* Methods for levels below the configured minimum will be no-ops.
|
|
129
|
+
*
|
|
130
|
+
* @returns Logger instance with level filtering applied
|
|
131
|
+
*
|
|
132
|
+
* @example
|
|
133
|
+
* ```ts
|
|
134
|
+
* const logger = getLogger()
|
|
135
|
+
* logger.warn('This is a warning')
|
|
136
|
+
* logger.error('This is an error', { details: 'foo' })
|
|
137
|
+
* ```
|
|
138
|
+
*/
|
|
139
|
+
export function getLogger() {
|
|
140
|
+
const minLevel = LOG_LEVELS[currentLevel] ?? LOG_LEVELS['warn'];
|
|
141
|
+
return {
|
|
142
|
+
debug: (message, ...args) => {
|
|
143
|
+
if (minLevel <= LOG_LEVELS['debug']) {
|
|
144
|
+
currentLogger.debug?.(message, ...args);
|
|
145
|
+
}
|
|
146
|
+
},
|
|
147
|
+
info: (message, ...args) => {
|
|
148
|
+
if (minLevel <= LOG_LEVELS['info']) {
|
|
149
|
+
currentLogger.info?.(message, ...args);
|
|
150
|
+
}
|
|
151
|
+
},
|
|
152
|
+
warn: (message, ...args) => {
|
|
153
|
+
if (minLevel <= LOG_LEVELS['warn']) {
|
|
154
|
+
currentLogger.warn?.(message, ...args);
|
|
155
|
+
}
|
|
156
|
+
},
|
|
157
|
+
error: (message, ...args) => {
|
|
158
|
+
if (minLevel <= LOG_LEVELS['error']) {
|
|
159
|
+
currentLogger.error?.(message, ...args);
|
|
160
|
+
}
|
|
161
|
+
},
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Reset the logger to default configuration.
|
|
166
|
+
*
|
|
167
|
+
* Restores the console-based logger with 'warn' minimum level.
|
|
168
|
+
*/
|
|
169
|
+
export function resetLogger() {
|
|
170
|
+
currentLogger = defaultLogger;
|
|
171
|
+
currentLevel = 'warn';
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Get the current log level
|
|
175
|
+
*/
|
|
176
|
+
export function getLogLevel() {
|
|
177
|
+
return currentLevel;
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Set the minimum log level
|
|
181
|
+
*
|
|
182
|
+
* @param level - Minimum level to log ('debug' | 'info' | 'warn' | 'error' | 'silent')
|
|
183
|
+
*/
|
|
184
|
+
export function setLogLevel(level) {
|
|
185
|
+
currentLevel = level;
|
|
186
|
+
}
|
|
187
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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"}
|