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.
Files changed (286) hide show
  1. package/.turbo/turbo-build.log +1 -4
  2. package/CHANGELOG.md +68 -1
  3. package/README.md +397 -157
  4. package/dist/ai-promise.d.ts +50 -3
  5. package/dist/ai-promise.d.ts.map +1 -1
  6. package/dist/ai-promise.js +410 -51
  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 +54 -837
  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 +272 -0
  56. package/dist/budget.d.ts.map +1 -0
  57. package/dist/budget.js +513 -0
  58. package/dist/budget.js.map +1 -0
  59. package/dist/cache.d.ts +295 -0
  60. package/dist/cache.d.ts.map +1 -0
  61. package/dist/cache.js +433 -0
  62. package/dist/cache.js.map +1 -0
  63. package/dist/context.d.ts +42 -8
  64. package/dist/context.d.ts.map +1 -1
  65. package/dist/context.js +64 -62
  66. package/dist/context.js.map +1 -1
  67. package/dist/digital-objects-registry.d.ts +229 -0
  68. package/dist/digital-objects-registry.d.ts.map +1 -0
  69. package/dist/digital-objects-registry.js +617 -0
  70. package/dist/digital-objects-registry.js.map +1 -0
  71. package/dist/embeddings.d.ts +2 -2
  72. package/dist/embeddings.d.ts.map +1 -1
  73. package/dist/errors.d.ts +22 -0
  74. package/dist/errors.d.ts.map +1 -0
  75. package/dist/errors.js +35 -0
  76. package/dist/errors.js.map +1 -0
  77. package/dist/eval/runner.d.ts +10 -1
  78. package/dist/eval/runner.d.ts.map +1 -1
  79. package/dist/eval/runner.js +41 -35
  80. package/dist/eval/runner.js.map +1 -1
  81. package/dist/eval-log/in-memory.d.ts +34 -0
  82. package/dist/eval-log/in-memory.d.ts.map +1 -0
  83. package/dist/eval-log/in-memory.js +84 -0
  84. package/dist/eval-log/in-memory.js.map +1 -0
  85. package/dist/eval-log/index.d.ts +29 -0
  86. package/dist/eval-log/index.d.ts.map +1 -0
  87. package/dist/eval-log/index.js +39 -0
  88. package/dist/eval-log/index.js.map +1 -0
  89. package/dist/eval-log/types.d.ts +101 -0
  90. package/dist/eval-log/types.d.ts.map +1 -0
  91. package/dist/eval-log/types.js +16 -0
  92. package/dist/eval-log/types.js.map +1 -0
  93. package/dist/function-registry.d.ts +116 -0
  94. package/dist/function-registry.d.ts.map +1 -0
  95. package/dist/function-registry.js +546 -0
  96. package/dist/function-registry.js.map +1 -0
  97. package/dist/generate.d.ts +9 -3
  98. package/dist/generate.d.ts.map +1 -1
  99. package/dist/generate.js +18 -22
  100. package/dist/generate.js.map +1 -1
  101. package/dist/index.d.ts +35 -20
  102. package/dist/index.d.ts.map +1 -1
  103. package/dist/index.js +89 -42
  104. package/dist/index.js.map +1 -1
  105. package/dist/logger.d.ts +118 -0
  106. package/dist/logger.d.ts.map +1 -0
  107. package/dist/logger.js +187 -0
  108. package/dist/logger.js.map +1 -0
  109. package/dist/middleware/budget.d.ts +84 -0
  110. package/dist/middleware/budget.d.ts.map +1 -0
  111. package/dist/middleware/budget.js +110 -0
  112. package/dist/middleware/budget.js.map +1 -0
  113. package/dist/middleware/cache.d.ts +103 -0
  114. package/dist/middleware/cache.d.ts.map +1 -0
  115. package/dist/middleware/cache.js +228 -0
  116. package/dist/middleware/cache.js.map +1 -0
  117. package/dist/middleware/embed-cache.d.ts +99 -0
  118. package/dist/middleware/embed-cache.d.ts.map +1 -0
  119. package/dist/middleware/embed-cache.js +128 -0
  120. package/dist/middleware/embed-cache.js.map +1 -0
  121. package/dist/middleware/index.d.ts +11 -0
  122. package/dist/middleware/index.d.ts.map +1 -0
  123. package/dist/middleware/index.js +11 -0
  124. package/dist/middleware/index.js.map +1 -0
  125. package/dist/middleware/trace.d.ts +103 -0
  126. package/dist/middleware/trace.d.ts.map +1 -0
  127. package/dist/middleware/trace.js +176 -0
  128. package/dist/middleware/trace.js.map +1 -0
  129. package/dist/primitives.d.ts +120 -1
  130. package/dist/primitives.d.ts.map +1 -1
  131. package/dist/primitives.js +398 -26
  132. package/dist/primitives.js.map +1 -1
  133. package/dist/retry.d.ts +368 -0
  134. package/dist/retry.d.ts.map +1 -0
  135. package/dist/retry.js +646 -0
  136. package/dist/retry.js.map +1 -0
  137. package/dist/schema.d.ts.map +1 -1
  138. package/dist/schema.js +2 -10
  139. package/dist/schema.js.map +1 -1
  140. package/dist/telemetry.d.ts +128 -0
  141. package/dist/telemetry.d.ts.map +1 -0
  142. package/dist/telemetry.js +285 -0
  143. package/dist/telemetry.js.map +1 -0
  144. package/dist/template.d.ts.map +1 -1
  145. package/dist/template.js +6 -1
  146. package/dist/template.js.map +1 -1
  147. package/dist/tool-orchestration.d.ts +453 -0
  148. package/dist/tool-orchestration.d.ts.map +1 -0
  149. package/dist/tool-orchestration.js +763 -0
  150. package/dist/tool-orchestration.js.map +1 -0
  151. package/dist/type-guards.d.ts +28 -0
  152. package/dist/type-guards.d.ts.map +1 -0
  153. package/dist/type-guards.js +29 -0
  154. package/dist/type-guards.js.map +1 -0
  155. package/dist/types.d.ts +135 -17
  156. package/dist/types.d.ts.map +1 -1
  157. package/dist/types.js +36 -1
  158. package/dist/types.js.map +1 -1
  159. package/dist/wrap-for-v3.d.ts +80 -0
  160. package/dist/wrap-for-v3.d.ts.map +1 -0
  161. package/dist/wrap-for-v3.js +89 -0
  162. package/dist/wrap-for-v3.js.map +1 -0
  163. package/examples/00-quickstart.ts +232 -0
  164. package/examples/01-rag-chatbot.ts +212 -0
  165. package/examples/02-multi-agent-research.ts +290 -0
  166. package/examples/03-email-classification.ts +379 -0
  167. package/examples/04-content-moderation.ts +400 -0
  168. package/examples/05-document-extraction.ts +455 -0
  169. package/examples/06-streaming-chat-nextjs.ts +437 -0
  170. package/examples/07-cloudflare-worker.ts +483 -0
  171. package/examples/08-batch-processing.ts +491 -0
  172. package/examples/09-budget-constrained.ts +527 -0
  173. package/examples/10-tool-orchestration.ts +565 -0
  174. package/examples/11-retry-resilience.ts +403 -0
  175. package/examples/12-caching-strategies.ts +422 -0
  176. package/examples/README.md +145 -0
  177. package/package.json +10 -6
  178. package/src/ai-promise.ts +528 -99
  179. package/src/ai-schemas.ts +122 -0
  180. package/src/ai.ts +69 -1153
  181. package/src/batch/anthropic.ts +96 -161
  182. package/src/batch/bedrock.ts +203 -454
  183. package/src/batch/cloudflare.ts +99 -282
  184. package/src/batch/google.ts +91 -297
  185. package/src/batch/index.ts +4 -1
  186. package/src/batch/memory.ts +15 -10
  187. package/src/batch/openai.ts +65 -193
  188. package/src/batch/provider.ts +336 -0
  189. package/src/batch-map.ts +29 -24
  190. package/src/batch-queue.ts +200 -11
  191. package/src/budget.ts +740 -0
  192. package/src/cache.ts +681 -0
  193. package/src/context.ts +122 -76
  194. package/src/digital-objects-registry.ts +750 -0
  195. package/src/errors.ts +37 -0
  196. package/src/eval/runner.ts +63 -38
  197. package/src/eval-log/in-memory.ts +90 -0
  198. package/src/eval-log/index.ts +46 -0
  199. package/src/eval-log/types.ts +110 -0
  200. package/src/function-registry.ts +671 -0
  201. package/src/generate.ts +33 -33
  202. package/src/index.ts +325 -49
  203. package/src/logger.ts +232 -0
  204. package/src/middleware/budget.ts +171 -0
  205. package/src/middleware/cache.ts +299 -0
  206. package/src/middleware/embed-cache.ts +195 -0
  207. package/src/middleware/index.ts +23 -0
  208. package/src/middleware/trace.ts +248 -0
  209. package/src/primitives.ts +589 -62
  210. package/src/retry.ts +902 -0
  211. package/src/schema.ts +8 -17
  212. package/src/telemetry.ts +403 -0
  213. package/src/template.ts +8 -4
  214. package/src/tool-orchestration.ts +1173 -0
  215. package/src/type-guards.ts +31 -0
  216. package/src/types.ts +164 -25
  217. package/src/wrap-for-v3.ts +105 -0
  218. package/test/ai-promise.test.ts +1080 -0
  219. package/test/ai-proxy.test.ts +1 -1
  220. package/test/backward-compat.test.ts +147 -0
  221. package/test/batch-autosubmit-errors.test.ts +610 -0
  222. package/test/batch-blog-posts.test.ts +87 -129
  223. package/test/budget-tracking.test.ts +800 -0
  224. package/test/cache.test.ts +712 -0
  225. package/test/context-isolation.test.ts +687 -0
  226. package/test/core-functions.test.ts +183 -579
  227. package/test/decide.test.ts +154 -322
  228. package/test/define.test.ts +211 -8
  229. package/test/digital-objects-registry.test.ts +760 -0
  230. package/test/embedding-cache-middleware.test.ts +140 -0
  231. package/test/evals/deterministic.eval.test.ts +376 -0
  232. package/test/generate-core.test.ts +140 -229
  233. package/test/implicit-batch.test.ts +22 -65
  234. package/test/json-parse-error-handling.test.ts +463 -0
  235. package/test/retry-policy-integration.test.ts +117 -0
  236. package/test/retry.test.ts +1016 -0
  237. package/test/schema.test.ts +55 -19
  238. package/test/streaming.test.ts +316 -0
  239. package/test/template.test.ts +1164 -0
  240. package/test/tool-orchestration.test.ts +1040 -0
  241. package/test/wrap-for-v3.test.ts +612 -0
  242. package/vitest.config.js +6 -0
  243. package/vitest.config.ts +20 -0
  244. package/dist/rpc/auth.d.ts +0 -69
  245. package/dist/rpc/auth.d.ts.map +0 -1
  246. package/dist/rpc/auth.js +0 -136
  247. package/dist/rpc/auth.js.map +0 -1
  248. package/dist/rpc/client.d.ts +0 -62
  249. package/dist/rpc/client.d.ts.map +0 -1
  250. package/dist/rpc/client.js +0 -103
  251. package/dist/rpc/client.js.map +0 -1
  252. package/dist/rpc/deferred.d.ts +0 -60
  253. package/dist/rpc/deferred.d.ts.map +0 -1
  254. package/dist/rpc/deferred.js +0 -96
  255. package/dist/rpc/deferred.js.map +0 -1
  256. package/dist/rpc/index.d.ts +0 -22
  257. package/dist/rpc/index.d.ts.map +0 -1
  258. package/dist/rpc/index.js +0 -38
  259. package/dist/rpc/index.js.map +0 -1
  260. package/dist/rpc/local.d.ts +0 -42
  261. package/dist/rpc/local.d.ts.map +0 -1
  262. package/dist/rpc/local.js +0 -50
  263. package/dist/rpc/local.js.map +0 -1
  264. package/dist/rpc/server.d.ts +0 -165
  265. package/dist/rpc/server.d.ts.map +0 -1
  266. package/dist/rpc/server.js +0 -405
  267. package/dist/rpc/server.js.map +0 -1
  268. package/dist/rpc/session.d.ts +0 -32
  269. package/dist/rpc/session.d.ts.map +0 -1
  270. package/dist/rpc/session.js +0 -43
  271. package/dist/rpc/session.js.map +0 -1
  272. package/dist/rpc/transport.d.ts +0 -306
  273. package/dist/rpc/transport.d.ts.map +0 -1
  274. package/dist/rpc/transport.js +0 -731
  275. package/dist/rpc/transport.js.map +0 -1
  276. package/src/batch/anthropic.js +0 -256
  277. package/src/batch/bedrock.js +0 -584
  278. package/src/batch/cloudflare.js +0 -287
  279. package/src/batch/google.js +0 -359
  280. package/src/batch/index.js +0 -30
  281. package/src/batch/memory.js +0 -187
  282. package/src/batch/openai.js +0 -402
  283. package/src/eval/index.js +0 -7
  284. package/src/eval/models.js +0 -119
  285. package/src/eval/runner.js +0 -147
  286. package/test/schema.test.js +0 -96
