@instructure/athena-api-client 3.42.2 → 3.44.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.
Files changed (42) hide show
  1. package/README.md +2 -0
  2. package/dist/esm/models/ChatRequestMessageMetadata.d.ts +14 -1
  3. package/dist/esm/models/ChatRequestMessageMetadata.js +8 -0
  4. package/dist/esm/models/ChatRequestQuizSettings.d.ts +19 -0
  5. package/dist/esm/models/ChatRequestQuizSettings.js +10 -0
  6. package/dist/esm/models/Quiz.d.ts +7 -0
  7. package/dist/esm/models/Quiz.js +3 -0
  8. package/dist/esm/models/QuizBasisSnapshot.d.ts +76 -0
  9. package/dist/esm/models/QuizBasisSnapshot.js +77 -0
  10. package/dist/esm/models/QuizListItem.d.ts +7 -0
  11. package/dist/esm/models/QuizListItem.js +3 -0
  12. package/dist/esm/models/QuizWithQuestions.d.ts +7 -0
  13. package/dist/esm/models/QuizWithQuestions.js +3 -0
  14. package/dist/esm/models/StudyObjective.d.ts +28 -0
  15. package/dist/esm/models/StudyObjective.js +15 -0
  16. package/dist/esm/models/StudyObjectiveAccess.d.ts +159 -0
  17. package/dist/esm/models/StudyObjectiveAccess.js +136 -0
  18. package/dist/esm/models/UpcomingStudyObjective.d.ts +28 -0
  19. package/dist/esm/models/UpcomingStudyObjective.js +15 -0
  20. package/dist/esm/models/index.d.ts +2 -0
  21. package/dist/esm/models/index.js +2 -0
  22. package/dist/models/ChatRequestMessageMetadata.d.ts +14 -1
  23. package/dist/models/ChatRequestMessageMetadata.js +9 -0
  24. package/dist/models/ChatRequestQuizSettings.d.ts +19 -0
  25. package/dist/models/ChatRequestQuizSettings.js +11 -1
  26. package/dist/models/Quiz.d.ts +7 -0
  27. package/dist/models/Quiz.js +3 -0
  28. package/dist/models/QuizBasisSnapshot.d.ts +76 -0
  29. package/dist/models/QuizBasisSnapshot.js +85 -0
  30. package/dist/models/QuizListItem.d.ts +7 -0
  31. package/dist/models/QuizListItem.js +3 -0
  32. package/dist/models/QuizWithQuestions.d.ts +7 -0
  33. package/dist/models/QuizWithQuestions.js +3 -0
  34. package/dist/models/StudyObjective.d.ts +28 -0
  35. package/dist/models/StudyObjective.js +16 -1
  36. package/dist/models/StudyObjectiveAccess.d.ts +159 -0
  37. package/dist/models/StudyObjectiveAccess.js +144 -0
  38. package/dist/models/UpcomingStudyObjective.d.ts +28 -0
  39. package/dist/models/UpcomingStudyObjective.js +16 -1
  40. package/dist/models/index.d.ts +2 -0
  41. package/dist/models/index.js +2 -0
  42. package/package.json +1 -1
