ai 7.0.110 → 7.0.111

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.
@@ -1,5 +1,5 @@
1
1
  import * as _ai_sdk_provider from '@ai-sdk/provider';
2
- import { EmbeddingModelV4Embedding, LanguageModelV4Source, SharedV4Warning, LanguageModelV4, LanguageModelV3, LanguageModelV2, SharedV4ProviderMetadata, JSONObject, LanguageModelV4Usage, LanguageModelV4CallOptions, LanguageModelV4Prompt, AISDKError, LanguageModelV4ToolCall, JSONSchema7, ProviderV4, ProviderV3, ProviderV2, LanguageModelV4ToolResultOutput, LanguageModelV4ToolChoice, LanguageModelV4FunctionTool, LanguageModelV4ProviderTool } from '@ai-sdk/provider';
2
+ import { EmbeddingModelV4Embedding, LanguageModelV4Source, SharedV4Warning, LanguageModelV4, LanguageModelV3, LanguageModelV2, SharedV4ProviderMetadata, JSONObject, LanguageModelV4Usage, Experimental_EvaluationModelV4Question, Experimental_EvaluationModelV4Result, Experimental_EvaluationModelV4CallOptions, LanguageModelV4CallOptions, LanguageModelV4Prompt, AISDKError, LanguageModelV4ToolCall, JSONSchema7, ProviderV4, ProviderV3, ProviderV2, LanguageModelV4ToolResultOutput, LanguageModelV4ToolChoice, LanguageModelV4FunctionTool, LanguageModelV4ProviderTool } from '@ai-sdk/provider';
3
3
  import { GatewayModelId } from '@ai-sdk/gateway';
4
4
  import { ModelMessage, AssistantModelMessage, ToolModelMessage, Context, ProviderOptions, ToolSet, SystemModelMessage, InferToolSetContext, Arrayable, InferToolInput, InferToolOutput, ReasoningPart, ReasoningFilePart, MaybePromiseLike, ToolExecutionOptions, InferToolContext, HasRequiredKey, ToolResultOutput, Tool, Experimental_SandboxSession, ShouldRetryFunction, RetryFunction, FlexibleSchema, ToolApprovalRequest, ToolApprovalResponse, ToolResultPart } from '@ai-sdk/provider-utils';
5
5
  export { convertAsyncIteratorToReadableStream } from '@ai-sdk/provider-utils';
@@ -351,6 +351,127 @@ type EmbeddingModelCallEndEvent = {
351
351
  readonly usage: EmbeddingModelUsage;
352
352
  };
353
353
 
