import { z } from 'zod'; import { APIClient, APIResponseSchema } from '@agentuity/api'; import { ThreadSchema, type Thread } from './list.ts'; import { ThreadResponseError } from './util.ts'; export const _ThreadGetRequestSchema = z.object({ id: z.string().describe('the thread id'), }); export const ThreadGetResponseSchema = APIResponseSchema(ThreadSchema); export type ThreadGetRequest = z.infer; export type ThreadGetResponse = z.infer; /** * Get a single thread by id * * @param client * @param request * @returns */ export async function threadGet(client: APIClient, request: ThreadGetRequest): Promise { const resp = await client.request( 'GET', `/thread/${encodeURIComponent(request.id)}`, ThreadGetResponseSchema ); if (resp.success) { return resp.data; } throw new ThreadResponseError({ message: resp.message }); }