@iblai/iblai-api 4.23.2-test-ai → 4.26.0-ai

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.
Files changed (47) hide show
  1. package/dist/index.cjs.js +718 -1
  2. package/dist/index.cjs.js.map +1 -1
  3. package/dist/index.esm.js +719 -2
  4. package/dist/index.esm.js.map +1 -1
  5. package/dist/index.umd.js +718 -1
  6. package/dist/index.umd.js.map +1 -1
  7. package/dist/types/index.d.ts +14 -0
  8. package/dist/types/models/ActivityInfo.d.ts +7 -0
  9. package/dist/types/models/AddMentorToDisclaimer.d.ts +12 -0
  10. package/dist/types/models/Disclaimer.d.ts +15 -0
  11. package/dist/types/models/DisclaimerAgreement.d.ts +11 -0
  12. package/dist/types/models/LearnerAnalyticsResponse.d.ts +12 -0
  13. package/dist/types/models/LearnerAnalyticsResult.d.ts +16 -0
  14. package/dist/types/models/MetricDetail.d.ts +7 -0
  15. package/dist/types/models/PaginatedDisclaimerAgreementList.d.ts +7 -0
  16. package/dist/types/models/PlatformMetrics.d.ts +15 -0
  17. package/dist/types/models/PlatformSummary.d.ts +17 -0
  18. package/dist/types/models/PointsMetric.d.ts +7 -0
  19. package/dist/types/models/RemoveMentorFromDisclaimer.d.ts +12 -0
  20. package/dist/types/models/ScopeEnum.d.ts +8 -0
  21. package/dist/types/models/SkillsMetric.d.ts +10 -0
  22. package/dist/types/models/UserInfo.d.ts +8 -11
  23. package/dist/types/services/AiAnalyticsService.d.ts +38 -0
  24. package/dist/types/services/AiMediaService.d.ts +68 -0
  25. package/dist/types/services/AiMentorService.d.ts +469 -0
  26. package/package.json +1 -1
  27. package/sdk_schema.yml +1254 -10
  28. package/src/core/OpenAPI.ts +1 -1
  29. package/src/index.ts +14 -0
  30. package/src/models/ActivityInfo.ts +12 -0
  31. package/src/models/AddMentorToDisclaimer.ts +17 -0
  32. package/src/models/Disclaimer.ts +20 -0
  33. package/src/models/DisclaimerAgreement.ts +16 -0
  34. package/src/models/LearnerAnalyticsResponse.ts +17 -0
  35. package/src/models/LearnerAnalyticsResult.ts +21 -0
  36. package/src/models/MetricDetail.ts +12 -0
  37. package/src/models/PaginatedDisclaimerAgreementList.ts +12 -0
  38. package/src/models/PlatformMetrics.ts +20 -0
  39. package/src/models/PlatformSummary.ts +22 -0
  40. package/src/models/PointsMetric.ts +12 -0
  41. package/src/models/RemoveMentorFromDisclaimer.ts +17 -0
  42. package/src/models/ScopeEnum.ts +12 -0
  43. package/src/models/SkillsMetric.ts +15 -0
  44. package/src/models/UserInfo.ts +8 -11
  45. package/src/services/AiAnalyticsService.ts +54 -0
  46. package/src/services/AiMediaService.ts +107 -0
  47. package/src/services/AiMentorService.ts +6409 -5760
package/dist/index.cjs.js CHANGED
@@ -110,7 +110,7 @@ class CancelablePromise {
110
110
 
111
111
  const OpenAPI = {
112
112
  BASE: 'https://base.manager.iblai.app',
113
- VERSION: '4.23.2-ai-plus',
113
+ VERSION: '4.26.0-ai-plus',
114
114
  WITH_CREDENTIALS: false,
115
115
  CREDENTIALS: 'include',
116
116
  TOKEN: undefined,
@@ -697,6 +697,20 @@ exports.ResourceScrappedDataStatusEnum = void 0;
697
697
  ResourceScrappedDataStatusEnum["UNSCRAPPED"] = "unscrapped";
698
698
  })(exports.ResourceScrappedDataStatusEnum || (exports.ResourceScrappedDataStatusEnum = {}));
699
699
 
