ai 4.1.15 → 4.1.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # ai
2
2
 
3
+ ## 4.1.16
4
+
5
+ ### Patch Changes
6
+
7
+ - 7e299a4: feat (ai/core): wrapLanguageModel can apply multiple middlewares
8
+
3
9
  ## 4.1.15
4
10
 
5
11
  ### Patch Changes
package/dist/index.d.mts CHANGED
@@ -2468,23 +2468,23 @@ declare function extractReasoningMiddleware({ tagName, separator, }: {
2468
2468
  *
2469
2469
  * @param options - Configuration options for wrapping the language model.
2470
2470
  * @param options.model - The original LanguageModelV1 instance to be wrapped.
2471
- * @param options.middleware - The middleware to be applied to the language model.
2471
+ * @param options.middleware - The middleware to be applied to the language model. When multiple middlewares are provided, the first middleware will transform the input first, and the last middleware will be wrapped directly around the model.
2472
2472
  * @param options.modelId - Optional custom model ID to override the original model's ID.
2473
2473
  * @param options.providerId - Optional custom provider ID to override the original model's provider.
2474
2474
  * @returns A new LanguageModelV1 instance with middleware applied.
2475
2475
  */
2476
- declare const wrapLanguageModel: ({ model, middleware: { transformParams, wrapGenerate, wrapStream }, modelId, providerId, }: {
2476
+ declare const wrapLanguageModel: ({ model, middleware: middlewareArg, modelId, providerId, }: {
2477
2477
  model: LanguageModelV1;
2478
- middleware: LanguageModelV1Middleware;
2478
+ middleware: LanguageModelV1Middleware | LanguageModelV1Middleware[];
2479
2479
  modelId?: string;
2480
2480
  providerId?: string;
2481
2481
  }) => LanguageModelV1;
2482
2482
  /**
2483
2483
  * @deprecated Use `wrapLanguageModel` instead.
2484
2484
  */
2485
- declare const experimental_wrapLanguageModel: ({ model, middleware: { transformParams, wrapGenerate, wrapStream }, modelId, providerId, }: {
2485
+ declare const experimental_wrapLanguageModel: ({ model, middleware: middlewareArg, modelId, providerId, }: {
2486
2486
  model: LanguageModelV1;
2487
- middleware: LanguageModelV1Middleware;
2487
+ middleware: LanguageModelV1Middleware | LanguageModelV1Middleware[];
2488
2488
  modelId?: string;
2489
2489
  providerId?: string;
2490
2490
  }) => LanguageModelV1;
package/dist/index.d.ts CHANGED
@@ -2468,23 +2468,23 @@ declare function extractReasoningMiddleware({ tagName, separator, }: {
2468
2468
  *
2469
2469
  * @param options - Configuration options for wrapping the language model.
2470
2470
  * @param options.model - The original LanguageModelV1 instance to be wrapped.
2471
- * @param options.middleware - The middleware to be applied to the language model.
2471
+ * @param options.middleware - The middleware to be applied to the language model. When multiple middlewares are provided, the first middleware will transform the input first, and the last middleware will be wrapped directly around the model.
2472
2472
  * @param options.modelId - Optional custom model ID to override the original model's ID.
2473
2473
  * @param options.providerId - Optional custom provider ID to override the original model's provider.
2474
2474
  * @returns A new LanguageModelV1 instance with middleware applied.
2475
2475
  */
2476
- declare const wrapLanguageModel: ({ model, middleware: { transformParams, wrapGenerate, wrapStream }, modelId, providerId, }: {
2476
+ declare const wrapLanguageModel: ({ model, middleware: middlewareArg, modelId, providerId, }: {
2477
2477
  model: LanguageModelV1;
2478
- middleware: LanguageModelV1Middleware;
2478
+ middleware: LanguageModelV1Middleware | LanguageModelV1Middleware[];
2479
2479
  modelId?: string;
2480
2480
  providerId?: string;
2481
2481
  }) => LanguageModelV1;
2482
2482
  /**
2483
2483
  * @deprecated Use `wrapLanguageModel` instead.
2484
2484
  */
2485
- declare const experimental_wrapLanguageModel: ({ model, middleware: { transformParams, wrapGenerate, wrapStream }, modelId, providerId, }: {
2485
+ declare const experimental_wrapLanguageModel: ({ model, middleware: middlewareArg, modelId, providerId, }: {
2486
2486
  model: LanguageModelV1;
2487
- middleware: LanguageModelV1Middleware;
2487
+ middleware: LanguageModelV1Middleware | LanguageModelV1Middleware[];
2488
2488
  modelId?: string;
2489
2489
  providerId?: string;
2490
2490
  }) => LanguageModelV1;
package/dist/index.js CHANGED
@@ -5750,6 +5750,16 @@ function extractReasoningMiddleware({
5750
5750
 
5751
5751
  // core/middleware/wrap-language-model.ts
5752
5752
  var wrapLanguageModel = ({
5753
+ model,
5754
+ middleware: middlewareArg,
5755
+ modelId,
5756
+ providerId
5757
+ }) => {
5758
+ return asArray(middlewareArg).reverse().reduce((wrappedModel, middleware) => {
5759
+ return doWrap({ model: wrappedModel, middleware, modelId, providerId });
5760
+ }, model);
5761
+ };
5762
+ var doWrap = ({
5753
5763
  model,
5754
5764
  middleware: { transformParams, wrapGenerate, wrapStream },
5755
5765
  modelId,