@instructure/athena-api-client 4.0.1 → 4.0.2

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 (62) hide show
  1. package/README.md +16 -0
  2. package/dist/apis/StudyGuidesApi.d.ts +112 -0
  3. package/dist/apis/StudyGuidesApi.js +312 -0
  4. package/dist/apis/index.d.ts +1 -0
  5. package/dist/apis/index.js +1 -0
  6. package/dist/esm/apis/StudyGuidesApi.d.ts +112 -0
  7. package/dist/esm/apis/StudyGuidesApi.js +308 -0
  8. package/dist/esm/apis/index.d.ts +1 -0
  9. package/dist/esm/apis/index.js +1 -0
  10. package/dist/esm/models/AssociateUserFileRequest.d.ts +1 -0
  11. package/dist/esm/models/AssociateUserFileRequest.js +2 -1
  12. package/dist/esm/models/CreateStudyGuideQuizRequest.d.ts +46 -0
  13. package/dist/esm/models/CreateStudyGuideQuizRequest.js +50 -0
  14. package/dist/esm/models/CreateStudyGuideRequest.d.ts +74 -0
  15. package/dist/esm/models/CreateStudyGuideRequest.js +55 -0
  16. package/dist/esm/models/PaginatedStudyGuides.d.ts +39 -0
  17. package/dist/esm/models/PaginatedStudyGuides.js +48 -0
  18. package/dist/esm/models/RegenerateStudyGuideRequest.d.ts +38 -0
  19. package/dist/esm/models/RegenerateStudyGuideRequest.js +43 -0
  20. package/dist/esm/models/StudyGuide.d.ts +153 -0
  21. package/dist/esm/models/StudyGuide.js +127 -0
  22. package/dist/esm/models/StudyGuideConcept.d.ts +68 -0
  23. package/dist/esm/models/StudyGuideConcept.js +67 -0
  24. package/dist/esm/models/StudyGuideFile.d.ts +56 -0
  25. package/dist/esm/models/StudyGuideFile.js +59 -0
  26. package/dist/esm/models/StudyGuideListItem.d.ts +102 -0
  27. package/dist/esm/models/StudyGuideListItem.js +92 -0
  28. package/dist/esm/models/StudyGuideQuiz.d.ts +58 -0
  29. package/dist/esm/models/StudyGuideQuiz.js +62 -0
  30. package/dist/esm/models/StudyGuideSourceSummary.d.ts +56 -0
  31. package/dist/esm/models/StudyGuideSourceSummary.js +59 -0
  32. package/dist/esm/models/UserFileAssociation.d.ts +1 -0
  33. package/dist/esm/models/UserFileAssociation.js +2 -1
  34. package/dist/esm/models/index.d.ts +10 -0
  35. package/dist/esm/models/index.js +10 -0
  36. package/dist/models/AssociateUserFileRequest.d.ts +1 -0
  37. package/dist/models/AssociateUserFileRequest.js +2 -1
  38. package/dist/models/CreateStudyGuideQuizRequest.d.ts +46 -0
  39. package/dist/models/CreateStudyGuideQuizRequest.js +58 -0
  40. package/dist/models/CreateStudyGuideRequest.d.ts +74 -0
  41. package/dist/models/CreateStudyGuideRequest.js +62 -0
  42. package/dist/models/PaginatedStudyGuides.d.ts +39 -0
  43. package/dist/models/PaginatedStudyGuides.js +55 -0
  44. package/dist/models/RegenerateStudyGuideRequest.d.ts +38 -0
  45. package/dist/models/RegenerateStudyGuideRequest.js +50 -0
  46. package/dist/models/StudyGuide.d.ts +153 -0
  47. package/dist/models/StudyGuide.js +135 -0
  48. package/dist/models/StudyGuideConcept.d.ts +68 -0
  49. package/dist/models/StudyGuideConcept.js +74 -0
  50. package/dist/models/StudyGuideFile.d.ts +56 -0
  51. package/dist/models/StudyGuideFile.js +66 -0
  52. package/dist/models/StudyGuideListItem.d.ts +102 -0
  53. package/dist/models/StudyGuideListItem.js +100 -0
  54. package/dist/models/StudyGuideQuiz.d.ts +58 -0
  55. package/dist/models/StudyGuideQuiz.js +70 -0
  56. package/dist/models/StudyGuideSourceSummary.d.ts +56 -0
  57. package/dist/models/StudyGuideSourceSummary.js +66 -0
  58. package/dist/models/UserFileAssociation.d.ts +1 -0
  59. package/dist/models/UserFileAssociation.js +2 -1
  60. package/dist/models/index.d.ts +10 -0
  61. package/dist/models/index.js +10 -0
  62. package/package.json +1 -1