@@ -1 +1 @@
1
- {"version":3,"file":"ai-promise.js","sourceRoot":"","sources":["../src/ai-promise.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai-promise.js","sourceRoot":"","sources":["../src/ai-promise.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * AI Schemas - Schema-based AI function generation
3
+ *
4
+ * This module provides functionality for creating AI functions from
5
+ * simple schema definitions using the SimpleSchema format.
6
+ */
7
+ import type { SimpleSchema } from './schema.js';
8
+ import type { LanguageModel } from 'ai';
9
+ /**
10
+ * Options for AI schema functions (subset of generateObject options)
11
+ */
12
+ export interface AISchemaOptions {
13
+ /** Model to use (string alias or LanguageModel) */
14
+ model?: string | LanguageModel;
15
+ /** System prompt */
16
+ system?: string;
17
+ /** Generation mode */
18
+ mode?: 'auto' | 'json' | 'tool';
19
+ /** Temperature (0-2) */
20
+ temperature?: number;
21
+ /** Top P sampling */
22
+ topP?: number;
23
+ /** Top K sampling */
24
+ topK?: number;
25
+ /** Presence penalty */
26
+ presencePenalty?: number;
27
+ /** Frequency penalty */
28
+ frequencyPenalty?: number;
29
+ /** Max tokens to generate */
30
+ maxTokens?: number;
31
+ /** Max retries on failure */
32
+ maxRetries?: number;
33
+ /** Abort signal */
34
+ abortSignal?: AbortSignal;
35
+ /** Custom headers */
36
+ headers?: Record<string, string>;
37
+ }
38
+ /**
39
+ * Schema-based functions type
40
+ */
41
+ export type SchemaFunctions<T extends Record<string, SimpleSchema>> = {
42
+ [K in keyof T]: (prompt?: string, options?: AISchemaOptions) => Promise<InferSimpleSchemaResult<T[K]>>;
43
+ };
44
+ /**
45
+ * Infer result type from simple schema
46
+ */
47
+ export type InferSimpleSchemaResult<T> = T extends string ? string : T extends [string] ? string[] : T extends {
48
+ [K: string]: SimpleSchema;
49
+ } ? {
50
+ [K in keyof T]: InferSimpleSchemaResult<T[K]>;
51
+ } : unknown;
52
+ /**
53
+ * Create schema-based functions from a map of schemas
54
+ */
55
+ export declare function createSchemaFunctions<T extends Record<string, SimpleSchema>>(schemas: T, defaultOptions?: AISchemaOptions): SchemaFunctions<T>;
56
+ //# sourceMappingURL=ai-schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-schemas.d.ts","sourceRoot":"","sources":["../src/ai-schemas.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAA;AAEvC;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,GAAG,aAAa,CAAA;IAC9B,oBAAoB;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,sBAAsB;IACtB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;IAC/B,wBAAwB;IACxB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,qBAAqB;IACrB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,qBAAqB;IACrB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,uBAAuB;IACvB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,wBAAwB;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,6BAA6B;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,mBAAmB;IACnB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,qBAAqB;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACjC;AAED;;GAEG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,IAAI;KACnE,CAAC,IAAI,MAAM,CAAC,GAAG,CACd,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,eAAe,KACtB,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC5C,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,uBAAuB,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GACrD,MAAM,GACN,CAAC,SAAS,CAAC,MAAM,CAAC,GAClB,MAAM,EAAE,GACR,CAAC,SAAS;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,YAAY,CAAA;CAAE,GACvC;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GACjD,OAAO,CAAA;AA4BX;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,EAC1E,OAAO,EAAE,CAAC,EACV,cAAc,GAAE,eAAoB,GACnC,eAAe,CAAC,CAAC,CAAC,CA2BpB"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * AI Schemas - Schema-based AI function generation
3
+ *
4
+ * This module provides functionality for creating AI functions from
5
+ * simple schema definitions using the SimpleSchema format.
6
+ */
7
+ import { generateObject } from './generate.js';
8
+ /**
9
+ * Build a prompt by extracting descriptions from the schema
10
+ */
11
+ function buildPromptFromSchema(schema, path = '') {
12
+ if (typeof schema === 'string') {
13
+ return schema;
14
+ }
15
+ if (Array.isArray(schema)) {
16
+ return schema[0] || 'Generate items';
17
+ }
18
+ if (typeof schema === 'object' && schema !== null) {
19
+ const descriptions = [];
20
+ for (const [key, value] of Object.entries(schema)) {
21
+ const subPrompt = buildPromptFromSchema(value, path ? `${path}.${key}` : key);
22
+ if (subPrompt) {
23
+ descriptions.push(`${key}: ${subPrompt}`);
24
+ }
25
+ }
26
+ return descriptions.length > 0 ? `Generate the following:\n${descriptions.join('\n')}` : '';
27
+ }
28
+ return '';
29
+ }
30
+ /**
31
+ * Create schema-based functions from a map of schemas
32
+ */
33
+ export function createSchemaFunctions(schemas, defaultOptions = {}) {
34
+ const functions = {};
35
+ for (const [name, schema] of Object.entries(schemas)) {
36
+ functions[name] = async (prompt, options) => {
37
+ const mergedOptions = { ...defaultOptions, ...options };
38
+ const { model = 'sonnet', system, ...rest } = mergedOptions;
39
+ // Build prompt from schema descriptions if none provided
40
+ const schemaPrompt = prompt || buildPromptFromSchema(schema);
41
+ const result = await generateObject({
42
+ model,
43
+ schema,
44
+ prompt: schemaPrompt,
45
+ ...(system !== undefined && { system }),
46
+ ...rest,
47
+ });
48
+ return result.object;
49
+ };
50
+ }
51
+ return functions;
52
+ }
53
+ //# sourceMappingURL=ai-schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-schemas.js","sourceRoot":"","sources":["../src/ai-schemas.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAuD9C;;GAEG;AACH,SAAS,qBAAqB,CAAC,MAAoB,EAAE,IAAI,GAAG,EAAE;IAC5D,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,MAAM,CAAA;IACf,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,OAAQ,MAAM,CAAC,CAAC,CAAY,IAAI,gBAAgB,CAAA;IAClD,CAAC;IAED,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QAClD,MAAM,YAAY,GAAa,EAAE,CAAA;QACjC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAClD,MAAM,SAAS,GAAG,qBAAqB,CAAC,KAAqB,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;YAC7F,IAAI,SAAS,EAAE,CAAC;gBACd,YAAY,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,SAAS,EAAE,CAAC,CAAA;YAC3C,CAAC;QACH,CAAC;QACD,OAAO,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,4BAA4B,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IAC7F,CAAC;IAED,OAAO,EAAE,CAAA;AACX,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACnC,OAAU,EACV,iBAAkC,EAAE;IAEpC,MAAM,SAAS,GAGX,EAAE,CAAA;IAEN,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACrD,SAAS,CAAC,IAAI,CAAC,GAAG,KAAK,EAAE,MAAe,EAAE,OAAyB,EAAE,EAAE;YACrE,MAAM,aAAa,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,OAAO,EAAE,CAAA;YACvD,MAAM,EAAE,KAAK,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,aAAa,CAAA;YAE3D,yDAAyD;YACzD,MAAM,YAAY,GAAG,MAAM,IAAI,qBAAqB,CAAC,MAAM,CAAC,CAAA;YAE5D,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC;gBAClC,KAAK;gBACL,MAAM;gBACN,MAAM,EAAE,YAAY;gBACpB,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,CAAC;gBACvC,GAAG,IAAI;aACR,CAAC,CAAA;YAEF,OAAO,MAAM,CAAC,MAAM,CAAA;QACtB,CAAC,CAAA;IACH,CAAC;IAED,OAAO,SAA+B,CAAA;AACxC,CAAC"}
package/dist/ai.d.ts CHANGED
@@ -1,77 +1,26 @@
1
1
  /**
2
2
  * AI() and ai() - Core AI function constructors
3
3
  *
4
- * These provide the main entry points for AI-powered functions,
5
- * with full RPC promise pipelining support via rpc.do.
6
- */
7
- /**
8
- * Base class for RPC service targets
9
- * This is a placeholder for services that want to expose methods over RPC
4
+ * This module is a re-export layer that delegates to focused modules:
5
+ * - ai-schemas.ts - Schema-based AI function generation
6
+ * - function-registry.ts - Function definition and registry
7
+ * - primitives.ts - Auto-define proxy functionality (`define`, `createSmartAI`, `aiProxy`)
8
+ *
9
+ * All exports are maintained for backward compatibility.
10
10
  */
11
- export declare abstract class RpcTarget {
12
- }
11
+ export { createSchemaFunctions, type AISchemaOptions, type SchemaFunctions, type InferSimpleSchemaResult, } from './ai-schemas.js';
12
+ export { defineFunction, createDefinedFunction, createFunctionRegistry, functions, resetGlobalRegistry, convertArgsToJSONSchema, fillTemplate, generateCode, } from './function-registry.js';
13
+ export { define, createSmartAI, aiProxy as ai, type AIProxy } from './primitives.js';
13
14
  /**
14
- * Options for RPC session (connection to remote AI service)
15
+ * Helper to create a function that supports both regular calls and tagged template literals
16
+ * @example
17
+ * const fn = withTemplate((prompt) => doSomething(prompt))
18
+ * fn('hello') // regular call
19
+ * fn`hello ${name}` // tagged template literal
15
20
  */
16
- export interface RPCSessionOptions {
17
- /** WebSocket URL for RPC connection */
18
- wsUrl?: string;
19
- /** HTTP URL for RPC fallback */
20
- httpUrl?: string;
21
- /** Authentication token */
22
- token?: string;
23
- }
21
+ export declare function withTemplate<TArgs extends unknown[], TReturn>(fn: (prompt: string, ...args: TArgs) => TReturn): ((prompt: string, ...args: TArgs) => TReturn) & ((strings: TemplateStringsArray, ...values: unknown[]) => TReturn);
24
22
  import type { SimpleSchema } from './schema.js';
25
- import type { LanguageModel } from 'ai';
26
- import type { AIClient, AIFunctionDefinition, AIGenerateOptions, AIGenerateResult, JSONSchema, ImageOptions, ImageResult, VideoOptions, VideoResult, WriteOptions, ListResult, ListsResult, FunctionDefinition, DefinedFunction, CodeFunctionDefinition, GenerativeFunctionDefinition, AgenticFunctionDefinition, HumanFunctionDefinition, FunctionRegistry } from './types.js';
27
- /**
28
- * Options for creating an AI RPC client instance
29
- */
30
- export interface AIClientOptions extends RPCSessionOptions {
31
- /** Default model to use */
32
- model?: string;
33
- /** Default temperature */
34
- temperature?: number;
35
- /** Default max tokens */
36
- maxTokens?: number;
37
- /** Custom functions available to the AI */
38
- functions?: AIFunctionDefinition[];
39
- }
40
- /**
41
- * Options for AI schema functions (subset of generateObject options)
42
- */
43
- export interface AISchemaOptions {
44
- /** Model to use (string alias or LanguageModel) */
45
- model?: string | LanguageModel;
46
- /** System prompt */
47
- system?: string;
48
- /** Generation mode */
49
- mode?: 'auto' | 'json' | 'tool';
50
- /** Temperature (0-2) */
51
- temperature?: number;
52
- /** Top P sampling */
53
- topP?: number;
54
- /** Top K sampling */
55
- topK?: number;
56
- /** Presence penalty */
57
- presencePenalty?: number;
58
- /** Frequency penalty */
59
- frequencyPenalty?: number;
60
- /** Max tokens to generate */
61
- maxTokens?: number;
62
- /** Max retries on failure */
63
- maxRetries?: number;
64
- /** Abort signal */
65
- abortSignal?: AbortSignal;
66
- /** Custom headers */
67
- headers?: Record<string, string>;
68
- }
69
- /**
70
- * Schema-based functions
71
- */
72
- type SchemaFunctions<T extends Record<string, SimpleSchema>> = {
73
- [K in keyof T]: (prompt?: string, options?: AISchemaOptions) => Promise<InferSimpleSchemaResult<T[K]>>;
74
- };
23
+ import { type AISchemaOptions, type SchemaFunctions } from './ai-schemas.js';
75
24
  /**
76
25
  * Create AI functions from schemas
77
26
  *
@@ -106,179 +55,4 @@ type SchemaFunctions<T extends Record<string, SimpleSchema>> = {
106
55
  * ```
107
56
  */
108
57
  export declare function AI<T extends Record<string, SimpleSchema>>(schemas: T, defaultOptions?: AISchemaOptions): SchemaFunctions<T>;
109
- /**
110
- * Create an AI RPC client instance
111
- *
112
- * @example
113
- * ```ts
114
- * // Connect to remote AI service
115
- * const ai = AI({ wsUrl: 'wss://ai.example.com/rpc' })
116
- *
117
- * // Use promise pipelining - single round trip!
118
- * const result = ai.generate({ prompt: 'Hello' })
119
- * const upper = result.text.map(t => t.toUpperCase())
120
- * console.log(await upper)
121
- *
122
- * // Dynamic function calling
123
- * const summary = await ai.summarize({ text: longText })
124
- * ```
125
- */
126
- export declare function AI(options: AIClientOptions): AIClient & Record<string, (...args: unknown[]) => Promise<unknown>>;
127
- /**
128
- * Infer result type from simple schema
129
- */
130
- type InferSimpleSchemaResult<T> = T extends string ? string : T extends [string] ? string[] : T extends {
131
- [K: string]: SimpleSchema;
132
- } ? {
133
- [K in keyof T]: InferSimpleSchemaResult<T[K]>;
134
- } : unknown;
135
- /**
136
- * Helper to create a function that supports both regular calls and tagged template literals
137
- * @example
138
- * const fn = withTemplate((prompt) => doSomething(prompt))
139
- * fn('hello') // regular call
140
- * fn`hello ${name}` // tagged template literal
141
- */
142
- export declare function withTemplate<TArgs extends unknown[], TReturn>(fn: (prompt: string, ...args: TArgs) => TReturn): ((prompt: string, ...args: TArgs) => TReturn) & ((strings: TemplateStringsArray, ...values: unknown[]) => TReturn);
143
- /**
144
- * Configure the default AI client
145
- */
146
- export declare function configureAI(options: AIClientOptions): void;
147
- /**
148
- * Base class for implementing AI services
149
- *
150
- * Extend this class to create your own AI service implementation.
151
- *
152
- * @example
153
- * ```ts
154
- * class MyAIService extends AIServiceTarget {
155
- * async generate(options: AIGenerateOptions): Promise<AIGenerateResult> {
156
- * // Your implementation
157
- * }
158
- * }
159
- * ```
160
- */
161
- export declare abstract class AIServiceTarget extends RpcTarget implements AIClient {
162
- abstract generate(options: AIGenerateOptions): Promise<AIGenerateResult>;
163
- abstract do(action: string, context?: unknown): Promise<unknown>;
164
- abstract is(value: unknown, type: string | JSONSchema): Promise<boolean>;
165
- abstract code(prompt: string, language?: string): Promise<string>;
166
- abstract decide<T extends string>(options: T[], context?: string): Promise<T>;
167
- abstract diagram(description: string, format?: 'mermaid' | 'svg' | 'ascii'): Promise<string>;
168
- abstract image(prompt: string, options?: ImageOptions): Promise<ImageResult>;
169
- abstract video(prompt: string, options?: VideoOptions): Promise<VideoResult>;
170
- abstract write(prompt: string, options?: WriteOptions): Promise<string>;
171
- abstract list(prompt: string): Promise<ListResult>;
172
- abstract lists(prompt: string): Promise<ListsResult>;
173
- }
174
- /**
175
- * Standalone function for defining AI functions
176
- *
177
- * @example
178
- * ```ts
179
- * import { defineFunction } from 'ai-functions'
180
- *
181
- * const summarize = defineFunction({
182
- * type: 'generative',
183
- * name: 'summarize',
184
- * args: { text: 'Text to summarize' },
185
- * output: 'string',
186
- * promptTemplate: 'Summarize: {{text}}',
187
- * })
188
- *
189
- * const result = await summarize.call({ text: 'Long article...' })
190
- * ```
191
- */
192
- export declare function defineFunction<TOutput, TInput>(definition: FunctionDefinition<TOutput, TInput>): DefinedFunction<TOutput, TInput>;
193
- /**
194
- * Global function registry
195
- *
196
- * Note: This is in-memory only. For persistence, use mdxai or mdxdb packages.
197
- */
198
- export declare const functions: FunctionRegistry;
199
- /**
200
- * Auto-define a function based on its name and arguments, or define with explicit definition
201
- *
202
- * When called with (name, args), uses AI to analyze and determine:
203
- * - What type of function it should be (code, generative, agentic, human)
204
- * - What it should return
205
- * - How it should be implemented
206
- *
207
- * When called with a FunctionDefinition, creates the function directly.
208
- *
209
- * @example
210
- * ```ts
211
- * // Auto-define from name and example args
212
- * const planTrip = await define('planTrip', { destination: 'Tokyo', travelers: 2 })
213
- *
214
- * // Or define explicitly
215
- * const summarize = define.generative({
216
- * name: 'summarize',
217
- * args: { text: 'Text to summarize' },
218
- * output: 'string',
219
- * })
220
- *
221
- * // Or with full definition
222
- * const fn = defineFunction({
223
- * type: 'generative',
224
- * name: 'translate',
225
- * args: { text: 'Text', lang: 'Target language' },
226
- * output: 'string',
227
- * })
228
- * ```
229
- */
230
- declare function autoDefineImpl(name: string, args: Record<string, unknown>): Promise<DefinedFunction>;
231
- /**
232
- * Define functions - auto-define or use typed helpers
233
- */
234
- export declare const define: typeof autoDefineImpl & {
235
- /**
236
- * Define a code generation function
237
- */
238
- code: <TOutput, TInput>(definition: Omit<CodeFunctionDefinition<TOutput, TInput>, "type">) => DefinedFunction<TOutput, TInput>;
239
- /**
240
- * Define a generative function
241
- */
242
- generative: <TOutput, TInput>(definition: Omit<GenerativeFunctionDefinition<TOutput, TInput>, "type">) => DefinedFunction<TOutput, TInput>;
243
- /**
244
- * Define an agentic function
245
- */
246
- agentic: <TOutput, TInput>(definition: Omit<AgenticFunctionDefinition<TOutput, TInput>, "type">) => DefinedFunction<TOutput, TInput>;
247
- /**
248
- * Define a human-in-the-loop function
249
- */
250
- human: <TOutput, TInput>(definition: Omit<HumanFunctionDefinition<TOutput, TInput>, "type">) => DefinedFunction<TOutput, TInput>;
251
- };
252
- /**
253
- * Type for the AI proxy with auto-define capability
254
- */
255
- export interface AIProxy {
256
- /** Function registry */
257
- functions: FunctionRegistry;
258
- /** Define functions */
259
- define: typeof define;
260
- /** Define a function with full definition */
261
- defineFunction: typeof defineFunction;
262
- /** Dynamic function calls */
263
- [key: string]: unknown;
264
- }
265
- /**
266
- * Default AI instance with auto-define capability
267
- *
268
- * @example
269
- * ```ts
270
- * import { ai } from 'ai-functions'
271
- *
272
- * // Auto-define and call
273
- * const result = await ai.summarize({ text: 'Long article...' })
274
- *
275
- * // Access functions registry
276
- * ai.functions.list()
277
- *
278
- * // Define explicitly
279
- * ai.define.generative({ name: 'translate', ... })
280
- * ```
281
- */
282
- export declare const ai: AIProxy;
283
- export {};
284
58
  //# sourceMappingURL=ai.d.ts.map
package/dist/ai.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ai.d.ts","sourceRoot":"","sources":["../src/ai.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai.d.ts","sourceRoot":"","sources":["../src/ai.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,EACL,qBAAqB,EACrB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,uBAAuB,GAC7B,MAAM,iBAAiB,CAAA;AAKxB,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,sBAAsB,EACtB,SAAS,EACT,mBAAmB,EACnB,uBAAuB,EACvB,YAAY,EACZ,YAAY,GACb,MAAM,wBAAwB,CAAA;AAO/B,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,IAAI,EAAE,EAAE,KAAK,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAMpF;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,KAAK,SAAS,OAAO,EAAE,EAAE,OAAO,EAC3D,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,KAAK,KAAK,OAAO,GAC9C,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC,GAC9C,CAAC,CAAC,OAAO,EAAE,oBAAoB,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,CAgBnE;AAMD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,EAAyB,KAAK,eAAe,EAAE,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEnG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,EAAE,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,EACvD,OAAO,EAAE,CAAC,EACV,cAAc,CAAC,EAAE,eAAe,GAC/B,eAAe,CAAC,CAAC,CAAC,CAGpB"}