@@ -0,0 +1,159 @@
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
+ /**
13
+ *
14
+ * @export
15
+ * @interface StudyObjectiveAccess
16
+ */
17
+ export interface StudyObjectiveAccess {
18
+ /**
19
+ * What the Canvas item's course gives Athena to go on: 'grounded' (some material Athena can read: a syllabus, the item's own text, or readable course files), 'unknown' (Athena can't tell; see unknownReason), 'unreadable' (nothing readable, but locked files or external-tool items exist that Athena cannot open), or 'thin' (the item's title and dates only).
20
+ * @type {string}
21
+ * @memberof StudyObjectiveAccess
22
+ */
23
+ state: StudyObjectiveAccessStateEnum;
24
+ /**
25
+ * Why state is 'unknown'; null otherwise. 'pages-only': the course's only candidate material is module pages, which Athena counts but does not open. 'listing-denied': Canvas refused the files or modules listing (for example a hidden Files tab) and nothing Athena could read grounds the course, so it can't say what that listing holds.
26
+ * @type {string}
27
+ * @memberof StudyObjectiveAccess
28
+ */
29
+ unknownReason: StudyObjectiveAccessUnknownReasonEnum | null;
30
+ /**
31
+ * Whether anything says what this item covers, for this learner: the item's own text (description or page body), or topics this learner's syllabus analysis found for the assessment with the same title. A syllabus that only names the item does not count.
32
+ * @type {boolean}
33
+ * @memberof StudyObjectiveAccess
34
+ */
35
+ scopeKnown: boolean;
36
+ /**
37
+ * Why scopeKnown is true; null when it is false. 'item-text', 'syllabus-topics', or 'syllabus-legacy' (the paired syllabus assessment was analysed before topic counts were stored, so its scope is presumed known).
38
+ * @type {string}
39
+ * @memberof StudyObjectiveAccess
40
+ */
41
+ scopeKnownReason: StudyObjectiveAccessScopeKnownReasonEnum | null;
42
+ /**
43
+ * Where a syllabus long enough to count as material came from; 'none' when no syllabus counted (absent, or a stub).
44
+ * @type {string}
45
+ * @memberof StudyObjectiveAccess
46
+ */
47
+ syllabusSource: StudyObjectiveAccessSyllabusSourceEnum;
48
+ /**
49
+ * Course files Athena could read (supported types, visible and unlocked), from the course files list. Null when the files list could not be read.
50
+ * @type {number}
51
+ * @memberof StudyObjectiveAccess
52
+ */
53
+ readableFileCount: number | null;
54
+ /**
55
+ * Course files of a supported type that are locked for the learner. Null when the files list could not be read.
56
+ * @type {number}
57
+ * @memberof StudyObjectiveAccess
58
+ */
59
+ lockedFileCount: number | null;
60
+ /**
61
+ * Published module items of type Page. Counted from the module listing; pages are not opened. Null when modules could not be listed.
62
+ * @type {number}
63
+ * @memberof StudyObjectiveAccess
64
+ */
65
+ modulePageCount: number | null;
66
+ /**
67
+ * Published module items that open in an external tool Athena cannot read. Null when modules could not be listed.
68
+ * @type {number}
69
+ * @memberof StudyObjectiveAccess
70
+ */
71
+ externalToolItemCount: number | null;
72
+ /**
73
+ * Readable files in the module that holds this item (a quiz or assignment): checked against the course files list, or, when Canvas refused that list (rule 4 on), counted from the module's own File items. Null when the item is in no module, is another kind of item, or modules could not be listed.
74
+ * @type {number}
75
+ * @memberof StudyObjectiveAccess
76
+ */
77
+ moduleSiblingFileCount: number | null;
78
+ /**
79
+ * Published pages in the module that holds this item (counted, not opened). Null when the item is in no module, is another kind of item, or modules could not be listed; a files list that could not be read leaves it set.
80
+ * @type {number}
81
+ * @memberof StudyObjectiveAccess
82
+ */
83
+ moduleSiblingPageCount: number | null;
84
+ /**
85
+ * Readable files the course publishes through Modules (File items of a supported type, not locked for the learner; one per file). The file count to name only when readableFileCount is null (Canvas refused the course files list, e.g. a hidden Files tab); never add it to readableFileCount, since module links point at listed files. Null when modules could not be listed, and on facts read before rule 4.
86
+ * @type {number}
87
+ * @memberof StudyObjectiveAccess
88
+ */
89
+ moduleReadableFileCount: number | null;
90
+ /**
91
+ * Files of a supported type published through Modules that are locked for the learner (one per file). Read only when readableFileCount is null, like moduleReadableFileCount. Null when modules could not be listed, and on facts read before rule 4.
92
+ * @type {number}
93
+ * @memberof StudyObjectiveAccess
94
+ */
95
+ moduleLockedFileCount: number | null;
96
+ /**
97
+ * Version of the rule that produced `state`, for joining client analytics to the rule that was live.
98
+ * @type {number}
99
+ * @memberof StudyObjectiveAccess
100
+ */
101
+ ruleVersion: number;
102
+ /**
103
+ * When these facts were read from Canvas.
104
+ * @type {Date}
105
+ * @memberof StudyObjectiveAccess
106
+ */
107
+ readAt: Date;
108
+ /**
109
+ * Topics the learner's syllabus schedule suggests this item covers, inferred by syllabus analysis, for the scope box to offer as Athena's best guess. Null while `scopeKnown` is true, when the learner has given a scope of their own, or when their syllabus suggests nothing. A suggestion is not evidence: it never sets `scopeKnown`.
110
+ * @type {Array<string>}
111
+ * @memberof StudyObjectiveAccess
112
+ */
113
+ suggestedScope: Array<string> | null;
114
+ }
115
+ /**
116
+ * @export
117
+ */
118
+ export declare const StudyObjectiveAccessStateEnum: {
119
+ readonly Grounded: "grounded";
120
+ readonly Thin: "thin";
121
+ readonly Unreadable: "unreadable";
122
+ readonly Unknown: "unknown";
123
+ };
124
+ export type StudyObjectiveAccessStateEnum = typeof StudyObjectiveAccessStateEnum[keyof typeof StudyObjectiveAccessStateEnum];
125
+ /**
126
+ * @export
127
+ */
128
+ export declare const StudyObjectiveAccessUnknownReasonEnum: {
129
+ readonly PagesOnly: "pages-only";
130
+ readonly ListingDenied: "listing-denied";
131
+ };
132
+ export type StudyObjectiveAccessUnknownReasonEnum = typeof StudyObjectiveAccessUnknownReasonEnum[keyof typeof StudyObjectiveAccessUnknownReasonEnum];
133
+ /**
134
+ * @export
135
+ */
136
+ export declare const StudyObjectiveAccessScopeKnownReasonEnum: {
137
+ readonly ItemText: "item-text";
138
+ readonly SyllabusTopics: "syllabus-topics";
139
+ readonly SyllabusLegacy: "syllabus-legacy";
140
+ };
141
+ export type StudyObjectiveAccessScopeKnownReasonEnum = typeof StudyObjectiveAccessScopeKnownReasonEnum[keyof typeof StudyObjectiveAccessScopeKnownReasonEnum];
142
+ /**
143
+ * @export
144
+ */
145
+ export declare const StudyObjectiveAccessSyllabusSourceEnum: {
146
+ readonly Inline: "inline";
147
+ readonly Stored: "stored";
148
+ readonly Native: "native";
149
+ readonly None: "none";
150
+ };
151
+ export type StudyObjectiveAccessSyllabusSourceEnum = typeof StudyObjectiveAccessSyllabusSourceEnum[keyof typeof StudyObjectiveAccessSyllabusSourceEnum];
152
+ /**
153
+ * Check if a given object implements the StudyObjectiveAccess interface.
154
+ */
155
+ export declare function instanceOfStudyObjectiveAccess(value: object): value is StudyObjectiveAccess;
156
+ export declare function StudyObjectiveAccessFromJSON(json: any): StudyObjectiveAccess;
157
+ export declare function StudyObjectiveAccessFromJSONTyped(json: any, ignoreDiscriminator: boolean): StudyObjectiveAccess;
158
+ export declare function StudyObjectiveAccessToJSON(json: any): StudyObjectiveAccess;
159
+ export declare function StudyObjectiveAccessToJSONTyped(value?: StudyObjectiveAccess | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,136 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Athena API
5
+ * REST API for the Athena system
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+ /**
15
+ * @export
16
+ */
17
+ export const StudyObjectiveAccessStateEnum = {
18
+ Grounded: 'grounded',
19
+ Thin: 'thin',
20
+ Unreadable: 'unreadable',
21
+ Unknown: 'unknown'
22
+ };
23
+ /**
24
+ * @export
25
+ */
26
+ export const StudyObjectiveAccessUnknownReasonEnum = {
27
+ PagesOnly: 'pages-only',
28
+ ListingDenied: 'listing-denied'
29
+ };
30
+ /**
31
+ * @export
32
+ */
33
+ export const StudyObjectiveAccessScopeKnownReasonEnum = {
34
+ ItemText: 'item-text',
35
+ SyllabusTopics: 'syllabus-topics',
36
+ SyllabusLegacy: 'syllabus-legacy'
37
+ };
38
+ /**
39
+ * @export
40
+ */
41
+ export const StudyObjectiveAccessSyllabusSourceEnum = {
42
+ Inline: 'inline',
43
+ Stored: 'stored',
44
+ Native: 'native',
45
+ None: 'none'
46
+ };
47
+ /**
48
+ * Check if a given object implements the StudyObjectiveAccess interface.
49
+ */
50
+ export function instanceOfStudyObjectiveAccess(value) {
51
+ if (!('state' in value) || value['state'] === undefined)
52
+ return false;
53
+ if (!('unknownReason' in value) || value['unknownReason'] === undefined)
54
+ return false;
55
+ if (!('scopeKnown' in value) || value['scopeKnown'] === undefined)
56
+ return false;
57
+ if (!('scopeKnownReason' in value) || value['scopeKnownReason'] === undefined)
58
+ return false;
59
+ if (!('syllabusSource' in value) || value['syllabusSource'] === undefined)
60
+ return false;
61
+ if (!('readableFileCount' in value) || value['readableFileCount'] === undefined)
62
+ return false;
63
+ if (!('lockedFileCount' in value) || value['lockedFileCount'] === undefined)
64
+ return false;
65
+ if (!('modulePageCount' in value) || value['modulePageCount'] === undefined)
66
+ return false;
67
+ if (!('externalToolItemCount' in value) || value['externalToolItemCount'] === undefined)
68
+ return false;
69
+ if (!('moduleSiblingFileCount' in value) || value['moduleSiblingFileCount'] === undefined)
70
+ return false;
71
+ if (!('moduleSiblingPageCount' in value) || value['moduleSiblingPageCount'] === undefined)
72
+ return false;
73
+ if (!('moduleReadableFileCount' in value) || value['moduleReadableFileCount'] === undefined)
74
+ return false;
75
+ if (!('moduleLockedFileCount' in value) || value['moduleLockedFileCount'] === undefined)
76
+ return false;
77
+ if (!('ruleVersion' in value) || value['ruleVersion'] === undefined)
78
+ return false;
79
+ if (!('readAt' in value) || value['readAt'] === undefined)
80
+ return false;
81
+ if (!('suggestedScope' in value) || value['suggestedScope'] === undefined)
82
+ return false;
83
+ return true;
84
+ }
85
+ export function StudyObjectiveAccessFromJSON(json) {
86
+ return StudyObjectiveAccessFromJSONTyped(json, false);
87
+ }
88
+ export function StudyObjectiveAccessFromJSONTyped(json, ignoreDiscriminator) {
89
+ if (json == null) {
90
+ return json;
91
+ }
92
+ return {
93
+ 'state': json['state'],
94
+ 'unknownReason': json['unknownReason'],
95
+ 'scopeKnown': json['scopeKnown'],
96
+ 'scopeKnownReason': json['scopeKnownReason'],
97
+ 'syllabusSource': json['syllabusSource'],
98
+ 'readableFileCount': json['readableFileCount'],
99
+ 'lockedFileCount': json['lockedFileCount'],
100
+ 'modulePageCount': json['modulePageCount'],
101
+ 'externalToolItemCount': json['externalToolItemCount'],
102
+ 'moduleSiblingFileCount': json['moduleSiblingFileCount'],
103
+ 'moduleSiblingPageCount': json['moduleSiblingPageCount'],
104
+ 'moduleReadableFileCount': json['moduleReadableFileCount'],
105
+ 'moduleLockedFileCount': json['moduleLockedFileCount'],
106
+ 'ruleVersion': json['ruleVersion'],
107
+ 'readAt': (new Date(json['readAt'])),
108
+ 'suggestedScope': json['suggestedScope'] == null ? null : json['suggestedScope'],
109
+ };
110
+ }
111
+ export function StudyObjectiveAccessToJSON(json) {
112
+ return StudyObjectiveAccessToJSONTyped(json, false);
113
+ }
114
+ export function StudyObjectiveAccessToJSONTyped(value, ignoreDiscriminator = false) {
115
+ if (value == null) {
116
+ return value;
117
+ }
118
+ return {
119
+ 'state': value['state'],
120
+ 'unknownReason': value['unknownReason'],
121
+ 'scopeKnown': value['scopeKnown'],
122
+ 'scopeKnownReason': value['scopeKnownReason'],
123
+ 'syllabusSource': value['syllabusSource'],
124
+ 'readableFileCount': value['readableFileCount'],
125
+ 'lockedFileCount': value['lockedFileCount'],
126
+ 'modulePageCount': value['modulePageCount'],
127
+ 'externalToolItemCount': value['externalToolItemCount'],
128
+ 'moduleSiblingFileCount': value['moduleSiblingFileCount'],
129
+ 'moduleSiblingPageCount': value['moduleSiblingPageCount'],
130
+ 'moduleReadableFileCount': value['moduleReadableFileCount'],
131
+ 'moduleLockedFileCount': value['moduleLockedFileCount'],
132
+ 'ruleVersion': value['ruleVersion'],
133
+ 'readAt': value['readAt'].toISOString(),
134
+ 'suggestedScope': value['suggestedScope'],
135
+ };
136
+ }
@@ -10,6 +10,7 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  import type { StudyObjectiveFileAttachment } from './StudyObjectiveFileAttachment';
13
+ import type { StudyObjectiveAccess } from './StudyObjectiveAccess';
13
14
  import type { StudyObjectiveCanvasDocument } from './StudyObjectiveCanvasDocument';
14
15
  /**
15
16
  *
@@ -101,6 +102,24 @@ export interface UpcomingStudyObjective {
101
102
  * @memberof UpcomingStudyObjective
102
103
  */
103
104
  archivedAt: Date | null;
105
+ /**
106
+ * What the Canvas item's course gives Athena to go on, for a Canvas-sourced objective. Null for custom objectives and until Athena has read the course (the read runs with concept extraction and refreshes weekly). Course-level facts shared by every learner on the item, except scopeKnown and scopeKnownReason, which also count this learner's syllabus analysis.
107
+ * @type {StudyObjectiveAccess}
108
+ * @memberof UpcomingStudyObjective
109
+ */
110
+ access?: StudyObjectiveAccess | null;
111
+ /**
112
+ * What the learner told Athena this assessment covers, in their own words; null when nothing was told. Per-user and never written by a Canvas re-sync.
113
+ * @type {string}
114
+ * @memberof UpcomingStudyObjective
115
+ */
116
+ learnerScope?: string | null;
117
+ /**
118
+ * The access state Athena last told this learner about for this objective (the thin-context ask, or practice generated from a panel showing it); null when never told. Read-only.
119
+ * @type {string}
120
+ * @memberof UpcomingStudyObjective
121
+ */
122
+ accessDisclosedState?: UpcomingStudyObjectiveAccessDisclosedStateEnum | null;
104
123
  /**
105
124
  *
106
125
  * @type {Date}
@@ -129,6 +148,15 @@ export declare const UpcomingStudyObjectiveSourceEnum: {
129
148
  readonly Template: "template";
130
149
  };
131
150
  export type UpcomingStudyObjectiveSourceEnum = typeof UpcomingStudyObjectiveSourceEnum[keyof typeof UpcomingStudyObjectiveSourceEnum];
151
+ /**
152
+ * @export
153
+ */
154
+ export declare const UpcomingStudyObjectiveAccessDisclosedStateEnum: {
155
+ readonly Grounded: "grounded";
156
+ readonly Thin: "thin";
157
+ readonly Unreadable: "unreadable";
158
+ };
159
+ export type UpcomingStudyObjectiveAccessDisclosedStateEnum = typeof UpcomingStudyObjectiveAccessDisclosedStateEnum[keyof typeof UpcomingStudyObjectiveAccessDisclosedStateEnum];
132
160
  /**
133
161
  * Check if a given object implements the UpcomingStudyObjective interface.
134
162
  */
@@ -12,6 +12,7 @@
12
12
  * Do not edit the class manually.
13
13
  */
14
14
  import { StudyObjectiveFileAttachmentFromJSON, StudyObjectiveFileAttachmentToJSON, } from './StudyObjectiveFileAttachment';
15
+ import { StudyObjectiveAccessFromJSON, StudyObjectiveAccessToJSON, } from './StudyObjectiveAccess';
15
16
  import { StudyObjectiveCanvasDocumentFromJSON, StudyObjectiveCanvasDocumentToJSON, } from './StudyObjectiveCanvasDocument';
16
17
  /**
17
18
  * @export
@@ -21,6 +22,14 @@ export const UpcomingStudyObjectiveSourceEnum = {
21
22
  Syllabus: 'syllabus',
22
23
  Template: 'template'
23
24
  };
25
+ /**
26
+ * @export
27
+ */
28
+ export const UpcomingStudyObjectiveAccessDisclosedStateEnum = {
29
+ Grounded: 'grounded',
30
+ Thin: 'thin',
31
+ Unreadable: 'unreadable'
32
+ };
24
33
  /**
25
34
  * Check if a given object implements the UpcomingStudyObjective interface.
26
35
  */
@@ -83,6 +92,9 @@ export function UpcomingStudyObjectiveFromJSONTyped(json, ignoreDiscriminator) {
83
92
  'canvasDocuments': (json['canvasDocuments'].map(StudyObjectiveCanvasDocumentFromJSON)),
84
93
  'dueAt': (json['dueAt'] == null ? null : new Date(json['dueAt'])),
85
94
  'archivedAt': (json['archivedAt'] == null ? null : new Date(json['archivedAt'])),
95
+ 'access': json['access'] == null ? undefined : StudyObjectiveAccessFromJSON(json['access']),
96
+ 'learnerScope': json['learnerScope'] == null ? undefined : json['learnerScope'],
97
+ 'accessDisclosedState': json['accessDisclosedState'] == null ? undefined : json['accessDisclosedState'],
86
98
  'createdAt': (new Date(json['createdAt'])),
87
99
  'updatedAt': (new Date(json['updatedAt'])),
88
100
  'studySpaceTitle': json['studySpaceTitle'],
@@ -110,6 +122,9 @@ export function UpcomingStudyObjectiveToJSONTyped(value, ignoreDiscriminator = f
110
122
  'canvasDocuments': (value['canvasDocuments'].map(StudyObjectiveCanvasDocumentToJSON)),
111
123
  'dueAt': value['dueAt'] == null ? value['dueAt'] : value['dueAt'].toISOString(),
112
124
  'archivedAt': value['archivedAt'] == null ? value['archivedAt'] : value['archivedAt'].toISOString(),
125
+ 'access': StudyObjectiveAccessToJSON(value['access']),
126
+ 'learnerScope': value['learnerScope'],
127
+ 'accessDisclosedState': value['accessDisclosedState'],
113
128
  'createdAt': value['createdAt'].toISOString(),
114
129
  'updatedAt': value['updatedAt'].toISOString(),
115
130
  'studySpaceTitle': value['studySpaceTitle'],
@@ -128,6 +128,7 @@ export * from './PracticeQuiz';
128
128
  export * from './PracticeQuizStatus';
129
129
  export * from './PracticeQuizStatusList';
130
130
  export * from './Quiz';
131
+ export * from './QuizBasisSnapshot';
131
132
  export * from './QuizConceptSummary';
132
133
  export * from './QuizListItem';
133
134
  export * from './QuizQuestion';
@@ -153,6 +154,7 @@ export * from './ScoreByTypeValue';
153
154
  export * from './ServiceToken';
154
155
  export * from './SharedQuiz';
155
156
  export * from './StudyObjective';
157
+ export * from './StudyObjectiveAccess';
156
158
  export * from './StudyObjectiveCanvasDocument';
157
159
  export * from './StudyObjectiveConceptAttachment';
158
160
  export * from './StudyObjectiveConceptAttachmentList';
@@ -130,6 +130,7 @@ export * from './PracticeQuiz';
130
130
  export * from './PracticeQuizStatus';
131
131
  export * from './PracticeQuizStatusList';
132
132
  export * from './Quiz';
133
+ export * from './QuizBasisSnapshot';
133
134
  export * from './QuizConceptSummary';
134
135
  export * from './QuizListItem';
135
136
  export * from './QuizQuestion';
@@ -155,6 +156,7 @@ export * from './ScoreByTypeValue';
155
156
  export * from './ServiceToken';
156
157
  export * from './SharedQuiz';
157
158
  export * from './StudyObjective';
159
+ export * from './StudyObjectiveAccess';
158
160
  export * from './StudyObjectiveCanvasDocument';
159
161
  export * from './StudyObjectiveConceptAttachment';
160
162
  export * from './StudyObjectiveConceptAttachmentList';
@@ -10,7 +10,7 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  /**
13
- * Optional metadata attached to the user message. Used by learning session chats to bind an answer to its inline question (`inlineQuestionId` + `questionType` + `structuredAnswer`) and to mark client-auto-fired kickoff turns (`synthetic`). All fields are optional; callers supply whichever subset applies to the message being sent.
13
+ * Optional metadata attached to the user message. Used by learning session chats to bind an answer to its inline question (`inlineQuestionId` + `questionType` + `structuredAnswer`), to mark client-auto-fired kickoff turns (`synthetic`), and to mark a first turn the client wrote for the learner (`seeded`). All fields are optional; callers supply whichever subset applies to the message being sent.
14
14
  * @export
15
15
  * @interface ChatRequestMessageMetadata
16
16
  */
@@ -39,7 +39,20 @@ export interface ChatRequestMessageMetadata {
39
39
  * @memberof ChatRequestMessageMetadata
40
40
  */
41
41
  synthetic?: boolean;
42
+ /**
43
+ * Set when the client wrote this message for the learner and sent it as their first turn: 'objective-nudge' is the study-objective email nudge's opening query. The learner never typed it, so its words are never read as their account of what an assessment covers. Unlike `synthetic`, the message is shown in the transcript.
44
+ * @type {string}
45
+ * @memberof ChatRequestMessageMetadata
46
+ */
47
+ seeded?: ChatRequestMessageMetadataSeededEnum;
42
48
  }
49
+ /**
50
+ * @export
51
+ */
52
+ export declare const ChatRequestMessageMetadataSeededEnum: {
53
+ readonly ObjectiveNudge: "objective-nudge";
54
+ };
55
+ export type ChatRequestMessageMetadataSeededEnum = typeof ChatRequestMessageMetadataSeededEnum[keyof typeof ChatRequestMessageMetadataSeededEnum];
43
56
  /**
44
57
  * Check if a given object implements the ChatRequestMessageMetadata interface.
45
58
  */
@@ -13,11 +13,18 @@
13
13
  * Do not edit the class manually.
14
14
  */
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.ChatRequestMessageMetadataSeededEnum = void 0;
16
17
  exports.instanceOfChatRequestMessageMetadata = instanceOfChatRequestMessageMetadata;
17
18
  exports.ChatRequestMessageMetadataFromJSON = ChatRequestMessageMetadataFromJSON;
18
19
  exports.ChatRequestMessageMetadataFromJSONTyped = ChatRequestMessageMetadataFromJSONTyped;
19
20
  exports.ChatRequestMessageMetadataToJSON = ChatRequestMessageMetadataToJSON;
20
21
  exports.ChatRequestMessageMetadataToJSONTyped = ChatRequestMessageMetadataToJSONTyped;
22
+ /**
23
+ * @export
24
+ */
25
+ exports.ChatRequestMessageMetadataSeededEnum = {
26
+ ObjectiveNudge: 'objective-nudge'
27
+ };
21
28
  /**
22
29
  * Check if a given object implements the ChatRequestMessageMetadata interface.
23
30
  */
@@ -36,6 +43,7 @@ function ChatRequestMessageMetadataFromJSONTyped(json, ignoreDiscriminator) {
36
43
  'questionType': json['questionType'] == null ? undefined : json['questionType'],
37
44
  'structuredAnswer': json['structuredAnswer'] == null ? undefined : json['structuredAnswer'],
38
45
  'synthetic': json['synthetic'] == null ? undefined : json['synthetic'],
46
+ 'seeded': json['seeded'] == null ? undefined : json['seeded'],
39
47
  };
40
48
  }
41
49
  function ChatRequestMessageMetadataToJSON(json) {
@@ -50,5 +58,6 @@ function ChatRequestMessageMetadataToJSONTyped(value, ignoreDiscriminator = fals
50
58
  'questionType': value['questionType'],
51
59
  'structuredAnswer': value['structuredAnswer'],
52
60
  'synthetic': value['synthetic'],
61
+ 'seeded': value['seeded'],
53
62
  };
54
63
  }
@@ -33,6 +33,18 @@ export interface ChatRequestQuizSettings {
33
33
  * @memberof ChatRequestQuizSettings
34
34
  */
35
35
  instructions?: string;
36
+ /**
37
+ * What the learner says the assessment covers, typed into the study panel's scope box (sent instead of `instructions` when the box asks what the assessment covers). The quiz is built on it, and on an objective chat it is kept as the learner's scope for that objective. An empty string means the learner cleared the box: their kept scope is cleared too.
38
+ * @type {string}
39
+ * @memberof ChatRequestQuizSettings
40
+ */
41
+ scope?: string;
42
+ /**
43
+ * `suggested` when `scope` is Athena's suggested topics (`StudyObjective.access.suggestedScope`) used unedited ("Use these topics"). Omit for anything the learner typed or edited: that scope is their own.
44
+ * @type {string}
45
+ * @memberof ChatRequestQuizSettings
46
+ */
47
+ scopeSource?: ChatRequestQuizSettingsScopeSourceEnum;
36
48
  }
37
49
  /**
38
50
  * @export
@@ -44,6 +56,13 @@ export declare const ChatRequestQuizSettingsQuestionTypesEnum: {
44
56
  readonly TeachBack: "teach-back";
45
57
  };
46
58
  export type ChatRequestQuizSettingsQuestionTypesEnum = typeof ChatRequestQuizSettingsQuestionTypesEnum[keyof typeof ChatRequestQuizSettingsQuestionTypesEnum];
59
+ /**
60
+ * @export
61
+ */
62
+ export declare const ChatRequestQuizSettingsScopeSourceEnum: {
63
+ readonly Suggested: "suggested";
64
+ };
65
+ export type ChatRequestQuizSettingsScopeSourceEnum = typeof ChatRequestQuizSettingsScopeSourceEnum[keyof typeof ChatRequestQuizSettingsScopeSourceEnum];
47
66
  /**
48
67
  * Check if a given object implements the ChatRequestQuizSettings interface.
49
68
  */
@@ -13,7 +13,7 @@
13
13
  * Do not edit the class manually.
14
14
  */
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
- exports.ChatRequestQuizSettingsQuestionTypesEnum = void 0;
16
+ exports.ChatRequestQuizSettingsScopeSourceEnum = exports.ChatRequestQuizSettingsQuestionTypesEnum = void 0;
17
17
  exports.instanceOfChatRequestQuizSettings = instanceOfChatRequestQuizSettings;
18
18
  exports.ChatRequestQuizSettingsFromJSON = ChatRequestQuizSettingsFromJSON;
19
19
  exports.ChatRequestQuizSettingsFromJSONTyped = ChatRequestQuizSettingsFromJSONTyped;
@@ -28,6 +28,12 @@ exports.ChatRequestQuizSettingsQuestionTypesEnum = {
28
28
  SpotError: 'spot-error',
29
29
  TeachBack: 'teach-back'
30
30
  };
31
+ /**
32
+ * @export
33
+ */
34
+ exports.ChatRequestQuizSettingsScopeSourceEnum = {
35
+ Suggested: 'suggested'
36
+ };
31
37
  /**
32
38
  * Check if a given object implements the ChatRequestQuizSettings interface.
33
39
  */
@@ -45,6 +51,8 @@ function ChatRequestQuizSettingsFromJSONTyped(json, ignoreDiscriminator) {
45
51
  'questionTypes': json['questionTypes'] == null ? undefined : json['questionTypes'],
46
52
  'questionCount': json['questionCount'] == null ? undefined : json['questionCount'],
47
53
  'instructions': json['instructions'] == null ? undefined : json['instructions'],
54
+ 'scope': json['scope'] == null ? undefined : json['scope'],
55
+ 'scopeSource': json['scopeSource'] == null ? undefined : json['scopeSource'],
48
56
  };
49
57
  }
50
58
  function ChatRequestQuizSettingsToJSON(json) {
@@ -58,5 +66,7 @@ function ChatRequestQuizSettingsToJSONTyped(value, ignoreDiscriminator = false)
58
66
  'questionTypes': value['questionTypes'],
59
67
  'questionCount': value['questionCount'],
60
68
  'instructions': value['instructions'],
69
+ 'scope': value['scope'],
70
+ 'scopeSource': value['scopeSource'],
61
71
  };
62
72
  }
