@instructure/athena-api-client 4.5.2 → 4.7.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 (82) hide show
  1. package/README.md +10 -0
  2. package/dist/apis/AdminApi.d.ts +29 -1
  3. package/dist/apis/AdminApi.js +79 -0
  4. package/dist/esm/apis/AdminApi.d.ts +29 -1
  5. package/dist/esm/apis/AdminApi.js +80 -1
  6. package/dist/esm/models/AdminClaimConceptMediaReviewNotificationsRequest.d.ts +32 -0
  7. package/dist/esm/models/AdminClaimConceptMediaReviewNotificationsRequest.js +41 -0
  8. package/dist/esm/models/AdminConceptDiagram.d.ts +15 -2
  9. package/dist/esm/models/AdminConceptDiagram.js +9 -0
  10. package/dist/esm/models/AdminConceptDiagramDetail.d.ts +15 -2
  11. package/dist/esm/models/AdminConceptDiagramDetail.js +9 -0
  12. package/dist/esm/models/AdminConceptImage.d.ts +15 -2
  13. package/dist/esm/models/AdminConceptImage.js +9 -0
  14. package/dist/esm/models/AdminConceptImageDetail.d.ts +15 -2
  15. package/dist/esm/models/AdminConceptImageDetail.js +9 -0
  16. package/dist/esm/models/AdminConceptMediaAgentReview.d.ts +131 -0
  17. package/dist/esm/models/AdminConceptMediaAgentReview.js +117 -0
  18. package/dist/esm/models/AdminConceptMediaReviewDurationStats.d.ts +50 -0
  19. package/dist/esm/models/AdminConceptMediaReviewDurationStats.js +55 -0
  20. package/dist/esm/models/AdminConceptMediaReviewKindStats.d.ts +89 -0
  21. package/dist/esm/models/AdminConceptMediaReviewKindStats.js +83 -0
  22. package/dist/esm/models/AdminConceptMediaReviewNotification.d.ts +123 -0
  23. package/dist/esm/models/AdminConceptMediaReviewNotification.js +111 -0
  24. package/dist/esm/models/AdminConceptMediaReviewNotifications.d.ts +33 -0
  25. package/dist/esm/models/AdminConceptMediaReviewNotifications.js +44 -0
  26. package/dist/esm/models/AdminConceptMediaReviewStats.d.ts +51 -0
  27. package/dist/esm/models/AdminConceptMediaReviewStats.js +56 -0
  28. package/dist/esm/models/AdminShownConceptDiagram.d.ts +15 -2
  29. package/dist/esm/models/AdminShownConceptDiagram.js +9 -0
  30. package/dist/esm/models/AdminShownConceptImage.d.ts +15 -2
  31. package/dist/esm/models/AdminShownConceptImage.js +9 -0
  32. package/dist/esm/models/ConceptMediaFlagResult.d.ts +16 -0
  33. package/dist/esm/models/ConceptMediaFlagResult.js +13 -0
  34. package/dist/esm/models/ConceptMediaReviewIssue.d.ts +64 -0
  35. package/dist/esm/models/ConceptMediaReviewIssue.js +69 -0
  36. package/dist/esm/models/StudyObjective.d.ts +6 -0
  37. package/dist/esm/models/StudyObjective.js +4 -0
  38. package/dist/esm/models/StudyObjectiveConceptAttachment.d.ts +14 -0
  39. package/dist/esm/models/StudyObjectiveConceptAttachment.js +11 -0
  40. package/dist/esm/models/UpcomingStudyObjective.d.ts +6 -0
  41. package/dist/esm/models/UpcomingStudyObjective.js +4 -0
  42. package/dist/esm/models/index.d.ts +8 -0
  43. package/dist/esm/models/index.js +8 -0
  44. package/dist/models/AdminClaimConceptMediaReviewNotificationsRequest.d.ts +32 -0
  45. package/dist/models/AdminClaimConceptMediaReviewNotificationsRequest.js +48 -0
  46. package/dist/models/AdminConceptDiagram.d.ts +15 -2
  47. package/dist/models/AdminConceptDiagram.js +9 -0
  48. package/dist/models/AdminConceptDiagramDetail.d.ts +15 -2
  49. package/dist/models/AdminConceptDiagramDetail.js +9 -0
  50. package/dist/models/AdminConceptImage.d.ts +15 -2
  51. package/dist/models/AdminConceptImage.js +9 -0
  52. package/dist/models/AdminConceptImageDetail.d.ts +15 -2
  53. package/dist/models/AdminConceptImageDetail.js +9 -0
  54. package/dist/models/AdminConceptMediaAgentReview.d.ts +131 -0
  55. package/dist/models/AdminConceptMediaAgentReview.js +125 -0
  56. package/dist/models/AdminConceptMediaReviewDurationStats.d.ts +50 -0
  57. package/dist/models/AdminConceptMediaReviewDurationStats.js +62 -0
  58. package/dist/models/AdminConceptMediaReviewKindStats.d.ts +89 -0
  59. package/dist/models/AdminConceptMediaReviewKindStats.js +91 -0
  60. package/dist/models/AdminConceptMediaReviewNotification.d.ts +123 -0
  61. package/dist/models/AdminConceptMediaReviewNotification.js +119 -0
  62. package/dist/models/AdminConceptMediaReviewNotifications.d.ts +33 -0
  63. package/dist/models/AdminConceptMediaReviewNotifications.js +51 -0
  64. package/dist/models/AdminConceptMediaReviewStats.d.ts +51 -0
  65. package/dist/models/AdminConceptMediaReviewStats.js +63 -0
  66. package/dist/models/AdminShownConceptDiagram.d.ts +15 -2
  67. package/dist/models/AdminShownConceptDiagram.js +9 -0
  68. package/dist/models/AdminShownConceptImage.d.ts +15 -2
  69. package/dist/models/AdminShownConceptImage.js +9 -0
  70. package/dist/models/ConceptMediaFlagResult.d.ts +16 -0
  71. package/dist/models/ConceptMediaFlagResult.js +14 -0
  72. package/dist/models/ConceptMediaReviewIssue.d.ts +64 -0
  73. package/dist/models/ConceptMediaReviewIssue.js +77 -0
  74. package/dist/models/StudyObjective.d.ts +6 -0
  75. package/dist/models/StudyObjective.js +4 -0
  76. package/dist/models/StudyObjectiveConceptAttachment.d.ts +14 -0
  77. package/dist/models/StudyObjectiveConceptAttachment.js +12 -1
  78. package/dist/models/UpcomingStudyObjective.d.ts +6 -0
  79. package/dist/models/UpcomingStudyObjective.js +4 -0
  80. package/dist/models/index.d.ts +8 -0
  81. package/dist/models/index.js +8 -0
  82. package/package.json +1 -1
