@@ -69,18 +69,184 @@ export class Prompts extends APIResource {
69
69
}
70
70
}
71
71
72
- export type ModelParameters = ModelParameters . UnionMember0 | ModelParameters . UnionMember1 ;
72
+ export type ModelParameters =
73
+ | ModelParameters . AnthropicModelParameters
74
+ | ModelParameters . OpenAIModelParameters ;
73
75
74
76
export namespace ModelParameters {
75
- export interface UnionMember0 {
77
+ export interface AnthropicModelParameters {
76
78
name : string ;
77
79
78
- parameters : UnionMember0 . Parameters ;
80
+ parameters : AnthropicModelParameters . Parameters ;
81
+
82
+ provider : 'anthropic' ;
83
+ }
84
+
85
+ export namespace AnthropicModelParameters {
86
+ export interface Parameters {
87
+ max_tokens : number ;
88
+
89
+ messages : Array < Parameters . Message > ;
90
+
91
+ model :
92
+ | ( string & { } )
93
+ | 'claude-3-5-sonnet-20240620'
94
+ | 'claude-3-opus-20240229'
95
+ | 'claude-3-sonnet-20240229'
96
+ | 'claude-3-haiku-20240307' ;
97
+
98
+ metadata ?: Parameters . Metadata ;
99
+
100
+ stop_sequences ?: Array < string > ;
101
+
102
+ stream ?: boolean ;
103
+
104
+ system ?: string ;
105
+
106
+ temperature ?: number ;
107
+
108
+ tool_choice ?:
109
+ | Parameters . MessageCreateParamsToolChoiceAuto
110
+ | Parameters . MessageCreateParamsToolChoiceAny
111
+ | Parameters . MessageCreateParamsToolChoiceTool ;
112
+
113
+ tools ?: Array < Parameters . Tool > ;
114
+
115
+ top_k ?: number ;
116
+
117
+ top_p ?: number ;
118
+ }
119
+
120
+ export namespace Parameters {
121
+ export interface Message {
122
+ content :
123
+ | string
124
+ | Array <
125
+ | Message . TextBlockParam
126
+ | Message . ImageBlockParam
127
+ | Message . ToolUseBlockParam
128
+ | Message . ToolResultBlockParam
129
+ > ;
130
+
131
+ role : 'user' | 'assistant' ;
132
+ }
133
+
134
+ export namespace Message {
135
+ export interface TextBlockParam {
136
+ text : string ;
137
+
138
+ type : 'text' ;
139
+ }
140
+
141
+ export interface ImageBlockParam {
142
+ source : ImageBlockParam . Source ;
143
+
144
+ type : 'image' ;
145
+ }
146
+
147
+ export namespace ImageBlockParam {
148
+ export interface Source {
149
+ data : string ;
150
+
151
+ media_type : 'image/jpeg' | 'image/png' | 'image/gif' | 'image/webp' ;
152
+
153
+ type : 'base64' ;
154
+ }
155
+ }
156
+
157
+ export interface ToolUseBlockParam {
158
+ id : string ;
159
+
160
+ input : Record < string , string > ;
161
+
162
+ name : string ;
163
+
164
+ type : 'tool_use' ;
165
+ }
166
+
167
+ export interface ToolResultBlockParam {
168
+ tool_use_id : string ;
169
+
170
+ type : 'tool_result' ;
171
+
172
+ content ?:
173
+ | string
174
+ | Array < ToolResultBlockParam . TextBlockParam | ToolResultBlockParam . ImageBlockParam > ;
175
+
176
+ is_error ?: boolean ;
177
+ }
178
+
179
+ export namespace ToolResultBlockParam {
180
+ export interface TextBlockParam {
181
+ text : string ;
182
+
183
+ type : 'text' ;
184
+ }
185
+
186
+ export interface ImageBlockParam {
187
+ source : ImageBlockParam . Source ;
188
+
189
+ type : 'image' ;
190
+ }
191
+
192
+ export namespace ImageBlockParam {
193
+ export interface Source {
194
+ data : string ;
195
+
196
+ media_type : 'image/jpeg' | 'image/png' | 'image/gif' | 'image/webp' ;
197
+
198
+ type : 'base64' ;
199
+ }
200
+ }
201
+ }
202
+ }
203
+
204
+ export interface Metadata {
205
+ user_id ?: string | null ;
206
+ }
207
+
208
+ export interface MessageCreateParamsToolChoiceAuto {
209
+ type : 'auto' ;
210
+ }
211
+
212
+ export interface MessageCreateParamsToolChoiceAny {
213
+ type : 'any' ;
214
+ }
215
+
216
+ export interface MessageCreateParamsToolChoiceTool {
217
+ name : string ;
218
+
219
+ type : 'tool' ;
220
+ }
221
+
222
+ export interface Tool {
223
+ input_schema : Tool . InputSchema ;
224
+
225
+ name : string ;
226
+
227
+ description ?: string ;
228
+ }
229
+
230
+ export namespace Tool {
231
+ export interface InputSchema {
232
+ type : 'object' ;
233
+
234
+ properties ?: unknown | null ;
235
+ [ k : string ] : unknown ;
236
+ }
237
+ }
238
+ }
239
+ }
240
+
241
+ export interface OpenAIModelParameters {
242
+ name : string ;
243
+
244
+ parameters : OpenAIModelParameters . Parameters ;
79
245
80
246
provider : 'openai' ;
81
247
}
82
248
83
- export namespace UnionMember0 {
249
+ export namespace OpenAIModelParameters {
84
250
export interface Parameters {
85
251
messages : Array <
86
252
| Parameters . OpenAIChatCompletionRequestSystemMessage
@@ -262,160 +428,6 @@ export namespace ModelParameters {
262
428
}
263
429
}
264
430
}
265
-
266
- export interface UnionMember1 {
267
- name : string ;
268
-
269
- parameters : UnionMember1 . Parameters ;
270
-
271
- provider : 'anthropic' ;
272
- }
273
-
274
- export namespace UnionMember1 {
275
- export interface Parameters {
276
- max_tokens : number ;
277
-
278
- messages : Array < Parameters . Message > ;
279
-
280
- model :
281
- | ( string & { } )
282
- | 'claude-3-5-sonnet-20240620'
283
- | 'claude-3-opus-20240229'
284
- | 'claude-3-sonnet-20240229'
285
- | 'claude-3-haiku-20240307' ;
286
-
287
- metadata ?: Parameters . Metadata ;
288
-
289
- stop_sequences ?: Array < string > ;
290
-
291
- stream ?: boolean ;
292
-
293
- system ?: string ;
294
-
295
- temperature ?: number ;
296
-
297
- tool_choice ?: Parameters . Type | Parameters . Type | Parameters . UnionMember2 ;
298
-
299
- tools ?: Array < Parameters . Tool > ;
300
-
301
- top_k ?: number ;
302
-
303
- top_p ?: number ;
304
- }
305
-
306
- export namespace Parameters {
307
- export interface Message {
308
- content :
309
- | string
310
- | Array < Message . UnionMember0 | Message . UnionMember1 | Message . UnionMember2 | Message . UnionMember3 > ;
311
-
312
- role : 'user' | 'assistant' ;
313
- }
314
-
315
- export namespace Message {
316
- export interface UnionMember0 {
317
- text : string ;
318
-
319
- type : 'text' ;
320
- }
321
-
322
- export interface UnionMember1 {
323
- source : UnionMember1 . Source ;
324
-
325
- type : 'image' ;
326
- }
327
-
328
- export namespace UnionMember1 {
329
- export interface Source {
330
- data : string ;
331
-
332
- media_type : 'image/jpeg' | 'image/png' | 'image/gif' | 'image/webp' ;
333
-
334
- type : 'base64' ;
335
- }
336
- }
337
-
338
- export interface UnionMember2 {
339
- id : string ;
340
-
341
- input : Record < string , string > ;
342
-
343
- name : string ;
344
-
345
- type : 'tool_use' ;
346
- }
347
-
348
- export interface UnionMember3 {
349
- tool_use_id : string ;
350
-
351
- type : 'tool_result' ;
352
-
353
- content ?: string | Array < UnionMember3 . UnionMember0 | UnionMember3 . UnionMember1 > ;
354
-
355
- is_error ?: boolean ;
356
- }
357
-
358
- export namespace UnionMember3 {
359
- export interface UnionMember0 {
360
- text : string ;
361
-
362
- type : 'text' ;
363
- }
364
-
365
- export interface UnionMember1 {
366
- source : UnionMember1 . Source ;
367
-
368
- type : 'image' ;
369
- }
370
-
371
- export namespace UnionMember1 {
372
- export interface Source {
373
- data : string ;
374
-
375
- media_type : 'image/jpeg' | 'image/png' | 'image/gif' | 'image/webp' ;
376
-
377
- type : 'base64' ;
378
- }
379
- }
380
- }
381
- }
382
-
383
- export interface Metadata {
384
- user_id ?: string | null ;
385
- }
386
-
387
- export interface Type {
388
- type : 'auto' ;
389
- }
390
-
391
- export interface Type {
392
- type : 'any' ;
393
- }
394
-
395
- export interface UnionMember2 {
396
- name : string ;
397
-
398
- type : 'tool' ;
399
- }
400
-
401
- export interface Tool {
402
- input_schema : Tool . InputSchema ;
403
-
404
- name : string ;
405
-
406
- description ?: string ;
407
- }
408
-
409
- export namespace Tool {
410
- export interface InputSchema {
411
- type : 'object' ;
412
-
413
- properties ?: unknown | null ;
414
- [ k : string ] : unknown ;
415
- }
416
- }
417
- }
418
- }
419
431
}
420
432
421
433
export interface PromptConfiguration {
0 commit comments