@@ -69,18 +69,184 @@ export class Prompts extends APIResource {
6969 }
7070}
7171
72- export type ModelParameters = ModelParameters . UnionMember0 | ModelParameters . UnionMember1 ;
72+ export type ModelParameters =
73+ | ModelParameters . AnthropicModelParameters
74+ | ModelParameters . OpenAIModelParameters ;
7375
7476export namespace ModelParameters {
75- export interface UnionMember0 {
77+ export interface AnthropicModelParameters {
7678 name : string ;
7779
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 ;
79245
80246 provider : 'openai' ;
81247 }
82248
83- export namespace UnionMember0 {
249+ export namespace OpenAIModelParameters {
84250 export interface Parameters {
85251 messages : Array <
86252 | Parameters . OpenAIChatCompletionRequestSystemMessage
@@ -262,160 +428,6 @@ export namespace ModelParameters {
262428 }
263429 }
264430 }
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- }
419431}
420432
421433export interface PromptConfiguration {
0 commit comments