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
package/dist/retry.d.ts CHANGED
@@ -9,8 +9,15 @@
9
9
  * - Error classification for intelligent retry decisions
10
10
  * - Partial retry for batch operations
11
11
  *
12
+ * Per-model policy data (which models retry how, who falls back to whom,
13
+ * which batch tiers each model supports) lives in `language-models`'s
14
+ * `policyFor()`. The classes in this file are the *machinery* that reads
15
+ * that policy. See `RetryPolicy.forModel`, `CircuitBreaker.forModel`,
16
+ * `FallbackChain.forModel`.
17
+ *
12
18
  * @packageDocumentation
13
19
  */
20
+ import { type ModelPolicy } from 'language-models';
14
21
  /**
15
22
  * Error categories for retry decision making
16
23
  */
@@ -147,10 +154,35 @@ export interface BatchItemResult<T, R> {
147
154
  }
148
155
  /**
149
156
  * Retry policy for executing operations with exponential backoff
157
+ *
158
+ * @deprecated Phase C Week 3 — `RetryPolicy` has 1 real production caller
159
+ * (audited 2026-05-06; see `bd show aip-ibid`):
160
+ * `ai-database/src/cascade-orchestrator.ts:1235` (loose coupling — dynamic
161
+ * import + graceful try/catch fallback when ai-functions not available).
162
+ * AI SDK 6's `customProvider({ retryPolicy })` and `wrapLanguageModel(model,
163
+ * retryMiddleware)` cover the same surface. Migration tracked in aip-ibid;
164
+ * the one callsite can move on a separate commit. Will be removed in the
165
+ * Phase C semver bump.
150
166
  */
