@examplary/sdk 1.1.1 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/context.ts","../src/error.ts","../src/request.ts","../generated/sdk.ts"],"sourcesContent":["import axios, { type AxiosError, type AxiosInstance } from \"axios\";\n\nimport { ExamplaryError } from \"./error\";\nimport type { ExamplaryClientOptions } from \"./options\";\n\nexport interface ClientContext {\n axios: AxiosInstance;\n apiKey: string;\n}\n\nexport const createClientContext = (\n options: ExamplaryClientOptions,\n): ClientContext => {\n const { apiKey, baseUrl, headers, ...rest } = options;\n\n const instance = axios.create({\n baseURL: baseUrl ?? \"https://api.examplary.ai\",\n ...rest,\n headers: {\n Authorization: `Bearer ${apiKey}`,\n ...headers,\n },\n });\n\n instance.interceptors.response.use(\n (response) => response,\n (error: AxiosError) => Promise.reject(ExamplaryError.fromAxiosError(error)),\n );\n\n return { axios: instance, apiKey };\n};\n","import {\n AxiosError,\n type AxiosResponse,\n type InternalAxiosRequestConfig,\n} from \"axios\";\n\nexport class ExamplaryError<T = unknown, D = any> extends AxiosError<T, D> {\n originalMessage?: string;\n\n constructor(\n message?: string,\n code?: string,\n config?: InternalAxiosRequestConfig<D>,\n request?: any,\n response?: AxiosResponse<T, D>,\n ) {\n super(message, code, config, request, response);\n this.name = \"ExamplaryError\";\n }\n\n static fromAxiosError(error: AxiosError): ExamplaryError {\n const e = new ExamplaryError(\n error.message,\n error.code,\n error.config,\n error.request,\n error.response,\n );\n\n const data = error.response?.data as\n | { error?: string | { message?: string } }\n | undefined;\n\n if (typeof data?.error === \"string\") {\n e.originalMessage = error.message;\n e.message = data.error;\n } else if (typeof data?.error?.message === \"string\") {\n e.originalMessage = error.message;\n e.message = data.error.message;\n }\n\n return e;\n }\n}\n","import type { ClientContext } from \"./context\";\nimport { ExamplaryError } from \"./error\";\nimport type { ExamplaryRequestOptions } from \"./options\";\n\nconst API_KEY_REGEX = /^examp_[A-Za-z0-9]+$/;\n\nexport const request = async <T>(\n ctx: ClientContext,\n method: string,\n pathTemplate: string,\n pathKeys: readonly string[],\n queryKeys: readonly string[],\n hasBody: boolean,\n args: Record<string, unknown> | undefined,\n options: ExamplaryRequestOptions | undefined,\n): Promise<T> => {\n if (!API_KEY_REGEX.test(ctx.apiKey)) {\n throw new ExamplaryError(\"Invalid API key\");\n }\n\n const flat = args ?? {};\n\n const url = pathTemplate.replace(/\\{(\\w+)\\}/g, (_, key) => {\n const value = flat[key];\n if (value === undefined || value === null) {\n throw new ExamplaryError(`Missing required path parameter \"${key}\"`);\n }\n return encodeURIComponent(String(value));\n });\n\n const params: Record<string, unknown> = {};\n for (const k of queryKeys) {\n if (flat[k] !== undefined) params[k] = flat[k];\n }\n\n let data: unknown;\n if (hasBody) {\n const consumed = new Set<string>([...pathKeys, ...queryKeys]);\n const body: Record<string, unknown> = {};\n let any = false;\n for (const [k, v] of Object.entries(flat)) {\n if (consumed.has(k)) continue;\n body[k] = v;\n any = true;\n }\n if (any) data = body;\n }\n\n const response = await ctx.axios.request<T>({\n ...options,\n method,\n url,\n params: Object.keys(params).length ? params : undefined,\n data,\n });\n return response.data;\n};\n","// This file is auto-generated. Do not edit by hand.\n\nimport { createClientContext, type ClientContext } from \"../src/context\";\nimport type {\n ExamplaryClientOptions,\n ExamplaryRequestOptions,\n} from \"../src/options\";\nimport { request } from \"../src/request\";\nimport type { operations } from \"./types\";\n\ninterface _PathOverrides {\n \"questionTypes.get\": { id: string };\n \"questionTypes.delete\": { id: string };\n \"questionTypes.getQti3Pci\": { questionTypeId: string };\n \"questionTypes.enable\": { questionTypeId: string };\n \"questionTypes.disable\": { questionTypeId: string };\n \"library.publishers.items.list\": { publisherId: string };\n \"library.publishers.items.create\": { publisherId: string };\n \"library.items.update\": { itemId: string };\n \"library.items.delete\": { itemId: string };\n \"library.publishers.update\": { publisherId: string };\n \"library.publishers.delete\": { publisherId: string };\n \"embedSessions.get\": { id: string };\n \"embedSessions.revoke\": { id: string };\n \"attributes.update\": { id: string };\n \"attributes.delete\": { id: string };\n \"taxonomies.update\": { id: string };\n \"taxonomies.delete\": { id: string };\n \"permissions.list\": { resource: string };\n \"permissions.assign\": { resource: string };\n \"permissions.getActorRole\": { actor: string; resource: string };\n \"permissions.delete\": { resource: string; actor: string };\n \"users.update\": { id: string };\n \"users.delete\": { id: string };\n \"exams.sessions.list\": { examId: string };\n \"exams.sessions.import\": { examId: string };\n \"exams.sessions.scan\": { examId: string };\n \"exams.sessions.scanDocument\": { examId: string };\n \"exams.sessions.get\": { examId: string; sessionId: string };\n \"exams.sessions.delete\": { examId: string; sessionId: string };\n \"exams.sessions.saveFeedback\": { examId: string; sessionId: string };\n \"exams.sessions.saveOverallFeedback\": { examId: string; sessionId: string };\n \"exams.sessions.generateOverallFeedback\": { examId: string; sessionId: string };\n \"exams.sessions.acceptAllSuggestions\": { examId: string; sessionId: string };\n \"exams.sessions.acceptSuggestion\": { examId: string; sessionId: string; questionId: string };\n \"exams.sessions.editAnswer\": { examId: string; sessionId: string; questionId: string };\n \"exams.questions.import\": { examId: string };\n \"exams.questions.generate\": { examId: string };\n \"exams.questions.get\": { examId: string; questionId: string };\n \"exams.questions.regenerate\": { examId: string; questionId: string };\n \"exams.export.qti3Zip\": { examId: string };\n \"exams.export.qti21Zip\": { examId: string };\n \"exams.get\": { id: string };\n \"exams.update\": { id: string };\n \"exams.delete\": { id: string };\n \"exams.duplicate\": { examId: string };\n \"exams.print\": { examId: string };\n \"exams.startGeneration\": { examId: string };\n \"exams.cancelGeneration\": { examId: string };\n \"exams.getContextSuggestions\": { examId: string };\n \"practiceSpaces.get\": { id: string };\n \"practiceSpaces.update\": { id: string };\n \"practiceSpaces.delete\": { id: string };\n \"practiceSpaces.duplicate\": { practiceSpaceId: string };\n \"practiceSpaces.generateTopics\": { practiceSpaceId: string };\n \"practiceSpaces.cancelGenerateTopics\": { practiceSpaceId: string };\n \"practiceSpaces.questionsPreview\": { practiceSpaceId: string };\n \"practiceSpaces.getProgress\": { practiceSpaceId: string };\n \"practiceSpaces.generateTopicFeedback\": { practiceSpaceId: string };\n \"practiceSpaces.students.list\": { practiceSpaceId: string };\n \"practiceSpaces.students.get\": { practiceSpaceId: string; studentId: string };\n \"practiceSpaces.sessions.create\": { practiceSpaceId: string };\n \"practiceSpaces.sessions.getMine\": { practiceSpaceId: string };\n \"practiceSpaces.sessions.get\": { practiceSpaceId: string; sessionId: string };\n \"practiceSpaces.sessions.saveAnswer\": { practiceSpaceId: string; sessionId: string; questionId: string };\n \"sourceMaterials.get\": { id: string };\n \"sourceMaterials.update\": { id: string };\n \"sourceMaterials.delete\": { id: string };\n \"sourceMaterials.slice\": { sourceMaterialId: string };\n \"folders.update\": { id: string };\n \"folders.delete\": { id: string };\n \"groups.update\": { id: string };\n \"groups.delete\": { id: string };\n \"groups.listMembers\": { groupId: string };\n \"groups.addMember\": { groupId: string };\n \"groups.updateMember\": { groupId: string; userId: string };\n \"groups.removeMember\": { groupId: string; userId: string };\n \"questionBank.update\": { id: string };\n \"questionBank.delete\": { id: string };\n \"patchRubrics:id\": { id: string };\n \"deleteRubrics:id\": { id: string };\n \"jobs.get\": { id: string };\n \"jobs.cancel\": { id: string };\n}\n\ntype _ToObject<T> = [Exclude<T, undefined>] extends [never]\n ? {}\n : Exclude<T, undefined> extends object\n ? Exclude<T, undefined>\n : {};\n\ntype _Query<K extends keyof operations> = operations[K] extends {\n parameters: { query?: infer Q };\n}\n ? _ToObject<Q>\n : {};\n\ntype _Body<K extends keyof operations> = operations[K] extends {\n requestBody?: infer R;\n}\n ? Exclude<R, undefined> extends { content: { \"application/json\": infer B } }\n ? _ToObject<B>\n : {}\n : {};\n\ntype _SuccessShape<R> = [R] extends [never]\n ? never\n : R extends { 200: infer T }\n ? T\n : R extends { 201: infer T }\n ? T\n : R extends { 202: infer T }\n ? T\n : R extends { 204: infer T }\n ? T\n : never;\n\nexport type Args<K extends keyof operations> =\n (K extends keyof _PathOverrides ? _PathOverrides[K] : {}) &\n _Query<K> &\n _Body<K>;\n\nexport type Response<K extends keyof operations> =\n _SuccessShape<operations[K][\"responses\"]> extends infer X\n ? [X] extends [never]\n ? any\n : X extends { content: { \"application/json\": infer T } }\n ? T\n : any\n : any;\n\nexport class QuestionTypes {\n\n constructor(private readonly ctx: ClientContext) {\n }\n\n /**\n * List public question types\n * \n * Lists all public question types, which can be enabled in workspaces.\n * \n * API endpoint: `GET /question-types/public`\n */\n listPublic(args?: Args<\"questionTypes.listPublic\">, options?: ExamplaryRequestOptions): Promise<Response<\"questionTypes.listPublic\">>;\n listPublic(arg?: any, options?: ExamplaryRequestOptions): Promise<Response<\"questionTypes.listPublic\">> {\n const args = arg;\n return request(this.ctx, \"GET\", \"/question-types/public\", [], [], false, args, options);\n }\n\n /**\n * Get question type\n * \n * Retrieves a specific question type by its ID.\n * \n * API endpoint: `GET /question-types/{id}`\n */\n get(id: string, options?: ExamplaryRequestOptions): Promise<Response<\"questionTypes.get\">>;\n get(args: Args<\"questionTypes.get\">, options?: ExamplaryRequestOptions): Promise<Response<\"questionTypes.get\">>;\n get(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"questionTypes.get\">> {\n const args = typeof arg === \"string\" ? { id: arg } : arg;\n return request(this.ctx, \"GET\", \"/question-types/{id}\", [\"id\"], [], false, args, options);\n }\n\n /**\n * Delete question type\n * \n * Deletes a specific question type by its ID. Note that only the owner organization of the question type can delete it, and only if it has not been used in an exam.\n * \n * API endpoint: `DELETE /question-types/{id}`\n */\n delete(id: string, options?: ExamplaryRequestOptions): Promise<Response<\"questionTypes.delete\">>;\n delete(args: Args<\"questionTypes.delete\">, options?: ExamplaryRequestOptions): Promise<Response<\"questionTypes.delete\">>;\n delete(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"questionTypes.delete\">> {\n const args = typeof arg === \"string\" ? { id: arg } : arg;\n return request(this.ctx, \"DELETE\", \"/question-types/{id}\", [\"id\"], [], false, args, options);\n }\n\n /**\n * Get question type PCI module for QTI 3 export\n * \n * Get JS module for a question type PCI for QTI 3 export.\n * \n * API endpoint: `GET /question-types/{questionTypeId}/export/qti3-pci`\n */\n getQti3Pci(questionTypeId: string, options?: ExamplaryRequestOptions): Promise<Response<\"questionTypes.getQti3Pci\">>;\n getQti3Pci(args: Args<\"questionTypes.getQti3Pci\">, options?: ExamplaryRequestOptions): Promise<Response<\"questionTypes.getQti3Pci\">>;\n getQti3Pci(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"questionTypes.getQti3Pci\">> {\n const args = typeof arg === \"string\" ? { questionTypeId: arg } : arg;\n return request(this.ctx, \"GET\", \"/question-types/{questionTypeId}/export/qti3-pci\", [\"questionTypeId\"], [], false, args, options);\n }\n\n /**\n * List question types\n * \n * Lists all question types, either those available by default or those created within the user's organization.\n * \n * API endpoint: `GET /question-types`\n */\n list(args?: Args<\"questionTypes.list\">, options?: ExamplaryRequestOptions): Promise<Response<\"questionTypes.list\">>;\n list(arg?: any, options?: ExamplaryRequestOptions): Promise<Response<\"questionTypes.list\">> {\n const args = arg;\n return request(this.ctx, \"GET\", \"/question-types\", [], [], false, args, options);\n }\n\n /**\n * Upsert question type\n * \n * Creates a new question type or updates an existing one. If the question type already exists, it will be updated; otherwise, a new one will be created.\n * \n * API endpoint: `POST /question-types`\n */\n upsert(args?: Args<\"questionTypes.upsert\">, options?: ExamplaryRequestOptions): Promise<Response<\"questionTypes.upsert\">>;\n upsert(arg?: any, options?: ExamplaryRequestOptions): Promise<Response<\"questionTypes.upsert\">> {\n const args = arg;\n return request(this.ctx, \"POST\", \"/question-types\", [], [], true, args, options);\n }\n\n /**\n * Enable question type\n * \n * Enable a question type for the current workspace.\n * \n * API endpoint: `POST /question-types/{questionTypeId}/enable`\n */\n enable(questionTypeId: string, options?: ExamplaryRequestOptions): Promise<Response<\"questionTypes.enable\">>;\n enable(args: Args<\"questionTypes.enable\">, options?: ExamplaryRequestOptions): Promise<Response<\"questionTypes.enable\">>;\n enable(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"questionTypes.enable\">> {\n const args = typeof arg === \"string\" ? { questionTypeId: arg } : arg;\n return request(this.ctx, \"POST\", \"/question-types/{questionTypeId}/enable\", [\"questionTypeId\"], [], false, args, options);\n }\n\n /**\n * Disable question type\n * \n * Disable a question type for the current workspace.\n * \n * API endpoint: `POST /question-types/{questionTypeId}/disable`\n */\n disable(questionTypeId: string, options?: ExamplaryRequestOptions): Promise<Response<\"questionTypes.disable\">>;\n disable(args: Args<\"questionTypes.disable\">, options?: ExamplaryRequestOptions): Promise<Response<\"questionTypes.disable\">>;\n disable(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"questionTypes.disable\">> {\n const args = typeof arg === \"string\" ? { questionTypeId: arg } : arg;\n return request(this.ctx, \"POST\", \"/question-types/{questionTypeId}/disable\", [\"questionTypeId\"], [], false, args, options);\n }\n}\n\nexport class LibraryPublishersItems {\n\n constructor(private readonly ctx: ClientContext) {\n }\n\n /**\n * List items by publisher\n * \n * Lists all library items for the specified publisher profile.\n * \n * API endpoint: `GET /library/publishers/{publisherId}/items`\n */\n list(publisherId: string, options?: ExamplaryRequestOptions): Promise<Response<\"library.publishers.items.list\">>;\n list(args: Args<\"library.publishers.items.list\">, options?: ExamplaryRequestOptions): Promise<Response<\"library.publishers.items.list\">>;\n list(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"library.publishers.items.list\">> {\n const args = typeof arg === \"string\" ? { publisherId: arg } : arg;\n return request(this.ctx, \"GET\", \"/library/publishers/{publisherId}/items\", [\"publisherId\"], [], false, args, options);\n }\n\n /**\n * Create library item\n * \n * Adds an item to the library. Only the publisher owner can add items to their publisher profile.\n * \n * API endpoint: `POST /library/publishers/{publisherId}/items`\n */\n create(args: Args<\"library.publishers.items.create\">, options?: ExamplaryRequestOptions): Promise<Response<\"library.publishers.items.create\">>;\n create(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"library.publishers.items.create\">> {\n const args = arg;\n return request(this.ctx, \"POST\", \"/library/publishers/{publisherId}/items\", [\"publisherId\"], [], true, args, options);\n }\n}\n\nexport class LibraryPublishers {\n readonly items: LibraryPublishersItems;\n\n constructor(private readonly ctx: ClientContext) {\n this.items = new LibraryPublishersItems(this.ctx);\n }\n\n /**\n * List featured publishers\n * \n * Lists all library publishers that are marked as featured.\n * \n * API endpoint: `GET /library/publishers/featured`\n */\n listFeatured(args?: Args<\"library.publishers.listFeatured\">, options?: ExamplaryRequestOptions): Promise<Response<\"library.publishers.listFeatured\">>;\n listFeatured(arg?: any, options?: ExamplaryRequestOptions): Promise<Response<\"library.publishers.listFeatured\">> {\n const args = arg;\n return request(this.ctx, \"GET\", \"/library/publishers/featured\", [], [], false, args, options);\n }\n\n /**\n * List all publishers\n * \n * Lists all library publisher profiles.\n * \n * API endpoint: `GET /library/publishers`\n */\n listAll(args?: Args<\"library.publishers.listAll\">, options?: ExamplaryRequestOptions): Promise<Response<\"library.publishers.listAll\">>;\n listAll(arg?: any, options?: ExamplaryRequestOptions): Promise<Response<\"library.publishers.listAll\">> {\n const args = arg;\n return request(this.ctx, \"GET\", \"/library/publishers\", [], [], false, args, options);\n }\n\n /**\n * Create publisher\n * \n * Creates a new library publisher profile.\n * \n * API endpoint: `POST /library/publishers`\n */\n create(args?: Args<\"library.publishers.create\">, options?: ExamplaryRequestOptions): Promise<Response<\"library.publishers.create\">>;\n create(arg?: any, options?: ExamplaryRequestOptions): Promise<Response<\"library.publishers.create\">> {\n const args = arg;\n return request(this.ctx, \"POST\", \"/library/publishers\", [], [], true, args, options);\n }\n\n /**\n * List my publishers\n * \n * Lists all library publisher profiles created by the authenticated user.\n * \n * API endpoint: `GET /library/publishers/mine`\n */\n listMine(args?: Args<\"library.publishers.listMine\">, options?: ExamplaryRequestOptions): Promise<Response<\"library.publishers.listMine\">>;\n listMine(arg?: any, options?: ExamplaryRequestOptions): Promise<Response<\"library.publishers.listMine\">> {\n const args = arg;\n return request(this.ctx, \"GET\", \"/library/publishers/mine\", [], [], false, args, options);\n }\n\n /**\n * Update publisher\n * \n * Updates a library publisher profile. Only the owner can update their publisher profile.\n * \n * API endpoint: `PATCH /library/publishers/{publisherId}`\n */\n update(args: Args<\"library.publishers.update\">, options?: ExamplaryRequestOptions): Promise<Response<\"library.publishers.update\">>;\n update(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"library.publishers.update\">> {\n const args = arg;\n return request(this.ctx, \"PATCH\", \"/library/publishers/{publisherId}\", [\"publisherId\"], [], true, args, options);\n }\n\n /**\n * Delete publisher\n * \n * Deletes a library publisher profile. Only the owner can delete their publisher profile.\n * \n * API endpoint: `DELETE /library/publishers/{publisherId}`\n */\n delete(publisherId: string, options?: ExamplaryRequestOptions): Promise<Response<\"library.publishers.delete\">>;\n delete(args: Args<\"library.publishers.delete\">, options?: ExamplaryRequestOptions): Promise<Response<\"library.publishers.delete\">>;\n delete(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"library.publishers.delete\">> {\n const args = typeof arg === \"string\" ? { publisherId: arg } : arg;\n return request(this.ctx, \"DELETE\", \"/library/publishers/{publisherId}\", [\"publisherId\"], [], false, args, options);\n }\n}\n\nexport class LibraryItems {\n\n constructor(private readonly ctx: ClientContext) {\n }\n\n /**\n * List featured library items\n * \n * Lists all library items that are marked as featured.\n * \n * API endpoint: `GET /library/items/featured`\n */\n listFeatured(args?: Args<\"library.items.listFeatured\">, options?: ExamplaryRequestOptions): Promise<Response<\"library.items.listFeatured\">>;\n listFeatured(arg?: any, options?: ExamplaryRequestOptions): Promise<Response<\"library.items.listFeatured\">> {\n const args = arg;\n return request(this.ctx, \"GET\", \"/library/items/featured\", [], [], false, args, options);\n }\n\n /**\n * Update library item\n * \n * Updates a library item. Only the publisher owner can update items in their publisher profile.\n * \n * API endpoint: `PATCH /library/items/{itemId}`\n */\n update(args: Args<\"library.items.update\">, options?: ExamplaryRequestOptions): Promise<Response<\"library.items.update\">>;\n update(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"library.items.update\">> {\n const args = arg;\n return request(this.ctx, \"PATCH\", \"/library/items/{itemId}\", [\"itemId\"], [], true, args, options);\n }\n\n /**\n * Delete library item\n * \n * Deletes a library item. Only the publisher owner can delete items from their publisher profile.\n * \n * API endpoint: `DELETE /library/items/{itemId}`\n */\n delete(itemId: string, options?: ExamplaryRequestOptions): Promise<Response<\"library.items.delete\">>;\n delete(args: Args<\"library.items.delete\">, options?: ExamplaryRequestOptions): Promise<Response<\"library.items.delete\">>;\n delete(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"library.items.delete\">> {\n const args = typeof arg === \"string\" ? { itemId: arg } : arg;\n return request(this.ctx, \"DELETE\", \"/library/items/{itemId}\", [\"itemId\"], [], false, args, options);\n }\n}\n\nexport class Library {\n readonly publishers: LibraryPublishers;\n readonly items: LibraryItems;\n\n constructor(private readonly ctx: ClientContext) {\n this.publishers = new LibraryPublishers(this.ctx);\n this.items = new LibraryItems(this.ctx);\n }\n}\n\nexport class Oauth {\n\n constructor(private readonly ctx: ClientContext) {\n }\n\n /**\n * OAuth authorization endpoint\n * \n * Initiates OAuth authorization flow. Redirects to the frontend authorization UI where users can approve or deny access.\n * \n * API endpoint: `GET /oauth/authorize`\n */\n authorize(args: Args<\"oauth.authorize\">, options?: ExamplaryRequestOptions): Promise<Response<\"oauth.authorize\">>;\n authorize(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"oauth.authorize\">> {\n const args = arg;\n return request(this.ctx, \"GET\", \"/oauth/authorize\", [], [\"response_type\",\"client_id\",\"redirect_uri\",\"scope\",\"state\",\"code_challenge\",\"code_challenge_method\"], false, args, options);\n }\n\n /**\n * OAuth token endpoint\n * \n * Exchange authorization code for access token, or refresh an existing token.\n * \n * API endpoint: `POST /oauth/token`\n */\n token(args?: Args<\"oauth.token\">, options?: ExamplaryRequestOptions): Promise<Response<\"oauth.token\">>;\n token(arg?: any, options?: ExamplaryRequestOptions): Promise<Response<\"oauth.token\">> {\n const args = arg;\n return request(this.ctx, \"POST\", \"/oauth/token\", [], [], false, args, options);\n }\n}\n\nexport class EmbedSessions {\n\n constructor(private readonly ctx: ClientContext) {\n }\n\n /**\n * Create embed session\n * \n * Create a new embed session. This allows you to embed the exam generation flow into your own application.\n * \n * API endpoint: `POST /embed-sessions`\n */\n create(args?: Args<\"embedSessions.create\">, options?: ExamplaryRequestOptions): Promise<Response<\"embedSessions.create\">>;\n create(arg?: any, options?: ExamplaryRequestOptions): Promise<Response<\"embedSessions.create\">> {\n const args = arg;\n return request(this.ctx, \"POST\", \"/embed-sessions\", [], [], true, args, options);\n }\n\n /**\n * Get embed session\n * \n * Retrieve an embed session by its ID.\n * \n * API endpoint: `GET /embed-sessions/{id}`\n */\n get(id: string, options?: ExamplaryRequestOptions): Promise<Response<\"embedSessions.get\">>;\n get(args: Args<\"embedSessions.get\">, options?: ExamplaryRequestOptions): Promise<Response<\"embedSessions.get\">>;\n get(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"embedSessions.get\">> {\n const args = typeof arg === \"string\" ? { id: arg } : arg;\n return request(this.ctx, \"GET\", \"/embed-sessions/{id}\", [\"id\"], [], false, args, options);\n }\n\n /**\n * Revoke embed session\n * \n * Revoke access to an embed session by its ID.\n * \n * API endpoint: `DELETE /embed-sessions/{id}`\n */\n revoke(id: string, options?: ExamplaryRequestOptions): Promise<Response<\"embedSessions.revoke\">>;\n revoke(args: Args<\"embedSessions.revoke\">, options?: ExamplaryRequestOptions): Promise<Response<\"embedSessions.revoke\">>;\n revoke(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"embedSessions.revoke\">> {\n const args = typeof arg === \"string\" ? { id: arg } : arg;\n return request(this.ctx, \"DELETE\", \"/embed-sessions/{id}\", [\"id\"], [], false, args, options);\n }\n}\n\nexport class Me {\n\n constructor(private readonly ctx: ClientContext) {\n }\n\n /**\n * Get me\n * \n * Get the current user's account details.\n * \n * API endpoint: `GET /me`\n */\n get(args?: Args<\"me.get\">, options?: ExamplaryRequestOptions): Promise<Response<\"me.get\">>;\n get(arg?: any, options?: ExamplaryRequestOptions): Promise<Response<\"me.get\">> {\n const args = arg;\n return request(this.ctx, \"GET\", \"/me\", [], [], false, args, options);\n }\n\n /**\n * Update me\n * \n * Update the current user's account details.\n * \n * API endpoint: `PATCH /me`\n */\n update(args?: Args<\"me.update\">, options?: ExamplaryRequestOptions): Promise<Response<\"me.update\">>;\n update(arg?: any, options?: ExamplaryRequestOptions): Promise<Response<\"me.update\">> {\n const args = arg;\n return request(this.ctx, \"PATCH\", \"/me\", [], [], true, args, options);\n }\n}\n\nexport class Media {\n\n constructor(private readonly ctx: ClientContext) {\n }\n\n /**\n * Get file upload URL\n * \n * Returns a signed URL for uploading a file, and a public URL for accessing it afterwards.\n * \n * API endpoint: `GET /media/upload`\n */\n upload(args: Args<\"media.upload\">, options?: ExamplaryRequestOptions): Promise<Response<\"media.upload\">>;\n upload(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"media.upload\">> {\n const args = arg;\n return request(this.ctx, \"GET\", \"/media/upload\", [], [\"filename\",\"type\",\"contentType\"], false, args, options);\n }\n}\n\nexport class OrgCustomDomain {\n\n constructor(private readonly ctx: ClientContext) {\n }\n\n /**\n * Get custom domain configuration\n * \n * API endpoint: `GET /org/custom-domain`\n */\n get(args?: Args<\"org.customDomain.get\">, options?: ExamplaryRequestOptions): Promise<Response<\"org.customDomain.get\">>;\n get(arg?: any, options?: ExamplaryRequestOptions): Promise<Response<\"org.customDomain.get\">> {\n const args = arg;\n return request(this.ctx, \"GET\", \"/org/custom-domain\", [], [], false, args, options);\n }\n\n /**\n * Update custom domain configuration\n * \n * API endpoint: `POST /org/custom-domain`\n */\n update(args?: Args<\"org.customDomain.update\">, options?: ExamplaryRequestOptions): Promise<Response<\"org.customDomain.update\">>;\n update(arg?: any, options?: ExamplaryRequestOptions): Promise<Response<\"org.customDomain.update\">> {\n const args = arg;\n return request(this.ctx, \"POST\", \"/org/custom-domain\", [], [], true, args, options);\n }\n}\n\nexport class Org {\n readonly customDomain: OrgCustomDomain;\n\n constructor(private readonly ctx: ClientContext) {\n this.customDomain = new OrgCustomDomain(this.ctx);\n }\n\n /**\n * Get organization\n * \n * API endpoint: `GET /org`\n */\n get(args?: Args<\"org.get\">, options?: ExamplaryRequestOptions): Promise<Response<\"org.get\">>;\n get(arg?: any, options?: ExamplaryRequestOptions): Promise<Response<\"org.get\">> {\n const args = arg;\n return request(this.ctx, \"GET\", \"/org\", [], [], false, args, options);\n }\n\n /**\n * Update organization\n * \n * API endpoint: `PATCH /org`\n */\n update(args?: Args<\"org.update\">, options?: ExamplaryRequestOptions): Promise<Response<\"org.update\">>;\n update(arg?: any, options?: ExamplaryRequestOptions): Promise<Response<\"org.update\">> {\n const args = arg;\n return request(this.ctx, \"PATCH\", \"/org\", [], [], true, args, options);\n }\n\n /**\n * Delete organization\n * \n * API endpoint: `DELETE /org`\n */\n delete(args?: Args<\"org.delete\">, options?: ExamplaryRequestOptions): Promise<Response<\"org.delete\">>;\n delete(arg?: any, options?: ExamplaryRequestOptions): Promise<Response<\"org.delete\">> {\n const args = arg;\n return request(this.ctx, \"DELETE\", \"/org\", [], [], false, args, options);\n }\n}\n\nexport class Orgs {\n\n constructor(private readonly ctx: ClientContext) {\n }\n\n /**\n * List all organizations\n * \n * API endpoint: `GET /orgs`\n */\n list(args?: Args<\"orgs.list\">, options?: ExamplaryRequestOptions): Promise<Response<\"orgs.list\">>;\n list(arg?: any, options?: ExamplaryRequestOptions): Promise<Response<\"orgs.list\">> {\n const args = arg;\n return request(this.ctx, \"GET\", \"/orgs\", [], [], false, args, options);\n }\n\n /**\n * Create a new organization\n * \n * Create a new workspace to collaborate with others on exams.\n * \n * API endpoint: `POST /orgs`\n */\n create(args?: Args<\"orgs.create\">, options?: ExamplaryRequestOptions): Promise<Response<\"orgs.create\">>;\n create(arg?: any, options?: ExamplaryRequestOptions): Promise<Response<\"orgs.create\">> {\n const args = arg;\n return request(this.ctx, \"POST\", \"/orgs\", [], [], true, args, options);\n }\n}\n\nexport class ApiKeys {\n\n constructor(private readonly ctx: ClientContext) {\n }\n\n /**\n * Get API key\n * \n * Get the API key for the current org/user combination. Creates one if none exists.\n * \n * API endpoint: `GET /api-keys`\n */\n get(args?: Args<\"apiKeys.get\">, options?: ExamplaryRequestOptions): Promise<Response<\"apiKeys.get\">>;\n get(arg?: any, options?: ExamplaryRequestOptions): Promise<Response<\"apiKeys.get\">> {\n const args = arg;\n return request(this.ctx, \"GET\", \"/api-keys\", [], [], false, args, options);\n }\n\n /**\n * Reset API key\n * \n * Invalidate old API keys for this org/user and create a new one.\n * \n * API endpoint: `POST /api-keys/reset`\n */\n reset(args?: Args<\"apiKeys.reset\">, options?: ExamplaryRequestOptions): Promise<Response<\"apiKeys.reset\">>;\n reset(arg?: any, options?: ExamplaryRequestOptions): Promise<Response<\"apiKeys.reset\">> {\n const args = arg;\n return request(this.ctx, \"POST\", \"/api-keys/reset\", [], [], false, args, options);\n }\n}\n\nexport class Attributes {\n\n constructor(private readonly ctx: ClientContext) {\n }\n\n /**\n * List attributes\n * \n * Get all custom attributes configured for the current workspace.\n * \n * API endpoint: `GET /attributes`\n */\n list(args?: Args<\"attributes.list\">, options?: ExamplaryRequestOptions): Promise<Response<\"attributes.list\">>;\n list(arg?: any, options?: ExamplaryRequestOptions): Promise<Response<\"attributes.list\">> {\n const args = arg;\n return request(this.ctx, \"GET\", \"/attributes\", [], [], false, args, options);\n }\n\n /**\n * Create attribute\n * \n * Create a new custom attribute in the current workspace.\n * \n * API endpoint: `POST /attributes`\n */\n create(args?: Args<\"attributes.create\">, options?: ExamplaryRequestOptions): Promise<Response<\"attributes.create\">>;\n create(arg?: any, options?: ExamplaryRequestOptions): Promise<Response<\"attributes.create\">> {\n const args = arg;\n return request(this.ctx, \"POST\", \"/attributes\", [], [], true, args, options);\n }\n\n /**\n * Reorder attributes\n * \n * Update the position of multiple attributes at once.\n * \n * API endpoint: `POST /attributes/reorder`\n */\n reorder(args?: Args<\"attributes.reorder\">, options?: ExamplaryRequestOptions): Promise<Response<\"attributes.reorder\">>;\n reorder(arg?: any, options?: ExamplaryRequestOptions): Promise<Response<\"attributes.reorder\">> {\n const args = arg;\n return request(this.ctx, \"POST\", \"/attributes/reorder\", [], [], true, args, options);\n }\n\n /**\n * Update attribute\n * \n * Update an existing attribute in the current workspace.\n * \n * API endpoint: `POST /attributes/{id}`\n */\n update(args: Args<\"attributes.update\">, options?: ExamplaryRequestOptions): Promise<Response<\"attributes.update\">>;\n update(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"attributes.update\">> {\n const args = arg;\n return request(this.ctx, \"POST\", \"/attributes/{id}\", [\"id\"], [], true, args, options);\n }\n\n /**\n * Delete attribute\n * \n * Delete a custom attribute from the current workspace. Default attributes cannot be deleted.\n * \n * API endpoint: `DELETE /attributes/{id}`\n */\n delete(id: string, options?: ExamplaryRequestOptions): Promise<Response<\"attributes.delete\">>;\n delete(args: Args<\"attributes.delete\">, options?: ExamplaryRequestOptions): Promise<Response<\"attributes.delete\">>;\n delete(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"attributes.delete\">> {\n const args = typeof arg === \"string\" ? { id: arg } : arg;\n return request(this.ctx, \"DELETE\", \"/attributes/{id}\", [\"id\"], [], false, args, options);\n }\n}\n\nexport class Taxonomies {\n\n constructor(private readonly ctx: ClientContext) {\n }\n\n /**\n * Get taxonomies\n * \n * Get a list available taxonomies, including defaults and taxonomies created in the current workspace.\n * \n * API endpoint: `GET /taxonomies`\n */\n list(args?: Args<\"taxonomies.list\">, options?: ExamplaryRequestOptions): Promise<Response<\"taxonomies.list\">>;\n list(arg?: any, options?: ExamplaryRequestOptions): Promise<Response<\"taxonomies.list\">> {\n const args = arg;\n return request(this.ctx, \"GET\", \"/taxonomies\", [], [], false, args, options);\n }\n\n /**\n * Create taxonomy\n * \n * Save a new taxonomy in the current workspace.\n * \n * API endpoint: `POST /taxonomies`\n */\n create(args?: Args<\"taxonomies.create\">, options?: ExamplaryRequestOptions): Promise<Response<\"taxonomies.create\">>;\n create(arg?: any, options?: ExamplaryRequestOptions): Promise<Response<\"taxonomies.create\">> {\n const args = arg;\n return request(this.ctx, \"POST\", \"/taxonomies\", [], [], true, args, options);\n }\n\n /**\n * Update taxonomy\n * \n * Update an existing taxonomy in the current workspace.\n * \n * API endpoint: `POST /taxonomies/{id}`\n */\n update(args: Args<\"taxonomies.update\">, options?: ExamplaryRequestOptions): Promise<Response<\"taxonomies.update\">>;\n update(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"taxonomies.update\">> {\n const args = arg;\n return request(this.ctx, \"POST\", \"/taxonomies/{id}\", [\"id\"], [], true, args, options);\n }\n\n /**\n * Delete taxonomy\n * \n * Delete a taxonomy from the current workspace. This fails if there are any exams associated with the taxonomy.\n * \n * API endpoint: `DELETE /taxonomies/{id}`\n */\n delete(id: string, options?: ExamplaryRequestOptions): Promise<Response<\"taxonomies.delete\">>;\n delete(args: Args<\"taxonomies.delete\">, options?: ExamplaryRequestOptions): Promise<Response<\"taxonomies.delete\">>;\n delete(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"taxonomies.delete\">> {\n const args = typeof arg === \"string\" ? { id: arg } : arg;\n return request(this.ctx, \"DELETE\", \"/taxonomies/{id}\", [\"id\"], [], false, args, options);\n }\n}\n\nexport class Permissions {\n\n constructor(private readonly ctx: ClientContext) {\n }\n\n /**\n * Autocomplete users and groups\n * \n * Search for users and groups to share with. Returns matches by name or email. Respects restricted group visibility.\n * \n * API endpoint: `GET /permissions/autocomplete`\n */\n autocomplete(args: Args<\"permissions.autocomplete\">, options?: ExamplaryRequestOptions): Promise<Response<\"permissions.autocomplete\">>;\n autocomplete(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"permissions.autocomplete\">> {\n const args = arg;\n return request(this.ctx, \"GET\", \"/permissions/autocomplete\", [], [\"q\",\"type\"], false, args, options);\n }\n\n /**\n * Get sharing permissions\n * \n * Get a list of users, groups and orgs that have access to a specific resource.\n * \n * API endpoint: `GET /permissions/{resource}`\n */\n list(resource: string, options?: ExamplaryRequestOptions): Promise<Response<\"permissions.list\">>;\n list(args: Args<\"permissions.list\">, options?: ExamplaryRequestOptions): Promise<Response<\"permissions.list\">>;\n list(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"permissions.list\">> {\n const args = typeof arg === \"string\" ? { resource: arg } : arg;\n return request(this.ctx, \"GET\", \"/permissions/{resource}\", [\"resource\"], [], false, args, options);\n }\n\n /**\n * Create permission\n * \n * Create a new permission for a specific resource, or update the role of an existing actor.\n * \n * API endpoint: `POST /permissions/{resource}`\n */\n assign(args: Args<\"permissions.assign\">, options?: ExamplaryRequestOptions): Promise<Response<\"permissions.assign\">>;\n assign(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"permissions.assign\">> {\n const args = arg;\n return request(this.ctx, \"POST\", \"/permissions/{resource}\", [\"resource\"], [], true, args, options);\n }\n\n /**\n * Get actor role\n * \n * Get the role of a specific actor for a specific resource.\n * \n * API endpoint: `GET /permissions/{resource}/{actor}`\n */\n getActorRole(args: Args<\"permissions.getActorRole\">, options?: ExamplaryRequestOptions): Promise<Response<\"permissions.getActorRole\">>;\n getActorRole(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"permissions.getActorRole\">> {\n const args = arg;\n return request(this.ctx, \"GET\", \"/permissions/{resource}/{actor}\", [\"actor\",\"resource\"], [], false, args, options);\n }\n\n /**\n * Remove permission\n * \n * Remove a permission for a specific actor on a specific resource.\n * \n * API endpoint: `DELETE /permissions/{resource}/{actor}`\n */\n delete(args: Args<\"permissions.delete\">, options?: ExamplaryRequestOptions): Promise<Response<\"permissions.delete\">>;\n delete(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"permissions.delete\">> {\n const args = arg;\n return request(this.ctx, \"DELETE\", \"/permissions/{resource}/{actor}\", [\"resource\",\"actor\"], [], false, args, options);\n }\n}\n\nexport class StudentLevels {\n\n constructor(private readonly ctx: ClientContext) {\n }\n\n /**\n * List available student levels\n * \n * Get a list of available default student levels.\n * \n * API endpoint: `GET /student-levels`\n */\n list(args?: Args<\"studentLevels.list\">, options?: ExamplaryRequestOptions): Promise<Response<\"studentLevels.list\">>;\n list(arg?: any, options?: ExamplaryRequestOptions): Promise<Response<\"studentLevels.list\">> {\n const args = arg;\n return request(this.ctx, \"GET\", \"/student-levels\", [], [], false, args, options);\n }\n}\n\nexport class Users {\n\n constructor(private readonly ctx: ClientContext) {\n }\n\n /**\n * List users\n * \n * Get a list of all users in the workspace.\n * \n * API endpoint: `GET /users`\n */\n list(args?: Args<\"users.list\">, options?: ExamplaryRequestOptions): Promise<Response<\"users.list\">>;\n list(arg?: any, options?: ExamplaryRequestOptions): Promise<Response<\"users.list\">> {\n const args = arg;\n return request(this.ctx, \"GET\", \"/users\", [], [], false, args, options);\n }\n\n /**\n * Create user\n * \n * Create a new user in the workspace.\n * \n * API endpoint: `POST /users`\n */\n create(args?: Args<\"users.create\">, options?: ExamplaryRequestOptions): Promise<Response<\"users.create\">>;\n create(arg?: any, options?: ExamplaryRequestOptions): Promise<Response<\"users.create\">> {\n const args = arg;\n return request(this.ctx, \"POST\", \"/users\", [], [], true, args, options);\n }\n\n /**\n * Update user role\n * \n * Update a user's role within the workspace.\n * \n * API endpoint: `PATCH /users/{id}`\n */\n update(id: string, options?: ExamplaryRequestOptions): Promise<Response<\"users.update\">>;\n update(args: Args<\"users.update\">, options?: ExamplaryRequestOptions): Promise<Response<\"users.update\">>;\n update(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"users.update\">> {\n const args = typeof arg === \"string\" ? { id: arg } : arg;\n return request(this.ctx, \"PATCH\", \"/users/{id}\", [\"id\"], [], false, args, options);\n }\n\n /**\n * Delete user\n * \n * Delete a user from the workspace.\n * \n * API endpoint: `DELETE /users/{id}`\n */\n delete(id: string, options?: ExamplaryRequestOptions): Promise<Response<\"users.delete\">>;\n delete(args: Args<\"users.delete\">, options?: ExamplaryRequestOptions): Promise<Response<\"users.delete\">>;\n delete(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"users.delete\">> {\n const args = typeof arg === \"string\" ? { id: arg } : arg;\n return request(this.ctx, \"DELETE\", \"/users/{id}\", [\"id\"], [], false, args, options);\n }\n}\n\nexport class ExamsSessions {\n\n constructor(private readonly ctx: ClientContext) {\n }\n\n /**\n * List exam sessions\n * \n * Get a list of all student sessions for an exam, representing a set of answers from a student.\n * \n * API endpoint: `GET /exams/{examId}/sessions`\n */\n list(examId: string, options?: ExamplaryRequestOptions): Promise<Response<\"exams.sessions.list\">>;\n list(args: Args<\"exams.sessions.list\">, options?: ExamplaryRequestOptions): Promise<Response<\"exams.sessions.list\">>;\n list(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"exams.sessions.list\">> {\n const args = typeof arg === \"string\" ? { examId: arg } : arg;\n return request(this.ctx, \"GET\", \"/exams/{examId}/sessions\", [\"examId\"], [], false, args, options);\n }\n\n /**\n * Create session\n * \n * Manually create a session, possibly from uploaded data.\n * \n * API endpoint: `POST /exams/{examId}/sessions`\n */\n import(args: Args<\"exams.sessions.import\">, options?: ExamplaryRequestOptions): Promise<Response<\"exams.sessions.import\">>;\n import(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"exams.sessions.import\">> {\n const args = arg;\n return request(this.ctx, \"POST\", \"/exams/{examId}/sessions\", [\"examId\"], [], true, args, options);\n }\n\n /**\n * Get answers from scan\n * \n * Scan student answers from a document.\n * \n * API endpoint: `POST /exams/{examId}/sessions/scan`\n */\n scan(examId: string, options?: ExamplaryRequestOptions): Promise<Response<\"exams.sessions.scan\">>;\n scan(args: Args<\"exams.sessions.scan\">, options?: ExamplaryRequestOptions): Promise<Response<\"exams.sessions.scan\">>;\n scan(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"exams.sessions.scan\">> {\n const args = typeof arg === \"string\" ? { examId: arg } : arg;\n return request(this.ctx, \"POST\", \"/exams/{examId}/sessions/scan\", [\"examId\"], [], false, args, options);\n }\n\n /**\n * Scan document for student answers\n * \n * Start a background task to extract student answers from an uploaded PDF document.\n * \n * API endpoint: `POST /exams/{examId}/sessions/scan-document`\n */\n scanDocument(args: Args<\"exams.sessions.scanDocument\">, options?: ExamplaryRequestOptions): Promise<Response<\"exams.sessions.scanDocument\">>;\n scanDocument(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"exams.sessions.scanDocument\">> {\n const args = arg;\n return request(this.ctx, \"POST\", \"/exams/{examId}/sessions/scan-document\", [\"examId\"], [], true, args, options);\n }\n\n /**\n * Get exam session\n * \n * Get a single exam session by its ID, representing a set of answers from a student.\n * \n * API endpoint: `GET /exams/{examId}/sessions/{sessionId}`\n */\n get(args: Args<\"exams.sessions.get\">, options?: ExamplaryRequestOptions): Promise<Response<\"exams.sessions.get\">>;\n get(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"exams.sessions.get\">> {\n const args = arg;\n return request(this.ctx, \"GET\", \"/exams/{examId}/sessions/{sessionId}\", [\"examId\",\"sessionId\"], [], false, args, options);\n }\n\n /**\n * Delete exam session\n * \n * Remove an exam session.\n * \n * API endpoint: `DELETE /exams/{examId}/sessions/{sessionId}`\n */\n delete(args: Args<\"exams.sessions.delete\">, options?: ExamplaryRequestOptions): Promise<Response<\"exams.sessions.delete\">>;\n delete(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"exams.sessions.delete\">> {\n const args = arg;\n return request(this.ctx, \"DELETE\", \"/exams/{examId}/sessions/{sessionId}\", [\"examId\",\"sessionId\"], [], false, args, options);\n }\n\n /**\n * Provide feedback\n * \n * Set teacher feedback and/or a grade for a specific question in an exam session.\n * \n * API endpoint: `POST /exams/{examId}/sessions/{sessionId}/feedback`\n */\n saveFeedback(args: Args<\"exams.sessions.saveFeedback\">, options?: ExamplaryRequestOptions): Promise<Response<\"exams.sessions.saveFeedback\">>;\n saveFeedback(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"exams.sessions.saveFeedback\">> {\n const args = arg;\n return request(this.ctx, \"POST\", \"/exams/{examId}/sessions/{sessionId}/feedback\", [\"examId\",\"sessionId\"], [], true, args, options);\n }\n\n /**\n * Provide overall feedback\n * \n * Set teacher feedback for the test as a whole in an exam session.\n * \n * API endpoint: `POST /exams/{examId}/sessions/{sessionId}/overall-feedback`\n */\n saveOverallFeedback(args: Args<\"exams.sessions.saveOverallFeedback\">, options?: ExamplaryRequestOptions): Promise<Response<\"exams.sessions.saveOverallFeedback\">>;\n saveOverallFeedback(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"exams.sessions.saveOverallFeedback\">> {\n const args = arg;\n return request(this.ctx, \"POST\", \"/exams/{examId}/sessions/{sessionId}/overall-feedback\", [\"examId\",\"sessionId\"], [], true, args, options);\n }\n\n /**\n * Generate overall feedback\n * \n * Generate feedback for the test as a whole in an exam session.\n * \n * API endpoint: `POST /exams/{examId}/sessions/{sessionId}/generate-overall-feedback`\n */\n generateOverallFeedback(args: Args<\"exams.sessions.generateOverallFeedback\">, options?: ExamplaryRequestOptions): Promise<Response<\"exams.sessions.generateOverallFeedback\">>;\n generateOverallFeedback(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"exams.sessions.generateOverallFeedback\">> {\n const args = arg;\n return request(this.ctx, \"POST\", \"/exams/{examId}/sessions/{sessionId}/generate-overall-feedback\", [\"examId\",\"sessionId\"], [], false, args, options);\n }\n\n /**\n * Accept AI grading suggestions\n * \n * Accept all AI-generated grading suggestions for the exam session.\n * \n * API endpoint: `POST /exams/{examId}/sessions/{sessionId}/suggestions/accept-all`\n */\n acceptAllSuggestions(args: Args<\"exams.sessions.acceptAllSuggestions\">, options?: ExamplaryRequestOptions): Promise<Response<\"exams.sessions.acceptAllSuggestions\">>;\n acceptAllSuggestions(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"exams.sessions.acceptAllSuggestions\">> {\n const args = arg;\n return request(this.ctx, \"POST\", \"/exams/{examId}/sessions/{sessionId}/suggestions/accept-all\", [\"examId\",\"sessionId\"], [], false, args, options);\n }\n\n /**\n * Accept single AI grading suggestion\n * \n * Accept a single AI-generated grading suggestion for the exam session.\n * \n * API endpoint: `POST /exams/{examId}/sessions/{sessionId}/suggestions/{questionId}/accept`\n */\n acceptSuggestion(args: Args<\"exams.sessions.acceptSuggestion\">, options?: ExamplaryRequestOptions): Promise<Response<\"exams.sessions.acceptSuggestion\">>;\n acceptSuggestion(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"exams.sessions.acceptSuggestion\">> {\n const args = arg;\n return request(this.ctx, \"POST\", \"/exams/{examId}/sessions/{sessionId}/suggestions/{questionId}/accept\", [\"examId\",\"sessionId\",\"questionId\"], [], false, args, options);\n }\n\n /**\n * Edit answer\n * \n * Edit a single answer in an exam session.\n * \n * API endpoint: `PATCH /exams/{examId}/sessions/{sessionId}/answers/{questionId}`\n */\n editAnswer(args: Args<\"exams.sessions.editAnswer\">, options?: ExamplaryRequestOptions): Promise<Response<\"exams.sessions.editAnswer\">>;\n editAnswer(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"exams.sessions.editAnswer\">> {\n const args = arg;\n return request(this.ctx, \"PATCH\", \"/exams/{examId}/sessions/{sessionId}/answers/{questionId}\", [\"examId\",\"sessionId\",\"questionId\"], [], true, args, options);\n }\n}\n\nexport class ExamsQuestions {\n\n constructor(private readonly ctx: ClientContext) {\n }\n\n /**\n * Import questions\n * \n * Import questions into an exam from a file. Support Word, PDF, Moodle quiz XML and plain text files.\n * \n * API endpoint: `POST /exams/{examId}/questions/import`\n */\n import(args: Args<\"exams.questions.import\">, options?: ExamplaryRequestOptions): Promise<Response<\"exams.questions.import\">>;\n import(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"exams.questions.import\">> {\n const args = arg;\n return request(this.ctx, \"POST\", \"/exams/{examId}/questions/import\", [\"examId\"], [], true, args, options);\n }\n\n /**\n * Generate question\n * \n * Generate a new question for the exam using an AI prompt.\n * \n * API endpoint: `POST /exams/{examId}/questions/generate`\n */\n generate(args: Args<\"exams.questions.generate\">, options?: ExamplaryRequestOptions): Promise<Response<\"exams.questions.generate\">>;\n generate(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"exams.questions.generate\">> {\n const args = arg;\n return request(this.ctx, \"POST\", \"/exams/{examId}/questions/generate\", [\"examId\"], [], true, args, options);\n }\n\n /**\n * Get question\n * \n * Retrieve a question by its ID.\n * \n * API endpoint: `GET /exams/{examId}/questions/{questionId}`\n */\n get(args: Args<\"exams.questions.get\">, options?: ExamplaryRequestOptions): Promise<Response<\"exams.questions.get\">>;\n get(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"exams.questions.get\">> {\n const args = arg;\n return request(this.ctx, \"GET\", \"/exams/{examId}/questions/{questionId}\", [\"examId\",\"questionId\"], [\"format\"], false, args, options);\n }\n\n /**\n * Regenerate question\n * \n * Update a question using an AI prompt.\n * \n * API endpoint: `POST /exams/{examId}/questions/{questionId}/generate`\n */\n regenerate(args: Args<\"exams.questions.regenerate\">, options?: ExamplaryRequestOptions): Promise<Response<\"exams.questions.regenerate\">>;\n regenerate(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"exams.questions.regenerate\">> {\n const args = arg;\n return request(this.ctx, \"POST\", \"/exams/{examId}/questions/{questionId}/generate\", [\"examId\",\"questionId\"], [], true, args, options);\n }\n}\n\nexport class ExamsExport {\n\n constructor(private readonly ctx: ClientContext) {\n }\n\n /**\n * Export QTI 3 package\n * \n * Export an exam as a QTI 3 ZIP package.\n * \n * API endpoint: `POST /exams/{examId}/export/qti3-zip`\n */\n qti3Zip(examId: string, options?: ExamplaryRequestOptions): Promise<Response<\"exams.export.qti3Zip\">>;\n qti3Zip(args: Args<\"exams.export.qti3Zip\">, options?: ExamplaryRequestOptions): Promise<Response<\"exams.export.qti3Zip\">>;\n qti3Zip(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"exams.export.qti3Zip\">> {\n const args = typeof arg === \"string\" ? { examId: arg } : arg;\n return request(this.ctx, \"POST\", \"/exams/{examId}/export/qti3-zip\", [\"examId\"], [], false, args, options);\n }\n\n /**\n * Export QTI 2.1 package\n * \n * Export an exam as a QTI 2.1 ZIP package.\n * \n * API endpoint: `POST /exams/{examId}/export/qti21-zip`\n */\n qti21Zip(examId: string, options?: ExamplaryRequestOptions): Promise<Response<\"exams.export.qti21Zip\">>;\n qti21Zip(args: Args<\"exams.export.qti21Zip\">, options?: ExamplaryRequestOptions): Promise<Response<\"exams.export.qti21Zip\">>;\n qti21Zip(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"exams.export.qti21Zip\">> {\n const args = typeof arg === \"string\" ? { examId: arg } : arg;\n return request(this.ctx, \"POST\", \"/exams/{examId}/export/qti21-zip\", [\"examId\"], [], false, args, options);\n }\n}\n\nexport class Exams {\n readonly sessions: ExamsSessions;\n readonly questions: ExamsQuestions;\n readonly export: ExamsExport;\n\n constructor(private readonly ctx: ClientContext) {\n this.sessions = new ExamsSessions(this.ctx);\n this.questions = new ExamsQuestions(this.ctx);\n this.export = new ExamsExport(this.ctx);\n }\n\n /**\n * List exams\n * \n * Get a list of all exams within your workspace.\n * \n * API endpoint: `GET /exams`\n */\n list(args: Args<\"exams.list\">, options?: ExamplaryRequestOptions): Promise<Response<\"exams.list\">>;\n list(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"exams.list\">> {\n const args = arg;\n return request(this.ctx, \"GET\", \"/exams\", [], [\"folder\",\"role\"], false, args, options);\n }\n\n /**\n * Create exam\n * \n * Create a new exam within your workspace.\n * \n * API endpoint: `POST /exams`\n */\n create(args?: Args<\"exams.create\">, options?: ExamplaryRequestOptions): Promise<Response<\"exams.create\">>;\n create(arg?: any, options?: ExamplaryRequestOptions): Promise<Response<\"exams.create\">> {\n const args = arg;\n return request(this.ctx, \"POST\", \"/exams\", [], [], true, args, options);\n }\n\n /**\n * Import exam\n * \n * Create an exam by importing one or more source materials (e.g. an existing exam).\n * \n * API endpoint: `POST /exams/import`\n */\n import(args?: Args<\"exams.import\">, options?: ExamplaryRequestOptions): Promise<Response<\"exams.import\">>;\n import(arg?: any, options?: ExamplaryRequestOptions): Promise<Response<\"exams.import\">> {\n const args = arg;\n return request(this.ctx, \"POST\", \"/exams/import\", [], [], true, args, options);\n }\n\n /**\n * Get exam\n * \n * Get a single exam by its ID.\n * \n * API endpoint: `GET /exams/{id}`\n */\n get(id: string, options?: ExamplaryRequestOptions): Promise<Response<\"exams.get\">>;\n get(args: Args<\"exams.get\">, options?: ExamplaryRequestOptions): Promise<Response<\"exams.get\">>;\n get(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"exams.get\">> {\n const args = typeof arg === \"string\" ? { id: arg } : arg;\n return request(this.ctx, \"GET\", \"/exams/{id}\", [\"id\"], [], false, args, options);\n }\n\n /**\n * Update exam\n * \n * Update an existing exam.\n * \n * API endpoint: `POST /exams/{id}`\n */\n update(id: string, options?: ExamplaryRequestOptions): Promise<Response<\"exams.update\">>;\n update(args: Args<\"exams.update\">, options?: ExamplaryRequestOptions): Promise<Response<\"exams.update\">>;\n update(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"exams.update\">> {\n const args = typeof arg === \"string\" ? { id: arg } : arg;\n return request(this.ctx, \"POST\", \"/exams/{id}\", [\"id\"], [], false, args, options);\n }\n\n /**\n * Delete exam\n * \n * Delete the exam.\n * \n * API endpoint: `DELETE /exams/{id}`\n */\n delete(id: string, options?: ExamplaryRequestOptions): Promise<Response<\"exams.delete\">>;\n delete(args: Args<\"exams.delete\">, options?: ExamplaryRequestOptions): Promise<Response<\"exams.delete\">>;\n delete(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"exams.delete\">> {\n const args = typeof arg === \"string\" ? { id: arg } : arg;\n return request(this.ctx, \"DELETE\", \"/exams/{id}\", [\"id\"], [], false, args, options);\n }\n\n /**\n * Duplicate exam\n * \n * Duplicate the exam's questions and settings to a new exam.\n * \n * API endpoint: `POST /exams/{examId}/duplicate`\n */\n duplicate(args: Args<\"exams.duplicate\">, options?: ExamplaryRequestOptions): Promise<Response<\"exams.duplicate\">>;\n duplicate(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"exams.duplicate\">> {\n const args = arg;\n return request(this.ctx, \"POST\", \"/exams/{examId}/duplicate\", [\"examId\"], [], true, args, options);\n }\n\n /**\n * Print exam\n * \n * Export an exam to a PDF file or Word document.\n * \n * API endpoint: `POST /exams/{examId}/print`\n */\n print(examId: string, options?: ExamplaryRequestOptions): Promise<Response<\"exams.print\">>;\n print(args: Args<\"exams.print\">, options?: ExamplaryRequestOptions): Promise<Response<\"exams.print\">>;\n print(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"exams.print\">> {\n const args = typeof arg === \"string\" ? { examId: arg } : arg;\n return request(this.ctx, \"POST\", \"/exams/{examId}/print\", [\"examId\"], [], false, args, options);\n }\n\n /**\n * Generate exam\n * \n * Initiate a job to generate new questions for the exam using AI, based on the source materials and metadata specified.\n * \n * API endpoint: `POST /exams/{examId}/generate`\n */\n startGeneration(examId: string, options?: ExamplaryRequestOptions): Promise<Response<\"exams.startGeneration\">>;\n startGeneration(args: Args<\"exams.startGeneration\">, options?: ExamplaryRequestOptions): Promise<Response<\"exams.startGeneration\">>;\n startGeneration(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"exams.startGeneration\">> {\n const args = typeof arg === \"string\" ? { examId: arg } : arg;\n return request(this.ctx, \"POST\", \"/exams/{examId}/generate\", [\"examId\"], [], false, args, options);\n }\n\n /**\n * Cancel exam generation\n * \n * Cancel an ongoing job to generate new questions for the exam using AI.\n * \n * API endpoint: `POST /exams/{examId}/generate/cancel`\n */\n cancelGeneration(examId: string, options?: ExamplaryRequestOptions): Promise<Response<\"exams.cancelGeneration\">>;\n cancelGeneration(args: Args<\"exams.cancelGeneration\">, options?: ExamplaryRequestOptions): Promise<Response<\"exams.cancelGeneration\">>;\n cancelGeneration(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"exams.cancelGeneration\">> {\n const args = typeof arg === \"string\" ? { examId: arg } : arg;\n return request(this.ctx, \"POST\", \"/exams/{examId}/generate/cancel\", [\"examId\"], [], false, args, options);\n }\n\n /**\n * Get exam context suggestions\n * \n * Get AI-generated suggestions for context/instructions to include in the exam generation prompt, based on the source materials linked to the exam.\n * \n * API endpoint: `GET /exams/{examId}/context-suggestions`\n */\n getContextSuggestions(examId: string, options?: ExamplaryRequestOptions): Promise<Response<\"exams.getContextSuggestions\">>;\n getContextSuggestions(args: Args<\"exams.getContextSuggestions\">, options?: ExamplaryRequestOptions): Promise<Response<\"exams.getContextSuggestions\">>;\n getContextSuggestions(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"exams.getContextSuggestions\">> {\n const args = typeof arg === \"string\" ? { examId: arg } : arg;\n return request(this.ctx, \"GET\", \"/exams/{examId}/context-suggestions\", [\"examId\"], [], false, args, options);\n }\n}\n\nexport class PracticeSpacesStudents {\n\n constructor(private readonly ctx: ClientContext) {\n }\n\n /**\n * List practice space students\n * \n * Get a list of all students that practiced in a practice space.\n * \n * API endpoint: `GET /practice-spaces/{practiceSpaceId}/students`\n */\n list(practiceSpaceId: string, options?: ExamplaryRequestOptions): Promise<Response<\"practiceSpaces.students.list\">>;\n list(args: Args<\"practiceSpaces.students.list\">, options?: ExamplaryRequestOptions): Promise<Response<\"practiceSpaces.students.list\">>;\n list(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"practiceSpaces.students.list\">> {\n const args = typeof arg === \"string\" ? { practiceSpaceId: arg } : arg;\n return request(this.ctx, \"GET\", \"/practice-spaces/{practiceSpaceId}/students\", [\"practiceSpaceId\"], [], false, args, options);\n }\n\n /**\n * Get practice space student\n * \n * Get details about a specific practice space student.\n * \n * API endpoint: `GET /practice-spaces/{practiceSpaceId}/students/{studentId}`\n */\n get(args: Args<\"practiceSpaces.students.get\">, options?: ExamplaryRequestOptions): Promise<Response<\"practiceSpaces.students.get\">>;\n get(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"practiceSpaces.students.get\">> {\n const args = arg;\n return request(this.ctx, \"GET\", \"/practice-spaces/{practiceSpaceId}/students/{studentId}\", [\"practiceSpaceId\",\"studentId\"], [], false, args, options);\n }\n}\n\nexport class PracticeSpacesSessions {\n\n constructor(private readonly ctx: ClientContext) {\n }\n\n /**\n * Create practice space session\n * \n * Create a new practice space session.\n * \n * API endpoint: `POST /practice-spaces/{practiceSpaceId}/sessions`\n */\n create(args: Args<\"practiceSpaces.sessions.create\">, options?: ExamplaryRequestOptions): Promise<Response<\"practiceSpaces.sessions.create\">>;\n create(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"practiceSpaces.sessions.create\">> {\n const args = arg;\n return request(this.ctx, \"POST\", \"/practice-spaces/{practiceSpaceId}/sessions\", [\"practiceSpaceId\"], [], true, args, options);\n }\n\n /**\n * Get my practice space session\n * \n * Get the current user's past practice space session.\n * \n * API endpoint: `GET /practice-spaces/{practiceSpaceId}/sessions/mine`\n */\n getMine(practiceSpaceId: string, options?: ExamplaryRequestOptions): Promise<Response<\"practiceSpaces.sessions.getMine\">>;\n getMine(args: Args<\"practiceSpaces.sessions.getMine\">, options?: ExamplaryRequestOptions): Promise<Response<\"practiceSpaces.sessions.getMine\">>;\n getMine(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"practiceSpaces.sessions.getMine\">> {\n const args = typeof arg === \"string\" ? { practiceSpaceId: arg } : arg;\n return request(this.ctx, \"GET\", \"/practice-spaces/{practiceSpaceId}/sessions/mine\", [\"practiceSpaceId\"], [], false, args, options);\n }\n\n /**\n * Get practice space session\n * \n * Get a practice space session by its ID.\n * \n * API endpoint: `GET /practice-spaces/{practiceSpaceId}/sessions/{sessionId}`\n */\n get(args: Args<\"practiceSpaces.sessions.get\">, options?: ExamplaryRequestOptions): Promise<Response<\"practiceSpaces.sessions.get\">>;\n get(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"practiceSpaces.sessions.get\">> {\n const args = arg;\n return request(this.ctx, \"GET\", \"/practice-spaces/{practiceSpaceId}/sessions/{sessionId}\", [\"practiceSpaceId\",\"sessionId\"], [], false, args, options);\n }\n\n /**\n * Save answer for a practice space session\n * \n * Save an answer for a specific question in a practice space session.\n * \n * API endpoint: `POST /practice-spaces/{practiceSpaceId}/sessions/{sessionId}/answers/{questionId}`\n */\n saveAnswer(args: Args<\"practiceSpaces.sessions.saveAnswer\">, options?: ExamplaryRequestOptions): Promise<Response<\"practiceSpaces.sessions.saveAnswer\">>;\n saveAnswer(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"practiceSpaces.sessions.saveAnswer\">> {\n const args = arg;\n return request(this.ctx, \"POST\", \"/practice-spaces/{practiceSpaceId}/sessions/{sessionId}/answers/{questionId}\", [\"practiceSpaceId\",\"sessionId\",\"questionId\"], [], true, args, options);\n }\n}\n\nexport class PracticeSpaces {\n readonly students: PracticeSpacesStudents;\n readonly sessions: PracticeSpacesSessions;\n\n constructor(private readonly ctx: ClientContext) {\n this.students = new PracticeSpacesStudents(this.ctx);\n this.sessions = new PracticeSpacesSessions(this.ctx);\n }\n\n /**\n * List practice spaces\n * \n * Get a list of all practice spaces you have access to in this workspace.\n * \n * API endpoint: `GET /practice-spaces`\n */\n list(args: Args<\"practiceSpaces.list\">, options?: ExamplaryRequestOptions): Promise<Response<\"practiceSpaces.list\">>;\n list(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"practiceSpaces.list\">> {\n const args = arg;\n return request(this.ctx, \"GET\", \"/practice-spaces\", [], [\"folder\",\"role\"], false, args, options);\n }\n\n /**\n * Create practice space\n * \n * Create a new practice space within your workspace.\n * \n * API endpoint: `POST /practice-spaces`\n */\n create(args?: Args<\"practiceSpaces.create\">, options?: ExamplaryRequestOptions): Promise<Response<\"practiceSpaces.create\">>;\n create(arg?: any, options?: ExamplaryRequestOptions): Promise<Response<\"practiceSpaces.create\">> {\n const args = arg;\n return request(this.ctx, \"POST\", \"/practice-spaces\", [], [], true, args, options);\n }\n\n /**\n * Get practice space\n * \n * Get a single practice space by its ID.\n * \n * API endpoint: `GET /practice-spaces/{id}`\n */\n get(id: string, options?: ExamplaryRequestOptions): Promise<Response<\"practiceSpaces.get\">>;\n get(args: Args<\"practiceSpaces.get\">, options?: ExamplaryRequestOptions): Promise<Response<\"practiceSpaces.get\">>;\n get(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"practiceSpaces.get\">> {\n const args = typeof arg === \"string\" ? { id: arg } : arg;\n return request(this.ctx, \"GET\", \"/practice-spaces/{id}\", [\"id\"], [], false, args, options);\n }\n\n /**\n * Update practice space\n * \n * Update an existing practice space.\n * \n * API endpoint: `PATCH /practice-spaces/{id}`\n */\n update(args: Args<\"practiceSpaces.update\">, options?: ExamplaryRequestOptions): Promise<Response<\"practiceSpaces.update\">>;\n update(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"practiceSpaces.update\">> {\n const args = arg;\n return request(this.ctx, \"PATCH\", \"/practice-spaces/{id}\", [\"id\"], [], true, args, options);\n }\n\n /**\n * Delete practice space\n * \n * Delete the practice space.\n * \n * API endpoint: `DELETE /practice-spaces/{id}`\n */\n delete(id: string, options?: ExamplaryRequestOptions): Promise<Response<\"practiceSpaces.delete\">>;\n delete(args: Args<\"practiceSpaces.delete\">, options?: ExamplaryRequestOptions): Promise<Response<\"practiceSpaces.delete\">>;\n delete(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"practiceSpaces.delete\">> {\n const args = typeof arg === \"string\" ? { id: arg } : arg;\n return request(this.ctx, \"DELETE\", \"/practice-spaces/{id}\", [\"id\"], [], false, args, options);\n }\n\n /**\n * Duplicate practice space\n * \n * Duplicate the practice space's settings and topics to a new practice space.\n * \n * API endpoint: `POST /practice-spaces/{practiceSpaceId}/duplicate`\n */\n duplicate(args: Args<\"practiceSpaces.duplicate\">, options?: ExamplaryRequestOptions): Promise<Response<\"practiceSpaces.duplicate\">>;\n duplicate(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"practiceSpaces.duplicate\">> {\n const args = arg;\n return request(this.ctx, \"POST\", \"/practice-spaces/{practiceSpaceId}/duplicate\", [\"practiceSpaceId\"], [], true, args, options);\n }\n\n /**\n * Generate practice space topics\n * \n * Start generating mastery topics for a practice space.\n * \n * API endpoint: `POST /practice-spaces/{practiceSpaceId}/generate-topics`\n */\n generateTopics(practiceSpaceId: string, options?: ExamplaryRequestOptions): Promise<Response<\"practiceSpaces.generateTopics\">>;\n generateTopics(args: Args<\"practiceSpaces.generateTopics\">, options?: ExamplaryRequestOptions): Promise<Response<\"practiceSpaces.generateTopics\">>;\n generateTopics(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"practiceSpaces.generateTopics\">> {\n const args = typeof arg === \"string\" ? { practiceSpaceId: arg } : arg;\n return request(this.ctx, \"POST\", \"/practice-spaces/{practiceSpaceId}/generate-topics\", [\"practiceSpaceId\"], [], false, args, options);\n }\n\n /**\n * Cancel practice space topic generation\n * \n * Cancel an in-progress mastery topic generation job.\n * \n * API endpoint: `POST /practice-spaces/{practiceSpaceId}/cancel-generate-topics`\n */\n cancelGenerateTopics(practiceSpaceId: string, options?: ExamplaryRequestOptions): Promise<Response<\"practiceSpaces.cancelGenerateTopics\">>;\n cancelGenerateTopics(args: Args<\"practiceSpaces.cancelGenerateTopics\">, options?: ExamplaryRequestOptions): Promise<Response<\"practiceSpaces.cancelGenerateTopics\">>;\n cancelGenerateTopics(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"practiceSpaces.cancelGenerateTopics\">> {\n const args = typeof arg === \"string\" ? { practiceSpaceId: arg } : arg;\n return request(this.ctx, \"POST\", \"/practice-spaces/{practiceSpaceId}/cancel-generate-topics\", [\"practiceSpaceId\"], [], false, args, options);\n }\n\n /**\n * Preview top practice space questions\n * \n * Get a preview of the top practice space questions by quality score.\n * \n * API endpoint: `GET /practice-spaces/{practiceSpaceId}/questions-preview`\n */\n questionsPreview(practiceSpaceId: string, options?: ExamplaryRequestOptions): Promise<Response<\"practiceSpaces.questionsPreview\">>;\n questionsPreview(args: Args<\"practiceSpaces.questionsPreview\">, options?: ExamplaryRequestOptions): Promise<Response<\"practiceSpaces.questionsPreview\">>;\n questionsPreview(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"practiceSpaces.questionsPreview\">> {\n const args = typeof arg === \"string\" ? { practiceSpaceId: arg } : arg;\n return request(this.ctx, \"GET\", \"/practice-spaces/{practiceSpaceId}/questions-preview\", [\"practiceSpaceId\"], [], false, args, options);\n }\n\n /**\n * Get practice space progress\n * \n * Get the progress of a single practice space by its ID.\n * \n * API endpoint: `GET /practice-spaces/{practiceSpaceId}/progress`\n */\n getProgress(practiceSpaceId: string, options?: ExamplaryRequestOptions): Promise<Response<\"practiceSpaces.getProgress\">>;\n getProgress(args: Args<\"practiceSpaces.getProgress\">, options?: ExamplaryRequestOptions): Promise<Response<\"practiceSpaces.getProgress\">>;\n getProgress(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"practiceSpaces.getProgress\">> {\n const args = typeof arg === \"string\" ? { practiceSpaceId: arg } : arg;\n return request(this.ctx, \"GET\", \"/practice-spaces/{practiceSpaceId}/progress\", [\"practiceSpaceId\"], [], false, args, options);\n }\n\n /**\n * Generate practice space topic feedback\n * \n * Get feedback for a specific topic in a practice space.\n * \n * API endpoint: `POST /practice-spaces/{practiceSpaceId}/progress/topic-feedback`\n */\n generateTopicFeedback(args: Args<\"practiceSpaces.generateTopicFeedback\">, options?: ExamplaryRequestOptions): Promise<Response<\"practiceSpaces.generateTopicFeedback\">>;\n generateTopicFeedback(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"practiceSpaces.generateTopicFeedback\">> {\n const args = arg;\n return request(this.ctx, \"POST\", \"/practice-spaces/{practiceSpaceId}/progress/topic-feedback\", [\"practiceSpaceId\"], [], true, args, options);\n }\n}\n\nexport class SourceMaterials {\n\n constructor(private readonly ctx: ClientContext) {\n }\n\n /**\n * List source materials in org\n * \n * Returns a list of source materials for the current organization.\n * \n * API endpoint: `GET /source-materials`\n */\n list(args: Args<\"sourceMaterials.list\">, options?: ExamplaryRequestOptions): Promise<Response<\"sourceMaterials.list\">>;\n list(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"sourceMaterials.list\">> {\n const args = arg;\n return request(this.ctx, \"GET\", \"/source-materials\", [], [\"externalId\"], false, args, options);\n }\n\n /**\n * Add source material\n * \n * Add a source material and start processing it for later use in an exam.\n * \n * API endpoint: `POST /source-materials`\n */\n create(args?: Args<\"sourceMaterials.create\">, options?: ExamplaryRequestOptions): Promise<Response<\"sourceMaterials.create\">>;\n create(arg?: any, options?: ExamplaryRequestOptions): Promise<Response<\"sourceMaterials.create\">> {\n const args = arg;\n return request(this.ctx, \"POST\", \"/source-materials\", [], [], true, args, options);\n }\n\n /**\n * Get source material\n * \n * Returns the current status and facts extracted from the specified source material.\n * \n * API endpoint: `GET /source-materials/{id}`\n */\n get(id: string, options?: ExamplaryRequestOptions): Promise<Response<\"sourceMaterials.get\">>;\n get(args: Args<\"sourceMaterials.get\">, options?: ExamplaryRequestOptions): Promise<Response<\"sourceMaterials.get\">>;\n get(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"sourceMaterials.get\">> {\n const args = typeof arg === \"string\" ? { id: arg } : arg;\n return request(this.ctx, \"GET\", \"/source-materials/{id}\", [\"id\"], [], false, args, options);\n }\n\n /**\n * Update source material\n * \n * Updates the specified source material.\n * \n * API endpoint: `PATCH /source-materials/{id}`\n */\n update(args: Args<\"sourceMaterials.update\">, options?: ExamplaryRequestOptions): Promise<Response<\"sourceMaterials.update\">>;\n update(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"sourceMaterials.update\">> {\n const args = arg;\n return request(this.ctx, \"PATCH\", \"/source-materials/{id}\", [\"id\"], [], true, args, options);\n }\n\n /**\n * Delete source material\n * \n * Deletes the specified source material.\n * \n * API endpoint: `DELETE /source-materials/{id}`\n */\n delete(id: string, options?: ExamplaryRequestOptions): Promise<Response<\"sourceMaterials.delete\">>;\n delete(args: Args<\"sourceMaterials.delete\">, options?: ExamplaryRequestOptions): Promise<Response<\"sourceMaterials.delete\">>;\n delete(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"sourceMaterials.delete\">> {\n const args = typeof arg === \"string\" ? { id: arg } : arg;\n return request(this.ctx, \"DELETE\", \"/source-materials/{id}\", [\"id\"], [], false, args, options);\n }\n\n /**\n * Create a source material slice\n * \n * Create a new source material based on a specific page range of an existing source material.\n * \n * API endpoint: `POST /source-materials/{sourceMaterialId}/slice`\n */\n slice(args: Args<\"sourceMaterials.slice\">, options?: ExamplaryRequestOptions): Promise<Response<\"sourceMaterials.slice\">>;\n slice(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"sourceMaterials.slice\">> {\n const args = arg;\n return request(this.ctx, \"POST\", \"/source-materials/{sourceMaterialId}/slice\", [\"sourceMaterialId\"], [], true, args, options);\n }\n}\n\nexport class Folders {\n\n constructor(private readonly ctx: ClientContext) {\n }\n\n /**\n * Get folders\n * \n * Get a list of folders for exam organisation that exist within the current workspace.\n * \n * API endpoint: `GET /folders`\n */\n list(args?: Args<\"folders.list\">, options?: ExamplaryRequestOptions): Promise<Response<\"folders.list\">>;\n list(arg?: any, options?: ExamplaryRequestOptions): Promise<Response<\"folders.list\">> {\n const args = arg;\n return request(this.ctx, \"GET\", \"/folders\", [], [], false, args, options);\n }\n\n /**\n * Create folder\n * \n * Create a new folder in the current workspace.\n * \n * API endpoint: `POST /folders`\n */\n create(args?: Args<\"folders.create\">, options?: ExamplaryRequestOptions): Promise<Response<\"folders.create\">>;\n create(arg?: any, options?: ExamplaryRequestOptions): Promise<Response<\"folders.create\">> {\n const args = arg;\n return request(this.ctx, \"POST\", \"/folders\", [], [], true, args, options);\n }\n\n /**\n * Update folder\n * \n * Update an existing folder in the current workspace.\n * \n * API endpoint: `POST /folders/{id}`\n */\n update(args: Args<\"folders.update\">, options?: ExamplaryRequestOptions): Promise<Response<\"folders.update\">>;\n update(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"folders.update\">> {\n const args = arg;\n return request(this.ctx, \"POST\", \"/folders/{id}\", [\"id\"], [], true, args, options);\n }\n\n /**\n * Delete folder\n * \n * Delete a folder from the current workspace. If there are any exams in the folder, they will be moved out of the folder.\n * \n * API endpoint: `DELETE /folders/{id}`\n */\n delete(id: string, options?: ExamplaryRequestOptions): Promise<Response<\"folders.delete\">>;\n delete(args: Args<\"folders.delete\">, options?: ExamplaryRequestOptions): Promise<Response<\"folders.delete\">>;\n delete(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"folders.delete\">> {\n const args = typeof arg === \"string\" ? { id: arg } : arg;\n return request(this.ctx, \"DELETE\", \"/folders/{id}\", [\"id\"], [], false, args, options);\n }\n}\n\nexport class Groups {\n\n constructor(private readonly ctx: ClientContext) {\n }\n\n /**\n * List groups\n * \n * List all groups in the organization. When restricted group visibility is enabled, only returns groups the user belongs to.\n * \n * API endpoint: `GET /groups`\n */\n list(args?: Args<\"groups.list\">, options?: ExamplaryRequestOptions): Promise<Response<\"groups.list\">>;\n list(arg?: any, options?: ExamplaryRequestOptions): Promise<Response<\"groups.list\">> {\n const args = arg;\n return request(this.ctx, \"GET\", \"/groups\", [], [], false, args, options);\n }\n\n /**\n * Create group\n * \n * Create a new group. Requires admin or owner org role.\n * \n * API endpoint: `POST /groups`\n */\n create(args?: Args<\"groups.create\">, options?: ExamplaryRequestOptions): Promise<Response<\"groups.create\">>;\n create(arg?: any, options?: ExamplaryRequestOptions): Promise<Response<\"groups.create\">> {\n const args = arg;\n return request(this.ctx, \"POST\", \"/groups\", [], [], true, args, options);\n }\n\n /**\n * Rename group\n * \n * Rename a group. Requires group manager/owner role or org admin/owner.\n * \n * API endpoint: `PATCH /groups/{id}`\n */\n update(args: Args<\"groups.update\">, options?: ExamplaryRequestOptions): Promise<Response<\"groups.update\">>;\n update(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"groups.update\">> {\n const args = arg;\n return request(this.ctx, \"PATCH\", \"/groups/{id}\", [\"id\"], [], true, args, options);\n }\n\n /**\n * Delete group\n * \n * Delete a group and revoke all associated permissions. Requires group manager/owner role or org admin/owner.\n * \n * API endpoint: `DELETE /groups/{id}`\n */\n delete(id: string, options?: ExamplaryRequestOptions): Promise<Response<\"groups.delete\">>;\n delete(args: Args<\"groups.delete\">, options?: ExamplaryRequestOptions): Promise<Response<\"groups.delete\">>;\n delete(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"groups.delete\">> {\n const args = typeof arg === \"string\" ? { id: arg } : arg;\n return request(this.ctx, \"DELETE\", \"/groups/{id}\", [\"id\"], [], false, args, options);\n }\n\n /**\n * List group members\n * \n * List all members of a group with resolved user info. Respects restricted group visibility.\n * \n * API endpoint: `GET /groups/{groupId}/members`\n */\n listMembers(groupId: string, options?: ExamplaryRequestOptions): Promise<Response<\"groups.listMembers\">>;\n listMembers(args: Args<\"groups.listMembers\">, options?: ExamplaryRequestOptions): Promise<Response<\"groups.listMembers\">>;\n listMembers(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"groups.listMembers\">> {\n const args = typeof arg === \"string\" ? { groupId: arg } : arg;\n return request(this.ctx, \"GET\", \"/groups/{groupId}/members\", [\"groupId\"], [], false, args, options);\n }\n\n /**\n * Add group member\n * \n * Add a member to a group. Requires group manager/owner role or org admin/owner.\n * \n * API endpoint: `POST /groups/{groupId}/members`\n */\n addMember(args: Args<\"groups.addMember\">, options?: ExamplaryRequestOptions): Promise<Response<\"groups.addMember\">>;\n addMember(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"groups.addMember\">> {\n const args = arg;\n return request(this.ctx, \"POST\", \"/groups/{groupId}/members\", [\"groupId\"], [], true, args, options);\n }\n\n /**\n * Change member role\n * \n * Change a member's role in the group. Requires group manager/owner role or org admin/owner.\n * \n * API endpoint: `PATCH /groups/{groupId}/members/{userId}`\n */\n updateMember(args: Args<\"groups.updateMember\">, options?: ExamplaryRequestOptions): Promise<Response<\"groups.updateMember\">>;\n updateMember(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"groups.updateMember\">> {\n const args = arg;\n return request(this.ctx, \"PATCH\", \"/groups/{groupId}/members/{userId}\", [\"groupId\",\"userId\"], [], true, args, options);\n }\n\n /**\n * Remove group member\n * \n * Remove a member from the group. Requires group manager/owner role or org admin/owner. Cannot remove the owner.\n * \n * API endpoint: `DELETE /groups/{groupId}/members/{userId}`\n */\n removeMember(args: Args<\"groups.removeMember\">, options?: ExamplaryRequestOptions): Promise<Response<\"groups.removeMember\">>;\n removeMember(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"groups.removeMember\">> {\n const args = arg;\n return request(this.ctx, \"DELETE\", \"/groups/{groupId}/members/{userId}\", [\"groupId\",\"userId\"], [], false, args, options);\n }\n}\n\nexport class QuestionBank {\n\n constructor(private readonly ctx: ClientContext) {\n }\n\n /**\n * Get question bank items\n * \n * Get a list of question bank items that exist within the current workspace.\n * \n * API endpoint: `GET /question-bank`\n */\n list(args?: Args<\"questionBank.list\">, options?: ExamplaryRequestOptions): Promise<Response<\"questionBank.list\">>;\n list(arg?: any, options?: ExamplaryRequestOptions): Promise<Response<\"questionBank.list\">> {\n const args = arg;\n return request(this.ctx, \"GET\", \"/question-bank\", [], [], false, args, options);\n }\n\n /**\n * Add question to question bank\n * \n * Add a question to the question bank in the current workspace.\n * \n * API endpoint: `POST /question-bank`\n */\n create(args?: Args<\"questionBank.create\">, options?: ExamplaryRequestOptions): Promise<Response<\"questionBank.create\">>;\n create(arg?: any, options?: ExamplaryRequestOptions): Promise<Response<\"questionBank.create\">> {\n const args = arg;\n return request(this.ctx, \"POST\", \"/question-bank\", [], [], true, args, options);\n }\n\n /**\n * Update question bank item\n * \n * Update an existing question bank item in the current workspace.\n * \n * API endpoint: `PATCH /question-bank/{id}`\n */\n update(args: Args<\"questionBank.update\">, options?: ExamplaryRequestOptions): Promise<Response<\"questionBank.update\">>;\n update(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"questionBank.update\">> {\n const args = arg;\n return request(this.ctx, \"PATCH\", \"/question-bank/{id}\", [\"id\"], [], true, args, options);\n }\n\n /**\n * Delete question bank item\n * \n * Delete a question bank item from the current workspace.\n * \n * API endpoint: `DELETE /question-bank/{id}`\n */\n delete(id: string, options?: ExamplaryRequestOptions): Promise<Response<\"questionBank.delete\">>;\n delete(args: Args<\"questionBank.delete\">, options?: ExamplaryRequestOptions): Promise<Response<\"questionBank.delete\">>;\n delete(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"questionBank.delete\">> {\n const args = typeof arg === \"string\" ? { id: arg } : arg;\n return request(this.ctx, \"DELETE\", \"/question-bank/{id}\", [\"id\"], [], false, args, options);\n }\n}\n\nexport class Jobs {\n\n constructor(private readonly ctx: ClientContext) {\n }\n\n /**\n * Get job status\n * \n * Poll the status of a background job.\n * \n * API endpoint: `GET /jobs/{id}`\n */\n get(id: string, options?: ExamplaryRequestOptions): Promise<Response<\"jobs.get\">>;\n get(args: Args<\"jobs.get\">, options?: ExamplaryRequestOptions): Promise<Response<\"jobs.get\">>;\n get(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"jobs.get\">> {\n const args = typeof arg === \"string\" ? { id: arg } : arg;\n return request(this.ctx, \"GET\", \"/jobs/{id}\", [\"id\"], [], false, args, options);\n }\n\n /**\n * Cancel a job\n * \n * Cancel a background job.\n * \n * API endpoint: `DELETE /jobs/{id}`\n */\n cancel(id: string, options?: ExamplaryRequestOptions): Promise<Response<\"jobs.cancel\">>;\n cancel(args: Args<\"jobs.cancel\">, options?: ExamplaryRequestOptions): Promise<Response<\"jobs.cancel\">>;\n cancel(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"jobs.cancel\">> {\n const args = typeof arg === \"string\" ? { id: arg } : arg;\n return request(this.ctx, \"DELETE\", \"/jobs/{id}\", [\"id\"], [], false, args, options);\n }\n}\n\nexport class Examplary {\n private readonly ctx: ClientContext;\n readonly questionTypes: QuestionTypes;\n readonly library: Library;\n readonly oauth: Oauth;\n readonly embedSessions: EmbedSessions;\n readonly me: Me;\n readonly media: Media;\n readonly org: Org;\n readonly orgs: Orgs;\n readonly apiKeys: ApiKeys;\n readonly attributes: Attributes;\n readonly taxonomies: Taxonomies;\n readonly permissions: Permissions;\n readonly studentLevels: StudentLevels;\n readonly users: Users;\n readonly exams: Exams;\n readonly practiceSpaces: PracticeSpaces;\n readonly sourceMaterials: SourceMaterials;\n readonly folders: Folders;\n readonly groups: Groups;\n readonly questionBank: QuestionBank;\n readonly jobs: Jobs;\n\n constructor(options: ExamplaryClientOptions) {\n this.ctx = createClientContext(options);\n this.questionTypes = new QuestionTypes(this.ctx);\n this.library = new Library(this.ctx);\n this.oauth = new Oauth(this.ctx);\n this.embedSessions = new EmbedSessions(this.ctx);\n this.me = new Me(this.ctx);\n this.media = new Media(this.ctx);\n this.org = new Org(this.ctx);\n this.orgs = new Orgs(this.ctx);\n this.apiKeys = new ApiKeys(this.ctx);\n this.attributes = new Attributes(this.ctx);\n this.taxonomies = new Taxonomies(this.ctx);\n this.permissions = new Permissions(this.ctx);\n this.studentLevels = new StudentLevels(this.ctx);\n this.users = new Users(this.ctx);\n this.exams = new Exams(this.ctx);\n this.practiceSpaces = new PracticeSpaces(this.ctx);\n this.sourceMaterials = new SourceMaterials(this.ctx);\n this.folders = new Folders(this.ctx);\n this.groups = new Groups(this.ctx);\n this.questionBank = new QuestionBank(this.ctx);\n this.jobs = new Jobs(this.ctx);\n }\n\n /**\n * Get rubrics\n * \n * Get a list of rubrics that exist within the current workspace.\n * \n * API endpoint: `GET /rubrics`\n */\n getRubrics(args?: Args<\"getRubrics\">, options?: ExamplaryRequestOptions): Promise<Response<\"getRubrics\">>;\n getRubrics(arg?: any, options?: ExamplaryRequestOptions): Promise<Response<\"getRubrics\">> {\n const args = arg;\n return request(this.ctx, \"GET\", \"/rubrics\", [], [], false, args, options);\n }\n\n /**\n * Save rubric\n * \n * Add a rubric to the current workspace.\n * \n * API endpoint: `POST /rubrics`\n */\n postRubrics(args?: Args<\"postRubrics\">, options?: ExamplaryRequestOptions): Promise<Response<\"postRubrics\">>;\n postRubrics(arg?: any, options?: ExamplaryRequestOptions): Promise<Response<\"postRubrics\">> {\n const args = arg;\n return request(this.ctx, \"POST\", \"/rubrics\", [], [], true, args, options);\n }\n\n /**\n * Generate rubric\n * \n * Start a background job to generate a rubric using AI.\n * \n * API endpoint: `POST /rubrics/generate`\n */\n postRubricsGenerate(args?: Args<\"postRubricsGenerate\">, options?: ExamplaryRequestOptions): Promise<Response<\"postRubricsGenerate\">>;\n postRubricsGenerate(arg?: any, options?: ExamplaryRequestOptions): Promise<Response<\"postRubricsGenerate\">> {\n const args = arg;\n return request(this.ctx, \"POST\", \"/rubrics/generate\", [], [], true, args, options);\n }\n\n /**\n * Update rubric\n * \n * Update an existing rubric in the current workspace.\n * \n * API endpoint: `PATCH /rubrics/{id}`\n */\n patchRubricsId(args: Args<\"patchRubrics:id\">, options?: ExamplaryRequestOptions): Promise<Response<\"patchRubrics:id\">>;\n patchRubricsId(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"patchRubrics:id\">> {\n const args = arg;\n return request(this.ctx, \"PATCH\", \"/rubrics/{id}\", [\"id\"], [], true, args, options);\n }\n\n /**\n * Delete rubric\n * \n * Delete a rubric from the current workspace.\n * \n * API endpoint: `DELETE /rubrics/{id}`\n */\n deleteRubricsId(id: string, options?: ExamplaryRequestOptions): Promise<Response<\"deleteRubrics:id\">>;\n deleteRubricsId(args: Args<\"deleteRubrics:id\">, options?: ExamplaryRequestOptions): Promise<Response<\"deleteRubrics:id\">>;\n deleteRubricsId(arg: any, options?: ExamplaryRequestOptions): Promise<Response<\"deleteRubrics:id\">> {\n const args = typeof arg === \"string\" ? { id: arg } : arg;\n return request(this.ctx, \"DELETE\", \"/rubrics/{id}\", [\"id\"], [], false, args, options);\n }\n}\n"],"mappings":"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","names":["request"]}
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@examplary/sdk",
3
3
  "packageManager": "yarn@4.13.0",