@@ -21,7 +21,23 @@ export interface ConceptMediaFlagResult {
21
21
  * @memberof ConceptMediaFlagResult
22
22
  */
23
23
  hidden: boolean;
24
+ /**
25
+ * What this flag did. hidden: it hid the item. flagged_again: the item is admin-approved, so it stayed visible and was queued for admin re-review. already_hidden: the item was already hidden or removed; nothing changed. already_flagged: the item is admin-approved and was already queued for re-review; nothing changed. Only hidden and flagged_again changed anything, so only they warrant telling admins.
26
+ * @type {string}
27
+ * @memberof ConceptMediaFlagResult
28
+ */
29
+ outcome: ConceptMediaFlagResultOutcomeEnum;
24
30
  }
31
+ /**
32
+ * @export
33
+ */
34
+ export declare const ConceptMediaFlagResultOutcomeEnum: {
35
+ readonly Hidden: "hidden";
36
+ readonly AlreadyHidden: "already_hidden";
37
+ readonly FlaggedAgain: "flagged_again";
38
+ readonly AlreadyFlagged: "already_flagged";
39
+ };
40
+ export type ConceptMediaFlagResultOutcomeEnum = typeof ConceptMediaFlagResultOutcomeEnum[keyof typeof ConceptMediaFlagResultOutcomeEnum];
25
41
  /**
26
42
  * Check if a given object implements the ConceptMediaFlagResult interface.
27
43
  */
@@ -11,12 +11,23 @@
11
11
  * https://openapi-generator.tech
12
12
  * Do not edit the class manually.
13
13
  */
14
+ /**
15
+ * @export
16
+ */
17
+ export const ConceptMediaFlagResultOutcomeEnum = {
18
+ Hidden: 'hidden',
19
+ AlreadyHidden: 'already_hidden',
20
+ FlaggedAgain: 'flagged_again',
21
+ AlreadyFlagged: 'already_flagged'
22
+ };
14
23
  /**
15
24
  * Check if a given object implements the ConceptMediaFlagResult interface.
16
25
  */
17
26
  export function instanceOfConceptMediaFlagResult(value) {
18
27
  if (!('hidden' in value) || value['hidden'] === undefined)
19
28
  return false;
29
+ if (!('outcome' in value) || value['outcome'] === undefined)
30
+ return false;
20
31
  return true;
21
32
  }
22
33
  export function ConceptMediaFlagResultFromJSON(json) {
@@ -28,6 +39,7 @@ export function ConceptMediaFlagResultFromJSONTyped(json, ignoreDiscriminator) {
28
39
  }
29
40
  return {
30
41
  'hidden': json['hidden'],
42
+ 'outcome': json['outcome'],
31
43
  };
32
44
  }
33
45
  export function ConceptMediaFlagResultToJSON(json) {
@@ -39,5 +51,6 @@ export function ConceptMediaFlagResultToJSONTyped(value, ignoreDiscriminator = f
39
51
  }
40
52
  return {
41
53
  'hidden': value['hidden'],
54
+ 'outcome': value['outcome'],
42
55
  };
43
56
  }