700
+ /* generated using openapi-typescript-codegen -- do not edit */
701
+ /* istanbul ignore file */
702
+ /* tslint:disable */
703
+ /* eslint-disable */
704
+ /**
705
+ * * `platform` - Platform
706
+ * * `mentor` - Mentor
707
+ */
708
+ exports.ScopeEnum = void 0;
709
+ (function (ScopeEnum) {
710
+ ScopeEnum["PLATFORM"] = "platform";
711
+ ScopeEnum["MENTOR"] = "mentor";
712
+ })(exports.ScopeEnum || (exports.ScopeEnum = {}));
713
+
700
714
  /* generated using openapi-typescript-codegen -- do not edit */
701
715
  /* istanbul ignore file */
702
716
  /* tslint:disable */
@@ -6516,6 +6530,42 @@ class AiAnalyticsService {
6516
6530
  }
6517
6531
  });
6518
6532
  }
6533
+ /**
6534
+ * Unified API endpoint for learner analytics.
6535
+ *
6536
+ * This endpoint provides either:
6537
+ * 1. Cross-platform summary (when only username is provided)
6538
+ * 2. Platform-specific detailed data (when username + platform_key are provided)
6539
+ *
6540
+ * Query params:
6541
+ * - username (required): Username of the learner
6542
+ * - platform_key (optional): Platform key for platform-specific data
6543
+ * - page (optional): Page number (default: 1)
6544
+ * - limit (optional): Records per page (default: 20, max: 100)
6545
+ *
6546
+ * Returns:
6547
+ * - If platform_key provided: Detailed platform metrics
6548
+ * - If no platform_key: Cross-platform summary with pagination
6549
+ * @returns LearnerAnalyticsResponse
6550
+ * @throws ApiError
6551
+ */
6552
+ static analyticsLearnersRetrieve({
6553
+ limit = 20,
6554
+ page = 1,
6555
+ platformKey,
6556
+ username
6557
+ }) {
6558
+ return request(OpenAPI, {
6559
+ method: 'GET',
6560
+ url: '/api/analytics/learners/',
6561
+ query: {
6562
+ 'limit': limit,
6563
+ 'page': page,
6564
+ 'platform_key': platformKey,
6565
+ 'username': username
6566
+ }
6567
+ });
6568
+ }
6519
6569
  /**
6520
6570
  * Conversation list endpoint for analytics.
6521
6571
  *
@@ -12354,6 +12404,104 @@ class AiMediaService {
12354
12404
  }
12355
12405
  });
12356
12406
  }
12407
+ /**
12408
+ * Endpoint to generate video scripts from a audio file. The audio file can be one of mp3 and wav.
12409
+ *
12410
+ * The request should be a multipart form with your audio file in the `file` field.
12411
+ *
12412
+ * Initial Response:
12413
+ * ```
12414
+ * {"script": None, "status": "started_generation", "generation_id": "your-generation-id."}
12415
+ * ```
12416
+ * This signals the generation has started. You can use the generation id to query video script generation status from this endpoint, using a JSON like below:
12417
+ * ```
12418
+ * {"generation_id": "your-generation-id"}
12419
+ * ```
12420
+ *
12421
+ * Example response:
12422
+ * ```
12423
+ * {"script": "hello this is a video script.", "status": "finished", "generation_id": "your-generation-id"}
12424
+ *
12425
+ * ```
12426
+ * @returns any No response body
12427
+ * @throws ApiError
12428
+ */
12429
+ static aiMediaOrgsUsersVideoScriptGenerationAudioCreate({
12430
+ org,
12431
+ userId
12432
+ }) {
12433
+ return request(OpenAPI, {
12434
+ method: 'POST',
12435
+ url: '/api/ai-media/orgs/{org}/users/{user_id}/video-script-generation/audio/',
12436
+ path: {
12437
+ 'org': org,
12438
+ 'user_id': userId
12439
+ }
12440
+ });
12441
+ }
12442
+ /**
12443
+ * Endpoint to generate video scripts from a document file. The document file can be one of docx, doc, pptx, ppt, txt and pdf.
12444
+ *
12445
+ * The request should be a multipart form with your document file in the `file` field.
12446
+ * Initial Response:
12447
+ * ```
12448
+ * {"script": None, "status": "started_generation", "generation_id": "your-generation-id."}
12449
+ * ```
12450
+ * This signals the generation has started. You can use the generation id to query video script generation status from this endpoint, using a JSON like below:
12451
+ * ```
12452
+ * {"generation_id": "your-generation-id"}
12453
+ * ```
12454
+ *
12455
+ * Example response:
12456
+ * ```
12457
+ * {"script": "hello this is a video script.", "status": "finished", "generation_id": "your-generation-id"}
12458
+ *
12459
+ * ```
12460
+ * @returns any No response body
12461
+ * @throws ApiError
12462
+ */
12463
+ static aiMediaOrgsUsersVideoScriptGenerationDocumentCreate({
12464
+ org,
12465
+ userId
12466
+ }) {
12467
+ return request(OpenAPI, {
12468
+ method: 'POST',
12469
+ url: '/api/ai-media/orgs/{org}/users/{user_id}/video-script-generation/document/',
12470
+ path: {
12471
+ 'org': org,
12472
+ 'user_id': userId
12473
+ }
12474
+ });
12475
+ }
12476
+ /**
12477
+ * Endpoint to generate video scripts from a text.
12478
+ *
12479
+ * The request body should be a JSON with your text, like below:
12480
+ * ```
12481
+ * {"text": "Generate a script about a campus comedy."}
12482
+ * ```
12483
+ *
12484
+ * Example response:
12485
+ * ```
12486
+ * {"script": "hello this is a video script."}
12487
+ *
12488
+ * ```
12489
+ * @returns any No response body
12490
+ * @throws ApiError
12491
+ */
12492
+ static aiMediaOrgsUsersVideoScriptGenerationTextCreate({
12493
+ org,
12494
+ userId
12495
+ }) {
12496
+ return request(OpenAPI, {
12497
+ method: 'POST',
12498
+ url: '/api/ai-media/orgs/{org}/users/{user_id}/video-script-generation/text/',
12499
+ path: {
12500
+ 'org': org,
12501
+ 'user_id': userId
12502
+ }
12503
+ });
12504
+ }
12357
12505
  }