4
- "version": "1.1.1",
4
+ "version": "2.1.0",
5
5
  "description": "TypeScript SDK for accessing the Examplary API.",
6
6
  "scripts": {
7
7
  "clean": "rm -rf dist",
8
8
  "build:client": "tsx scripts/generate-sdk.ts",
9
- "build:tsc": "tsc",
10
- "build": "yarn clean && yarn build:client && yarn build:tsc",
9
+ "build:bundle": "tsup",
10
+ "build": "yarn clean && yarn build:client && yarn build:bundle",
11
11
  "prepublishOnly": "yarn build",
12
12
  "test": "vitest",
13
13
  "typecheck": "tsc --noEmit"
@@ -18,12 +18,22 @@
18
18
  "publishConfig": {
19
19
  "access": "public"
20
20
  },
21
- "main": "./dist/src/index.js",
22
- "types": "./dist/src/index.d.ts",
21
+ "main": "./dist/index.js",
22
+ "module": "./dist/index.mjs",
23
+ "types": "./dist/index.d.ts",
24
+ "exports": {
25
+ ".": {
26
+ "types": "./dist/index.d.ts",
27
+ "import": "./dist/index.mjs",
28
+ "require": "./dist/index.js"
29
+ }
30
+ },
31
+ "sideEffects": false,
23
32
  "devDependencies": {
24
33
  "@types/node": "^25.6.0",
25
34
  "openapi-typescript": "^7.13.0",
26
35
  "semantic-release": "^25.0.3",
36
+ "tsup": "^8.5.1",
27
37
  "tsx": "^4.21.0",
28
38
  "typescript": "^6.0.3",
29
39
  "vitest": "^4.1.5"