ai-functions 2.1.1 → 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 -4
- package/CHANGELOG.md +68 -1
- package/README.md +397 -157
- package/dist/ai-promise.d.ts +50 -3
- package/dist/ai-promise.d.ts.map +1 -1
- package/dist/ai-promise.js +410 -51
- 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 +54 -837
- 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 +272 -0
- package/dist/budget.d.ts.map +1 -0
- package/dist/budget.js +513 -0
- package/dist/budget.js.map +1 -0
- package/dist/cache.d.ts +295 -0
- package/dist/cache.d.ts.map +1 -0
- package/dist/cache.js +433 -0
- package/dist/cache.js.map +1 -0
- package/dist/context.d.ts +42 -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 +10 -1
- 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 -22
- package/dist/generate.js.map +1 -1
- package/dist/index.d.ts +35 -20
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +89 -42
- 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 +368 -0
- package/dist/retry.d.ts.map +1 -0
- package/dist/retry.js +646 -0
- package/dist/retry.js.map +1 -0
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +2 -10
- 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 +453 -0
- package/dist/tool-orchestration.d.ts.map +1 -0
- package/dist/tool-orchestration.js +763 -0
- package/dist/tool-orchestration.js.map +1 -0
- 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 +10 -6
- package/src/ai-promise.ts +528 -99
- package/src/ai-schemas.ts +122 -0
- package/src/ai.ts +69 -1153
- 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 +740 -0
- package/src/cache.ts +681 -0
- package/src/context.ts +122 -76
- package/src/digital-objects-registry.ts +750 -0
- package/src/errors.ts +37 -0
- package/src/eval/runner.ts +63 -38
- 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 -33
- package/src/index.ts +325 -49
- 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 +902 -0
- package/src/schema.ts +8 -17
- package/src/telemetry.ts +403 -0
- package/src/template.ts +8 -4
- package/src/tool-orchestration.ts +1173 -0
- 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/backward-compat.test.ts +147 -0
- package/test/batch-autosubmit-errors.test.ts +610 -0
- package/test/batch-blog-posts.test.ts +87 -129
- package/test/budget-tracking.test.ts +800 -0
- package/test/cache.test.ts +712 -0
- package/test/context-isolation.test.ts +687 -0
- 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/evals/deterministic.eval.test.ts +376 -0
- package/test/generate-core.test.ts +140 -229
- package/test/implicit-batch.test.ts +22 -65
- package/test/json-parse-error-handling.test.ts +463 -0
- package/test/retry-policy-integration.test.ts +117 -0
- package/test/retry.test.ts +1016 -0
- package/test/schema.test.ts +55 -19
- package/test/streaming.test.ts +316 -0
- package/test/template.test.ts +1164 -0
- package/test/tool-orchestration.test.ts +1040 -0
- package/test/wrap-for-v3.test.ts +612 -0
- package/vitest.config.js +6 -0
- package/vitest.config.ts +20 -0
- 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/context.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Execution Context for AI Functions
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* Settings flow from environment
|
|
4
|
+
* Standalone context module with batch processing and budget tracking features.
|
|
5
|
+
* Settings flow from environment -> global context -> local context.
|
|
6
6
|
*
|
|
7
7
|
* @example
|
|
8
8
|
* ```ts
|
|
@@ -61,18 +61,6 @@ export function resetContext() {
|
|
|
61
61
|
let asyncLocalStorage = null;
|
|
62
62
|
// Lazy initialization of AsyncLocalStorage
|
|
63
63
|
let asyncLocalStorageInitialized = false;
|
|
64
|
-
async function initAsyncLocalStorage() {
|
|
65
|
-
if (asyncLocalStorageInitialized)
|
|
66
|
-
return;
|
|
67
|
-
asyncLocalStorageInitialized = true;
|
|
68
|
-
try {
|
|
69
|
-
const { AsyncLocalStorage } = await import('async_hooks');
|
|
70
|
-
asyncLocalStorage = new AsyncLocalStorage();
|
|
71
|
-
}
|
|
72
|
-
catch {
|
|
73
|
-
// Not in Node.js environment, use global context only
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
64
|
// Initialize synchronously if possible (for Node.js environments)
|
|
77
65
|
if (typeof process !== 'undefined' && process.versions?.node) {
|
|
78
66
|
import('async_hooks')
|
|
@@ -84,15 +72,71 @@ if (typeof process !== 'undefined' && process.versions?.node) {
|
|
|
84
72
|
asyncLocalStorageInitialized = true;
|
|
85
73
|
});
|
|
86
74
|
}
|
|
75
|
+
// ============================================================================
|
|
76
|
+
// Environment Defaults
|
|
77
|
+
// ============================================================================
|
|
78
|
+
function getEnvContext() {
|
|
79
|
+
if (typeof process === 'undefined')
|
|
80
|
+
return {};
|
|
81
|
+
const context = {};
|
|
82
|
+
// Model defaults
|
|
83
|
+
if (process.env['AI_MODEL']) {
|
|
84
|
+
context.model = process.env['AI_MODEL'];
|
|
85
|
+
}
|
|
86
|
+
// Provider defaults
|
|
87
|
+
if (process.env['AI_PROVIDER']) {
|
|
88
|
+
context.provider = process.env['AI_PROVIDER'];
|
|
89
|
+
}
|
|
90
|
+
else if (process.env['ANTHROPIC_API_KEY'] && !process.env['OPENAI_API_KEY']) {
|
|
91
|
+
context.provider = 'anthropic';
|
|
92
|
+
}
|
|
93
|
+
else if (process.env['OPENAI_API_KEY']) {
|
|
94
|
+
context.provider = 'openai';
|
|
95
|
+
}
|
|
96
|
+
else if (process.env['CLOUDFLARE_API_TOKEN']) {
|
|
97
|
+
context.provider = 'cloudflare';
|
|
98
|
+
}
|
|
99
|
+
else if (process.env['AWS_ACCESS_KEY_ID']) {
|
|
100
|
+
context.provider = 'bedrock';
|
|
101
|
+
}
|
|
102
|
+
return context;
|
|
103
|
+
}
|
|
104
|
+
function getEnvBatchContext() {
|
|
105
|
+
if (typeof process === 'undefined')
|
|
106
|
+
return {};
|
|
107
|
+
const context = {};
|
|
108
|
+
// Batch mode
|
|
109
|
+
if (process.env['AI_BATCH_MODE']) {
|
|
110
|
+
context.batchMode = process.env['AI_BATCH_MODE'];
|
|
111
|
+
}
|
|
112
|
+
// Flex threshold (when to start using flex processing)
|
|
113
|
+
if (process.env['AI_FLEX_THRESHOLD']) {
|
|
114
|
+
context.flexThreshold = parseInt(process.env['AI_FLEX_THRESHOLD'], 10);
|
|
115
|
+
}
|
|
116
|
+
// Batch threshold (when to switch from flex to full batch)
|
|
117
|
+
if (process.env['AI_BATCH_THRESHOLD']) {
|
|
118
|
+
context.batchThreshold = parseInt(process.env['AI_BATCH_THRESHOLD'], 10);
|
|
119
|
+
}
|
|
120
|
+
// Webhook URL
|
|
121
|
+
if (process.env['AI_BATCH_WEBHOOK_URL']) {
|
|
122
|
+
context.webhookUrl = process.env['AI_BATCH_WEBHOOK_URL'];
|
|
123
|
+
}
|
|
124
|
+
return context;
|
|
125
|
+
}
|
|
126
|
+
// ============================================================================
|
|
127
|
+
// Context Functions
|
|
128
|
+
// ============================================================================
|
|
87
129
|
/**
|
|
88
130
|
* Get the current execution context
|
|
89
|
-
* Merges: environment defaults
|
|
131
|
+
* Merges: environment defaults -> global context -> local context
|
|
90
132
|
*/
|
|
91
133
|
export function getContext() {
|
|
92
134
|
const envContext = getEnvContext();
|
|
135
|
+
const envBatchContext = getEnvBatchContext();
|
|
93
136
|
const localContext = asyncLocalStorage?.getStore();
|
|
94
137
|
return {
|
|
95
138
|
...envContext,
|
|
139
|
+
...envBatchContext,
|
|
96
140
|
...globalContext,
|
|
97
141
|
...localContext,
|
|
98
142
|
};
|
|
@@ -124,51 +168,6 @@ export function withContext(context, fn) {
|
|
|
124
168
|
}
|
|
125
169
|
}
|
|
126
170
|
// ============================================================================
|
|
127
|
-
// Environment Defaults
|
|
128
|
-
// ============================================================================
|
|
129
|
-
function getEnvContext() {
|
|
130
|
-
if (typeof process === 'undefined')
|
|
131
|
-
return {};
|
|
132
|
-
const context = {};
|
|
133
|
-
// Model defaults
|
|
134
|
-
if (process.env.AI_MODEL) {
|
|
135
|
-
context.model = process.env.AI_MODEL;
|
|
136
|
-
}
|
|
137
|
-
// Provider defaults
|
|
138
|
-
if (process.env.AI_PROVIDER) {
|
|
139
|
-
context.provider = process.env.AI_PROVIDER;
|
|
140
|
-
}
|
|
141
|
-
else if (process.env.ANTHROPIC_API_KEY && !process.env.OPENAI_API_KEY) {
|
|
142
|
-
context.provider = 'anthropic';
|
|
143
|
-
}
|
|
144
|
-
else if (process.env.OPENAI_API_KEY) {
|
|
145
|
-
context.provider = 'openai';
|
|
146
|
-
}
|
|
147
|
-
else if (process.env.CLOUDFLARE_API_TOKEN) {
|
|
148
|
-
context.provider = 'cloudflare';
|
|
149
|
-
}
|
|
150
|
-
else if (process.env.AWS_ACCESS_KEY_ID) {
|
|
151
|
-
context.provider = 'bedrock';
|
|
152
|
-
}
|
|
153
|
-
// Batch mode
|
|
154
|
-
if (process.env.AI_BATCH_MODE) {
|
|
155
|
-
context.batchMode = process.env.AI_BATCH_MODE;
|
|
156
|
-
}
|
|
157
|
-
// Flex threshold (when to start using flex processing)
|
|
158
|
-
if (process.env.AI_FLEX_THRESHOLD) {
|
|
159
|
-
context.flexThreshold = parseInt(process.env.AI_FLEX_THRESHOLD, 10);
|
|
160
|
-
}
|
|
161
|
-
// Batch threshold (when to switch from flex to full batch)
|
|
162
|
-
if (process.env.AI_BATCH_THRESHOLD) {
|
|
163
|
-
context.batchThreshold = parseInt(process.env.AI_BATCH_THRESHOLD, 10);
|
|
164
|
-
}
|
|
165
|
-
// Webhook URL
|
|
166
|
-
if (process.env.AI_BATCH_WEBHOOK_URL) {
|
|
167
|
-
context.webhookUrl = process.env.AI_BATCH_WEBHOOK_URL;
|
|
168
|
-
}
|
|
169
|
-
return context;
|
|
170
|
-
}
|
|
171
|
-
// ============================================================================
|
|
172
171
|
// Context Helpers
|
|
173
172
|
// ============================================================================
|
|
174
173
|
/**
|
|
@@ -179,12 +178,15 @@ export function getModel() {
|
|
|
179
178
|
return ctx.model || 'sonnet';
|
|
180
179
|
}
|
|
181
180
|
/**
|
|
182
|
-
* Get the effective provider from context
|
|
181
|
+
* Get the effective provider from context (typed as BatchProvider)
|
|
183
182
|
*/
|
|
184
183
|
export function getProvider() {
|
|
185
184
|
const ctx = getContext();
|
|
186
|
-
return ctx.provider || 'openai';
|
|
185
|
+
return (ctx.provider || 'openai');
|
|
187
186
|
}
|
|
187
|
+
// ============================================================================
|
|
188
|
+
// Batch-Specific Context Helpers
|
|
189
|
+
// ============================================================================
|
|
188
190
|
/**
|
|
189
191
|
* Get the effective batch mode from context
|
|
190
192
|
*/
|
package/dist/context.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DigitalObjectsFunctionRegistry - Persistent function registry using digital-objects
|
|
3
|
+
*
|
|
4
|
+
* This implementation stores function definitions as Things and function calls as Actions,
|
|
5
|
+
* providing full persistence and audit trail capabilities.
|
|
6
|
+
*
|
|
7
|
+
* Nouns:
|
|
8
|
+
* - CodeFunction: Functions that generate executable code
|
|
9
|
+
* - GenerativeFunction: Functions that use AI to generate content
|
|
10
|
+
* - AgenticFunction: Functions that run in a loop with tools
|
|
11
|
+
* - HumanFunction: Functions that require human input/approval
|
|
12
|
+
*
|
|
13
|
+
* Verbs:
|
|
14
|
+
* - define: Function definition action
|
|
15
|
+
* - call: Function invocation action
|
|
16
|
+
* - complete: Successful completion action
|
|
17
|
+
* - fail: Failed execution action
|
|
18
|
+
*
|
|
19
|
+
* @packageDocumentation
|
|
20
|
+
*/
|
|
21
|
+
import type { DigitalObjectsProvider, Thing, Action } from 'digital-objects';
|
|
22
|
+
import type { FunctionRegistry, DefinedFunction } from './types.js';
|
|
23
|
+
/**
|
|
24
|
+
* Noun names for function types
|
|
25
|
+
*/
|
|
26
|
+
export declare const FUNCTION_NOUNS: {
|
|
27
|
+
readonly CODE: "CodeFunction";
|
|
28
|
+
readonly GENERATIVE: "GenerativeFunction";
|
|
29
|
+
readonly AGENTIC: "AgenticFunction";
|
|
30
|
+
readonly HUMAN: "HumanFunction";
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* Verb names for function actions
|
|
34
|
+
*/
|
|
35
|
+
export declare const FUNCTION_VERBS: {
|
|
36
|
+
readonly DEFINE: "define";
|
|
37
|
+
readonly CALL: "call";
|
|
38
|
+
readonly COMPLETE: "complete";
|
|
39
|
+
readonly FAIL: "fail";
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* Stored function definition shape
|
|
43
|
+
*/
|
|
44
|
+
export interface StoredFunctionDefinition {
|
|
45
|
+
name: string;
|
|
46
|
+
type: 'code' | 'generative' | 'agentic' | 'human';
|
|
47
|
+
description?: string;
|
|
48
|
+
args: unknown;
|
|
49
|
+
returnType?: unknown;
|
|
50
|
+
/** Inline deterministic code body for a `code` function (handlers are not persistable). */
|
|
51
|
+
code?: string;
|
|
52
|
+
language?: string;
|
|
53
|
+
instructions?: string;
|
|
54
|
+
/** @deprecated Legacy code-authoring fields; retained only for back-compat reads. */
|
|
55
|
+
includeTests?: boolean;
|
|
56
|
+
/** @deprecated Legacy code-authoring fields; retained only for back-compat reads. */
|
|
57
|
+
includeExamples?: boolean;
|
|
58
|
+
output?: string;
|
|
59
|
+
system?: string;
|
|
60
|
+
promptTemplate?: string;
|
|
61
|
+
model?: string;
|
|
62
|
+
temperature?: number;
|
|
63
|
+
tools?: unknown[];
|
|
64
|
+
maxIterations?: number;
|
|
65
|
+
stream?: boolean;
|
|
66
|
+
channel?: string;
|
|
67
|
+
timeout?: number;
|
|
68
|
+
assignee?: string;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Function call data stored in actions
|
|
72
|
+
*/
|
|
73
|
+
export interface FunctionCallData {
|
|
74
|
+
args: unknown;
|
|
75
|
+
result?: unknown;
|
|
76
|
+
error?: string;
|
|
77
|
+
duration?: number;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Options for creating a DigitalObjectsFunctionRegistry
|
|
81
|
+
*/
|
|
82
|
+
export interface DigitalObjectsRegistryOptions {
|
|
83
|
+
/** The digital-objects provider to use for storage */
|
|
84
|
+
provider: DigitalObjectsProvider;
|
|
85
|
+
/** Whether to auto-initialize nouns and verbs (default: true) */
|
|
86
|
+
autoInitialize?: boolean;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* DigitalObjectsFunctionRegistry - Persistent function registry using digital-objects
|
|
90
|
+
*
|
|
91
|
+
* This class implements the FunctionRegistry interface using digital-objects for storage.
|
|
92
|
+
* Function definitions are stored as Things, and function calls are tracked as Actions.
|
|
93
|
+
*
|
|
94
|
+
* @example
|
|
95
|
+
* ```ts
|
|
96
|
+
* import { createMemoryProvider } from 'digital-objects'
|
|
97
|
+
* import { createDigitalObjectsRegistry, defineFunction } from 'ai-functions'
|
|
98
|
+
*
|
|
99
|
+
* const provider = createMemoryProvider()
|
|
100
|
+
* const registry = await createDigitalObjectsRegistry({ provider })
|
|
101
|
+
*
|
|
102
|
+
* // Define a function
|
|
103
|
+
* const summarize = defineFunction({
|
|
104
|
+
* type: 'generative',
|
|
105
|
+
* name: 'summarize',
|
|
106
|
+
* args: { text: 'Text to summarize' },
|
|
107
|
+
* output: 'string',
|
|
108
|
+
* })
|
|
109
|
+
*
|
|
110
|
+
* // Store it in the registry
|
|
111
|
+
* registry.set('summarize', summarize)
|
|
112
|
+
*
|
|
113
|
+
* // Later, retrieve it
|
|
114
|
+
* const fn = registry.get('summarize')
|
|
115
|
+
* if (fn) {
|
|
116
|
+
* const result = await fn.call({ text: 'Long article...' })
|
|
117
|
+
* }
|
|
118
|
+
* ```
|
|
119
|
+
*/
|
|
120
|
+
export declare class DigitalObjectsFunctionRegistry implements FunctionRegistry {
|
|
121
|
+
private provider;
|
|
122
|
+
private initialized;
|
|
123
|
+
private autoInitialize;
|
|
124
|
+
private initPromise;
|
|
125
|
+
private functionCache;
|
|
126
|
+
constructor(options: DigitalObjectsRegistryOptions);
|
|
127
|
+
/**
|
|
128
|
+
* Initialize the registry by defining all necessary nouns and verbs
|
|
129
|
+
*/
|
|
130
|
+
initialize(): Promise<void>;
|
|
131
|
+
private _initialize;
|
|
132
|
+
/**
|
|
133
|
+
* Ensure the registry is initialized before operations
|
|
134
|
+
*/
|
|
135
|
+
private ensureInitialized;
|
|
136
|
+
/**
|
|
137
|
+
* Get a function by name
|
|
138
|
+
*/
|
|
139
|
+
get(name: string): DefinedFunction | undefined;
|
|
140
|
+
/**
|
|
141
|
+
* Get a function by name (async version for loading from storage)
|
|
142
|
+
*/
|
|
143
|
+
getAsync(name: string): Promise<DefinedFunction | undefined>;
|
|
144
|
+
/**
|
|
145
|
+
* Store a function definition
|
|
146
|
+
*/
|
|
147
|
+
set(name: string, fn: DefinedFunction): void;
|
|
148
|
+
/**
|
|
149
|
+
* Store a function definition (async version)
|
|
150
|
+
*/
|
|
151
|
+
setAsync(name: string, fn: DefinedFunction): Promise<Thing<StoredFunctionDefinition>>;
|
|
152
|
+
/**
|
|
153
|
+
* Check if a function exists
|
|
154
|
+
*/
|
|
155
|
+
has(name: string): boolean;
|
|
156
|
+
/**
|
|
157
|
+
* Check if a function exists (async version that also checks storage)
|
|
158
|
+
*/
|
|
159
|
+
hasAsync(name: string): Promise<boolean>;
|
|
160
|
+
/**
|
|
161
|
+
* List all function names
|
|
162
|
+
*/
|
|
163
|
+
list(): string[];
|
|
164
|
+
/**
|
|
165
|
+
* List all function names (async version that includes storage)
|
|
166
|
+
*/
|
|
167
|
+
listAsync(): Promise<string[]>;
|
|
168
|
+
/**
|
|
169
|
+
* Delete a function
|
|
170
|
+
*/
|
|
171
|
+
delete(name: string): boolean;
|
|
172
|
+
/**
|
|
173
|
+
* Delete a function (async version)
|
|
174
|
+
*/
|
|
175
|
+
deleteAsync(name: string): Promise<boolean>;
|
|
176
|
+
/**
|
|
177
|
+
* Clear all functions
|
|
178
|
+
*/
|
|
179
|
+
clear(): void;
|
|
180
|
+
/**
|
|
181
|
+
* Clear all functions (async version)
|
|
182
|
+
*/
|
|
183
|
+
clearAsync(): Promise<void>;
|
|
184
|
+
/**
|
|
185
|
+
* Record a function call as an Action
|
|
186
|
+
*/
|
|
187
|
+
trackCall(functionName: string, args: unknown): Promise<Action<FunctionCallData>>;
|
|
188
|
+
/**
|
|
189
|
+
* Record a successful function completion
|
|
190
|
+
*/
|
|
191
|
+
trackCompletion(callActionId: string, result: unknown, duration?: number): Promise<Action<FunctionCallData>>;
|
|
192
|
+
/**
|
|
193
|
+
* Record a function failure
|
|
194
|
+
*/
|
|
195
|
+
trackFailure(callActionId: string, error: string, duration?: number): Promise<Action<FunctionCallData>>;
|
|
196
|
+
/**
|
|
197
|
+
* Get call history for a function
|
|
198
|
+
*/
|
|
199
|
+
getCallHistory(functionName: string): Promise<Action<FunctionCallData>[]>;
|
|
200
|
+
/**
|
|
201
|
+
* Get all recent function calls
|
|
202
|
+
*/
|
|
203
|
+
getRecentCalls(limit?: number): Promise<Action<FunctionCallData>[]>;
|
|
204
|
+
/**
|
|
205
|
+
* Get the underlying provider for advanced operations
|
|
206
|
+
*/
|
|
207
|
+
getProvider(): DigitalObjectsProvider;
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Create a DigitalObjectsFunctionRegistry
|
|
211
|
+
*
|
|
212
|
+
* @param options - Configuration options including the provider
|
|
213
|
+
* @returns An initialized DigitalObjectsFunctionRegistry
|
|
214
|
+
*
|
|
215
|
+
* @example
|
|
216
|
+
* ```ts
|
|
217
|
+
* import { createMemoryProvider } from 'digital-objects'
|
|
218
|
+
* import { createDigitalObjectsRegistry } from 'ai-functions'
|
|
219
|
+
*
|
|
220
|
+
* const provider = createMemoryProvider()
|
|
221
|
+
* const registry = await createDigitalObjectsRegistry({ provider })
|
|
222
|
+
*
|
|
223
|
+
* // Use the registry
|
|
224
|
+
* registry.set('myFunc', definedFunction)
|
|
225
|
+
* const fn = registry.get('myFunc')
|
|
226
|
+
* ```
|
|
227
|
+
*/
|
|
228
|
+
export declare function createDigitalObjectsRegistry(options: DigitalObjectsRegistryOptions): Promise<DigitalObjectsFunctionRegistry>;
|
|
229
|
+
//# sourceMappingURL=digital-objects-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"digital-objects-registry.d.ts","sourceRoot":"","sources":["../src/digital-objects-registry.ts"],"names":[],"mappings":"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"}
|