12358
12506
 
12359
12507
  class AiMentorService {
@@ -15932,6 +16080,575 @@ class AiMentorService {
15932
16080
  }
15933
16081
  });
15934
16082
  }
16083
+ /**
16084
+ * API view for managing disclaimer agreements.
16085
+ *
16086
+ * This viewset provides Create Read and Delete operations for disclaimer agreements with different access levels:
16087
+ *
16088
+ * Platform Admins:
16089
+ * - Can view all disclaimer agreements for their platform
16090
+ * - Have full access to create (for themselves) and delete agreements for themselves and other users.
16091
+ * - Results are paginated and can be filtered
16092
+ *
16093
+ * Students:
16094
+ * - Can only view their own disclaimer agreements
16095
+ * - Limited to agreements where they are the user
16096
+ * - Results are paginated and can be filtered
16097
+ *
16098
+ * List endpoint returns paginated results with disclaimer agreement objects:
16099
+ * {
16100
+ * "count": int,
16101
+ * "next": str,
16102
+ * "previous": str,
16103
+ * "results": [
16104
+ * {
16105
+ * "id": int,
16106
+ * "user": str,
16107
+ * "disclaimer": int,
16108
+ * "agreed_at": datetime,
16109
+ *
16110
+ * },
16111
+ * ...
16112
+ * ]
16113
+ * }
16114
+ *
16115
+ * Detail endpoints return a single disclaimer agreement object with the same structure
16116
+ * @returns PaginatedDisclaimerAgreementList
16117
+ * @throws ApiError
16118
+ */
16119
+ static aiMentorOrgsUsersDisclaimerAgreementsList({
16120
+ org,
16121
+ userId,
16122
+ disclaimer,
16123
+ mentorId,
16124
+ page,
16125
+ pageSize,
16126
+ username
16127
+ }) {
16128
+ return request(OpenAPI, {
16129
+ method: 'GET',
16130
+ url: '/api/ai-mentor/orgs/{org}/users/{user_id}/disclaimer-agreements/',
16131
+ path: {
16132
+ 'org': org,
16133
+ 'user_id': userId
16134
+ },
16135
+ query: {
16136
+ 'disclaimer': disclaimer,
16137
+ 'mentor_id': mentorId,
16138
+ 'page': page,
16139
+ 'page_size': pageSize,
16140
+ 'username': username
16141
+ }
16142
+ });
16143
+ }
16144
+ /**
16145
+ * API view for managing disclaimer agreements.
16146
+ *
16147
+ * This viewset provides Create Read and Delete operations for disclaimer agreements with different access levels:
16148
+ *
16149
+ * Platform Admins:
16150
+ * - Can view all disclaimer agreements for their platform
16151
+ * - Have full access to create (for themselves) and delete agreements for themselves and other users.
16152
+ * - Results are paginated and can be filtered
16153
+ *
16154
+ * Students:
16155
+ * - Can only view their own disclaimer agreements
16156
+ * - Limited to agreements where they are the user
16157
+ * - Results are paginated and can be filtered
16158
+ *
16159
+ * List endpoint returns paginated results with disclaimer agreement objects:
16160
+ * {
16161
+ * "count": int,
16162
+ * "next": str,
16163
+ * "previous": str,
16164
+ * "results": [
16165
+ * {
16166
+ * "id": int,
16167
+ * "user": str,
16168
+ * "disclaimer": int,
16169
+ * "agreed_at": datetime,
16170
+ *
16171
+ * },
16172
+ * ...
16173
+ * ]
16174
+ * }
16175
+ *
16176
+ * Detail endpoints return a single disclaimer agreement object with the same structure
16177
+ * @returns DisclaimerAgreement
16178
+ * @throws ApiError
16179
+ */
16180
+ static aiMentorOrgsUsersDisclaimerAgreementsCreate({
16181
+ org,
16182
+ userId,
16183
+ requestBody
16184
+ }) {
16185
+ return request(OpenAPI, {
16186
+ method: 'POST',
16187
+ url: '/api/ai-mentor/orgs/{org}/users/{user_id}/disclaimer-agreements/',
16188
+ path: {
16189
+ 'org': org,
16190
+ 'user_id': userId
16191
+ },
16192
+ body: requestBody,
16193
+ mediaType: 'application/json'
16194
+ });
16195
+ }
16196
+ /**
16197
+ * API view for managing disclaimer agreements.
16198
+ *
16199
+ * This viewset provides Create Read and Delete operations for disclaimer agreements with different access levels:
16200
+ *
16201
+ * Platform Admins:
16202
+ * - Can view all disclaimer agreements for their platform
16203
+ * - Have full access to create (for themselves) and delete agreements for themselves and other users.
16204
+ * - Results are paginated and can be filtered
16205
+ *
16206
+ * Students:
16207
+ * - Can only view their own disclaimer agreements
16208
+ * - Limited to agreements where they are the user
16209
+ * - Results are paginated and can be filtered
16210
+ *
16211
+ * List endpoint returns paginated results with disclaimer agreement objects:
16212
+ * {
16213
+ * "count": int,
16214
+ * "next": str,
16215
+ * "previous": str,
16216
+ * "results": [
16217
+ * {
16218
+ * "id": int,
16219
+ * "user": str,
16220
+ * "disclaimer": int,
16221
+ * "agreed_at": datetime,
16222
+ *
16223
+ * },
16224
+ * ...
16225
+ * ]
16226
+ * }
16227
+ *
16228
+ * Detail endpoints return a single disclaimer agreement object with the same structure
16229
+ * @returns DisclaimerAgreement
16230
+ * @throws ApiError
16231
+ */
16232
+ static aiMentorOrgsUsersDisclaimerAgreementsRetrieve({
16233
+ id,
16234
+ org,
16235
+ userId
16236
+ }) {
16237
+ return request(OpenAPI, {
16238
+ method: 'GET',
16239
+ url: '/api/ai-mentor/orgs/{org}/users/{user_id}/disclaimer-agreements/{id}/',
16240
+ path: {
16241
+ 'id': id,
16242
+ 'org': org,
16243
+ 'user_id': userId
16244
+ }
16245
+ });
16246
+ }
16247
+ /**
16248
+ * API view for managing disclaimer agreements.
16249
+ *
16250
+ * This viewset provides Create Read and Delete operations for disclaimer agreements with different access levels:
16251
+ *
16252
+ * Platform Admins:
16253
+ * - Can view all disclaimer agreements for their platform
16254
+ * - Have full access to create (for themselves) and delete agreements for themselves and other users.
16255
+ * - Results are paginated and can be filtered
16256
+ *
16257
+ * Students:
16258
+ * - Can only view their own disclaimer agreements
16259
+ * - Limited to agreements where they are the user
16260
+ * - Results are paginated and can be filtered
16261
+ *
16262
+ * List endpoint returns paginated results with disclaimer agreement objects:
16263
+ * {
16264
+ * "count": int,
16265
+ * "next": str,
16266
+ * "previous": str,
16267
+ * "results": [
16268
+ * {
16269
+ * "id": int,
16270
+ * "user": str,
16271
+ * "disclaimer": int,
16272
+ * "agreed_at": datetime,
16273
+ *
16274
+ * },
16275
+ * ...
16276
+ * ]
16277
+ * }
16278
+ *
16279
+ * Detail endpoints return a single disclaimer agreement object with the same structure
16280
+ * @returns void
16281
+ * @throws ApiError
16282
+ */
16283
+ static aiMentorOrgsUsersDisclaimerAgreementsDestroy({
16284
+ id,
16285
+ org,
16286
+ userId
16287
+ }) {
16288
+ return request(OpenAPI, {
16289
+ method: 'DELETE',
16290
+ url: '/api/ai-mentor/orgs/{org}/users/{user_id}/disclaimer-agreements/{id}/',
16291
+ path: {
16292
+ 'id': id,
16293
+ 'org': org,
16294
+ 'user_id': userId
16295
+ }
16296
+ });
16297
+ }
16298
+ /**
16299
+ * ViewSet for managing mentor disclaimers.
16300
+ *
16301
+ * This viewset provides endpoints for creating and managing mentor disclaimers, which are
16302
+ * statements or information that mentors need to share with students.
16303
+ *
16304
+ * Permissions:
16305
+ * - Platform administrators have full CRUD access
16306
+ * - Students have read-only access
16307
+ * - Unauthenticated users have no access
16308
+ *
16309
+ * Endpoints:
16310
+ * - GET /api/orgs/{org}/users/{user_id}/disclaimers/ - List all disclaimers
16311
+ * - POST /api/orgs/{org}/users/{user_id}/disclaimers/ - Create a new disclaimer
16312
+ * - GET /api/orgs/{org}/users/{user_id}/disclaimers/{id}/ - Retrieve a specific disclaimer
16313
+ * - PUT/PATCH /api/orgs/{org}/users/{user_id}/disclaimers/{id}/ - Update a disclaimer
16314
+ * - POST /api/orgs/{org}/users/{user_id}/disclaimers/{id}/add_mentor/ - Add mentor to disclaimer
16315
+ * - POST /api/orgs/{org}/users/{user_id}/disclaimers/{id}/remove_mentor/ - Remove mentor from disclaimer
16316
+ *
16317
+ * Query Parameters:
16318
+ * - Supports filtering via DjangoFilterBackend
16319
+ * - See DisclaimerFilterSet for available filters
16320
+ *
16321
+ * Returns:
16322
+ * List endpoint returns paginated results with disclaimer objects:
16323
+ * {
16324
+ * "count": int,
16325
+ * "next": str,
16326
+ * "previous": str,
16327
+ * "results": [
16328
+ * {
16329
+ * "id": int,
16330
+ * "title": str,
16331
+ * "content": str,
16332
+ * "mentor": str,
16333
+ * "platform": str,
16334
+ * "created_at": datetime,
16335
+ * "updated_at": datetime
16336
+ * },
16337
+ * ...
16338
+ * ]
16339
+ * }
16340
+ *
16341
+ * Detail endpoints return a single disclaimer object with the same structure
16342
+ * @returns any No response body
16343
+ * @throws ApiError
16344
+ */
16345
+ static aiMentorOrgsUsersDisclaimersRetrieve({
16346
+ org,
16347
+ userId
16348
+ }) {
16349
+ return request(OpenAPI, {
16350
+ method: 'GET',
16351
+ url: '/api/ai-mentor/orgs/{org}/users/{user_id}/disclaimers/',
16352
+ path: {
16353
+ 'org': org,
16354
+ 'user_id': userId
16355
+ }
16356
+ });
16357
+ }
16358
+ /**
16359
+ * ViewSet for managing mentor disclaimers.
16360
+ *
16361
+ * This viewset provides endpoints for creating and managing mentor disclaimers, which are
16362
+ * statements or information that mentors need to share with students.
16363
+ *
16364
+ * Permissions:
16365
+ * - Platform administrators have full CRUD access
16366
+ * - Students have read-only access
16367
+ * - Unauthenticated users have no access
16368
+ *
16369
+ * Endpoints:
16370
+ * - GET /api/orgs/{org}/users/{user_id}/disclaimers/ - List all disclaimers
16371
+ * - POST /api/orgs/{org}/users/{user_id}/disclaimers/ - Create a new disclaimer
16372
+ * - GET /api/orgs/{org}/users/{user_id}/disclaimers/{id}/ - Retrieve a specific disclaimer
16373
+ * - PUT/PATCH /api/orgs/{org}/users/{user_id}/disclaimers/{id}/ - Update a disclaimer
16374
+ * - POST /api/orgs/{org}/users/{user_id}/disclaimers/{id}/add_mentor/ - Add mentor to disclaimer
16375
+ * - POST /api/orgs/{org}/users/{user_id}/disclaimers/{id}/remove_mentor/ - Remove mentor from disclaimer
16376
+ *
16377
+ * Query Parameters:
16378
+ * - Supports filtering via DjangoFilterBackend
16379
+ * - See DisclaimerFilterSet for available filters
16380
+ *
16381
+ * Returns:
16382
+ * List endpoint returns paginated results with disclaimer objects:
16383
+ * {
16384
+ * "count": int,
16385
+ * "next": str,
16386
+ * "previous": str,
16387
+ * "results": [
16388
+ * {
16389
+ * "id": int,
16390
+ * "title": str,
16391
+ * "content": str,
16392
+ * "mentor": str,
16393
+ * "platform": str,
16394
+ * "created_at": datetime,
16395
+ * "updated_at": datetime
16396
+ * },
16397
+ * ...
16398
+ * ]
16399
+ * }
16400
+ *
16401
+ * Detail endpoints return a single disclaimer object with the same structure
16402
+ * @returns any No response body
16403
+ * @throws ApiError
16404
+ */
16405
+ static aiMentorOrgsUsersDisclaimersCreate({
16406
+ org,
16407
+ userId
16408
+ }) {
16409
+ return request(OpenAPI, {
16410
+ method: 'POST',
16411
+ url: '/api/ai-mentor/orgs/{org}/users/{user_id}/disclaimers/',
16412
+ path: {
16413
+ 'org': org,
16414
+ 'user_id': userId
16415
+ }
16416
+ });
16417
+ }
16418
+ /**
16419
+ * ViewSet for managing mentor disclaimers.
16420
+ *
16421
+ * This viewset provides endpoints for creating and managing mentor disclaimers, which are
16422
+ * statements or information that mentors need to share with students.
16423
+ *
16424
+ * Permissions:
16425
+ * - Platform administrators have full CRUD access
16426
+ * - Students have read-only access
16427
+ * - Unauthenticated users have no access
16428
+ *
16429
+ * Endpoints:
16430
+ * - GET /api/orgs/{org}/users/{user_id}/disclaimers/ - List all disclaimers
16431
+ * - POST /api/orgs/{org}/users/{user_id}/disclaimers/ - Create a new disclaimer
16432
+ * - GET /api/orgs/{org}/users/{user_id}/disclaimers/{id}/ - Retrieve a specific disclaimer
16433
+ * - PUT/PATCH /api/orgs/{org}/users/{user_id}/disclaimers/{id}/ - Update a disclaimer
16434
+ * - POST /api/orgs/{org}/users/{user_id}/disclaimers/{id}/add_mentor/ - Add mentor to disclaimer
16435
+ * - POST /api/orgs/{org}/users/{user_id}/disclaimers/{id}/remove_mentor/ - Remove mentor from disclaimer
16436
+ *
16437
+ * Query Parameters:
16438
+ * - Supports filtering via DjangoFilterBackend
16439
+ * - See DisclaimerFilterSet for available filters
16440
+ *
16441
+ * Returns:
16442
+ * List endpoint returns paginated results with disclaimer objects:
16443
+ * {
16444
+ * "count": int,
16445
+ * "next": str,
16446
+ * "previous": str,
16447
+ * "results": [
16448
+ * {
16449
+ * "id": int,
16450
+ * "title": str,
16451
+ * "content": str,
16452
+ * "mentor": str,
16453
+ * "platform": str,
16454
+ * "created_at": datetime,
16455
+ * "updated_at": datetime
16456
+ * },
16457
+ * ...
16458
+ * ]
16459
+ * }
16460
+ *
16461
+ * Detail endpoints return a single disclaimer object with the same structure
16462
+ * @returns any No response body
16463
+ * @throws ApiError
16464
+ */
16465
+ static aiMentorOrgsUsersDisclaimersRetrieve2({
16466
+ id,
16467
+ org,
16468
+ userId
16469
+ }) {
16470
+ return request(OpenAPI, {
16471
+ method: 'GET',
16472
+ url: '/api/ai-mentor/orgs/{org}/users/{user_id}/disclaimers/{id}/',
16473
+ path: {
16474
+ 'id': id,
16475
+ 'org': org,
16476
+ 'user_id': userId
16477
+ }
16478
+ });
16479
+ }
16480
+ /**
16481
+ * ViewSet for managing mentor disclaimers.
16482
+ *
16483
+ * This viewset provides endpoints for creating and managing mentor disclaimers, which are
16484
+ * statements or information that mentors need to share with students.
16485
+ *
16486
+ * Permissions:
16487
+ * - Platform administrators have full CRUD access
16488
+ * - Students have read-only access
16489
+ * - Unauthenticated users have no access
16490
+ *
16491
+ * Endpoints:
16492
+ * - GET /api/orgs/{org}/users/{user_id}/disclaimers/ - List all disclaimers
16493
+ * - POST /api/orgs/{org}/users/{user_id}/disclaimers/ - Create a new disclaimer
16494
+ * - GET /api/orgs/{org}/users/{user_id}/disclaimers/{id}/ - Retrieve a specific disclaimer
16495
+ * - PUT/PATCH /api/orgs/{org}/users/{user_id}/disclaimers/{id}/ - Update a disclaimer
16496
+ * - POST /api/orgs/{org}/users/{user_id}/disclaimers/{id}/add_mentor/ - Add mentor to disclaimer
16497
+ * - POST /api/orgs/{org}/users/{user_id}/disclaimers/{id}/remove_mentor/ - Remove mentor from disclaimer
16498
+ *
16499
+ * Query Parameters:
16500
+ * - Supports filtering via DjangoFilterBackend
16501
+ * - See DisclaimerFilterSet for available filters
16502
+ *
16503
+ * Returns:
16504
+ * List endpoint returns paginated results with disclaimer objects:
16505
+ * {
16506
+ * "count": int,
16507
+ * "next": str,
16508
+ * "previous": str,
16509
+ * "results": [
16510
+ * {
16511
+ * "id": int,
16512
+ * "title": str,
16513
+ * "content": str,
16514
+ * "mentor": str,
16515
+ * "platform": str,
16516
+ * "created_at": datetime,
16517
+ * "updated_at": datetime
16518
+ * },
16519
+ * ...
16520
+ * ]
16521
+ * }
16522
+ *
16523
+ * Detail endpoints return a single disclaimer object with the same structure
16524
+ * @returns any No response body
16525
+ * @throws ApiError
16526
+ */
16527
+ static aiMentorOrgsUsersDisclaimersUpdate({
16528
+ id,
16529
+ org,
16530
+ userId
16531
+ }) {
16532
+ return request(OpenAPI, {
16533
+ method: 'PUT',
16534
+ url: '/api/ai-mentor/orgs/{org}/users/{user_id}/disclaimers/{id}/',
16535
+ path: {
16536
+ 'id': id,
16537
+ 'org': org,
16538
+ 'user_id': userId
16539
+ }
16540
+ });
16541
+ }
16542
+ /**
16543
+ * ViewSet for managing mentor disclaimers.
16544
+ *
16545
+ * This viewset provides endpoints for creating and managing mentor disclaimers, which are
16546
+ * statements or information that mentors need to share with students.
16547
+ *
16548
+ * Permissions:
16549
+ * - Platform administrators have full CRUD access
16550
+ * - Students have read-only access
16551
+ * - Unauthenticated users have no access
16552
+ *
16553
+ * Endpoints:
16554
+ * - GET /api/orgs/{org}/users/{user_id}/disclaimers/ - List all disclaimers
16555
+ * - POST /api/orgs/{org}/users/{user_id}/disclaimers/ - Create a new disclaimer
16556
+ * - GET /api/orgs/{org}/users/{user_id}/disclaimers/{id}/ - Retrieve a specific disclaimer
16557
+ * - PUT/PATCH /api/orgs/{org}/users/{user_id}/disclaimers/{id}/ - Update a disclaimer
16558
+ * - POST /api/orgs/{org}/users/{user_id}/disclaimers/{id}/add_mentor/ - Add mentor to disclaimer
16559
+ * - POST /api/orgs/{org}/users/{user_id}/disclaimers/{id}/remove_mentor/ - Remove mentor from disclaimer
16560
+ *
16561
+ * Query Parameters:
16562
+ * - Supports filtering via DjangoFilterBackend
16563
+ * - See DisclaimerFilterSet for available filters
16564
+ *
16565
+ * Returns:
16566
+ * List endpoint returns paginated results with disclaimer objects:
16567
+ * {
16568
+ * "count": int,
16569
+ * "next": str,
16570
+ * "previous": str,
16571
+ * "results": [
16572
+ * {
16573
+ * "id": int,
16574
+ * "title": str,
16575
+ * "content": str,
16576
+ * "mentor": str,
16577
+ * "platform": str,
16578
+ * "created_at": datetime,
16579
+ * "updated_at": datetime
16580
+ * },
16581
+ * ...
16582
+ * ]
16583
+ * }
16584
+ *
16585
+ * Detail endpoints return a single disclaimer object with the same structure
16586
+ * @returns any No response body
16587
+ * @throws ApiError
16588
+ */
16589
+ static aiMentorOrgsUsersDisclaimersPartialUpdate({
16590
+ id,
16591
+ org,
16592
+ userId
16593
+ }) {
16594
+ return request(OpenAPI, {
16595
+ method: 'PATCH',
16596
+ url: '/api/ai-mentor/orgs/{org}/users/{user_id}/disclaimers/{id}/',
16597
+ path: {
16598
+ 'id': id,
16599
+ 'org': org,
16600
+ 'user_id': userId
16601
+ }
16602
+ });
16603
+ }
16604
+ /**
16605
+ * Add mentor to disclaimer
16606
+ * Add a mentor to a disclaimer with `mentor` scope. Only platform admins can perform this action.
16607
+ * @returns Disclaimer
16608
+ * @throws ApiError
16609
+ */
16610
+ static aiMentorOrgsUsersDisclaimersAddMentorCreate({
16611
+ id,
16612
+ org,
16613
+ userId,
16614
+ requestBody
16615
+ }) {
16616
+ return request(OpenAPI, {
16617
+ method: 'POST',
16618
+ url: '/api/ai-mentor/orgs/{org}/users/{user_id}/disclaimers/{id}/add-mentor/',
16619
+ path: {
16620
+ 'id': id,
16621
+ 'org': org,
16622
+ 'user_id': userId
16623
+ },
16624
+ body: requestBody,
16625
+ mediaType: 'application/json'
16626
+ });
16627
+ }
16628
+ /**
16629
+ * Remove mentor from disclaimer
16630
+ * Remove a mentor from a disclaimer with `mentor` scope. Only platform admins can perform this action. Validates that at least one mentor remains after removal.
16631
+ * @returns Disclaimer
16632
+ * @throws ApiError
16633
+ */
16634
+ static aiMentorOrgsUsersDisclaimersRemoveMentorCreate({
16635
+ id,
16636
+ org,
16637
+ userId,
16638
+ requestBody
16639
+ }) {
16640
+ return request(OpenAPI, {
16641
+ method: 'POST',
16642
+ url: '/api/ai-mentor/orgs/{org}/users/{user_id}/disclaimers/{id}/remove-mentor/',
16643
+ path: {
16644
+ 'id': id,
16645
+ 'org': org,
16646
+ 'user_id': userId
16647
+ },
16648
+ body: requestBody,
16649
+ mediaType: 'application/json'
16650
+ });
16651
+ }
15935
16652
  /**
15936
16653
  * Retrieves the chat history for a user if the export task is ready.
15937
16654
  *