ai-functions 2.1.3 → 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (284) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +90 -1
  3. package/README.md +38 -0
  4. package/dist/ai-promise.d.ts +3 -3
  5. package/dist/ai-promise.d.ts.map +1 -1
  6. package/dist/ai-promise.js +135 -64
  7. package/dist/ai-promise.js.map +1 -1
  8. package/dist/ai-schemas.d.ts +56 -0
  9. package/dist/ai-schemas.d.ts.map +1 -0
  10. package/dist/ai-schemas.js +53 -0
  11. package/dist/ai-schemas.js.map +1 -0
  12. package/dist/ai.d.ts +16 -242
  13. package/dist/ai.d.ts.map +1 -1
  14. package/dist/ai.js +51 -858
  15. package/dist/ai.js.map +1 -1
  16. package/dist/batch/anthropic.d.ts +6 -4
  17. package/dist/batch/anthropic.d.ts.map +1 -1
  18. package/dist/batch/anthropic.js +83 -145
  19. package/dist/batch/anthropic.js.map +1 -1
  20. package/dist/batch/bedrock.d.ts +8 -30
  21. package/dist/batch/bedrock.d.ts.map +1 -1
  22. package/dist/batch/bedrock.js +155 -338
  23. package/dist/batch/bedrock.js.map +1 -1
  24. package/dist/batch/cloudflare.d.ts +8 -20
  25. package/dist/batch/cloudflare.d.ts.map +1 -1
  26. package/dist/batch/cloudflare.js +68 -189
  27. package/dist/batch/cloudflare.js.map +1 -1
  28. package/dist/batch/google.d.ts +6 -20
  29. package/dist/batch/google.d.ts.map +1 -1
  30. package/dist/batch/google.js +70 -238
  31. package/dist/batch/google.js.map +1 -1
  32. package/dist/batch/index.d.ts +4 -1
  33. package/dist/batch/index.d.ts.map +1 -1
  34. package/dist/batch/index.js +4 -1
  35. package/dist/batch/index.js.map +1 -1
  36. package/dist/batch/memory.d.ts +1 -1
  37. package/dist/batch/memory.d.ts.map +1 -1
  38. package/dist/batch/memory.js +14 -10
  39. package/dist/batch/memory.js.map +1 -1
  40. package/dist/batch/openai.d.ts +11 -14
  41. package/dist/batch/openai.d.ts.map +1 -1
  42. package/dist/batch/openai.js +52 -156
  43. package/dist/batch/openai.js.map +1 -1
  44. package/dist/batch/provider.d.ts +111 -0
  45. package/dist/batch/provider.d.ts.map +1 -0
  46. package/dist/batch/provider.js +233 -0
  47. package/dist/batch/provider.js.map +1 -0
  48. package/dist/batch-map.d.ts.map +1 -1
  49. package/dist/batch-map.js +23 -17
  50. package/dist/batch-map.js.map +1 -1
  51. package/dist/batch-queue.d.ts +65 -0
  52. package/dist/batch-queue.d.ts.map +1 -1
  53. package/dist/batch-queue.js +169 -14
  54. package/dist/batch-queue.js.map +1 -1
  55. package/dist/budget.d.ts.map +1 -1
  56. package/dist/budget.js +27 -14
  57. package/dist/budget.js.map +1 -1
  58. package/dist/cache.d.ts +23 -0
  59. package/dist/cache.d.ts.map +1 -1
  60. package/dist/cache.js +36 -15
  61. package/dist/cache.js.map +1 -1
  62. package/dist/context.d.ts +26 -8
  63. package/dist/context.d.ts.map +1 -1
  64. package/dist/context.js +64 -62
  65. package/dist/context.js.map +1 -1
  66. package/dist/digital-objects-registry.d.ts +229 -0
  67. package/dist/digital-objects-registry.d.ts.map +1 -0
  68. package/dist/digital-objects-registry.js +617 -0
  69. package/dist/digital-objects-registry.js.map +1 -0
  70. package/dist/embeddings.d.ts +2 -2
  71. package/dist/embeddings.d.ts.map +1 -1
  72. package/dist/errors.d.ts +22 -0
  73. package/dist/errors.d.ts.map +1 -0
  74. package/dist/errors.js +35 -0
  75. package/dist/errors.js.map +1 -0
  76. package/dist/eval/runner.d.ts +8 -0
  77. package/dist/eval/runner.d.ts.map +1 -1
  78. package/dist/eval/runner.js +41 -35
  79. package/dist/eval/runner.js.map +1 -1
  80. package/dist/eval-log/in-memory.d.ts +34 -0
  81. package/dist/eval-log/in-memory.d.ts.map +1 -0
  82. package/dist/eval-log/in-memory.js +84 -0
  83. package/dist/eval-log/in-memory.js.map +1 -0
  84. package/dist/eval-log/index.d.ts +29 -0
  85. package/dist/eval-log/index.d.ts.map +1 -0
  86. package/dist/eval-log/index.js +39 -0
  87. package/dist/eval-log/index.js.map +1 -0
  88. package/dist/eval-log/types.d.ts +101 -0
  89. package/dist/eval-log/types.d.ts.map +1 -0
  90. package/dist/eval-log/types.js +16 -0
  91. package/dist/eval-log/types.js.map +1 -0
  92. package/dist/function-registry.d.ts +176 -0
  93. package/dist/function-registry.d.ts.map +1 -0
  94. package/dist/function-registry.js +685 -0
  95. package/dist/function-registry.js.map +1 -0
  96. package/dist/generate.d.ts +9 -3
  97. package/dist/generate.d.ts.map +1 -1
  98. package/dist/generate.js +18 -18
  99. package/dist/generate.js.map +1 -1
  100. package/dist/index.d.ts +18 -11
  101. package/dist/index.d.ts.map +1 -1
  102. package/dist/index.js +35 -18
  103. package/dist/index.js.map +1 -1
  104. package/dist/logger.d.ts +118 -0
  105. package/dist/logger.d.ts.map +1 -0
  106. package/dist/logger.js +187 -0
  107. package/dist/logger.js.map +1 -0
  108. package/dist/middleware/budget.d.ts +84 -0
  109. package/dist/middleware/budget.d.ts.map +1 -0
  110. package/dist/middleware/budget.js +110 -0
  111. package/dist/middleware/budget.js.map +1 -0
  112. package/dist/middleware/cache.d.ts +103 -0
  113. package/dist/middleware/cache.d.ts.map +1 -0
  114. package/dist/middleware/cache.js +228 -0
  115. package/dist/middleware/cache.js.map +1 -0
  116. package/dist/middleware/embed-cache.d.ts +99 -0
  117. package/dist/middleware/embed-cache.d.ts.map +1 -0
  118. package/dist/middleware/embed-cache.js +128 -0
  119. package/dist/middleware/embed-cache.js.map +1 -0
  120. package/dist/middleware/index.d.ts +11 -0
  121. package/dist/middleware/index.d.ts.map +1 -0
  122. package/dist/middleware/index.js +11 -0
  123. package/dist/middleware/index.js.map +1 -0
  124. package/dist/middleware/trace.d.ts +103 -0
  125. package/dist/middleware/trace.d.ts.map +1 -0
  126. package/dist/middleware/trace.js +176 -0
  127. package/dist/middleware/trace.js.map +1 -0
  128. package/dist/primitives.d.ts +120 -1
  129. package/dist/primitives.d.ts.map +1 -1
  130. package/dist/primitives.js +398 -26
  131. package/dist/primitives.js.map +1 -1
  132. package/dist/retry.d.ts +66 -1
  133. package/dist/retry.d.ts.map +1 -1
  134. package/dist/retry.js +115 -8
  135. package/dist/retry.js.map +1 -1
  136. package/dist/sandbox.d.ts +36 -0
  137. package/dist/sandbox.d.ts.map +1 -0
  138. package/dist/sandbox.js +44 -0
  139. package/dist/sandbox.js.map +1 -0
  140. package/dist/schema.js +2 -2
  141. package/dist/schema.js.map +1 -1
  142. package/dist/telemetry.d.ts +128 -0
  143. package/dist/telemetry.d.ts.map +1 -0
  144. package/dist/telemetry.js +285 -0
  145. package/dist/telemetry.js.map +1 -0
  146. package/dist/template.d.ts.map +1 -1
  147. package/dist/template.js +6 -1
  148. package/dist/template.js.map +1 -1
  149. package/dist/tool-orchestration.d.ts +66 -4
  150. package/dist/tool-orchestration.d.ts.map +1 -1
  151. package/dist/tool-orchestration.js +123 -23
  152. package/dist/tool-orchestration.js.map +1 -1
  153. package/dist/type-guards.d.ts +28 -0
  154. package/dist/type-guards.d.ts.map +1 -0
  155. package/dist/type-guards.js +29 -0
  156. package/dist/type-guards.js.map +1 -0
  157. package/dist/types.d.ts +155 -19
  158. package/dist/types.d.ts.map +1 -1
  159. package/dist/types.js +36 -1
  160. package/dist/types.js.map +1 -1
  161. package/dist/wrap-for-v3.d.ts +80 -0
  162. package/dist/wrap-for-v3.d.ts.map +1 -0
  163. package/dist/wrap-for-v3.js +89 -0
  164. package/dist/wrap-for-v3.js.map +1 -0
  165. package/examples/00-quickstart.ts +232 -0
  166. package/examples/01-rag-chatbot.ts +212 -0
  167. package/examples/02-multi-agent-research.ts +290 -0
  168. package/examples/03-email-classification.ts +379 -0
  169. package/examples/04-content-moderation.ts +400 -0
  170. package/examples/05-document-extraction.ts +455 -0
  171. package/examples/06-streaming-chat-nextjs.ts +437 -0
  172. package/examples/07-cloudflare-worker.ts +483 -0
  173. package/examples/08-batch-processing.ts +491 -0
  174. package/examples/09-budget-constrained.ts +527 -0
  175. package/examples/10-tool-orchestration.ts +565 -0
  176. package/examples/11-retry-resilience.ts +403 -0
  177. package/examples/12-caching-strategies.ts +422 -0
  178. package/examples/README.md +145 -0
  179. package/package.json +29 -25
  180. package/src/ai-promise.ts +226 -140
  181. package/src/ai-schemas.ts +122 -0
  182. package/src/ai.ts +71 -1176
  183. package/src/batch/anthropic.ts +96 -161
  184. package/src/batch/bedrock.ts +203 -454
  185. package/src/batch/cloudflare.ts +99 -282
  186. package/src/batch/google.ts +91 -297
  187. package/src/batch/index.ts +4 -1
  188. package/src/batch/memory.ts +15 -10
  189. package/src/batch/openai.ts +65 -193
  190. package/src/batch/provider.ts +336 -0
  191. package/src/batch-map.ts +29 -24
  192. package/src/batch-queue.ts +200 -11
  193. package/src/budget.ts +31 -18
  194. package/src/cache.ts +45 -17
  195. package/src/context.ts +106 -77
  196. package/src/digital-objects-registry.ts +750 -0
  197. package/src/errors.ts +37 -0
  198. package/src/eval/runner.ts +60 -36
  199. package/src/eval-log/in-memory.ts +90 -0
  200. package/src/eval-log/index.ts +46 -0
  201. package/src/eval-log/types.ts +110 -0
  202. package/src/function-registry.ts +874 -0
  203. package/src/generate.ts +33 -28
  204. package/src/index.ts +122 -21
  205. package/src/logger.ts +232 -0
  206. package/src/middleware/budget.ts +171 -0
  207. package/src/middleware/cache.ts +299 -0
  208. package/src/middleware/embed-cache.ts +195 -0
  209. package/src/middleware/index.ts +23 -0
  210. package/src/middleware/trace.ts +248 -0
  211. package/src/primitives.ts +589 -62
  212. package/src/retry.ts +144 -18
  213. package/src/sandbox.ts +52 -0
  214. package/src/schema.ts +8 -8
  215. package/src/telemetry.ts +403 -0
  216. package/src/template.ts +8 -4
  217. package/src/tool-orchestration.ts +213 -48
  218. package/src/type-guards.ts +31 -0
  219. package/src/types.ts +186 -27
  220. package/src/wrap-for-v3.ts +105 -0
  221. package/test/ai-promise.test.ts +1080 -0
  222. package/test/ai-proxy.test.ts +1 -1
  223. package/test/batch-autosubmit-errors.test.ts +49 -37
  224. package/test/batch-blog-posts.test.ts +87 -129
  225. package/test/core-functions.test.ts +183 -579
  226. package/test/decide.test.ts +154 -322
  227. package/test/define.test.ts +211 -8
  228. package/test/digital-objects-registry.test.ts +760 -0
  229. package/test/embedding-cache-middleware.test.ts +140 -0
  230. package/test/fill-template.test.ts +89 -0
  231. package/test/generate-core.test.ts +140 -229
  232. package/test/implicit-batch.test.ts +22 -65
  233. package/test/retry-policy-integration.test.ts +117 -0
  234. package/test/sandbox-execution.test.ts +155 -0
  235. package/test/schema.test.ts +55 -19
  236. package/test/template.test.ts +1164 -0
  237. package/test/tool-orchestration.test.ts +270 -0
  238. package/test/wrap-for-v3.test.ts +612 -0
  239. package/vitest.config.js +6 -0
  240. package/vitest.config.ts +20 -0
  241. package/LICENSE +0 -21
  242. package/dist/rpc/auth.d.ts +0 -69
  243. package/dist/rpc/auth.d.ts.map +0 -1
  244. package/dist/rpc/auth.js +0 -136
  245. package/dist/rpc/auth.js.map +0 -1
  246. package/dist/rpc/client.d.ts +0 -62
  247. package/dist/rpc/client.d.ts.map +0 -1
  248. package/dist/rpc/client.js +0 -103
  249. package/dist/rpc/client.js.map +0 -1
  250. package/dist/rpc/deferred.d.ts +0 -60
  251. package/dist/rpc/deferred.d.ts.map +0 -1
  252. package/dist/rpc/deferred.js +0 -96
  253. package/dist/rpc/deferred.js.map +0 -1
  254. package/dist/rpc/index.d.ts +0 -22
  255. package/dist/rpc/index.d.ts.map +0 -1
  256. package/dist/rpc/index.js +0 -38
  257. package/dist/rpc/index.js.map +0 -1
  258. package/dist/rpc/local.d.ts +0 -42
  259. package/dist/rpc/local.d.ts.map +0 -1
  260. package/dist/rpc/local.js +0 -50
  261. package/dist/rpc/local.js.map +0 -1
  262. package/dist/rpc/server.d.ts +0 -165
  263. package/dist/rpc/server.d.ts.map +0 -1
  264. package/dist/rpc/server.js +0 -405
  265. package/dist/rpc/server.js.map +0 -1
  266. package/dist/rpc/session.d.ts +0 -32
  267. package/dist/rpc/session.d.ts.map +0 -1
  268. package/dist/rpc/session.js +0 -43
  269. package/dist/rpc/session.js.map +0 -1
  270. package/dist/rpc/transport.d.ts +0 -306
  271. package/dist/rpc/transport.d.ts.map +0 -1
  272. package/dist/rpc/transport.js +0 -731
  273. package/dist/rpc/transport.js.map +0 -1
  274. package/src/batch/anthropic.js +0 -256
  275. package/src/batch/bedrock.js +0 -584
  276. package/src/batch/cloudflare.js +0 -287
  277. package/src/batch/google.js +0 -359
  278. package/src/batch/index.js +0 -30
  279. package/src/batch/memory.js +0 -187
  280. package/src/batch/openai.js +0 -402
  281. package/src/eval/index.js +0 -7
  282. package/src/eval/models.js +0 -119
  283. package/src/eval/runner.js +0 -147
  284. package/test/schema.test.js +0 -96
@@ -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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"}