354
+ type EvaluationQuestion = Experimental_EvaluationModelV4Question;
355
+ type EvaluationAnswer<QUESTION extends EvaluationQuestion> = QUESTION extends {
356
+ type: 'choice';
357
+ criteria: infer CRITERIA;
358
+ } ? {
359
+ type: 'choice';
360
+ choice: Extract<keyof CRITERIA, string>;
361
+ probabilities?: Record<Extract<keyof CRITERIA, string>, number>;
362
+ } : QUESTION extends {
363
+ type: 'score';
364
+ } ? {
365
+ type: 'score';
366
+ score: number;
367
+ probabilities?: Record<string, number>;
368
+ } : {
369
+ type: 'boolean';
370
+ probability: number;
371
+ };
372
+ type EvaluationResult<QUESTIONS extends Record<string, EvaluationQuestion>> = {
373
+ readonly answers: {
374
+ [ID in keyof QUESTIONS]: EvaluationAnswer<QUESTIONS[ID]>;
375
+ };
376
+ readonly usage: {
377
+ inputTokens: number | undefined;
378
+ outputTokens: number | undefined;
379
+ totalTokens: number | undefined;
380
+ };
381
+ readonly warnings: Experimental_EvaluationModelV4Result['warnings'];
382
+ readonly rounding: Experimental_EvaluationModelV4Result['rounding'];
383
+ readonly providerMetadata: Experimental_EvaluationModelV4Result['providerMetadata'];
384
+ readonly response: NonNullable<Experimental_EvaluationModelV4Result['response']> & {
385
+ timestamp: Date;
386
+ modelId: string;
387
+ };
388
+ };
389
+
390
+ /**
391
+ * Event passed to the `onStart` callback for evaluation operations.
392
+ *
393
+ * Called when the operation begins, before the evaluation model is called.
394
+ */
395
+ type EvaluateStartEvent<RUNTIME_CONTEXT extends Context = Context> = {
396
+ /** User-defined runtime context. */
397
+ readonly runtimeContext: RUNTIME_CONTEXT;
398
+ /** Unique identifier for this evaluation call, used to correlate events. */
399
+ readonly callId: string;
400
+ /** Identifies the operation type (`ai.evaluate`). */
401
+ readonly operationId: 'ai.evaluate';
402
+ /** The provider identifier. */
403
+ readonly provider: string;
404
+ /** The evaluation model identifier. */
405
+ readonly modelId: string;
406
+ /** The shared state being evaluated. */
407
+ readonly state: Experimental_EvaluationModelV4CallOptions['state'];
408
+ /** The questions being evaluated against the shared state. */
409
+ readonly questions: Readonly<Record<string, EvaluationQuestion>>;
410
+ /** Maximum number of retries for the evaluation model call. */
411
+ readonly maxRetries: number;
412
+ /** Additional HTTP headers sent with the request. */
413
+ readonly headers: Record<string, string> | undefined;
414
+ /** Additional provider-specific options. */
415
+ readonly providerOptions: ProviderOptions;
416
+ };
417
+ /**
418
+ * Event passed to the `onEnd` callback for evaluation operations.
419
+ *
420
+ * Called when the operation completes successfully.
421
+ */
422
+ type EvaluateEndEvent<RUNTIME_CONTEXT extends Context = Context> = EvaluateStartEvent<RUNTIME_CONTEXT> & {
423
+ /** Exactly one typed answer per question ID. */
424
+ readonly answers: EvaluationResult<Record<string, EvaluationQuestion>>['answers'];
425
+ /** Token usage for the evaluation operation. */
426
+ readonly usage: EvaluationResult<Record<string, EvaluationQuestion>>['usage'];
427
+ /** Warnings from the evaluation model. */
428
+ readonly warnings: EvaluationResult<Record<string, EvaluationQuestion>>['warnings'];
429
+ /** Provider-declared decimal precision for probabilities and scores. */
430
+ readonly rounding: EvaluationResult<Record<string, EvaluationQuestion>>['rounding'];
431
+ /** Optional provider-specific metadata. */
432
+ readonly providerMetadata: EvaluationResult<Record<string, EvaluationQuestion>>['providerMetadata'];
433
+ /** Response metadata, including the resolved model ID and timestamp. */
434
+ readonly response: EvaluationResult<Record<string, EvaluationQuestion>>['response'];
435
+ };
436
+ /**
437
+ * Event fired when the evaluation model call begins.
438
+ *
439
+ * The logical model call includes any provider retries.
440
+ */
441
+ type EvaluationModelCallStartEvent = {
442
+ /** Unique identifier for the outer evaluation call. */
443
+ readonly callId: string;
444
+ /** Identifies the inner operation (`ai.evaluate.doEvaluate`). */
445
+ readonly operationId: 'ai.evaluate.doEvaluate';
446
+ /** The provider identifier. */
447
+ readonly provider: string;
448
+ /** The evaluation model identifier. */
449
+ readonly modelId: string;
450
+ /** The shared state being evaluated. */
451
+ readonly state: Experimental_EvaluationModelV4CallOptions['state'];
452
+ /** The questions being evaluated against the shared state. */
453
+ readonly questions: Readonly<Record<string, EvaluationQuestion>>;
454
+ };
455
+ /**
456
+ * Event fired after the evaluation model response has been validated.
457
+ *
458
+ * Contains the result of the logical model call, including any retries.
459
+ */
460
+ type EvaluationModelCallEndEvent = EvaluationModelCallStartEvent & {
461
+ /** Exactly one answer per question ID. */
462
+ readonly answers: Experimental_EvaluationModelV4Result['answers'];
463
+ /** Token usage reported by the evaluation model. */
464
+ readonly usage?: Experimental_EvaluationModelV4Result['usage'];
465
+ /** Warnings from the evaluation model. */
466
+ readonly warnings: Experimental_EvaluationModelV4Result['warnings'];
467
+ /** Provider-declared decimal precision for probabilities and scores. */
468
+ readonly rounding?: Experimental_EvaluationModelV4Result['rounding'];
469
+ /** Optional provider-specific metadata. */
470
+ readonly providerMetadata?: Experimental_EvaluationModelV4Result['providerMetadata'];
471
+ /** Optional raw response metadata from the provider. */
472
+ readonly response?: Experimental_EvaluationModelV4Result['response'];
473
+ };
474
+
354
475
  /**
355
476
  * Model-facing generation controls. These settings influence how the model
356
477
  * generates its response (token limits, sampling, penalties, stop sequences,
@@ -2345,7 +2466,7 @@ type RerankingModelCallEndEvent = {
2345
2466
  }>;
2346
2467
  };
2347
2468
 
2348
- type TelemetryTracingEventType = 'generateText' | 'streamText' | 'step' | 'languageModelCall' | 'executeTool' | 'embed' | 'embedMany' | 'rerank';
2469
+ type TelemetryTracingEventType = 'generateText' | 'streamText' | 'step' | 'languageModelCall' | 'executeTool' | 'embed' | 'embedMany' | 'rerank' | 'experimental_evaluate';
2349
2470
 
2350
2471
  type TracingChannelContext = {
2351
2472
  run<T>(execute: () => T): T;
@@ -2388,6 +2509,10 @@ interface TelemetryDispatcher {
2388
2509
  onEmbedEnd?: Callback<EmbeddingModelCallEndEvent>;
2389
2510
  onRerankStart?: Callback<RerankingModelCallStartEvent>;
2390
2511
  onRerankEnd?: Callback<RerankingModelCallEndEvent>;
2512
+ experimental_onEvaluateStart?: Callback<EvaluateStartEvent>;
2513
+ experimental_onEvaluationModelCallStart?: Callback<EvaluationModelCallStartEvent>;
2514
+ experimental_onEvaluationModelCallEnd?: Callback<EvaluationModelCallEndEvent>;
2515
+ experimental_onEvaluateEnd?: Callback<EvaluateEndEvent>;
2391
2516
  onEnd?: Callback<OperationEndEvent>;
2392
2517
  onAbort?: Callback<GenerateTextAbortEvent<ToolSet>>;
2393
2518
  onError?: Callback<unknown>;
@@ -2489,6 +2614,20 @@ interface Telemetry {
2489
2614
  * Contains the ranking results from the model response.
2490
2615
  */