@@ -9,6 +9,7 @@
9
9
  * https://openapi-generator.tech
10
10
  * Do not edit the class manually.
11
11
  */
12
+ import type { QuizBasisSnapshot } from './QuizBasisSnapshot';
12
13
  /**
13
14
  *
14
15
  * @export
@@ -63,6 +64,12 @@ export interface Quiz {
63
64
  * @memberof Quiz
64
65
  */
65
66
  expectedQuestionCount: number | null;
67
+ /**
68
+ * What this quiz was built from, recorded once with the quiz so a reload or a retake reads the same. Null for quizzes generated before it was recorded.
69
+ * @type {QuizBasisSnapshot}
70
+ * @memberof Quiz
71
+ */
72
+ basisSnapshot?: QuizBasisSnapshot | null;
66
73
  /**
67
74
  *
68
75
  * @type {Date}
@@ -19,6 +19,7 @@ exports.QuizFromJSON = QuizFromJSON;
19
19
  exports.QuizFromJSONTyped = QuizFromJSONTyped;
20
20
  exports.QuizToJSON = QuizToJSON;
21
21
  exports.QuizToJSONTyped = QuizToJSONTyped;
22
+ const QuizBasisSnapshot_1 = require("./QuizBasisSnapshot");
22
23
  /**
23
24
  * @export
24
25
  */
@@ -74,6 +75,7 @@ function QuizFromJSONTyped(json, ignoreDiscriminator) {
74
75
  'mode': json['mode'],
75
76
  'generationStatus': json['generationStatus'],
76
77
  'expectedQuestionCount': json['expectedQuestionCount'],
78
+ 'basisSnapshot': json['basisSnapshot'] == null ? undefined : (0, QuizBasisSnapshot_1.QuizBasisSnapshotFromJSON)(json['basisSnapshot']),
77
79
  'createdAt': (new Date(json['createdAt'])),
78
80
  };
79
81
  }
@@ -93,6 +95,7 @@ function QuizToJSONTyped(value, ignoreDiscriminator = false) {
93
95
  'mode': value['mode'],
94
96
  'generationStatus': value['generationStatus'],
95
97
  'expectedQuestionCount': value['expectedQuestionCount'],
98
+ 'basisSnapshot': (0, QuizBasisSnapshot_1.QuizBasisSnapshotToJSON)(value['basisSnapshot']),
96
99
  'createdAt': value['createdAt'].toISOString(),
97
100
  };
98
101
  }