@@ -0,0 +1,64 @@
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
+ * One problem the concept media reviewer agent noted.
14
+ * @export
15
+ * @interface ConceptMediaReviewIssue
16
+ */
17
+ export interface ConceptMediaReviewIssue {
18
+ /**
19
+ *
20
+ * @type {string}
21
+ * @memberof ConceptMediaReviewIssue
22
+ */
23
+ category: ConceptMediaReviewIssueCategoryEnum;
24
+ /**
25
+ *
26
+ * @type {string}
27
+ * @memberof ConceptMediaReviewIssue
28
+ */
29
+ severity: ConceptMediaReviewIssueSeverityEnum;
30
+ /**
31
+ * What is wrong and where, for an admin
32
+ * @type {string}
33
+ * @memberof ConceptMediaReviewIssue
34
+ */
35
+ description: string;
36
+ }
37
+ /**
38
+ * @export
39
+ */
40
+ export declare const ConceptMediaReviewIssueCategoryEnum: {
41
+ readonly Accuracy: "accuracy";
42
+ readonly Readability: "readability";
43
+ readonly Relevance: "relevance";
44
+ readonly Functionality: "functionality";
45
+ readonly Appropriateness: "appropriateness";
46
+ };
47
+ export type ConceptMediaReviewIssueCategoryEnum = typeof ConceptMediaReviewIssueCategoryEnum[keyof typeof ConceptMediaReviewIssueCategoryEnum];
48
+ /**
49
+ * @export
50
+ */
51
+ export declare const ConceptMediaReviewIssueSeverityEnum: {
52
+ readonly Minor: "minor";
53
+ readonly Moderate: "moderate";
54
+ readonly Severe: "severe";
55
+ };
56
+ export type ConceptMediaReviewIssueSeverityEnum = typeof ConceptMediaReviewIssueSeverityEnum[keyof typeof ConceptMediaReviewIssueSeverityEnum];
57
+ /**
58
+ * Check if a given object implements the ConceptMediaReviewIssue interface.
59
+ */
60
+ export declare function instanceOfConceptMediaReviewIssue(value: object): value is ConceptMediaReviewIssue;
61
+ export declare function ConceptMediaReviewIssueFromJSON(json: any): ConceptMediaReviewIssue;
62
+ export declare function ConceptMediaReviewIssueFromJSONTyped(json: any, ignoreDiscriminator: boolean): ConceptMediaReviewIssue;
63
+ export declare function ConceptMediaReviewIssueToJSON(json: any): ConceptMediaReviewIssue;
64
+ export declare function ConceptMediaReviewIssueToJSONTyped(value?: ConceptMediaReviewIssue | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,69 @@
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 ConceptMediaReviewIssueCategoryEnum = {
18
+ Accuracy: 'accuracy',
19
+ Readability: 'readability',
20
+ Relevance: 'relevance',
21
+ Functionality: 'functionality',
22
+ Appropriateness: 'appropriateness'
23
+ };
24
+ /**
25
+ * @export
26
+ */
27
+ export const ConceptMediaReviewIssueSeverityEnum = {
28
+ Minor: 'minor',
29
+ Moderate: 'moderate',
30
+ Severe: 'severe'
31
+ };
32
+ /**
33
+ * Check if a given object implements the ConceptMediaReviewIssue interface.
34
+ */
35
+ export function instanceOfConceptMediaReviewIssue(value) {
36
+ if (!('category' in value) || value['category'] === undefined)
37
+ return false;
38
+ if (!('severity' in value) || value['severity'] === undefined)
39
+ return false;
40
+ if (!('description' in value) || value['description'] === undefined)
41
+ return false;
42
+ return true;
43
+ }
44
+ export function ConceptMediaReviewIssueFromJSON(json) {
45
+ return ConceptMediaReviewIssueFromJSONTyped(json, false);
46
+ }
47
+ export function ConceptMediaReviewIssueFromJSONTyped(json, ignoreDiscriminator) {
48
+ if (json == null) {
49
+ return json;
50
+ }
51
+ return {
52
+ 'category': json['category'],
53
+ 'severity': json['severity'],
54
+ 'description': json['description'],
55
+ };
56
+ }
57
+ export function ConceptMediaReviewIssueToJSON(json) {
58
+ return ConceptMediaReviewIssueToJSONTyped(json, false);
59
+ }
60
+ export function ConceptMediaReviewIssueToJSONTyped(value, ignoreDiscriminator = false) {
61
+ if (value == null) {
62
+ return value;
63
+ }
64
+ return {
65
+ 'category': value['category'],
66
+ 'severity': value['severity'],
67
+ 'description': value['description'],
68
+ };
69
+ }
@@ -72,6 +72,12 @@ export interface StudyObjective {
72
72
  * @memberof StudyObjective
73
73
  */
74
74
  title: string;
75
+ /**
76
+ * Whether this objective's own title names a subject (a word other than an assessment's form, its place in a course, its attempt kind or its delivery: 'Quiz 1: Descriptive Statistics' does, 'Test 2' and 'Chapter 3 Quiz' don't). Read from the title on every response, never stored. A client shows a Canvas item's `no-evidence` reason only when this is false, so a title the learner sees naming a subject is never called bare.
77
+ * @type {boolean}
78
+ * @memberof StudyObjective
79
+ */
80
+ titleNamesSubject: boolean;
75
81
  /**
76
82
  *
77
83
  * @type {string}
@@ -52,6 +52,8 @@ export function instanceOfStudyObjective(value) {
52
52
  return false;
53
53
  if (!('title' in value) || value['title'] === undefined)
54
54
  return false;
55
+ if (!('titleNamesSubject' in value) || value['titleNamesSubject'] === undefined)
56
+ return false;
55
57
  if (!('notes' in value) || value['notes'] === undefined)
56
58
  return false;
57
59
  if (!('fileAttachments' in value) || value['fileAttachments'] === undefined)
@@ -85,6 +87,7 @@ export function StudyObjectiveFromJSONTyped(json, ignoreDiscriminator) {
85
87
  'source': json['source'],
86
88
  'templateKey': json['templateKey'],
87
89
  'title': json['title'],
90
+ 'titleNamesSubject': json['titleNamesSubject'],
88
91
  'notes': json['notes'],
89
92
  'fileAttachments': (json['fileAttachments'].map(StudyObjectiveFileAttachmentFromJSON)),
90
93
  'canvasDocuments': (json['canvasDocuments'].map(StudyObjectiveCanvasDocumentFromJSON)),
@@ -114,6 +117,7 @@ export function StudyObjectiveToJSONTyped(value, ignoreDiscriminator = false) {
114
117
  'source': value['source'],
115
118
  'templateKey': value['templateKey'],
116
119
  'title': value['title'],
120
+ 'titleNamesSubject': value['titleNamesSubject'],
117
121
  'notes': value['notes'],
118
122
  'fileAttachments': (value['fileAttachments'].map(StudyObjectiveFileAttachmentToJSON)),
119
123
  'canvasDocuments': (value['canvasDocuments'].map(StudyObjectiveCanvasDocumentToJSON)),
@@ -40,6 +40,12 @@ export interface StudyObjectiveConceptAttachment {
40
40
  * @memberof StudyObjectiveConceptAttachment
41
41
  */
42
42
  lastError: string | null;
43
+ /**
44
+ * Why the latest finished extraction left this Canvas item no concept list. `no-evidence`: nothing the extraction would read (title, description, supporting material, syllabus) names a subject, so the model was not asked. `agent-empty`: the model was asked and returned no concepts. Null when the item has concepts (a list a later empty run kept wins), while an extraction is due or in flight, and for custom objectives. Shared by every learner on the item: show `no-evidence` as the item naming nothing only when the objective's `titleNamesSubject` is false. A later fresh read or a rename that names a subject re-runs a `no-evidence` row.
45
+ * @type {string}
46
+ * @memberof StudyObjectiveConceptAttachment
47
+ */
48
+ emptyReason: StudyObjectiveConceptAttachmentEmptyReasonEnum | null;
43
49
  /**
44
50
  *
45
51
  * @type {Array<StudyObjectiveConceptSummary>}
@@ -66,6 +72,14 @@ export declare const StudyObjectiveConceptAttachmentStatusEnum: {
66
72
  readonly Missing: "missing";
67
73
  };
68
74
  export type StudyObjectiveConceptAttachmentStatusEnum = typeof StudyObjectiveConceptAttachmentStatusEnum[keyof typeof StudyObjectiveConceptAttachmentStatusEnum];
75
+ /**
76
+ * @export
77
+ */
78
+ export declare const StudyObjectiveConceptAttachmentEmptyReasonEnum: {
79
+ readonly NoEvidence: "no-evidence";
80
+ readonly AgentEmpty: "agent-empty";
81
+ };
82
+ export type StudyObjectiveConceptAttachmentEmptyReasonEnum = typeof StudyObjectiveConceptAttachmentEmptyReasonEnum[keyof typeof StudyObjectiveConceptAttachmentEmptyReasonEnum];
69
83
  /**
70
84
  * Check if a given object implements the StudyObjectiveConceptAttachment interface.
71
85
  */
@@ -29,6 +29,13 @@ export const StudyObjectiveConceptAttachmentStatusEnum = {
29
29
  Failed: 'failed',
30
30
  Missing: 'missing'
31
31
  };
32
+ /**
33
+ * @export
34
+ */
35
+ export const StudyObjectiveConceptAttachmentEmptyReasonEnum = {
36
+ NoEvidence: 'no-evidence',
37
+ AgentEmpty: 'agent-empty'
38
+ };
32
39
  /**
33
40
  * Check if a given object implements the StudyObjectiveConceptAttachment interface.
34
41
  */
@@ -41,6 +48,8 @@ export function instanceOfStudyObjectiveConceptAttachment(value) {
41
48
  return false;
42
49
  if (!('lastError' in value) || value['lastError'] === undefined)
43
50
  return false;
51
+ if (!('emptyReason' in value) || value['emptyReason'] === undefined)
52
+ return false;
44
53
  if (!('concepts' in value) || value['concepts'] === undefined)
45
54
  return false;
46
55
  return true;
@@ -57,6 +66,7 @@ export function StudyObjectiveConceptAttachmentFromJSONTyped(json, ignoreDiscrim
57
66
  'kind': json['kind'],
58
67
  'status': json['status'],
59
68
  'lastError': json['lastError'],
69
+ 'emptyReason': json['emptyReason'],
60
70
  'concepts': (json['concepts'].map(StudyObjectiveConceptSummaryFromJSON)),
61
71
  };
62
72
  }
@@ -72,6 +82,7 @@ export function StudyObjectiveConceptAttachmentToJSONTyped(value, ignoreDiscrimi
72
82
  'kind': value['kind'],
73
83
  'status': value['status'],
74
84
  'lastError': value['lastError'],
85
+ 'emptyReason': value['emptyReason'],
75
86
  'concepts': (value['concepts'].map(StudyObjectiveConceptSummaryToJSON)),
76
87
  };
77
88
  }
@@ -72,6 +72,12 @@ export interface UpcomingStudyObjective {
72
72
  * @memberof UpcomingStudyObjective
73
73
  */
74
74
  title: string;
75
+ /**
76
+ * Whether this objective's own title names a subject (a word other than an assessment's form, its place in a course, its attempt kind or its delivery: 'Quiz 1: Descriptive Statistics' does, 'Test 2' and 'Chapter 3 Quiz' don't). Read from the title on every response, never stored. A client shows a Canvas item's `no-evidence` reason only when this is false, so a title the learner sees naming a subject is never called bare.
77
+ * @type {boolean}
78
+ * @memberof UpcomingStudyObjective
79
+ */
80
+ titleNamesSubject: boolean;
75
81
  /**
76
82
  *
77
83
  * @type {string}
@@ -52,6 +52,8 @@ export function instanceOfUpcomingStudyObjective(value) {
52
52
  return false;
53
53
  if (!('title' in value) || value['title'] === undefined)
54
54
  return false;
55
+ if (!('titleNamesSubject' in value) || value['titleNamesSubject'] === undefined)
56
+ return false;
55
57
  if (!('notes' in value) || value['notes'] === undefined)
56
58
  return false;
57
59
  if (!('fileAttachments' in value) || value['fileAttachments'] === undefined)
@@ -87,6 +89,7 @@ export function UpcomingStudyObjectiveFromJSONTyped(json, ignoreDiscriminator) {
87
89
  'source': json['source'],
88
90
  'templateKey': json['templateKey'],
89
91
  'title': json['title'],
92
+ 'titleNamesSubject': json['titleNamesSubject'],
90
93
  'notes': json['notes'],
91
94
  'fileAttachments': (json['fileAttachments'].map(StudyObjectiveFileAttachmentFromJSON)),
92
95
  'canvasDocuments': (json['canvasDocuments'].map(StudyObjectiveCanvasDocumentFromJSON)),
@@ -117,6 +120,7 @@ export function UpcomingStudyObjectiveToJSONTyped(value, ignoreDiscriminator = f
117
120
  'source': value['source'],
118
121
  'templateKey': value['templateKey'],
119
122
  'title': value['title'],
123
+ 'titleNamesSubject': value['titleNamesSubject'],
120
124
  'notes': value['notes'],
121
125
  'fileAttachments': (value['fileAttachments'].map(StudyObjectiveFileAttachmentToJSON)),
122
126
  'canvasDocuments': (value['canvasDocuments'].map(StudyObjectiveCanvasDocumentToJSON)),
@@ -16,16 +16,23 @@ export * from './AdminChat';
16
16
  export * from './AdminChatAnalysis';
17
17
  export * from './AdminChatCanvasUsage';
18
18
  export * from './AdminChatWithStats';
19
+ export * from './AdminClaimConceptMediaReviewNotificationsRequest';
19
20
  export * from './AdminCohortStats';
20
21
  export * from './AdminConceptDiagram';
21
22
  export * from './AdminConceptDiagramDetail';
22
23
  export * from './AdminConceptImage';
23
24
  export * from './AdminConceptImageDetail';
24
25
  export * from './AdminConceptMediaActor';
26
+ export * from './AdminConceptMediaAgentReview';
25
27
  export * from './AdminConceptMediaConcept';
26
28
  export * from './AdminConceptMediaHistoryEntry';
27
29
  export * from './AdminConceptMediaJob';
28
30
  export * from './AdminConceptMediaPromptSuggestion';
31
+ export * from './AdminConceptMediaReviewDurationStats';
32
+ export * from './AdminConceptMediaReviewKindStats';
33
+ export * from './AdminConceptMediaReviewNotification';
34
+ export * from './AdminConceptMediaReviewNotifications';
35
+ export * from './AdminConceptMediaReviewStats';
29
36
  export * from './AdminConceptMediaRevision';
30
37
  export * from './AdminConceptSearchResult';
31
38
  export * from './AdminExchangeChat';
@@ -101,6 +108,7 @@ export * from './ConceptDiagramDetail';
101
108
  export * from './ConceptDiagramGalleryItem';
102
109
  export * from './ConceptImageGalleryItem';
103
110
  export * from './ConceptMediaFlagResult';
111
+ export * from './ConceptMediaReviewIssue';
104
112
  export * from './CreateAccountRequest';
105
113
  export * from './CreateChatRequest';
106
114
  export * from './CreateFeatureDto';
@@ -18,16 +18,23 @@ export * from './AdminChat';
18
18
  export * from './AdminChatAnalysis';
19
19
  export * from './AdminChatCanvasUsage';
20
20
  export * from './AdminChatWithStats';
21
+ export * from './AdminClaimConceptMediaReviewNotificationsRequest';
21
22
  export * from './AdminCohortStats';
22
23
  export * from './AdminConceptDiagram';
23
24
  export * from './AdminConceptDiagramDetail';
24
25
  export * from './AdminConceptImage';
25
26
  export * from './AdminConceptImageDetail';
26
27
  export * from './AdminConceptMediaActor';
28
+ export * from './AdminConceptMediaAgentReview';
27
29
  export * from './AdminConceptMediaConcept';
28
30
  export * from './AdminConceptMediaHistoryEntry';
29
31
  export * from './AdminConceptMediaJob';
30
32
  export * from './AdminConceptMediaPromptSuggestion';
33
+ export * from './AdminConceptMediaReviewDurationStats';
34
+ export * from './AdminConceptMediaReviewKindStats';
35
+ export * from './AdminConceptMediaReviewNotification';
36
+ export * from './AdminConceptMediaReviewNotifications';
37
+ export * from './AdminConceptMediaReviewStats';
31
38
  export * from './AdminConceptMediaRevision';
32
39
  export * from './AdminConceptSearchResult';
33
40
  export * from './AdminExchangeChat';
@@ -103,6 +110,7 @@ export * from './ConceptDiagramDetail';
103
110
  export * from './ConceptDiagramGalleryItem';
104
111
  export * from './ConceptImageGalleryItem';
105
112
  export * from './ConceptMediaFlagResult';
113
+ export * from './ConceptMediaReviewIssue';
106
114
  export * from './CreateAccountRequest';
107
115
  export * from './CreateChatRequest';
108
116
  export * from './CreateFeatureDto';
@@ -0,0 +1,32 @@
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 AdminClaimConceptMediaReviewNotificationsRequest
16
+ */
17
+ export interface AdminClaimConceptMediaReviewNotificationsRequest {
18
+ /**
19
+ *
20
+ * @type {number}
21
+ * @memberof AdminClaimConceptMediaReviewNotificationsRequest
22
+ */
23
+ limit?: number;
24
+ }
25
+ /**
26
+ * Check if a given object implements the AdminClaimConceptMediaReviewNotificationsRequest interface.
27
+ */
28
+ export declare function instanceOfAdminClaimConceptMediaReviewNotificationsRequest(value: object): value is AdminClaimConceptMediaReviewNotificationsRequest;
29
+ export declare function AdminClaimConceptMediaReviewNotificationsRequestFromJSON(json: any): AdminClaimConceptMediaReviewNotificationsRequest;
30
+ export declare function AdminClaimConceptMediaReviewNotificationsRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): AdminClaimConceptMediaReviewNotificationsRequest;
31
+ export declare function AdminClaimConceptMediaReviewNotificationsRequestToJSON(json: any): AdminClaimConceptMediaReviewNotificationsRequest;
32
+ export declare function AdminClaimConceptMediaReviewNotificationsRequestToJSONTyped(value?: AdminClaimConceptMediaReviewNotificationsRequest | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,48 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.instanceOfAdminClaimConceptMediaReviewNotificationsRequest = instanceOfAdminClaimConceptMediaReviewNotificationsRequest;
17
+ exports.AdminClaimConceptMediaReviewNotificationsRequestFromJSON = AdminClaimConceptMediaReviewNotificationsRequestFromJSON;
18
+ exports.AdminClaimConceptMediaReviewNotificationsRequestFromJSONTyped = AdminClaimConceptMediaReviewNotificationsRequestFromJSONTyped;
19
+ exports.AdminClaimConceptMediaReviewNotificationsRequestToJSON = AdminClaimConceptMediaReviewNotificationsRequestToJSON;
20
+ exports.AdminClaimConceptMediaReviewNotificationsRequestToJSONTyped = AdminClaimConceptMediaReviewNotificationsRequestToJSONTyped;
21
+ /**
22
+ * Check if a given object implements the AdminClaimConceptMediaReviewNotificationsRequest interface.
23
+ */
24
+ function instanceOfAdminClaimConceptMediaReviewNotificationsRequest(value) {
25
+ return true;
26
+ }
27
+ function AdminClaimConceptMediaReviewNotificationsRequestFromJSON(json) {
28
+ return AdminClaimConceptMediaReviewNotificationsRequestFromJSONTyped(json, false);
29
+ }
30
+ function AdminClaimConceptMediaReviewNotificationsRequestFromJSONTyped(json, ignoreDiscriminator) {
31
+ if (json == null) {
32
+ return json;
33
+ }
34
+ return {
35
+ 'limit': json['limit'] == null ? undefined : json['limit'],
36
+ };
37
+ }
38
+ function AdminClaimConceptMediaReviewNotificationsRequestToJSON(json) {
39
+ return AdminClaimConceptMediaReviewNotificationsRequestToJSONTyped(json, false);
40
+ }
41
+ function AdminClaimConceptMediaReviewNotificationsRequestToJSONTyped(value, ignoreDiscriminator = false) {
42
+ if (value == null) {
43
+ return value;
44
+ }
45
+ return {
46
+ 'limit': value['limit'],
47
+ };
48
+ }
@@ -9,6 +9,7 @@
9
9
  * https://openapi-generator.tech
10
10
  * Do not edit the class manually.
11
11
  */
12
+ import type { AdminConceptMediaAgentReview } from './AdminConceptMediaAgentReview';
12
13
  import type { AdminConceptMediaConcept } from './AdminConceptMediaConcept';
13
14
  import type { AdminConceptMediaActor } from './AdminConceptMediaActor';
14
15
  /**
@@ -78,7 +79,7 @@ export interface AdminConceptDiagram {
78
79
  */
79
80
  hiddenBy: AdminConceptMediaActor | null;
80
81
  /**
81
- * True when the current hide came from a learner's thumbs-down flag rather than an admin. False when visible or hidden by an admin. List these with state=flagged.
82
+ * True when the current hide came from a flag (a learner's thumbs-down, or the reviewer agent's; see flaggedByAgent) rather than an admin. False when visible or hidden by an admin. List these with state=flagged.
82
83
  * @type {boolean}
83
84
  * @memberof AdminConceptDiagram
84
85
  */
@@ -96,7 +97,19 @@ export interface AdminConceptDiagram {
96
97
  */
97
98
  approvedBy: AdminConceptMediaActor | null;
98
99
  /**
99
- * When a learner first flagged it after an admin approved it. The flag leaves an approved row visible, so this is what puts it back in state=flagged for re-review. Null when no flag has come in since the last admin show or hide; cleared by show, hide, restore, and by showing another version with hideOtherVersions.
100
+ * True while a concept media reviewer agent flag awaits an admin's review: the flag hid the row (hiddenByFlag), queued an approved row for re-review (flaggedAfterApprovalAt), or found the row hidden and unapproved (e.g. an admin draft) and left it hidden. Such rows list under state=flagged; agentReview carries the reason. hiddenBy is null for an agent hide. Cleared by show, hide, and showing another version with hideOtherVersions; restore keeps it on a row that stays hidden. Never set on a row a learner's flag hid.
101
+ * @type {boolean}
102
+ * @memberof AdminConceptDiagram
103
+ */
104
+ flaggedByAgent: boolean;
105
+ /**
106
+ * The reviewer agent's latest review of this row; null when none has run (the review is off, or still pending).
107
+ * @type {AdminConceptMediaAgentReview}
108
+ * @memberof AdminConceptDiagram
109
+ */
110
+ agentReview: AdminConceptMediaAgentReview | null;
111
+ /**
112
+ * When a learner (or the reviewer agent, see flaggedByAgent) first flagged it after an admin approved it. The flag leaves an approved row visible, so this is what puts it back in state=flagged for re-review. Null when no flag has come in since the last admin show or hide; cleared by show, hide, restore, and by showing another version with hideOtherVersions.
100
113
  * @type {Date}
101
114
  * @memberof AdminConceptDiagram
102
115
  */
@@ -19,6 +19,7 @@ exports.AdminConceptDiagramFromJSON = AdminConceptDiagramFromJSON;
19
19
  exports.AdminConceptDiagramFromJSONTyped = AdminConceptDiagramFromJSONTyped;
20
20
  exports.AdminConceptDiagramToJSON = AdminConceptDiagramToJSON;
21
21
  exports.AdminConceptDiagramToJSONTyped = AdminConceptDiagramToJSONTyped;
22
+ const AdminConceptMediaAgentReview_1 = require("./AdminConceptMediaAgentReview");
22
23
  const AdminConceptMediaConcept_1 = require("./AdminConceptMediaConcept");
23
24
  const AdminConceptMediaActor_1 = require("./AdminConceptMediaActor");
24
25
  /**
@@ -66,6 +67,10 @@ function instanceOfAdminConceptDiagram(value) {
66
67
  return false;
67
68
  if (!('approvedBy' in value) || value['approvedBy'] === undefined)
68
69
  return false;
70
+ if (!('flaggedByAgent' in value) || value['flaggedByAgent'] === undefined)
71
+ return false;
72
+ if (!('agentReview' in value) || value['agentReview'] === undefined)
73
+ return false;
69
74
  if (!('flaggedAfterApprovalAt' in value) || value['flaggedAfterApprovalAt'] === undefined)
70
75
  return false;
71
76
  if (!('deletedAt' in value) || value['deletedAt'] === undefined)
@@ -113,6 +118,8 @@ function AdminConceptDiagramFromJSONTyped(json, ignoreDiscriminator) {
113
118
  'hiddenByFlag': json['hiddenByFlag'],
114
119
  'approvedAt': (json['approvedAt'] == null ? null : new Date(json['approvedAt'])),
115
120
  'approvedBy': (0, AdminConceptMediaActor_1.AdminConceptMediaActorFromJSON)(json['approvedBy']),
121
+ 'flaggedByAgent': json['flaggedByAgent'],
122
+ 'agentReview': (0, AdminConceptMediaAgentReview_1.AdminConceptMediaAgentReviewFromJSON)(json['agentReview']),
116
123
  'flaggedAfterApprovalAt': (json['flaggedAfterApprovalAt'] == null ? null : new Date(json['flaggedAfterApprovalAt'])),
117
124
  'deletedAt': (json['deletedAt'] == null ? null : new Date(json['deletedAt'])),
118
125
  'deletedBy': (0, AdminConceptMediaActor_1.AdminConceptMediaActorFromJSON)(json['deletedBy']),
@@ -148,6 +155,8 @@ function AdminConceptDiagramToJSONTyped(value, ignoreDiscriminator = false) {
148
155
  'hiddenByFlag': value['hiddenByFlag'],
149
156
  'approvedAt': value['approvedAt'] == null ? value['approvedAt'] : value['approvedAt'].toISOString(),
150
157
  'approvedBy': (0, AdminConceptMediaActor_1.AdminConceptMediaActorToJSON)(value['approvedBy']),
158
+ 'flaggedByAgent': value['flaggedByAgent'],
159
+ 'agentReview': (0, AdminConceptMediaAgentReview_1.AdminConceptMediaAgentReviewToJSON)(value['agentReview']),
151
160
  'flaggedAfterApprovalAt': value['flaggedAfterApprovalAt'] == null ? value['flaggedAfterApprovalAt'] : value['flaggedAfterApprovalAt'].toISOString(),
152
161
  'deletedAt': value['deletedAt'] == null ? value['deletedAt'] : value['deletedAt'].toISOString(),
153
162
  'deletedBy': (0, AdminConceptMediaActor_1.AdminConceptMediaActorToJSON)(value['deletedBy']),
@@ -9,6 +9,7 @@
9
9
  * https://openapi-generator.tech
10
10
  * Do not edit the class manually.
11
11
  */
12
+ import type { AdminConceptMediaAgentReview } from './AdminConceptMediaAgentReview';
12
13
  import type { AdminConceptMediaConcept } from './AdminConceptMediaConcept';
13
14
  import type { AdminConceptMediaHistoryEntry } from './AdminConceptMediaHistoryEntry';
14
15
  import type { AdminConceptMediaActor } from './AdminConceptMediaActor';
@@ -80,7 +81,7 @@ export interface AdminConceptDiagramDetail {
80
81
  */
81
82
  hiddenBy: AdminConceptMediaActor | null;
82
83
  /**
83
- * True when the current hide came from a learner's thumbs-down flag rather than an admin. False when visible or hidden by an admin. List these with state=flagged.
84
+ * True when the current hide came from a flag (a learner's thumbs-down, or the reviewer agent's; see flaggedByAgent) rather than an admin. False when visible or hidden by an admin. List these with state=flagged.
84
85
  * @type {boolean}
85
86
  * @memberof AdminConceptDiagramDetail
86
87
  */
@@ -98,7 +99,19 @@ export interface AdminConceptDiagramDetail {
98
99
  */
99
100
  approvedBy: AdminConceptMediaActor | null;
100
101
  /**
101
- * When a learner first flagged it after an admin approved it. The flag leaves an approved row visible, so this is what puts it back in state=flagged for re-review. Null when no flag has come in since the last admin show or hide; cleared by show, hide, restore, and by showing another version with hideOtherVersions.
102
+ * True while a concept media reviewer agent flag awaits an admin's review: the flag hid the row (hiddenByFlag), queued an approved row for re-review (flaggedAfterApprovalAt), or found the row hidden and unapproved (e.g. an admin draft) and left it hidden. Such rows list under state=flagged; agentReview carries the reason. hiddenBy is null for an agent hide. Cleared by show, hide, and showing another version with hideOtherVersions; restore keeps it on a row that stays hidden. Never set on a row a learner's flag hid.
103
+ * @type {boolean}
104
+ * @memberof AdminConceptDiagramDetail
105
+ */
106
+ flaggedByAgent: boolean;
107
+ /**
108
+ * The reviewer agent's latest review of this row; null when none has run (the review is off, or still pending).
109
+ * @type {AdminConceptMediaAgentReview}
110
+ * @memberof AdminConceptDiagramDetail
111
+ */
112
+ agentReview: AdminConceptMediaAgentReview | null;
113
+ /**
114
+ * When a learner (or the reviewer agent, see flaggedByAgent) first flagged it after an admin approved it. The flag leaves an approved row visible, so this is what puts it back in state=flagged for re-review. Null when no flag has come in since the last admin show or hide; cleared by show, hide, restore, and by showing another version with hideOtherVersions.
102
115
  * @type {Date}
103
116
  * @memberof AdminConceptDiagramDetail
104
117
  */
@@ -19,6 +19,7 @@ exports.AdminConceptDiagramDetailFromJSON = AdminConceptDiagramDetailFromJSON;
19
19
  exports.AdminConceptDiagramDetailFromJSONTyped = AdminConceptDiagramDetailFromJSONTyped;
20
20
  exports.AdminConceptDiagramDetailToJSON = AdminConceptDiagramDetailToJSON;
21
21
  exports.AdminConceptDiagramDetailToJSONTyped = AdminConceptDiagramDetailToJSONTyped;
22
+ const AdminConceptMediaAgentReview_1 = require("./AdminConceptMediaAgentReview");
22
23
  const AdminConceptMediaConcept_1 = require("./AdminConceptMediaConcept");
23
24
  const AdminConceptMediaHistoryEntry_1 = require("./AdminConceptMediaHistoryEntry");
24
25
  const AdminConceptMediaActor_1 = require("./AdminConceptMediaActor");
@@ -68,6 +69,10 @@ function instanceOfAdminConceptDiagramDetail(value) {
68
69
  return false;
69
70
  if (!('approvedBy' in value) || value['approvedBy'] === undefined)
70
71
  return false;
72
+ if (!('flaggedByAgent' in value) || value['flaggedByAgent'] === undefined)
73
+ return false;
74
+ if (!('agentReview' in value) || value['agentReview'] === undefined)
75
+ return false;
71
76
  if (!('flaggedAfterApprovalAt' in value) || value['flaggedAfterApprovalAt'] === undefined)
72
77
  return false;
73
78
  if (!('deletedAt' in value) || value['deletedAt'] === undefined)
@@ -127,6 +132,8 @@ function AdminConceptDiagramDetailFromJSONTyped(json, ignoreDiscriminator) {
127
132
  'hiddenByFlag': json['hiddenByFlag'],
128
133
  'approvedAt': (json['approvedAt'] == null ? null : new Date(json['approvedAt'])),
129
134
  'approvedBy': (0, AdminConceptMediaActor_1.AdminConceptMediaActorFromJSON)(json['approvedBy']),
135
+ 'flaggedByAgent': json['flaggedByAgent'],
136
+ 'agentReview': (0, AdminConceptMediaAgentReview_1.AdminConceptMediaAgentReviewFromJSON)(json['agentReview']),
130
137
  'flaggedAfterApprovalAt': (json['flaggedAfterApprovalAt'] == null ? null : new Date(json['flaggedAfterApprovalAt'])),
131
138
  'deletedAt': (json['deletedAt'] == null ? null : new Date(json['deletedAt'])),
132
139
  'deletedBy': (0, AdminConceptMediaActor_1.AdminConceptMediaActorFromJSON)(json['deletedBy']),
@@ -168,6 +175,8 @@ function AdminConceptDiagramDetailToJSONTyped(value, ignoreDiscriminator = false
168
175
  'hiddenByFlag': value['hiddenByFlag'],
169
176
  'approvedAt': value['approvedAt'] == null ? value['approvedAt'] : value['approvedAt'].toISOString(),
170
177
  'approvedBy': (0, AdminConceptMediaActor_1.AdminConceptMediaActorToJSON)(value['approvedBy']),
178
+ 'flaggedByAgent': value['flaggedByAgent'],
179
+ 'agentReview': (0, AdminConceptMediaAgentReview_1.AdminConceptMediaAgentReviewToJSON)(value['agentReview']),
171
180
  'flaggedAfterApprovalAt': value['flaggedAfterApprovalAt'] == null ? value['flaggedAfterApprovalAt'] : value['flaggedAfterApprovalAt'].toISOString(),
172
181
  'deletedAt': value['deletedAt'] == null ? value['deletedAt'] : value['deletedAt'].toISOString(),
173
182
  'deletedBy': (0, AdminConceptMediaActor_1.AdminConceptMediaActorToJSON)(value['deletedBy']),