1
- import {
2
- LanguageModelV1 ,
3
- LanguageModelV1CallWarning ,
4
- LanguageModelV1FinishReason ,
5
- LanguageModelV1LogProbs ,
6
- NoTextGeneratedError ,
7
- } from '@ai-sdk/provider' ;
1
+ import { NoObjectGeneratedError } from '@ai-sdk/provider' ;
8
2
import { safeParseJSON } from '@ai-sdk/provider-utils' ;
9
3
import { z } from 'zod' ;
10
4
import { TokenUsage , calculateTokenUsage } from '../generate-text/token-usage' ;
@@ -13,6 +7,7 @@ import { convertToLanguageModelPrompt } from '../prompt/convert-to-language-mode
13
7
import { getValidatedPrompt } from '../prompt/get-validated-prompt' ;
14
8
import { prepareCallSettings } from '../prompt/prepare-call-settings' ;
15
9
import { Prompt } from '../prompt/prompt' ;
10
+ import { CallWarning , FinishReason , LanguageModel , LogProbs } from '../types' ;
16
11
import { convertZodToJSONSchema } from '../util/convert-zod-to-json-schema' ;
17
12
import { retryWithExponentialBackoff } from '../util/retry-with-exponential-backoff' ;
18
13
import { injectJsonSchemaIntoSystem } from './inject-json-schema-into-system' ;
@@ -68,7 +63,7 @@ export async function experimental_generateObject<T>({
68
63
/**
69
64
The language model to use.
70
65
*/
71
- model : LanguageModelV1 ;
66
+ model : LanguageModel ;
72
67
73
68
/**
74
69
The schema of the object that the model should generate.
@@ -91,11 +86,11 @@ Default and recommended: 'auto' (best mode for the model).
91
86
}
92
87
93
88
let result : string ;
94
- let finishReason : LanguageModelV1FinishReason ;
89
+ let finishReason : FinishReason ;
95
90
let usage : Parameters < typeof calculateTokenUsage > [ 0 ] ;
96
- let warnings : LanguageModelV1CallWarning [ ] | undefined ;
91
+ let warnings : CallWarning [ ] | undefined ;
97
92
let rawResponse : { headers ?: Record < string , string > } | undefined ;
98
- let logprobs : LanguageModelV1LogProbs | undefined ;
93
+ let logprobs : LogProbs | undefined ;
99
94
100
95
switch ( mode ) {
101
96
case 'json' : {
@@ -116,7 +111,7 @@ Default and recommended: 'auto' (best mode for the model).
116
111
} ) ;
117
112
118
113
if ( generateResult . text === undefined ) {
119
- throw new NoTextGeneratedError ( ) ;
114
+ throw new NoObjectGeneratedError ( ) ;
120
115
}
121
116
122
117
result = generateResult . text ;
@@ -147,7 +142,7 @@ Default and recommended: 'auto' (best mode for the model).
147
142
) ;
148
143
149
144
if ( generateResult . text === undefined ) {
150
- throw new NoTextGeneratedError ( ) ;
145
+ throw new NoObjectGeneratedError ( ) ;
151
146
}
152
147
153
148
result = generateResult . text ;
@@ -188,7 +183,7 @@ Default and recommended: 'auto' (best mode for the model).
188
183
const functionArgs = generateResult . toolCalls ?. [ 0 ] ?. args ;
189
184
190
185
if ( functionArgs === undefined ) {
191
- throw new NoTextGeneratedError ( ) ;
186
+ throw new NoObjectGeneratedError ( ) ;
192
187
}
193
188
194
189
result = functionArgs ;
@@ -239,7 +234,7 @@ The generated object (typed according to the schema).
239
234
/**
240
235
The reason why the generation finished.
241
236
*/
242
- readonly finishReason : LanguageModelV1FinishReason ;
237
+ readonly finishReason : FinishReason ;
243
238
244
239
/**
245
240
The token usage of the generated text.
@@ -249,7 +244,7 @@ The token usage of the generated text.
249
244
/**
250
245
Warnings from the model provider (e.g. unsupported settings)
251
246
*/
252
- readonly warnings : LanguageModelV1CallWarning [ ] | undefined ;
247
+ readonly warnings : CallWarning [ ] | undefined ;
253
248
254
249
/**
255
250
Optional raw response data.
@@ -265,17 +260,17 @@ Response headers.
265
260
Logprobs for the completion.
266
261
`undefined` if the mode does not support logprobs or if was not enabled
267
262
*/
268
- readonly logprobs : LanguageModelV1LogProbs | undefined ;
263
+ readonly logprobs : LogProbs | undefined ;
269
264
270
265
constructor ( options : {
271
266
object : T ;
272
- finishReason : LanguageModelV1FinishReason ;
267
+ finishReason : FinishReason ;
273
268
usage : TokenUsage ;
274
- warnings : LanguageModelV1CallWarning [ ] | undefined ;
269
+ warnings : CallWarning [ ] | undefined ;
275
270
rawResponse ?: {
276
271
headers ?: Record < string , string > ;
277
272
} ;
278
- logprobs : LanguageModelV1LogProbs | undefined ;
273
+ logprobs : LogProbs | undefined ;
279
274
} ) {
280
275
this . object = options . object ;
281
276
this . finishReason = options . finishReason ;
0 commit comments