2491
2616
  onRerankEnd?: Callback<InferTelemetryEvent<RerankingModelCallEndEvent>>;
2617
+ /** Called when an experimental evaluation operation begins. */
2618
+ experimental_onEvaluateStart?: Callback<InferTelemetryEvent<EvaluateStartEvent>>;
2619
+ /**
2620
+ * Called immediately before an experimental evaluation model call begins.
2621
+ * The logical model call includes any provider retries.
2622
+ */
2623
+ experimental_onEvaluationModelCallStart?: Callback<InferTelemetryEvent<EvaluationModelCallStartEvent>>;
2624
+ /**
2625
+ * Called after an experimental evaluation model response has been validated.
2626
+ * The logical model call includes any provider retries.
2627
+ */
2628
+ experimental_onEvaluationModelCallEnd?: Callback<InferTelemetryEvent<EvaluationModelCallEndEvent>>;
2629
+ /** Called when an experimental evaluation operation completes. */
2630
+ experimental_onEvaluateEnd?: Callback<InferTelemetryEvent<EvaluateEndEvent>>;
2492
2631
  /**
2493
2632
  * Called when an operation completes. Fired for text generation
2494
2633
  * (generateText/streamText), object generation (generateObject/streamObject),
@@ -91,7 +91,7 @@ import {
91
91
  } from "@ai-sdk/provider-utils";
92
92
 
93
93
  // src/version.ts
94
- var VERSION = true ? "7.0.110" : "0.0.0-test";
94
+ var VERSION = true ? "7.0.111" : "0.0.0-test";
95
95
 
96
96
  // src/util/download/download.ts
97
97
  var download = async ({
@@ -2723,6 +2723,18 @@ function createTelemetryDispatcher({
2723
2723
  onEmbedEnd: mergeTelemetryCallback("onEmbedEnd"),
2724
2724
  onRerankStart: mergeTelemetryCallback("onRerankStart"),
2725
2725
  onRerankEnd: mergeTelemetryCallback("onRerankEnd"),
2726
+ experimental_onEvaluateStart: mergeTelemetryCallback(
2727
+ "experimental_onEvaluateStart"
2728
+ ),
2729
+ experimental_onEvaluationModelCallStart: mergeTelemetryCallback(
2730
+ "experimental_onEvaluationModelCallStart"
2731
+ ),
2732
+ experimental_onEvaluationModelCallEnd: mergeTelemetryCallback(
2733
+ "experimental_onEvaluationModelCallEnd"
2734
+ ),
2735
+ experimental_onEvaluateEnd: mergeTelemetryCallback(
2736
+ "experimental_onEvaluateEnd"
2737
+ ),
2726
2738
  onEnd: mergeTelemetryCallback("onEnd"),
2727
2739
  onAbort: mergeTelemetryCallback("onAbort"),
2728
2740
  onError: mergeTelemetryCallback("onError"),