151
167
  export declare class RetryPolicy {
152
168
  private readonly options;
153
169
  constructor(options?: RetryOptions);
170
+ /**
171
+ * Build a RetryPolicy from a model's `ModelPolicy` (loaded via
172
+ * `language-models`). Per-call `overrides` win over policy data.
173
+ *
174
+ * @example
175
+ * ```ts
176
+ * const policy = RetryPolicy.forModel('sonnet')
177
+ * // Uses retry settings derived for anthropic/claude-sonnet-4.5
178
+ * ```
179
+ */
180
+ static forModel(alias: string, overrides?: RetryOptions): RetryPolicy;
181
+ /**
182
+ * Build a RetryPolicy directly from a `ModelPolicy`. Useful when the policy
183
+ * is already in hand (e.g. from a request context).
184
+ */
185
+ static fromPolicy(policy: ModelPolicy, overrides?: RetryOptions): RetryPolicy;
154
186
  /**
155
187
  * Execute an operation with retry logic
156
188
  */
@@ -196,6 +228,12 @@ export interface CircuitBreakerMetrics {
196
228
  * - CLOSED: Normal operation, failures tracked
197
229
  * - OPEN: Fail fast, reject all requests
198
230
  * - HALF-OPEN: Allow single test request
231
+ *
232
+ * @deprecated Phase C Week 3 — `CircuitBreaker` has zero real callers in
233
+ * primitives.org.ai (audited 2026-05-06; only comment-only references in
234
+ * `language-models/src/index.ts`; see `bd show aip-ibid`). AI SDK 6's
235
+ * `wrapLanguageModel(model, circuitMiddleware)` replacement is the going-
236
+ * forward primitive. Will be removed in the Phase C semver bump.
199
237
  */
200
238
  export declare class CircuitBreaker {
201
239
  private _state;
@@ -208,6 +246,11 @@ export declare class CircuitBreaker {
208
246
  private _openedAt;
209
247
  private readonly options;
210
248
  constructor(options?: CircuitBreakerOptions);
249
+ /**
250
+ * Build a CircuitBreaker for a specific model, using its `ModelPolicy`.
251
+ * Per-call overrides win over policy data.
252
+ */
253
+ static forModel(alias: string, overrides?: CircuitBreakerOptions): CircuitBreaker;
211
254
  /**
212
255
  * Current circuit state
213
256
  */
@@ -269,12 +312,34 @@ export interface FallbackMetrics {
269
312
  *
270
313
  * Tries models in order until one succeeds:
271
314
  * sonnet -> opus -> gpt-4o -> gemini
315
+ *
316
+ * @deprecated Phase C Week 3 — `FallbackChain` (LLM model failover) has
317
+ * zero real callers in primitives.org.ai (audited 2026-05-06; the
318
+ * `human-in-the-loop` package's `FallbackChain` is a different class for
319
+ * HITL fallback resolution, not LLM failover). AI SDK 4.3+ ships native
320
+ * `customProvider({ fallbackProvider })` which is the going-forward
321
+ * primitive. See `bd show aip-ibid`. Will be removed in the Phase C
322
+ * semver bump.
272
323
  */
273
324
  export declare class FallbackChain<T = unknown, P = unknown> {
274
325
  private readonly models;
275
326
  private readonly options;
276
327
  private lastMetrics;
277
328
  constructor(models: FallbackModel<T, P>[], options?: FallbackOptions);
329
+ /**
330
+ * Build a FallbackChain from a model's `ModelPolicy`. The caller supplies
331
+ * an `executor` that takes a model id and returns a promise — the chain
332
+ * applies it to the primary model first, then to each fallback in order.
333
+ *
334
+ * @example
335
+ * ```ts
336
+ * const chain = FallbackChain.forModel('sonnet', (modelId, params) =>
337
+ * ai({ model: modelId, prompt: params!.prompt })
338
+ * )
339
+ * await chain.execute({ prompt: 'Hello' })
340
+ * ```
341
+ */
342
+ static forModel<T = unknown, P = unknown>(alias: string, executor: (modelId: string, params?: P) => Promise<T>, options?: FallbackOptions): FallbackChain<T, P>;
278
343
  /**
279
344
  * Execute the fallback chain
280
345
  */
@@ -298,6 +363,6 @@ export declare class FallbackChain<T = unknown, P = unknown> {
298
363
  * const response = await reliableFetch('https://api.example.com')
299
364
  * ```
300
365
  */
301
- export declare function withRetry<T extends (...args: any[]) => Promise<any>>(fn: T, options?: RetryOptions): T;
366
+ export declare function withRetry<TArgs extends unknown[], TResult>(fn: (...args: TArgs) => Promise<TResult>, options?: RetryOptions): (...args: TArgs) => Promise<TResult>;
302
367
  export type { RetryOptions as RetryPolicyOptions };
303
368
  //# sourceMappingURL=retry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../src/retry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../src/retry.ts"],"names":[],"mappings":"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"}
package/dist/retry.js CHANGED
@@ -9,8 +9,15 @@
9
9
  * - Error classification for intelligent retry decisions
10
10
  * - Partial retry for batch operations
11
11
  *
12
+ * Per-model policy data (which models retry how, who falls back to whom,
13
+ * which batch tiers each model supports) lives in `language-models`'s
14
+ * `policyFor()`. The classes in this file are the *machinery* that reads
15
+ * that policy. See `RetryPolicy.forModel`, `CircuitBreaker.forModel`,
16
+ * `FallbackChain.forModel`.
17
+ *
12
18
  * @packageDocumentation
13
19
  */
20
+ import { policyFor } from 'language-models';
14
21
  // ============================================================================
15
22
  // ERROR TYPES AND CLASSIFICATION
16
23
  // ============================================================================
@@ -75,7 +82,9 @@ export class RateLimitError extends RetryableError {
75
82
  constructor(message, options) {
76
83
  super(message, ErrorCategory.RateLimit);
77
84
  this.name = 'RateLimitError';
78
- this.retryAfter = options?.retryAfter;
85
+ if (options?.retryAfter !== undefined) {
86
+ this.retryAfter = options.retryAfter;
87
+ }
79
88
  }
80
89
  /**
81
90
  * Create RateLimitError from HTTP response
@@ -89,7 +98,7 @@ export class RateLimitError extends RetryableError {
89
98
  retryAfter = seconds * 1000; // Convert to milliseconds
90
99
  }
91
100
  }
92
- return new RateLimitError(`Rate limited (${response.status})`, { retryAfter });
101
+ return new RateLimitError(`Rate limited (${response.status})`, retryAfter !== undefined ? { retryAfter } : undefined);
93
102
  }
94
103
  }
95
104
  /**
@@ -194,6 +203,15 @@ export function calculateBackoff(attempt, options = {}) {
194
203
  }
195
204
  /**
196
205
  * Retry policy for executing operations with exponential backoff
206
+ *
207
+ * @deprecated Phase C Week 3 — `RetryPolicy` has 1 real production caller
208
+ * (audited 2026-05-06; see `bd show aip-ibid`):
209
+ * `ai-database/src/cascade-orchestrator.ts:1235` (loose coupling — dynamic
210
+ * import + graceful try/catch fallback when ai-functions not available).
211
+ * AI SDK 6's `customProvider({ retryPolicy })` and `wrapLanguageModel(model,
212
+ * retryMiddleware)` cover the same surface. Migration tracked in aip-ibid;
213
+ * the one callsite can move on a separate commit. Will be removed in the
214
+ * Phase C semver bump.
197
215
  */
198
216
  export class RetryPolicy {
199
217
  options;
@@ -206,9 +224,49 @@ export class RetryPolicy {
206
224
  jitter: options.jitter ?? 0,
207
225
  jitterStrategy: options.jitterStrategy ?? 'equal',
208
226
  respectRetryAfter: options.respectRetryAfter ?? true,
209
- shouldRetry: options.shouldRetry,
227
+ ...(options.shouldRetry !== undefined && { shouldRetry: options.shouldRetry }),
210
228
  };
211
229
  }
230
+ /**
231
+ * Build a RetryPolicy from a model's `ModelPolicy` (loaded via
232
+ * `language-models`). Per-call `overrides` win over policy data.
233
+ *
234
+ * @example
235
+ * ```ts
236
+ * const policy = RetryPolicy.forModel('sonnet')
237
+ * // Uses retry settings derived for anthropic/claude-sonnet-4.5
238
+ * ```
239
+ */
240
+ static forModel(alias, overrides = {}) {
241
+ const policy = policyFor(alias);
242
+ return RetryPolicy.fromPolicy(policy, overrides);
243
+ }
244
+ /**
245
+ * Build a RetryPolicy directly from a `ModelPolicy`. Useful when the policy
246
+ * is already in hand (e.g. from a request context).
247
+ */
248
+ static fromPolicy(policy, overrides = {}) {
249
+ const retryable = new Set(policy.retry.retryableCategories);
250
+ const shouldRetry = (error) => {
251
+ // Honour error's own retryable property when present.
252
+ if (error && typeof error === 'object' && 'retryable' in error) {
253
+ const flag = error.retryable;
254
+ if (flag === false)
255
+ return false;
256
+ }
257
+ const category = classifyError(error);
258
+ return retryable.has(category);
259
+ };
260
+ return new RetryPolicy({
261
+ maxRetries: policy.retry.maxRetries,
262
+ baseDelay: policy.retry.baseDelay,
263
+ maxDelay: policy.retry.maxDelay,
264
+ multiplier: policy.retry.multiplier,
265
+ jitter: policy.retry.jitter,
266
+ shouldRetry,
267
+ ...overrides,
268
+ });
269
+ }
212
270
  /**
213
271
  * Execute an operation with retry logic
214
272
  */
@@ -256,7 +314,7 @@ export class RetryPolicy {
256
314
  let pendingItems = [...items];
257
315
  const attemptCounts = new Map();
258
316
  // Initialize attempt counts
259
- items.forEach(item => attemptCounts.set(item, 0));
317
+ items.forEach((item) => attemptCounts.set(item, 0));
260
318
  for (let round = 0; round <= this.options.maxRetries && pendingItems.length > 0; round++) {
261
319
  // Wait before retry (not on first attempt)
262
320
  if (round > 0) {
@@ -292,7 +350,7 @@ export class RetryPolicy {
292
350
  pendingItems = failedItems;
293
351
  }
294
352
  // Return results in original order
295
- return items.map(item => finalResults.get(item));
353
+ return items.map((item) => finalResults.get(item));
296
354
  }
297
355
  isRetryable(error) {
298
356
  // Check custom shouldRetry function first
@@ -311,7 +369,7 @@ export class RetryPolicy {
311
369
  category === ErrorCategory.Unknown);
312
370
  }
313
371
  sleep(ms) {
314
- return new Promise(resolve => setTimeout(resolve, ms));
372
+ return new Promise((resolve) => setTimeout(resolve, ms));
315
373
  }
316
374
  }
317
375
  /**
@@ -321,6 +379,12 @@ export class RetryPolicy {
321
379
  * - CLOSED: Normal operation, failures tracked
322
380
  * - OPEN: Fail fast, reject all requests
323
381
  * - HALF-OPEN: Allow single test request
382
+ *
383
+ * @deprecated Phase C Week 3 — `CircuitBreaker` has zero real callers in
384
+ * primitives.org.ai (audited 2026-05-06; only comment-only references in
385
+ * `language-models/src/index.ts`; see `bd show aip-ibid`). AI SDK 6's
386
+ * `wrapLanguageModel(model, circuitMiddleware)` replacement is the going-
387
+ * forward primitive. Will be removed in the Phase C semver bump.
324
388
  */
325
389
  export class CircuitBreaker {
326
390
  _state = 'closed';
@@ -339,6 +403,19 @@ export class CircuitBreaker {
339
403
  successThreshold: options.successThreshold ?? 1,
340
404
  };
341
405
  }
406
+ /**
407
+ * Build a CircuitBreaker for a specific model, using its `ModelPolicy`.
408
+ * Per-call overrides win over policy data.
409
+ */
410
+ static forModel(alias, overrides = {}) {
411
+ const policy = policyFor(alias);
412
+ return new CircuitBreaker({
413
+ failureThreshold: policy.circuitBreaker.failureThreshold,
414
+ resetTimeout: policy.circuitBreaker.resetTimeout,
415
+ successThreshold: policy.circuitBreaker.successThreshold,
416
+ ...overrides,
417
+ });
418
+ }
342
419
  /**
343
420
  * Current circuit state
344
421
  */
@@ -440,6 +517,14 @@ export class CircuitBreaker {
440
517
  *
441
518
  * Tries models in order until one succeeds:
442
519
  * sonnet -> opus -> gpt-4o -> gemini
520
+ *
521
+ * @deprecated Phase C Week 3 — `FallbackChain` (LLM model failover) has
522
+ * zero real callers in primitives.org.ai (audited 2026-05-06; the
523
+ * `human-in-the-loop` package's `FallbackChain` is a different class for
524
+ * HITL fallback resolution, not LLM failover). AI SDK 4.3+ ships native
525
+ * `customProvider({ fallbackProvider })` which is the going-forward
526
+ * primitive. See `bd show aip-ibid`. Will be removed in the Phase C
527
+ * semver bump.
443
528
  */
444
529
  export class FallbackChain {
445
530
  models;
@@ -452,6 +537,28 @@ export class FallbackChain {
452
537
  this.models = models;
453
538
  this.options = options;
454
539
  }
540
+ /**
541
+ * Build a FallbackChain from a model's `ModelPolicy`. The caller supplies
542
+ * an `executor` that takes a model id and returns a promise — the chain
543
+ * applies it to the primary model first, then to each fallback in order.
544
+ *
545
+ * @example
546
+ * ```ts
547
+ * const chain = FallbackChain.forModel('sonnet', (modelId, params) =>
548
+ * ai({ model: modelId, prompt: params!.prompt })
549
+ * )
550
+ * await chain.execute({ prompt: 'Hello' })
551
+ * ```
552
+ */
553
+ static forModel(alias, executor, options = {}) {
554
+ const policy = policyFor(alias);
555
+ const ids = [policy.$id, ...policy.fallbackChain];
556
+ const models = ids.map((id) => ({
557
+ name: id,
558
+ execute: (params) => executor(id, params),
559
+ }));
560
+ return new FallbackChain(models, options);
561
+ }
455
562
  /**
456
563
  * Execute the fallback chain
457
564
  */
@@ -532,8 +639,8 @@ export class FallbackChain {
532
639
  */
533
640
  export function withRetry(fn, options = {}) {
534
641
  const policy = new RetryPolicy(options);
535
- return (async (...args) => {
642
+ return async (...args) => {
536
643
  return policy.execute(() => fn(...args));
537
- });
644
+ };
538
645
  }
539
646
  //# sourceMappingURL=retry.js.map
package/dist/retry.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"retry.js","sourceRoot":"","sources":["../src/retry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,+EAA+E;AAC/E,iCAAiC;AACjC,+EAA+E;AAE/E;;GAEG;AACH,MAAM,CAAN,IAAY,aAeX;AAfD,WAAY,aAAa;IACvB,8CAA8C;IAC9C,oCAAmB,CAAA;IACnB,8DAA8D;IAC9D,yCAAwB,CAAA;IACxB,kDAAkD;IAClD,+CAA8B,CAAA;IAC9B,4DAA4D;IAC5D,kDAAiC,CAAA;IACjC,gCAAgC;IAChC,kCAAiB,CAAA;IACjB,mEAAmE;IACnE,iDAAgC,CAAA;IAChC,yBAAyB;IACzB,oCAAmB,CAAA;AACrB,CAAC,EAfW,aAAa,KAAb,aAAa,QAexB;AAED;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,KAAK;IAC9B,SAAS,GAAG,IAAI,CAAA;IAChB,QAAQ,CAAe;IAEhC,YAAY,OAAe,EAAE,WAA0B,aAAa,CAAC,OAAO;QAC1E,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAA;QAC5B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC1B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IACjC,SAAS,GAAG,KAAK,CAAA;IACjB,QAAQ,CAAe;IAEhC,YAAY,OAAe,EAAE,WAA0B,aAAa,CAAC,YAAY;QAC/E,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAA;QAC/B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC1B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,YAAa,SAAQ,cAAc;IAC9C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,CAAA;QACrC,IAAI,CAAC,IAAI,GAAG,cAAc,CAAA;IAC5B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,cAAc;IACvC,UAAU,CAAS;IAE5B,YAAY,OAAe,EAAE,OAAiC;QAC5D,KAAK,CAAC,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,CAAA;QACvC,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAA;QAC5B,IAAI,CAAC,UAAU,GAAG,OAAO,EAAE,UAAU,CAAA;IACvC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,QAA8D;QAChF,MAAM,gBAAgB,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,aAAa,CAAC,CAAA;QAC1D,IAAI,UAA8B,CAAA;QAElC,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,OAAO,GAAG,QAAQ,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAA;YAC9C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;gBACpB,UAAU,GAAG,OAAO,GAAG,IAAI,CAAA,CAAC,0BAA0B;YACxD,CAAC;QACH,CAAC;QAED,OAAO,IAAI,cAAc,CAAC,iBAAiB,QAAQ,CAAC,MAAM,GAAG,EAAE,EAAE,UAAU,EAAE,CAAC,CAAA;IAChF,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IAChC,SAAS,GAAG,KAAK,CAAA;IAE1B,YAAY,UAAkB,yBAAyB;QACrD,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAA;IAChC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,aAAa,CAAC,OAAO,CAAA;IAC9B,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAA;IAC3C,MAAM,MAAM,GAAI,KAAa,CAAC,MAA4B,CAAA;IAE1D,iBAAiB;IACjB,IACE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;QAChC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;QAC7B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;QAC7B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAClC,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC;QAC1C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,EAChC,CAAC;QACD,OAAO,aAAa,CAAC,OAAO,CAAA;IAC9B,CAAC;IAED,oBAAoB;IACpB,IACE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;QAC9B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;QACvB,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QACrC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAClC,MAAM,KAAK,GAAG,EACd,CAAC;QACD,OAAO,aAAa,CAAC,SAAS,CAAA;IAChC,CAAC;IAED,uBAAuB;IACvB,IACE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;QAChC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC;QACnC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QACrC,MAAM,KAAK,GAAG;QACd,MAAM,KAAK,GAAG,EACd,CAAC;QACD,OAAO,aAAa,CAAC,YAAY,CAAA;IACnC,CAAC;IAED,wBAAwB;IACxB,IACE,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QACpC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC;QACjC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC;QACnC,MAAM,KAAK,GAAG;QACd,MAAM,KAAK,GAAG,EACd,CAAC;QACD,OAAO,aAAa,CAAC,cAAc,CAAA;IACrC,CAAC;IAED,gBAAgB;IAChB,IACE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;QACvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;QACvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;QACvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;QACvB,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QACzC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC/B,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC;QACvC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC;QACnC,CAAC,MAAM,IAAI,MAAM,IAAI,GAAG,IAAI,MAAM,GAAG,GAAG,CAAC,EACzC,CAAC;QACD,OAAO,aAAa,CAAC,MAAM,CAAA;IAC7B,CAAC;IAED,wBAAwB;IACxB,IACE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAClC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC/B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EACnC,CAAC;QACD,OAAO,aAAa,CAAC,aAAa,CAAA;IACpC,CAAC;IAED,OAAO,aAAa,CAAC,OAAO,CAAA;AAC9B,CAAC;AA6BD;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe,EAAE,UAA0B,EAAE;IAC5E,MAAM,EACJ,SAAS,GAAG,IAAI,EAChB,QAAQ,GAAG,KAAK,EAChB,UAAU,GAAG,CAAC,EACd,MAAM,GAAG,CAAC,EACV,cAAc,GAAG,OAAO,EACxB,aAAa,GACd,GAAG,OAAO,CAAA;IAEX,mCAAmC;IACnC,IAAI,KAAK,GAAG,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;IAErD,iCAAiC;IACjC,IAAI,cAAc,KAAK,MAAM,EAAE,CAAC;QAC9B,2DAA2D;QAC3D,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAA;IAC/B,CAAC;SAAM,IAAI,cAAc,KAAK,cAAc,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAC5E,sEAAsE;QACtE,KAAK,GAAG,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,aAAa,GAAG,CAAC,GAAG,SAAS,CAAC,CAAA;IACrE,CAAC;SAAM,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,gDAAgD;QAChD,MAAM,WAAW,GAAG,KAAK,GAAG,MAAM,CAAA;QAClC,KAAK,GAAG,KAAK,GAAG,WAAW,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,WAAW,CAAA;IAC/D,CAAC;IAED,sBAAsB;IACtB,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;AAClC,CAAC;AA8CD;;GAEG;AACH,MAAM,OAAO,WAAW;IACL,OAAO,CAA6F;IAErH,YAAY,UAAwB,EAAE;QACpC,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,CAAC;YACnC,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,IAAI;YACpC,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,KAAK;YACnC,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,CAAC;YACnC,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,CAAC;YAC3B,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,OAAO;YACjD,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,IAAI,IAAI;YACpD,WAAW,EAAE,OAAO,CAAC,WAAW;SACjC,CAAA;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CACX,SAA0C;QAE1C,IAAI,SAAkB,CAAA;QACtB,IAAI,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAA;QAE1C,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;YACpE,IAAI,CAAC;gBACH,OAAO,MAAM,SAAS,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAA;YAC1E,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,SAAS,GAAG,KAAK,CAAA;gBAEjB,8BAA8B;gBAC9B,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC7B,MAAM,KAAK,CAAA;gBACb,CAAC;gBAED,oCAAoC;gBACpC,IAAI,OAAO,KAAK,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;oBACxC,MAAK;gBACP,CAAC;gBAED,kBAAkB;gBAClB,IAAI,KAAK,GAAG,gBAAgB,CAAC,OAAO,EAAE;oBACpC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;oBACjC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;oBAC/B,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU;oBACnC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;oBAC3B,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc;oBAC3C,aAAa;iBACd,CAAC,CAAA;gBAEF,4CAA4C;gBAC5C,IAAI,IAAI,CAAC,OAAO,CAAC,iBAAiB,IAAI,KAAK,YAAY,cAAc,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;oBAC1F,KAAK,GAAG,KAAK,CAAC,UAAU,CAAA;gBAC1B,CAAC;gBAED,aAAa,GAAG,KAAK,CAAA;gBACrB,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YACzB,CAAC;QACH,CAAC;QAED,MAAM,SAAS,CAAA;IACjB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAChB,KAAU,EACV,cAAgE;QAEhE,MAAM,YAAY,GAAG,IAAI,GAAG,EAA4B,CAAA;QACxD,IAAI,YAAY,GAAG,CAAC,GAAG,KAAK,CAAC,CAAA;QAC7B,MAAM,aAAa,GAAG,IAAI,GAAG,EAAa,CAAA;QAE1C,4BAA4B;QAC5B,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;QAEjD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;YACzF,2CAA2C;YAC3C,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBACd,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,GAAG,CAAC,EAAE;oBACxC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;oBACjC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;oBAC/B,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU;oBACnC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;oBAC3B,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc;iBAC5C,CAAC,CAAA;gBACF,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YACzB,CAAC;YAED,wBAAwB;YACxB,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,YAAY,CAAC,CAAA;YAElD,uCAAuC;YACvC,MAAM,WAAW,GAAQ,EAAE,CAAA;YAE3B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;gBAEzE,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnB,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;gBACvC,CAAC;qBAAM,CAAC;oBACN,kCAAkC;oBAClC,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;oBACpD,IAAI,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;wBAC1E,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;oBAC/B,CAAC;yBAAM,CAAC;wBACN,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;oBACvC,CAAC;gBACH,CAAC;YACH,CAAC;YAED,YAAY,GAAG,WAAW,CAAA;QAC5B,CAAC;QAED,mCAAmC;QACnC,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,CAAA;IACnD,CAAC;IAEO,WAAW,CAAC,KAAc;QAChC,0CAA0C;QAC1C,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;QACxC,CAAC;QAED,uCAAuC;QACvC,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,WAAW,IAAI,KAAK,EAAE,CAAC;YAC/D,OAAQ,KAAa,CAAC,SAAS,KAAK,IAAI,CAAA;QAC1C,CAAC;QAED,4CAA4C;QAC5C,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;QACrC,OAAO,CACL,QAAQ,KAAK,aAAa,CAAC,OAAO;YAClC,QAAQ,KAAK,aAAa,CAAC,SAAS;YACpC,QAAQ,KAAK,aAAa,CAAC,MAAM;YACjC,QAAQ,KAAK,aAAa,CAAC,OAAO,CACnC,CAAA;IACH,CAAC;IAEO,KAAK,CAAC,EAAU;QACtB,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAA;IACxD,CAAC;CACF;AAoCD;;;;;;;GAOG;AACH,MAAM,OAAO,cAAc;IACjB,MAAM,GAAiB,QAAQ,CAAA;IAC/B,aAAa,GAAG,CAAC,CAAA;IACjB,aAAa,GAAG,CAAC,CAAA;IACjB,YAAY,GAAgB,IAAI,CAAA;IAChC,YAAY,GAAgB,IAAI,CAAA;IAChC,cAAc,GAAG,CAAC,CAAA;IAClB,eAAe,GAAG,CAAC,CAAA;IACnB,SAAS,GAAkB,IAAI,CAAA;IACtB,OAAO,CAAiC;IAEzD,YAAY,UAAiC,EAAE;QAC7C,IAAI,CAAC,OAAO,GAAG;YACb,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,IAAI,CAAC;YAC/C,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,KAAK;YAC3C,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,IAAI,CAAC;SAChD,CAAA;IACH,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACP,uDAAuD;QACvD,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YACtD,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;gBAC7D,IAAI,CAAC,MAAM,GAAG,WAAW,CAAA;YAC3B,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAED;;OAEG;IACH,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,aAAa,CAAA;IAC3B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAI,SAA2B;QAC1C,sBAAsB;QACtB,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAA;QAE/B,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;YAC5B,MAAM,IAAI,gBAAgB,EAAE,CAAA;QAC9B,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE,CAAA;YAChC,IAAI,CAAC,aAAa,EAAE,CAAA;YACpB,OAAO,MAAM,CAAA;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,aAAa,EAAE,CAAA;YACpB,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;IAED;;OAEG;IACK,aAAa;QACnB,IAAI,CAAC,aAAa,EAAE,CAAA;QACpB,IAAI,CAAC,eAAe,EAAE,CAAA;QACtB,IAAI,CAAC,YAAY,GAAG,IAAI,IAAI,EAAE,CAAA;QAC9B,IAAI,CAAC,aAAa,GAAG,CAAC,CAAA,CAAC,iCAAiC;QAExD,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YAChC,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;gBACxD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAA;gBACtB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;YACvB,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACK,aAAa;QACnB,IAAI,CAAC,aAAa,EAAE,CAAA;QACpB,IAAI,CAAC,cAAc,EAAE,CAAA;QACrB,IAAI,CAAC,YAAY,GAAG,IAAI,IAAI,EAAE,CAAA;QAC9B,IAAI,CAAC,aAAa,GAAG,CAAC,CAAA,CAAC,iCAAiC;QAExD,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC7B,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;gBACxD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;gBACpB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;YAC7B,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YACvC,qDAAqD;YACrD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;YACpB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAC7B,CAAC;IACH,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,YAAY,EAAE,IAAI,CAAC,aAAa;YAChC,YAAY,EAAE,IAAI,CAAC,aAAa;YAChC,WAAW,EAAE,IAAI,CAAC,YAAY;YAC9B,WAAW,EAAE,IAAI,CAAC,YAAY;YAC9B,aAAa,EAAE,IAAI,CAAC,cAAc;YAClC,cAAc,EAAE,IAAI,CAAC,eAAe;SACrC,CAAA;IACH,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAA;QACtB,IAAI,CAAC,aAAa,GAAG,CAAC,CAAA;QACtB,IAAI,CAAC,aAAa,GAAG,CAAC,CAAA;QACtB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;IACvB,CAAC;CACF;AAiCD;;;;;GAKG;AACH,MAAM,OAAO,aAAa;IACP,MAAM,CAAuB;IAC7B,OAAO,CAAiB;IACjC,WAAW,GAA2B,IAAI,CAAA;IAElD,YAAY,MAA6B,EAAE,UAA2B,EAAE;QACtE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAA;QAC9D,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,MAAU;QACtB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAC5B,MAAM,YAAY,GAAa,EAAE,CAAA;QACjC,MAAM,MAAM,GAA2C,EAAE,CAAA;QAEzD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;gBAE1C,IAAI,CAAC,WAAW,GAAG;oBACjB,QAAQ,EAAE,YAAY,CAAC,MAAM,GAAG,CAAC;oBACjC,eAAe,EAAE,KAAK,CAAC,IAAI;oBAC3B,YAAY;oBACZ,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;oBACrC,MAAM;iBACP,CAAA;gBAED,OAAO,MAAM,CAAA;YACf,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;gBACrE,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;gBAC7B,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAA;gBAE9C,sCAAsC;gBACtC,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;oBACvE,IAAI,CAAC,WAAW,GAAG;wBACjB,QAAQ,EAAE,YAAY,CAAC,MAAM;wBAC7B,eAAe,EAAE,IAAI;wBACrB,YAAY;wBACZ,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;wBACrC,MAAM;qBACP,CAAA;oBACD,MAAM,KAAK,CAAA;gBACb,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,WAAW,GAAG;YACjB,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;YAC5B,eAAe,EAAE,IAAI;YACrB,YAAY;YACZ,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;YACrC,MAAM;SACP,CAAA;QAED,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;IAC/C,CAAC;IAED;;OAEG;IACH,UAAU;QACR,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,OAAO;gBACL,QAAQ,EAAE,CAAC;gBACX,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,EAAE;gBAChB,aAAa,EAAE,CAAC;gBAChB,MAAM,EAAE,EAAE;aACX,CAAA;QACH,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAA;IACzB,CAAC;CACF;AAED,+EAA+E;AAC/E,qBAAqB;AACrB,+EAA+E;AAE/E;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,SAAS,CACvB,EAAK,EACL,UAAwB,EAAE;IAE1B,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,CAAA;IAEvC,OAAO,CAAC,KAAK,EAAE,GAAG,IAAmB,EAAE,EAAE;QACvC,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAA;IAC1C,CAAC,CAAM,CAAA;AACT,CAAC"}
1
+ {"version":3,"file":"retry.js","sourceRoot":"","sources":["../src/retry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Sandbox execution boundary for ai-functions.
3
+ *
4
+ * ALL dynamic code execution in ai-functions is delegated to ai-evaluate's
5
+ * V8-isolate sandbox (Cloudflare Dynamic Workers). `new Function`/`eval` are
6
+ * banned in this package — they are broken under Workers and unsandboxed under
7
+ * Node.
8
+ *
9
+ * ## The env boundary
10
+ *
11
+ * "Zero env plumbing" is NOT achievable:
12
+ * - The Workers entry (`ai-evaluate`) requires a `LOADER` binding (and, for the
13
+ * test path, a `TEST` service binding) to be passed in `env`.
14
+ * - That entry imports `cloudflare:workers`, which is Node-incompatible, so it
15
+ * cannot be imported eagerly in a Node/dev process.
16
+ *
17
+ * The clean boundary is therefore an **explicit, optional `env`**:
18
+ * - When a host Workers `env` (carrying `LOADER` + `TEST`) is supplied, run on
19
+ * the real Dynamic Workers loader via `ai-evaluate`.
20
+ * - When absent (Node / dev / tests), import from `ai-evaluate/node`, which
21
+ * falls back to Miniflare and runs with no live Worker.
22
+ *
23
+ * The `ai-evaluate/node` module is only imported when no `env` is present, so a
24
+ * Node process never pulls in `cloudflare:workers`.
25
+ */
26
+ import type { EvaluateOptions, EvaluateResult, SandboxEnv } from 'ai-evaluate';
27
+ export type { SandboxEnv } from 'ai-evaluate';
28
+ /**
29
+ * Run an evaluation in the appropriate sandbox.
30
+ *
31
+ * @param options - What to evaluate (`script`, or `module` + `tests`, etc.)
32
+ * @param env - Optional host Workers env carrying `LOADER` (+ `TEST` for the
33
+ * test path). When omitted, falls back to the Miniflare-backed Node entry.
34
+ */
35
+ export declare function runInSandbox(options: EvaluateOptions, env?: SandboxEnv): Promise<EvaluateResult>;
36
+ //# sourceMappingURL=sandbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../src/sandbox.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAE9E,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAE7C;;;;;;GAMG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,eAAe,EACxB,GAAG,CAAC,EAAE,UAAU,GACf,OAAO,CAAC,cAAc,CAAC,CAWzB"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Sandbox execution boundary for ai-functions.
3
+ *
4
+ * ALL dynamic code execution in ai-functions is delegated to ai-evaluate's
5
+ * V8-isolate sandbox (Cloudflare Dynamic Workers). `new Function`/`eval` are
6
+ * banned in this package — they are broken under Workers and unsandboxed under
7
+ * Node.
8
+ *
9
+ * ## The env boundary
10
+ *
11
+ * "Zero env plumbing" is NOT achievable:
12
+ * - The Workers entry (`ai-evaluate`) requires a `LOADER` binding (and, for the
13
+ * test path, a `TEST` service binding) to be passed in `env`.
14
+ * - That entry imports `cloudflare:workers`, which is Node-incompatible, so it
15
+ * cannot be imported eagerly in a Node/dev process.
16
+ *
17
+ * The clean boundary is therefore an **explicit, optional `env`**:
18
+ * - When a host Workers `env` (carrying `LOADER` + `TEST`) is supplied, run on
19
+ * the real Dynamic Workers loader via `ai-evaluate`.
20
+ * - When absent (Node / dev / tests), import from `ai-evaluate/node`, which
21
+ * falls back to Miniflare and runs with no live Worker.
22
+ *
23
+ * The `ai-evaluate/node` module is only imported when no `env` is present, so a
24
+ * Node process never pulls in `cloudflare:workers`.
25
+ */
26
+ /**
27
+ * Run an evaluation in the appropriate sandbox.
28
+ *
29
+ * @param options - What to evaluate (`script`, or `module` + `tests`, etc.)
30
+ * @param env - Optional host Workers env carrying `LOADER` (+ `TEST` for the
31
+ * test path). When omitted, falls back to the Miniflare-backed Node entry.
32
+ */
33
+ export async function runInSandbox(options, env) {
34
+ if (env && (env.loader || env.LOADER)) {
35
+ // Host Workers env present — use the Dynamic Workers loader entry.
36
+ const { evaluate } = await import('ai-evaluate');
37
+ return evaluate(options, env);
38
+ }
39
+ // No live Worker — use the Node entry (Miniflare fallback). This module is
40
+ // imported lazily so Node processes never eagerly pull in `cloudflare:workers`.
41
+ const { evaluate } = await import('ai-evaluate/node');
42
+ return evaluate(options, env);
43
+ }
44
+ //# sourceMappingURL=sandbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../src/sandbox.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAMH;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,OAAwB,EACxB,GAAgB;IAEhB,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QACtC,mEAAmE;QACnE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAA;QAChD,OAAO,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;IAC/B,CAAC;IAED,2EAA2E;IAC3E,gFAAgF;IAChF,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAA;IACrD,OAAO,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;AAC/B,CAAC"}
package/dist/schema.js CHANGED
@@ -14,7 +14,7 @@
14
14
  * @packageDocumentation
15
15
  */
16
16
  import { z } from 'zod';
17
- import { isZodSchema } from '@org.ai/core';
17
+ import { isZodSchema } from './type-guards.js';
18
18
  /**
19
19
  * Convert a simplified schema to a Zod schema
20
20
  *
@@ -49,7 +49,7 @@ function convertToZod(input) {
49
49
  if (typeof input === 'string') {
50
50
  // Enum syntax: 'option1 | option2 | option3'
51
51
  if (input.includes(' | ')) {
52
- const options = input.split(' | ').map(s => s.trim());
52
+ const options = input.split(' | ').map((s) => s.trim());
53
53
  return z.enum(options);
54
54
  }
55
55
  // Type hint syntax: 'description (type)'
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}