@instructure/athena-api-client 3.44.0 → 3.46.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.
@@ -16,13 +16,13 @@
16
16
  */
17
17
  export interface StudyObjectiveAccess {
18
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).
19
+ * What the Canvas item's course gives Athena to go on: 'grounded' (the course has material: a syllabus, the item's own text, readable course files, or, when Canvas refused the course files list, files it publishes through Modules, locked for this learner or not), '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
20
  * @type {string}
21
21
  * @memberof StudyObjectiveAccess
22
22
  */
23
23
  state: StudyObjectiveAccessStateEnum;
24
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.
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 else grounds the course, so it can't say what that listing holds.
26
26
  * @type {string}
27
27
  * @memberof StudyObjectiveAccess
28
28
  */
@@ -70,7 +70,7 @@ export interface StudyObjectiveAccess {
70
70
  */
71
71
  externalToolItemCount: number | null;
72
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.
73
+ * Files in the module that holds this item (a quiz or assignment), locked for the learner or not: checked against the course files list, or, when Canvas refused that list, 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, and on facts read before rule 6 (which counted only the files their reader could open).
74
74
  * @type {number}
75
75
  * @memberof StudyObjectiveAccess
76
76
  */
@@ -82,19 +82,25 @@ export interface StudyObjectiveAccess {
82
82
  */
83
83
  moduleSiblingPageCount: number | null;
84
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.
85
+ * Files the course publishes through Modules (File items of a supported type, one per file), locked for the learner or not, so no learner's module locks change it (a module assigned to some sections lists its files only to them). 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
+ moduleFileCount: number | null;
90
+ /**
91
+ * Always null. The readable/locked split of moduleFileCount is the one the learner whose read stored these facts saw (a module lock follows each learner's progress), so it is not returned; read moduleFileCount. Kept so clients built against it keep decoding.
86
92
  * @type {number}
87
93
  * @memberof StudyObjectiveAccess
88
94
  */
89
95
  moduleReadableFileCount: number | null;
90
96
  /**
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.
97
+ * Always null; see moduleReadableFileCount.
92
98
  * @type {number}
93
99
  * @memberof StudyObjectiveAccess
94
100
  */
95
101
  moduleLockedFileCount: number | null;
96
102
  /**
97
- * Version of the rule that produced `state`, for joining client analytics to the rule that was live.
103
+ * The rule that produced `state`, for joining client analytics to the rule that was live. Facts stored under rule 4 or later are decided again by the current rule when read (every input it needs is stored), so they report the current rule; facts from earlier rules keep the state and version they were stored with.
98
104
  * @type {number}
99
105
  * @memberof StudyObjectiveAccess
100
106
  */
@@ -111,6 +117,12 @@ export interface StudyObjectiveAccess {
111
117
  * @memberof StudyObjectiveAccess
112
118
  */
113
119
  suggestedScope: Array<string> | null;
120
+ /**
121
+ * What built this item's topic list: 'text' (the course syllabus or the item's own text, long enough to count as material) or 'title' (the course and item names, with no syllabus or item text long enough to count). Files never feed the list, so a 'grounded' course can still have a 'title' list. Label a 'title' list as suggested from the course name; key that label on this field, not on `state`. Recorded when the list is extracted; for a list extracted before that record existed it is read from these facts (no syllabus counted and no item text means 'title'), which can read 'text' for a course that gained text after its list was built.
122
+ * @type {string}
123
+ * @memberof StudyObjectiveAccess
124
+ */
125
+ rosterSource: StudyObjectiveAccessRosterSourceEnum;
114
126
  }
115
127
  /**
116
128
  * @export
@@ -149,6 +161,14 @@ export declare const StudyObjectiveAccessSyllabusSourceEnum: {
149
161
  readonly None: "none";
150
162
  };
151
163
  export type StudyObjectiveAccessSyllabusSourceEnum = typeof StudyObjectiveAccessSyllabusSourceEnum[keyof typeof StudyObjectiveAccessSyllabusSourceEnum];
164
+ /**
165
+ * @export
166
+ */
167
+ export declare const StudyObjectiveAccessRosterSourceEnum: {
168
+ readonly Title: "title";
169
+ readonly Text: "text";
170
+ };
171
+ export type StudyObjectiveAccessRosterSourceEnum = typeof StudyObjectiveAccessRosterSourceEnum[keyof typeof StudyObjectiveAccessRosterSourceEnum];
152
172
  /**
153
173
  * Check if a given object implements the StudyObjectiveAccess interface.
154
174
  */
@@ -44,6 +44,13 @@ export const StudyObjectiveAccessSyllabusSourceEnum = {
44
44
  Native: 'native',
45
45
  None: 'none'
46
46
  };
47
+ /**
48
+ * @export
49
+ */
50
+ export const StudyObjectiveAccessRosterSourceEnum = {
51
+ Title: 'title',
52
+ Text: 'text'
53
+ };
47
54
  /**
48
55
  * Check if a given object implements the StudyObjectiveAccess interface.
49
56
  */
@@ -70,6 +77,8 @@ export function instanceOfStudyObjectiveAccess(value) {
70
77
  return false;
71
78
  if (!('moduleSiblingPageCount' in value) || value['moduleSiblingPageCount'] === undefined)
72
79
  return false;
80
+ if (!('moduleFileCount' in value) || value['moduleFileCount'] === undefined)
81
+ return false;
73
82
  if (!('moduleReadableFileCount' in value) || value['moduleReadableFileCount'] === undefined)
74
83
  return false;
75
84
  if (!('moduleLockedFileCount' in value) || value['moduleLockedFileCount'] === undefined)
@@ -80,6 +89,8 @@ export function instanceOfStudyObjectiveAccess(value) {
80
89
  return false;
81
90
  if (!('suggestedScope' in value) || value['suggestedScope'] === undefined)
82
91
  return false;
92
+ if (!('rosterSource' in value) || value['rosterSource'] === undefined)
93
+ return false;
83
94
  return true;
84
95
  }
85
96
  export function StudyObjectiveAccessFromJSON(json) {
@@ -101,11 +112,13 @@ export function StudyObjectiveAccessFromJSONTyped(json, ignoreDiscriminator) {
101
112
  'externalToolItemCount': json['externalToolItemCount'],
102
113
  'moduleSiblingFileCount': json['moduleSiblingFileCount'],
103
114
  'moduleSiblingPageCount': json['moduleSiblingPageCount'],
115
+ 'moduleFileCount': json['moduleFileCount'],
104
116
  'moduleReadableFileCount': json['moduleReadableFileCount'],
105
117
  'moduleLockedFileCount': json['moduleLockedFileCount'],
106
118
  'ruleVersion': json['ruleVersion'],
107
119
  'readAt': (new Date(json['readAt'])),
108
120
  'suggestedScope': json['suggestedScope'] == null ? null : json['suggestedScope'],
121
+ 'rosterSource': json['rosterSource'],
109
122
  };
110
123
  }
111
124
  export function StudyObjectiveAccessToJSON(json) {
@@ -127,10 +140,12 @@ export function StudyObjectiveAccessToJSONTyped(value, ignoreDiscriminator = fal
127
140
  'externalToolItemCount': value['externalToolItemCount'],
128
141
  'moduleSiblingFileCount': value['moduleSiblingFileCount'],
129
142
  'moduleSiblingPageCount': value['moduleSiblingPageCount'],
143
+ 'moduleFileCount': value['moduleFileCount'],
130
144
  'moduleReadableFileCount': value['moduleReadableFileCount'],
131
145
  'moduleLockedFileCount': value['moduleLockedFileCount'],
132
146
  'ruleVersion': value['ruleVersion'],
133
147
  'readAt': value['readAt'].toISOString(),
134
148
  'suggestedScope': value['suggestedScope'],
149
+ 'rosterSource': value['rosterSource'],
135
150
  };
136
151
  }
@@ -16,13 +16,13 @@
16
16
  */
17
17
  export interface StudyObjectiveAccess {
18
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).
19
+ * What the Canvas item's course gives Athena to go on: 'grounded' (the course has material: a syllabus, the item's own text, readable course files, or, when Canvas refused the course files list, files it publishes through Modules, locked for this learner or not), '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
20
  * @type {string}
21
21
  * @memberof StudyObjectiveAccess
22
22
  */
23
23
  state: StudyObjectiveAccessStateEnum;
24
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.
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 else grounds the course, so it can't say what that listing holds.
26
26
  * @type {string}
27
27
  * @memberof StudyObjectiveAccess
28
28
  */
@@ -70,7 +70,7 @@ export interface StudyObjectiveAccess {
70
70
  */
71
71
  externalToolItemCount: number | null;
72
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.
73
+ * Files in the module that holds this item (a quiz or assignment), locked for the learner or not: checked against the course files list, or, when Canvas refused that list, 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, and on facts read before rule 6 (which counted only the files their reader could open).
74
74
  * @type {number}
75
75
  * @memberof StudyObjectiveAccess
76
76
  */
@@ -82,19 +82,25 @@ export interface StudyObjectiveAccess {
82
82
  */
83
83
  moduleSiblingPageCount: number | null;
84
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.
85
+ * Files the course publishes through Modules (File items of a supported type, one per file), locked for the learner or not, so no learner's module locks change it (a module assigned to some sections lists its files only to them). 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
+ moduleFileCount: number | null;
90
+ /**
91
+ * Always null. The readable/locked split of moduleFileCount is the one the learner whose read stored these facts saw (a module lock follows each learner's progress), so it is not returned; read moduleFileCount. Kept so clients built against it keep decoding.
86
92
  * @type {number}
87
93
  * @memberof StudyObjectiveAccess
88
94
  */
89
95
  moduleReadableFileCount: number | null;
90
96
  /**
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.
97
+ * Always null; see moduleReadableFileCount.
92
98
  * @type {number}
93
99
  * @memberof StudyObjectiveAccess
94
100
  */
95
101
  moduleLockedFileCount: number | null;
96
102
  /**
97
- * Version of the rule that produced `state`, for joining client analytics to the rule that was live.
103
+ * The rule that produced `state`, for joining client analytics to the rule that was live. Facts stored under rule 4 or later are decided again by the current rule when read (every input it needs is stored), so they report the current rule; facts from earlier rules keep the state and version they were stored with.
98
104
  * @type {number}
99
105
  * @memberof StudyObjectiveAccess
100
106
  */
@@ -111,6 +117,12 @@ export interface StudyObjectiveAccess {
111
117
  * @memberof StudyObjectiveAccess
112
118
  */
113
119
  suggestedScope: Array<string> | null;
120
+ /**
121
+ * What built this item's topic list: 'text' (the course syllabus or the item's own text, long enough to count as material) or 'title' (the course and item names, with no syllabus or item text long enough to count). Files never feed the list, so a 'grounded' course can still have a 'title' list. Label a 'title' list as suggested from the course name; key that label on this field, not on `state`. Recorded when the list is extracted; for a list extracted before that record existed it is read from these facts (no syllabus counted and no item text means 'title'), which can read 'text' for a course that gained text after its list was built.
122
+ * @type {string}
123
+ * @memberof StudyObjectiveAccess
124
+ */
125
+ rosterSource: StudyObjectiveAccessRosterSourceEnum;
114
126
  }
115
127
  /**
116
128
  * @export
@@ -149,6 +161,14 @@ export declare const StudyObjectiveAccessSyllabusSourceEnum: {
149
161
  readonly None: "none";
150
162
  };
151
163
  export type StudyObjectiveAccessSyllabusSourceEnum = typeof StudyObjectiveAccessSyllabusSourceEnum[keyof typeof StudyObjectiveAccessSyllabusSourceEnum];
164
+ /**
165
+ * @export
166
+ */
167
+ export declare const StudyObjectiveAccessRosterSourceEnum: {
168
+ readonly Title: "title";
169
+ readonly Text: "text";
170
+ };
171
+ export type StudyObjectiveAccessRosterSourceEnum = typeof StudyObjectiveAccessRosterSourceEnum[keyof typeof StudyObjectiveAccessRosterSourceEnum];
152
172
  /**
153
173
  * Check if a given object implements the StudyObjectiveAccess interface.
154
174
  */
@@ -13,7 +13,7 @@
13
13
  * Do not edit the class manually.
14
14
  */
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
- exports.StudyObjectiveAccessSyllabusSourceEnum = exports.StudyObjectiveAccessScopeKnownReasonEnum = exports.StudyObjectiveAccessUnknownReasonEnum = exports.StudyObjectiveAccessStateEnum = void 0;
16
+ exports.StudyObjectiveAccessRosterSourceEnum = exports.StudyObjectiveAccessSyllabusSourceEnum = exports.StudyObjectiveAccessScopeKnownReasonEnum = exports.StudyObjectiveAccessUnknownReasonEnum = exports.StudyObjectiveAccessStateEnum = void 0;
17
17
  exports.instanceOfStudyObjectiveAccess = instanceOfStudyObjectiveAccess;
18
18
  exports.StudyObjectiveAccessFromJSON = StudyObjectiveAccessFromJSON;
19
19
  exports.StudyObjectiveAccessFromJSONTyped = StudyObjectiveAccessFromJSONTyped;
@@ -52,6 +52,13 @@ exports.StudyObjectiveAccessSyllabusSourceEnum = {
52
52
  Native: 'native',
53
53
  None: 'none'
54
54
  };
55
+ /**
56
+ * @export
57
+ */
58
+ exports.StudyObjectiveAccessRosterSourceEnum = {
59
+ Title: 'title',
60
+ Text: 'text'
61
+ };
55
62
  /**
56
63
  * Check if a given object implements the StudyObjectiveAccess interface.
57
64
  */
@@ -78,6 +85,8 @@ function instanceOfStudyObjectiveAccess(value) {
78
85
  return false;
79
86
  if (!('moduleSiblingPageCount' in value) || value['moduleSiblingPageCount'] === undefined)
80
87
  return false;
88
+ if (!('moduleFileCount' in value) || value['moduleFileCount'] === undefined)
89
+ return false;
81
90
  if (!('moduleReadableFileCount' in value) || value['moduleReadableFileCount'] === undefined)
82
91
  return false;
83
92
  if (!('moduleLockedFileCount' in value) || value['moduleLockedFileCount'] === undefined)
@@ -88,6 +97,8 @@ function instanceOfStudyObjectiveAccess(value) {
88
97
  return false;
89
98
  if (!('suggestedScope' in value) || value['suggestedScope'] === undefined)
90
99
  return false;
100
+ if (!('rosterSource' in value) || value['rosterSource'] === undefined)
101
+ return false;
91
102
  return true;
92
103
  }
93
104
  function StudyObjectiveAccessFromJSON(json) {
@@ -109,11 +120,13 @@ function StudyObjectiveAccessFromJSONTyped(json, ignoreDiscriminator) {
109
120
  'externalToolItemCount': json['externalToolItemCount'],
110
121
  'moduleSiblingFileCount': json['moduleSiblingFileCount'],
111
122
  'moduleSiblingPageCount': json['moduleSiblingPageCount'],
123
+ 'moduleFileCount': json['moduleFileCount'],
112
124
  'moduleReadableFileCount': json['moduleReadableFileCount'],
113
125
  'moduleLockedFileCount': json['moduleLockedFileCount'],
114
126
  'ruleVersion': json['ruleVersion'],
115
127
  'readAt': (new Date(json['readAt'])),
116
128
  'suggestedScope': json['suggestedScope'] == null ? null : json['suggestedScope'],
129
+ 'rosterSource': json['rosterSource'],
117
130
  };
118
131
  }
119
132
  function StudyObjectiveAccessToJSON(json) {
@@ -135,10 +148,12 @@ function StudyObjectiveAccessToJSONTyped(value, ignoreDiscriminator = false) {
135
148
  'externalToolItemCount': value['externalToolItemCount'],
136
149
  'moduleSiblingFileCount': value['moduleSiblingFileCount'],
137
150
  'moduleSiblingPageCount': value['moduleSiblingPageCount'],
151
+ 'moduleFileCount': value['moduleFileCount'],
138
152
  'moduleReadableFileCount': value['moduleReadableFileCount'],
139
153
  'moduleLockedFileCount': value['moduleLockedFileCount'],
140
154
  'ruleVersion': value['ruleVersion'],
141
155
  'readAt': value['readAt'].toISOString(),
142
156
  'suggestedScope': value['suggestedScope'],
157
+ 'rosterSource': value['rosterSource'],
143
158
  };
144
159
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@instructure/athena-api-client",
3
3
  "private": false,
4
- "version": "3.44.0",
4
+ "version": "3.46.0",
5
5
  "description": "OpenAPI client for the Athena API",
6
6
  "author": "Instructure",
7
7
  "repository": {