99 Thread ,
1010 ThreadState ,
1111 Cron ,
12+ AssistantVersion ,
1213} from "./schema.js" ;
1314import { AsyncCaller , AsyncCallerParams } from "./utils/async_caller.js" ;
1415import {
@@ -244,6 +245,7 @@ export class AssistantsClient extends BaseClient {
244245 metadata ?: Metadata ;
245246 assistantId ?: string ;
246247 ifExists ?: OnConflictBehavior ;
248+ name ?: string ;
247249 } ) : Promise < Assistant > {
248250 return this . fetch < Assistant > ( "/assistants" , {
249251 method : "POST" ,
@@ -253,6 +255,7 @@ export class AssistantsClient extends BaseClient {
253255 metadata : payload . metadata ,
254256 assistant_id : payload . assistantId ,
255257 if_exists : payload . ifExists ,
258+ name : payload . name ,
256259 } ,
257260 } ) ;
258261 }
@@ -269,6 +272,7 @@ export class AssistantsClient extends BaseClient {
269272 graphId ?: string ;
270273 config ?: Config ;
271274 metadata ?: Metadata ;
275+ name ?: string ;
272276 } ,
273277 ) : Promise < Assistant > {
274278 return this . fetch < Assistant > ( `/assistants/${ assistantId } ` , {
@@ -277,6 +281,7 @@ export class AssistantsClient extends BaseClient {
277281 graph_id : payload . graphId ,
278282 config : payload . config ,
279283 metadata : payload . metadata ,
284+ name : payload . name ,
280285 } ,
281286 } ) ;
282287 }
@@ -313,6 +318,47 @@ export class AssistantsClient extends BaseClient {
313318 } ,
314319 } ) ;
315320 }
321+
322+ /**
323+ * List all versions of an assistant.
324+ *
325+ * @param assistantId ID of the assistant.
326+ * @returns List of assistant versions.
327+ */
328+ async getVersions (
329+ assistantId : string ,
330+ payload ?: {
331+ metadata ?: Metadata ;
332+ limit ?: number ;
333+ offset ?: number ;
334+ } ,
335+ ) : Promise < AssistantVersion [ ] > {
336+ return this . fetch < AssistantVersion [ ] > (
337+ `/assistants/${ assistantId } /versions` ,
338+ {
339+ method : "POST" ,
340+ json : {
341+ metadata : payload ?. metadata ?? undefined ,
342+ limit : payload ?. limit ?? 10 ,
343+ offset : payload ?. offset ?? 0 ,
344+ } ,
345+ } ,
346+ ) ;
347+ }
348+
349+ /**
350+ * Change the version of an assistant.
351+ *
352+ * @param assistantId ID of the assistant.
353+ * @param version The version to change to.
354+ * @returns The updated assistant.
355+ */
356+ async setLatest ( assistantId : string , version : number ) : Promise < Assistant > {
357+ return this . fetch < Assistant > ( `/assistants/${ assistantId } /set_latest` , {
358+ method : "POST" ,
359+ json : { version } ,
360+ } ) ;
361+ }
316362}
317363
318364export class ThreadsClient extends BaseClient {
0 commit comments