package/README.md CHANGED
@@ -163,6 +163,12 @@ All URIs are relative to *http://localhost:3000*
163
163
  *ServiceTokensApi* | [**updateServiceToken**](docs/ServiceTokensApi.md#updateservicetoken) | **PATCH** /api/v1/tokens/{id} | Update service token status
164
164
  *SharedQuizzesApi* | [**getSharedQuiz**](docs/SharedQuizzesApi.md#getsharedquiz) | **GET** /api/v1/shared-quizzes/{token} | Resolve a quiz share link
165
165
  *SharedQuizzesApi* | [**startSharedQuizSession**](docs/SharedQuizzesApi.md#startsharedquizsession) | **POST** /api/v1/shared-quizzes/{token}/sessions | Start or resume the caller\'s session on a shared quiz
166
+ *StudyGuidesApi* | [**createStudyGuide**](docs/StudyGuidesApi.md#createstudyguideoperation) | **POST** /api/v1/study-guides | Create a study guide and start generating it
167
+ *StudyGuidesApi* | [**createStudyGuideQuiz**](docs/StudyGuidesApi.md#createstudyguidequizoperation) | **POST** /api/v1/study-guides/{studyGuideId}/quizzes | Build a quiz or flashcard deck from a study guide
168
+ *StudyGuidesApi* | [**deleteStudyGuide**](docs/StudyGuidesApi.md#deletestudyguide) | **DELETE** /api/v1/study-guides/{studyGuideId} | Delete a study guide
169
+ *StudyGuidesApi* | [**getStudyGuide**](docs/StudyGuidesApi.md#getstudyguide) | **GET** /api/v1/study-guides/{studyGuideId} | Get a study guide with its concepts
170
+ *StudyGuidesApi* | [**listStudyGuides**](docs/StudyGuidesApi.md#liststudyguides) | **GET** /api/v1/study-guides | List the learner\'s study guides
171
+ *StudyGuidesApi* | [**regenerateStudyGuide**](docs/StudyGuidesApi.md#regeneratestudyguideoperation) | **POST** /api/v1/study-guides/{studyGuideId}/regenerate | Regenerate a study guide with more context
166
172
  *StudyObjectiveConceptsApi* | [**listStudyObjectiveConcepts**](docs/StudyObjectiveConceptsApi.md#liststudyobjectiveconcepts) | **GET** /api/v1/study-objective-concepts | List study-objective concept attachments
167
173
  *StudyObjectiveConceptsApi* | [**triggerStudyObjectiveConceptExtraction**](docs/StudyObjectiveConceptsApi.md#triggerstudyobjectiveconceptextractionoperation) | **POST** /api/v1/study-objective-concepts/extract | Trigger study-objective concept extraction
168
174
  *StudyObjectivesApi* | [**createObjectiveResource**](docs/StudyObjectivesApi.md#createobjectiveresource) | **POST** /api/v1/study-objectives/{studyObjectiveId}/resources | Attach a chat resource to a study objective
@@ -326,6 +332,8 @@ All URIs are relative to *http://localhost:3000*
326
332
  - [CreateObjectiveResourceDto](docs/CreateObjectiveResourceDto.md)
327
333
  - [CreatePlanDto](docs/CreatePlanDto.md)
328
334
  - [CreatePracticeQuizRequest](docs/CreatePracticeQuizRequest.md)
335
+ - [CreateStudyGuideQuizRequest](docs/CreateStudyGuideQuizRequest.md)
336
+ - [CreateStudyGuideRequest](docs/CreateStudyGuideRequest.md)
329
337
  - [CreateStudyObjectiveDto](docs/CreateStudyObjectiveDto.md)
330
338
  - [CreateStudyObjectiveDtoCanvasDocumentsInner](docs/CreateStudyObjectiveDtoCanvasDocumentsInner.md)
331
339
  - [CreateStudyObjectiveDtoCanvasObject](docs/CreateStudyObjectiveDtoCanvasObject.md)
@@ -361,6 +369,7 @@ All URIs are relative to *http://localhost:3000*
361
369
  - [PaginatedQuizSessions](docs/PaginatedQuizSessions.md)
362
370
  - [PaginatedQuizzes](docs/PaginatedQuizzes.md)
363
371
  - [PaginatedResources](docs/PaginatedResources.md)
372
+ - [PaginatedStudyGuides](docs/PaginatedStudyGuides.md)
364
373
  - [PaginatedStudyObjectives](docs/PaginatedStudyObjectives.md)
365
374
  - [PaginatedTaxonomies](docs/PaginatedTaxonomies.md)
366
375
  - [PaginatedUserConcepts](docs/PaginatedUserConcepts.md)
@@ -382,6 +391,7 @@ All URIs are relative to *http://localhost:3000*
382
391
  - [QuizSharing](docs/QuizSharing.md)
383
392
  - [QuizWithQuestions](docs/QuizWithQuestions.md)
384
393
  - [RecordQuizQuestionViewRequest](docs/RecordQuizQuestionViewRequest.md)
394
+ - [RegenerateStudyGuideRequest](docs/RegenerateStudyGuideRequest.md)
385
395
  - [ResourceActivity](docs/ResourceActivity.md)
386
396
  - [ResourceChat](docs/ResourceChat.md)
387
397
  - [ResourceListItem](docs/ResourceListItem.md)
@@ -394,6 +404,12 @@ All URIs are relative to *http://localhost:3000*
394
404
  - [ScoreByTypeValue](docs/ScoreByTypeValue.md)
395
405
  - [ServiceToken](docs/ServiceToken.md)
396
406
  - [SharedQuiz](docs/SharedQuiz.md)
407
+ - [StudyGuide](docs/StudyGuide.md)
408
+ - [StudyGuideConcept](docs/StudyGuideConcept.md)
409
+ - [StudyGuideFile](docs/StudyGuideFile.md)
410
+ - [StudyGuideListItem](docs/StudyGuideListItem.md)
411
+ - [StudyGuideQuiz](docs/StudyGuideQuiz.md)
412
+ - [StudyGuideSourceSummary](docs/StudyGuideSourceSummary.md)
397
413
  - [StudyObjective](docs/StudyObjective.md)
398
414
  - [StudyObjectiveAccess](docs/StudyObjectiveAccess.md)
399
415
  - [StudyObjectiveCanvasDocument](docs/StudyObjectiveCanvasDocument.md)
@@ -0,0 +1,112 @@
1
+ /**
2
+ * Athena API
3
+ * REST API for the Athena system
4
+ *
5
+ * The version of the OpenAPI document: 1.0.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ import * as runtime from '../runtime';
13
+ import type { CreateStudyGuideQuizRequest, CreateStudyGuideRequest, PaginatedStudyGuides, RegenerateStudyGuideRequest, StudyGuide, StudyGuideQuiz } from '../models/index';
14
+ export interface CreateStudyGuideOperationRequest {
15
+ xUserId: string;
16
+ createStudyGuideRequest: CreateStudyGuideRequest;
17
+ xCanvasDomain?: string;
18
+ xCanvasToken?: string;
19
+ }
20
+ export interface CreateStudyGuideQuizOperationRequest {
21
+ xUserId: string;
22
+ studyGuideId: string;
23
+ createStudyGuideQuizRequest: CreateStudyGuideQuizRequest;
24
+ }
25
+ export interface DeleteStudyGuideRequest {
26
+ xUserId: string;
27
+ studyGuideId: string;
28
+ }
29
+ export interface GetStudyGuideRequest {
30
+ xUserId: string;
31
+ studyGuideId: string;
32
+ }
33
+ export interface ListStudyGuidesRequest {
34
+ xUserId: string;
35
+ limit?: number;
36
+ cursor?: string;
37
+ studySpaceId?: string;
38
+ studyObjectiveId?: string;
39
+ courseId?: string;
40
+ }
41
+ export interface RegenerateStudyGuideOperationRequest {
42
+ xUserId: string;
43
+ studyGuideId: string;
44
+ regenerateStudyGuideRequest: RegenerateStudyGuideRequest;
45
+ xCanvasDomain?: string;
46
+ xCanvasToken?: string;
47
+ }
48
+ /**
49
+ *
50
+ */
51
+ export declare class StudyGuidesApi extends runtime.BaseAPI {
52
+ /**
53
+ * Creates a study guide for one assessment and starts generation in the background; the row comes back in status \'generating\' and the client polls GET /api/v1/study-guides/{studyGuideId}. Generation reads the linked Canvas assessment and course syllabus (with Canvas credentials), the linked study objective\'s notes, attachments and extracted concepts, the learner\'s own context, and any attached user files. It refuses (\'needs-context\') when none of that says what the assessment covers.
54
+ * Create a study guide and start generating it
55
+ */
56
+ createStudyGuideRaw(requestParameters: CreateStudyGuideOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<StudyGuide>>;
57
+ /**
58
+ * Creates a study guide for one assessment and starts generation in the background; the row comes back in status \'generating\' and the client polls GET /api/v1/study-guides/{studyGuideId}. Generation reads the linked Canvas assessment and course syllabus (with Canvas credentials), the linked study objective\'s notes, attachments and extracted concepts, the learner\'s own context, and any attached user files. It refuses (\'needs-context\') when none of that says what the assessment covers.
59
+ * Create a study guide and start generating it
60
+ */
61
+ createStudyGuide(requestParameters: CreateStudyGuideOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<StudyGuide>;
62
+ /**
63
+ * Generates and persists a quiz (or flashcard deck) from the guide\'s concepts, at least one question per concept, with every question bound to its concept id. Omit conceptIds for the whole guide. Synchronous: the response carries the quiz id to open a session on.
64
+ * Build a quiz or flashcard deck from a study guide
65
+ */
66
+ createStudyGuideQuizRaw(requestParameters: CreateStudyGuideQuizOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<StudyGuideQuiz>>;
67
+ /**
68
+ * Generates and persists a quiz (or flashcard deck) from the guide\'s concepts, at least one question per concept, with every question bound to its concept id. Omit conceptIds for the whole guide. Synchronous: the response carries the quiz id to open a session on.
69
+ * Build a quiz or flashcard deck from a study guide
70
+ */
71
+ createStudyGuideQuiz(requestParameters: CreateStudyGuideQuizOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<StudyGuideQuiz>;
72
+ /**
73
+ * Removes the guide and its concept list. Attached user files are detached, not deleted; quizzes built from the guide remain.
74
+ * Delete a study guide
75
+ */
76
+ deleteStudyGuideRaw(requestParameters: DeleteStudyGuideRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>>;
77
+ /**
78
+ * Removes the guide and its concept list. Attached user files are detached, not deleted; quizzes built from the guide remain.
79
+ * Delete a study guide
80
+ */
81
+ deleteStudyGuide(requestParameters: DeleteStudyGuideRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
82
+ /**
83
+ * Returns the guide, its concepts in display order, its attached files, and its generation status. Poll while status is \'generating\'.
84
+ * Get a study guide with its concepts
85
+ */
86
+ getStudyGuideRaw(requestParameters: GetStudyGuideRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<StudyGuide>>;
87
+ /**
88
+ * Returns the guide, its concepts in display order, its attached files, and its generation status. Poll while status is \'generating\'.
89
+ * Get a study guide with its concepts
90
+ */
91
+ getStudyGuide(requestParameters: GetStudyGuideRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<StudyGuide>;
92
+ /**
93
+ * Newest first, with a concept count per guide. Optionally scoped to a study space, study objective, or Canvas course.
94
+ * List the learner\'s study guides
95
+ */
96
+ listStudyGuidesRaw(requestParameters: ListStudyGuidesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PaginatedStudyGuides>>;
97
+ /**
98
+ * Newest first, with a concept count per guide. Optionally scoped to a study space, study objective, or Canvas course.
99
+ * List the learner\'s study guides
100
+ */
101
+ listStudyGuides(requestParameters: ListStudyGuidesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PaginatedStudyGuides>;
102
+ /**
103
+ * Appends the learner\'s additional context and files, then generates again. This is how a \'needs-context\' guide becomes a ready one. A ready guide can also be regenerated to refine it.
104
+ * Regenerate a study guide with more context
105
+ */
106
+ regenerateStudyGuideRaw(requestParameters: RegenerateStudyGuideOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<StudyGuide>>;
107
+ /**
108
+ * Appends the learner\'s additional context and files, then generates again. This is how a \'needs-context\' guide becomes a ready one. A ready guide can also be regenerated to refine it.
109
+ * Regenerate a study guide with more context
110
+ */
111
+ regenerateStudyGuide(requestParameters: RegenerateStudyGuideOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<StudyGuide>;
112
+ }
@@ -0,0 +1,312 @@
1
+ "use strict";
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ /**
5
+ * Athena API
6
+ * REST API for the Athena system
7
+ *
8
+ * The version of the OpenAPI document: 1.0.0
9
+ *
10
+ *
11
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
12
+ * https://openapi-generator.tech
13
+ * Do not edit the class manually.
14
+ */
15
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
16
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
17
+ return new (P || (P = Promise))(function (resolve, reject) {
18
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
19
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
20
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
21
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
22
+ });
23
+ };
24
+ Object.defineProperty(exports, "__esModule", { value: true });
25
+ exports.StudyGuidesApi = void 0;
26
+ const runtime = require("../runtime");
27
+ const index_1 = require("../models/index");
28
+ /**
29
+ *
30
+ */
31
+ class StudyGuidesApi extends runtime.BaseAPI {
32
+ /**
33
+ * Creates a study guide for one assessment and starts generation in the background; the row comes back in status \'generating\' and the client polls GET /api/v1/study-guides/{studyGuideId}. Generation reads the linked Canvas assessment and course syllabus (with Canvas credentials), the linked study objective\'s notes, attachments and extracted concepts, the learner\'s own context, and any attached user files. It refuses (\'needs-context\') when none of that says what the assessment covers.
34
+ * Create a study guide and start generating it
35
+ */
36
+ createStudyGuideRaw(requestParameters, initOverrides) {
37
+ return __awaiter(this, void 0, void 0, function* () {
38
+ if (requestParameters['xUserId'] == null) {
39
+ throw new runtime.RequiredError('xUserId', 'Required parameter "xUserId" was null or undefined when calling createStudyGuide().');
40
+ }
41
+ if (requestParameters['createStudyGuideRequest'] == null) {
42
+ throw new runtime.RequiredError('createStudyGuideRequest', 'Required parameter "createStudyGuideRequest" was null or undefined when calling createStudyGuide().');
43
+ }
44
+ const queryParameters = {};
45
+ const headerParameters = {};
46
+ headerParameters['Content-Type'] = 'application/json';
47
+ if (requestParameters['xUserId'] != null) {
48
+ headerParameters['X-User-Id'] = String(requestParameters['xUserId']);
49
+ }
50
+ if (requestParameters['xCanvasDomain'] != null) {
51
+ headerParameters['X-Canvas-Domain'] = String(requestParameters['xCanvasDomain']);
52
+ }
53
+ if (requestParameters['xCanvasToken'] != null) {
54
+ headerParameters['X-Canvas-Token'] = String(requestParameters['xCanvasToken']);
55
+ }
56
+ if (this.configuration && this.configuration.apiKey) {
57
+ headerParameters["X-Auth-Token"] = yield this.configuration.apiKey("X-Auth-Token"); // AuthToken authentication
58
+ }
59
+ let urlPath = `/api/v1/study-guides`;
60
+ const response = yield this.request({
61
+ path: urlPath,
62
+ method: 'POST',
63
+ headers: headerParameters,
64
+ query: queryParameters,
65
+ body: (0, index_1.CreateStudyGuideRequestToJSON)(requestParameters['createStudyGuideRequest']),
66
+ }, initOverrides);
67
+ return new runtime.JSONApiResponse(response, (jsonValue) => (0, index_1.StudyGuideFromJSON)(jsonValue));
68
+ });
69
+ }
70
+ /**
71
+ * Creates a study guide for one assessment and starts generation in the background; the row comes back in status \'generating\' and the client polls GET /api/v1/study-guides/{studyGuideId}. Generation reads the linked Canvas assessment and course syllabus (with Canvas credentials), the linked study objective\'s notes, attachments and extracted concepts, the learner\'s own context, and any attached user files. It refuses (\'needs-context\') when none of that says what the assessment covers.
72
+ * Create a study guide and start generating it
73
+ */
74
+ createStudyGuide(requestParameters, initOverrides) {
75
+ return __awaiter(this, void 0, void 0, function* () {
76
+ const response = yield this.createStudyGuideRaw(requestParameters, initOverrides);
77
+ return yield response.value();
78
+ });
79
+ }
80
+ /**
81
+ * Generates and persists a quiz (or flashcard deck) from the guide\'s concepts, at least one question per concept, with every question bound to its concept id. Omit conceptIds for the whole guide. Synchronous: the response carries the quiz id to open a session on.
82
+ * Build a quiz or flashcard deck from a study guide
83
+ */
84
+ createStudyGuideQuizRaw(requestParameters, initOverrides) {
85
+ return __awaiter(this, void 0, void 0, function* () {
86
+ if (requestParameters['xUserId'] == null) {
87
+ throw new runtime.RequiredError('xUserId', 'Required parameter "xUserId" was null or undefined when calling createStudyGuideQuiz().');
88
+ }
89
+ if (requestParameters['studyGuideId'] == null) {
90
+ throw new runtime.RequiredError('studyGuideId', 'Required parameter "studyGuideId" was null or undefined when calling createStudyGuideQuiz().');
91
+ }
92
+ if (requestParameters['createStudyGuideQuizRequest'] == null) {
93
+ throw new runtime.RequiredError('createStudyGuideQuizRequest', 'Required parameter "createStudyGuideQuizRequest" was null or undefined when calling createStudyGuideQuiz().');
94
+ }
95
+ const queryParameters = {};
96
+ const headerParameters = {};
97
+ headerParameters['Content-Type'] = 'application/json';
98
+ if (requestParameters['xUserId'] != null) {
99
+ headerParameters['X-User-Id'] = String(requestParameters['xUserId']);
100
+ }
101
+ if (this.configuration && this.configuration.apiKey) {
102
+ headerParameters["X-Auth-Token"] = yield this.configuration.apiKey("X-Auth-Token"); // AuthToken authentication
103
+ }
104
+ let urlPath = `/api/v1/study-guides/{studyGuideId}/quizzes`;
105
+ urlPath = urlPath.replace(`{${"studyGuideId"}}`, encodeURIComponent(String(requestParameters['studyGuideId'])));
106
+ const response = yield this.request({
107
+ path: urlPath,
108
+ method: 'POST',
109
+ headers: headerParameters,
110
+ query: queryParameters,
111
+ body: (0, index_1.CreateStudyGuideQuizRequestToJSON)(requestParameters['createStudyGuideQuizRequest']),
112
+ }, initOverrides);
113
+ return new runtime.JSONApiResponse(response, (jsonValue) => (0, index_1.StudyGuideQuizFromJSON)(jsonValue));
114
+ });
115
+ }
116
+ /**
117
+ * Generates and persists a quiz (or flashcard deck) from the guide\'s concepts, at least one question per concept, with every question bound to its concept id. Omit conceptIds for the whole guide. Synchronous: the response carries the quiz id to open a session on.
118
+ * Build a quiz or flashcard deck from a study guide
119
+ */
120
+ createStudyGuideQuiz(requestParameters, initOverrides) {
121
+ return __awaiter(this, void 0, void 0, function* () {
122
+ const response = yield this.createStudyGuideQuizRaw(requestParameters, initOverrides);
123
+ return yield response.value();
124
+ });
125
+ }
126
+ /**
127
+ * Removes the guide and its concept list. Attached user files are detached, not deleted; quizzes built from the guide remain.
128
+ * Delete a study guide
129
+ */
130
+ deleteStudyGuideRaw(requestParameters, initOverrides) {
131
+ return __awaiter(this, void 0, void 0, function* () {
132
+ if (requestParameters['xUserId'] == null) {
133
+ throw new runtime.RequiredError('xUserId', 'Required parameter "xUserId" was null or undefined when calling deleteStudyGuide().');
134
+ }
135
+ if (requestParameters['studyGuideId'] == null) {
136
+ throw new runtime.RequiredError('studyGuideId', 'Required parameter "studyGuideId" was null or undefined when calling deleteStudyGuide().');
137
+ }
138
+ const queryParameters = {};
139
+ const headerParameters = {};
140
+ if (requestParameters['xUserId'] != null) {
141
+ headerParameters['X-User-Id'] = String(requestParameters['xUserId']);
142
+ }
143
+ if (this.configuration && this.configuration.apiKey) {
144
+ headerParameters["X-Auth-Token"] = yield this.configuration.apiKey("X-Auth-Token"); // AuthToken authentication
145
+ }
146
+ let urlPath = `/api/v1/study-guides/{studyGuideId}`;
147
+ urlPath = urlPath.replace(`{${"studyGuideId"}}`, encodeURIComponent(String(requestParameters['studyGuideId'])));
148
+ const response = yield this.request({
149
+ path: urlPath,
150
+ method: 'DELETE',
151
+ headers: headerParameters,
152
+ query: queryParameters,
153
+ }, initOverrides);
154
+ return new runtime.VoidApiResponse(response);
155
+ });
156
+ }
157
+ /**
158
+ * Removes the guide and its concept list. Attached user files are detached, not deleted; quizzes built from the guide remain.
159
+ * Delete a study guide
160
+ */
161
+ deleteStudyGuide(requestParameters, initOverrides) {
162
+ return __awaiter(this, void 0, void 0, function* () {
163
+ yield this.deleteStudyGuideRaw(requestParameters, initOverrides);
164
+ });
165
+ }
166
+ /**
167
+ * Returns the guide, its concepts in display order, its attached files, and its generation status. Poll while status is \'generating\'.
168
+ * Get a study guide with its concepts
169
+ */
170
+ getStudyGuideRaw(requestParameters, initOverrides) {
171
+ return __awaiter(this, void 0, void 0, function* () {
172
+ if (requestParameters['xUserId'] == null) {
173
+ throw new runtime.RequiredError('xUserId', 'Required parameter "xUserId" was null or undefined when calling getStudyGuide().');
174
+ }
175
+ if (requestParameters['studyGuideId'] == null) {
176
+ throw new runtime.RequiredError('studyGuideId', 'Required parameter "studyGuideId" was null or undefined when calling getStudyGuide().');
177
+ }
178
+ const queryParameters = {};
179
+ const headerParameters = {};
180
+ if (requestParameters['xUserId'] != null) {
181
+ headerParameters['X-User-Id'] = String(requestParameters['xUserId']);
182
+ }
183
+ if (this.configuration && this.configuration.apiKey) {
184
+ headerParameters["X-Auth-Token"] = yield this.configuration.apiKey("X-Auth-Token"); // AuthToken authentication
185
+ }
186
+ let urlPath = `/api/v1/study-guides/{studyGuideId}`;
187
+ urlPath = urlPath.replace(`{${"studyGuideId"}}`, encodeURIComponent(String(requestParameters['studyGuideId'])));
188
+ const response = yield this.request({
189
+ path: urlPath,
190
+ method: 'GET',
191
+ headers: headerParameters,
192
+ query: queryParameters,
193
+ }, initOverrides);
194
+ return new runtime.JSONApiResponse(response, (jsonValue) => (0, index_1.StudyGuideFromJSON)(jsonValue));
195
+ });
196
+ }
197
+ /**
198
+ * Returns the guide, its concepts in display order, its attached files, and its generation status. Poll while status is \'generating\'.
199
+ * Get a study guide with its concepts
200
+ */
201
+ getStudyGuide(requestParameters, initOverrides) {
202
+ return __awaiter(this, void 0, void 0, function* () {
203
+ const response = yield this.getStudyGuideRaw(requestParameters, initOverrides);
204
+ return yield response.value();
205
+ });
206
+ }
207
+ /**
208
+ * Newest first, with a concept count per guide. Optionally scoped to a study space, study objective, or Canvas course.
209
+ * List the learner\'s study guides
210
+ */
211
+ listStudyGuidesRaw(requestParameters, initOverrides) {
212
+ return __awaiter(this, void 0, void 0, function* () {
213
+ if (requestParameters['xUserId'] == null) {
214
+ throw new runtime.RequiredError('xUserId', 'Required parameter "xUserId" was null or undefined when calling listStudyGuides().');
215
+ }
216
+ const queryParameters = {};
217
+ if (requestParameters['limit'] != null) {
218
+ queryParameters['limit'] = requestParameters['limit'];
219
+ }
220
+ if (requestParameters['cursor'] != null) {
221
+ queryParameters['cursor'] = requestParameters['cursor'];
222
+ }
223
+ if (requestParameters['studySpaceId'] != null) {
224
+ queryParameters['studySpaceId'] = requestParameters['studySpaceId'];
225
+ }
226
+ if (requestParameters['studyObjectiveId'] != null) {
227
+ queryParameters['studyObjectiveId'] = requestParameters['studyObjectiveId'];
228
+ }
229
+ if (requestParameters['courseId'] != null) {
230
+ queryParameters['courseId'] = requestParameters['courseId'];
231
+ }
232
+ const headerParameters = {};
233
+ if (requestParameters['xUserId'] != null) {
234
+ headerParameters['X-User-Id'] = String(requestParameters['xUserId']);
235
+ }
236
+ if (this.configuration && this.configuration.apiKey) {
237
+ headerParameters["X-Auth-Token"] = yield this.configuration.apiKey("X-Auth-Token"); // AuthToken authentication
238
+ }
239
+ let urlPath = `/api/v1/study-guides`;
240
+ const response = yield this.request({
241
+ path: urlPath,
242
+ method: 'GET',
243
+ headers: headerParameters,
244
+ query: queryParameters,
245
+ }, initOverrides);
246
+ return new runtime.JSONApiResponse(response, (jsonValue) => (0, index_1.PaginatedStudyGuidesFromJSON)(jsonValue));
247
+ });
248
+ }
249
+ /**
250
+ * Newest first, with a concept count per guide. Optionally scoped to a study space, study objective, or Canvas course.
251
+ * List the learner\'s study guides
252
+ */
253
+ listStudyGuides(requestParameters, initOverrides) {
254
+ return __awaiter(this, void 0, void 0, function* () {
255
+ const response = yield this.listStudyGuidesRaw(requestParameters, initOverrides);
256
+ return yield response.value();
257
+ });
258
+ }
259
+ /**
260
+ * Appends the learner\'s additional context and files, then generates again. This is how a \'needs-context\' guide becomes a ready one. A ready guide can also be regenerated to refine it.
261
+ * Regenerate a study guide with more context
262
+ */
263
+ regenerateStudyGuideRaw(requestParameters, initOverrides) {
264
+ return __awaiter(this, void 0, void 0, function* () {
265
+ if (requestParameters['xUserId'] == null) {
266
+ throw new runtime.RequiredError('xUserId', 'Required parameter "xUserId" was null or undefined when calling regenerateStudyGuide().');
267
+ }
268
+ if (requestParameters['studyGuideId'] == null) {
269
+ throw new runtime.RequiredError('studyGuideId', 'Required parameter "studyGuideId" was null or undefined when calling regenerateStudyGuide().');
270
+ }
271
+ if (requestParameters['regenerateStudyGuideRequest'] == null) {
272
+ throw new runtime.RequiredError('regenerateStudyGuideRequest', 'Required parameter "regenerateStudyGuideRequest" was null or undefined when calling regenerateStudyGuide().');
273
+ }
274
+ const queryParameters = {};
275
+ const headerParameters = {};
276
+ headerParameters['Content-Type'] = 'application/json';
277
+ if (requestParameters['xUserId'] != null) {
278
+ headerParameters['X-User-Id'] = String(requestParameters['xUserId']);
279
+ }
280
+ if (requestParameters['xCanvasDomain'] != null) {
281
+ headerParameters['X-Canvas-Domain'] = String(requestParameters['xCanvasDomain']);
282
+ }
283
+ if (requestParameters['xCanvasToken'] != null) {
284
+ headerParameters['X-Canvas-Token'] = String(requestParameters['xCanvasToken']);
285
+ }
286
+ if (this.configuration && this.configuration.apiKey) {
287
+ headerParameters["X-Auth-Token"] = yield this.configuration.apiKey("X-Auth-Token"); // AuthToken authentication
288
+ }
289
+ let urlPath = `/api/v1/study-guides/{studyGuideId}/regenerate`;
290
+ urlPath = urlPath.replace(`{${"studyGuideId"}}`, encodeURIComponent(String(requestParameters['studyGuideId'])));
291
+ const response = yield this.request({
292
+ path: urlPath,
293
+ method: 'POST',
294
+ headers: headerParameters,
295
+ query: queryParameters,
296
+ body: (0, index_1.RegenerateStudyGuideRequestToJSON)(requestParameters['regenerateStudyGuideRequest']),
297
+ }, initOverrides);
298
+ return new runtime.JSONApiResponse(response, (jsonValue) => (0, index_1.StudyGuideFromJSON)(jsonValue));
299
+ });
300
+ }
301
+ /**
302
+ * Appends the learner\'s additional context and files, then generates again. This is how a \'needs-context\' guide becomes a ready one. A ready guide can also be regenerated to refine it.
303
+ * Regenerate a study guide with more context
304
+ */
305
+ regenerateStudyGuide(requestParameters, initOverrides) {
306
+ return __awaiter(this, void 0, void 0, function* () {
307
+ const response = yield this.regenerateStudyGuideRaw(requestParameters, initOverrides);
308
+ return yield response.value();
309
+ });
310
+ }
311
+ }
312
+ exports.StudyGuidesApi = StudyGuidesApi;
@@ -23,6 +23,7 @@ export * from './QuizzesApi';
23
23
  export * from './ResourcesApi';
24
24
  export * from './ServiceTokensApi';
25
25
  export * from './SharedQuizzesApi';
26
+ export * from './StudyGuidesApi';
26
27
  export * from './StudyObjectiveConceptsApi';
27
28
  export * from './StudyObjectivesApi';
28
29
  export * from './StudyPlansApi';
@@ -41,6 +41,7 @@ __exportStar(require("./QuizzesApi"), exports);
41
41
  __exportStar(require("./ResourcesApi"), exports);
42
42
  __exportStar(require("./ServiceTokensApi"), exports);
43
43
  __exportStar(require("./SharedQuizzesApi"), exports);
44
+ __exportStar(require("./StudyGuidesApi"), exports);
44
45
  __exportStar(require("./StudyObjectiveConceptsApi"), exports);
45
46
  __exportStar(require("./StudyObjectivesApi"), exports);
46
47
  __exportStar(require("./StudyPlansApi"), exports);
@@ -0,0 +1,112 @@
1
+ /**
2
+ * Athena API
3
+ * REST API for the Athena system
4
+ *
5
+ * The version of the OpenAPI document: 1.0.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ import * as runtime from '../runtime';
13
+ import type { CreateStudyGuideQuizRequest, CreateStudyGuideRequest, PaginatedStudyGuides, RegenerateStudyGuideRequest, StudyGuide, StudyGuideQuiz } from '../models/index';
14
+ export interface CreateStudyGuideOperationRequest {
15
+ xUserId: string;
16
+ createStudyGuideRequest: CreateStudyGuideRequest;
17
+ xCanvasDomain?: string;
18
+ xCanvasToken?: string;
19
+ }
20
+ export interface CreateStudyGuideQuizOperationRequest {
21
+ xUserId: string;
22
+ studyGuideId: string;
23
+ createStudyGuideQuizRequest: CreateStudyGuideQuizRequest;
24
+ }
25
+ export interface DeleteStudyGuideRequest {
26
+ xUserId: string;
27
+ studyGuideId: string;
28
+ }
29
+ export interface GetStudyGuideRequest {
30
+ xUserId: string;
31
+ studyGuideId: string;
32
+ }
33
+ export interface ListStudyGuidesRequest {
34
+ xUserId: string;
35
+ limit?: number;
36
+ cursor?: string;
37
+ studySpaceId?: string;
38
+ studyObjectiveId?: string;
39
+ courseId?: string;
40
+ }
41
+ export interface RegenerateStudyGuideOperationRequest {
42
+ xUserId: string;
43
+ studyGuideId: string;
44
+ regenerateStudyGuideRequest: RegenerateStudyGuideRequest;
45
+ xCanvasDomain?: string;
46
+ xCanvasToken?: string;
47
+ }
48
+ /**
49
+ *
50
+ */
51
+ export declare class StudyGuidesApi extends runtime.BaseAPI {
52
+ /**
53
+ * Creates a study guide for one assessment and starts generation in the background; the row comes back in status \'generating\' and the client polls GET /api/v1/study-guides/{studyGuideId}. Generation reads the linked Canvas assessment and course syllabus (with Canvas credentials), the linked study objective\'s notes, attachments and extracted concepts, the learner\'s own context, and any attached user files. It refuses (\'needs-context\') when none of that says what the assessment covers.
54
+ * Create a study guide and start generating it
55
+ */
56
+ createStudyGuideRaw(requestParameters: CreateStudyGuideOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<StudyGuide>>;
57
+ /**
58
+ * Creates a study guide for one assessment and starts generation in the background; the row comes back in status \'generating\' and the client polls GET /api/v1/study-guides/{studyGuideId}. Generation reads the linked Canvas assessment and course syllabus (with Canvas credentials), the linked study objective\'s notes, attachments and extracted concepts, the learner\'s own context, and any attached user files. It refuses (\'needs-context\') when none of that says what the assessment covers.
59
+ * Create a study guide and start generating it
60
+ */
61
+ createStudyGuide(requestParameters: CreateStudyGuideOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<StudyGuide>;
62
+ /**
63
+ * Generates and persists a quiz (or flashcard deck) from the guide\'s concepts, at least one question per concept, with every question bound to its concept id. Omit conceptIds for the whole guide. Synchronous: the response carries the quiz id to open a session on.
64
+ * Build a quiz or flashcard deck from a study guide
65
+ */
66
+ createStudyGuideQuizRaw(requestParameters: CreateStudyGuideQuizOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<StudyGuideQuiz>>;
67
+ /**
68
+ * Generates and persists a quiz (or flashcard deck) from the guide\'s concepts, at least one question per concept, with every question bound to its concept id. Omit conceptIds for the whole guide. Synchronous: the response carries the quiz id to open a session on.
69
+ * Build a quiz or flashcard deck from a study guide
70
+ */
71
+ createStudyGuideQuiz(requestParameters: CreateStudyGuideQuizOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<StudyGuideQuiz>;
72
+ /**
73
+ * Removes the guide and its concept list. Attached user files are detached, not deleted; quizzes built from the guide remain.
74
+ * Delete a study guide
75
+ */
76
+ deleteStudyGuideRaw(requestParameters: DeleteStudyGuideRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>>;
77
+ /**
78
+ * Removes the guide and its concept list. Attached user files are detached, not deleted; quizzes built from the guide remain.
79
+ * Delete a study guide
80
+ */
81
+ deleteStudyGuide(requestParameters: DeleteStudyGuideRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
82
+ /**
83
+ * Returns the guide, its concepts in display order, its attached files, and its generation status. Poll while status is \'generating\'.
84
+ * Get a study guide with its concepts
85
+ */
86
+ getStudyGuideRaw(requestParameters: GetStudyGuideRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<StudyGuide>>;
87
+ /**
88
+ * Returns the guide, its concepts in display order, its attached files, and its generation status. Poll while status is \'generating\'.
89
+ * Get a study guide with its concepts
90
+ */
91
+ getStudyGuide(requestParameters: GetStudyGuideRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<StudyGuide>;
92
+ /**
93
+ * Newest first, with a concept count per guide. Optionally scoped to a study space, study objective, or Canvas course.
94
+ * List the learner\'s study guides
95
+ */
96
+ listStudyGuidesRaw(requestParameters: ListStudyGuidesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PaginatedStudyGuides>>;
97
+ /**
98
+ * Newest first, with a concept count per guide. Optionally scoped to a study space, study objective, or Canvas course.
99
+ * List the learner\'s study guides
100
+ */
101
+ listStudyGuides(requestParameters: ListStudyGuidesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PaginatedStudyGuides>;
102
+ /**
103
+ * Appends the learner\'s additional context and files, then generates again. This is how a \'needs-context\' guide becomes a ready one. A ready guide can also be regenerated to refine it.
104
+ * Regenerate a study guide with more context
105
+ */
106
+ regenerateStudyGuideRaw(requestParameters: RegenerateStudyGuideOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<StudyGuide>>;
107
+ /**
108
+ * Appends the learner\'s additional context and files, then generates again. This is how a \'needs-context\' guide becomes a ready one. A ready guide can also be regenerated to refine it.
109
+ * Regenerate a study guide with more context
110
+ */
111
+ regenerateStudyGuide(requestParameters: RegenerateStudyGuideOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<StudyGuide>;
112
+ }