@instructure/athena-api-client 4.5.2 → 4.6.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 (70) 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/index.d.ts +8 -0
  37. package/dist/esm/models/index.js +8 -0
  38. package/dist/models/AdminClaimConceptMediaReviewNotificationsRequest.d.ts +32 -0
  39. package/dist/models/AdminClaimConceptMediaReviewNotificationsRequest.js +48 -0
  40. package/dist/models/AdminConceptDiagram.d.ts +15 -2
  41. package/dist/models/AdminConceptDiagram.js +9 -0
  42. package/dist/models/AdminConceptDiagramDetail.d.ts +15 -2
  43. package/dist/models/AdminConceptDiagramDetail.js +9 -0
  44. package/dist/models/AdminConceptImage.d.ts +15 -2
  45. package/dist/models/AdminConceptImage.js +9 -0
  46. package/dist/models/AdminConceptImageDetail.d.ts +15 -2
  47. package/dist/models/AdminConceptImageDetail.js +9 -0
  48. package/dist/models/AdminConceptMediaAgentReview.d.ts +131 -0
  49. package/dist/models/AdminConceptMediaAgentReview.js +125 -0
  50. package/dist/models/AdminConceptMediaReviewDurationStats.d.ts +50 -0
  51. package/dist/models/AdminConceptMediaReviewDurationStats.js +62 -0
  52. package/dist/models/AdminConceptMediaReviewKindStats.d.ts +89 -0
  53. package/dist/models/AdminConceptMediaReviewKindStats.js +91 -0
  54. package/dist/models/AdminConceptMediaReviewNotification.d.ts +123 -0
  55. package/dist/models/AdminConceptMediaReviewNotification.js +119 -0
  56. package/dist/models/AdminConceptMediaReviewNotifications.d.ts +33 -0
  57. package/dist/models/AdminConceptMediaReviewNotifications.js +51 -0
  58. package/dist/models/AdminConceptMediaReviewStats.d.ts +51 -0
  59. package/dist/models/AdminConceptMediaReviewStats.js +63 -0
  60. package/dist/models/AdminShownConceptDiagram.d.ts +15 -2
  61. package/dist/models/AdminShownConceptDiagram.js +9 -0
  62. package/dist/models/AdminShownConceptImage.d.ts +15 -2
  63. package/dist/models/AdminShownConceptImage.js +9 -0
  64. package/dist/models/ConceptMediaFlagResult.d.ts +16 -0
  65. package/dist/models/ConceptMediaFlagResult.js +14 -0
  66. package/dist/models/ConceptMediaReviewIssue.d.ts +64 -0
  67. package/dist/models/ConceptMediaReviewIssue.js +77 -0
  68. package/dist/models/index.d.ts +8 -0
  69. package/dist/models/index.js +8 -0
  70. package/package.json +1 -1
@@ -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 AdminConceptImage {
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 AdminConceptImage
84
85
  */
@@ -96,7 +97,19 @@ export interface AdminConceptImage {
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 AdminConceptImage
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 AdminConceptImage
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 AdminConceptImage
102
115
  */
@@ -11,6 +11,7 @@
11
11
  * https://openapi-generator.tech
12
12
  * Do not edit the class manually.
13
13
  */
14
+ import { AdminConceptMediaAgentReviewFromJSON, AdminConceptMediaAgentReviewToJSON, } from './AdminConceptMediaAgentReview';
14
15
  import { AdminConceptMediaConceptFromJSON, AdminConceptMediaConceptToJSON, } from './AdminConceptMediaConcept';
15
16
  import { AdminConceptMediaActorFromJSON, AdminConceptMediaActorToJSON, } from './AdminConceptMediaActor';
16
17
  /**
@@ -58,6 +59,10 @@ export function instanceOfAdminConceptImage(value) {
58
59
  return false;
59
60
  if (!('approvedBy' in value) || value['approvedBy'] === undefined)
60
61
  return false;
62
+ if (!('flaggedByAgent' in value) || value['flaggedByAgent'] === undefined)
63
+ return false;
64
+ if (!('agentReview' in value) || value['agentReview'] === undefined)
65
+ return false;
61
66
  if (!('flaggedAfterApprovalAt' in value) || value['flaggedAfterApprovalAt'] === undefined)
62
67
  return false;
63
68
  if (!('deletedAt' in value) || value['deletedAt'] === undefined)
@@ -111,6 +116,8 @@ export function AdminConceptImageFromJSONTyped(json, ignoreDiscriminator) {
111
116
  'hiddenByFlag': json['hiddenByFlag'],
112
117
  'approvedAt': (json['approvedAt'] == null ? null : new Date(json['approvedAt'])),
113
118
  'approvedBy': AdminConceptMediaActorFromJSON(json['approvedBy']),
119
+ 'flaggedByAgent': json['flaggedByAgent'],
120
+ 'agentReview': AdminConceptMediaAgentReviewFromJSON(json['agentReview']),
114
121
  'flaggedAfterApprovalAt': (json['flaggedAfterApprovalAt'] == null ? null : new Date(json['flaggedAfterApprovalAt'])),
115
122
  'deletedAt': (json['deletedAt'] == null ? null : new Date(json['deletedAt'])),
116
123
  'deletedBy': AdminConceptMediaActorFromJSON(json['deletedBy']),
@@ -149,6 +156,8 @@ export function AdminConceptImageToJSONTyped(value, ignoreDiscriminator = false)
149
156
  'hiddenByFlag': value['hiddenByFlag'],
150
157
  'approvedAt': value['approvedAt'] == null ? value['approvedAt'] : value['approvedAt'].toISOString(),
151
158
  'approvedBy': AdminConceptMediaActorToJSON(value['approvedBy']),
159
+ 'flaggedByAgent': value['flaggedByAgent'],
160
+ 'agentReview': AdminConceptMediaAgentReviewToJSON(value['agentReview']),
152
161
  'flaggedAfterApprovalAt': value['flaggedAfterApprovalAt'] == null ? value['flaggedAfterApprovalAt'] : value['flaggedAfterApprovalAt'].toISOString(),
153
162
  'deletedAt': value['deletedAt'] == null ? value['deletedAt'] : value['deletedAt'].toISOString(),
154
163
  'deletedBy': 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 AdminConceptImageDetail {
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 AdminConceptImageDetail
86
87
  */
@@ -98,7 +99,19 @@ export interface AdminConceptImageDetail {
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 AdminConceptImageDetail
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 AdminConceptImageDetail
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 AdminConceptImageDetail
104
117
  */
@@ -11,6 +11,7 @@
11
11
  * https://openapi-generator.tech
12
12
  * Do not edit the class manually.
13
13
  */
14
+ import { AdminConceptMediaAgentReviewFromJSON, AdminConceptMediaAgentReviewToJSON, } from './AdminConceptMediaAgentReview';
14
15
  import { AdminConceptMediaConceptFromJSON, AdminConceptMediaConceptToJSON, } from './AdminConceptMediaConcept';
15
16
  import { AdminConceptMediaHistoryEntryFromJSON, AdminConceptMediaHistoryEntryToJSON, } from './AdminConceptMediaHistoryEntry';
16
17
  import { AdminConceptMediaActorFromJSON, AdminConceptMediaActorToJSON, } from './AdminConceptMediaActor';
@@ -60,6 +61,10 @@ export function instanceOfAdminConceptImageDetail(value) {
60
61
  return false;
61
62
  if (!('approvedBy' in value) || value['approvedBy'] === undefined)
62
63
  return false;
64
+ if (!('flaggedByAgent' in value) || value['flaggedByAgent'] === undefined)
65
+ return false;
66
+ if (!('agentReview' in value) || value['agentReview'] === undefined)
67
+ return false;
63
68
  if (!('flaggedAfterApprovalAt' in value) || value['flaggedAfterApprovalAt'] === undefined)
64
69
  return false;
65
70
  if (!('deletedAt' in value) || value['deletedAt'] === undefined)
@@ -125,6 +130,8 @@ export function AdminConceptImageDetailFromJSONTyped(json, ignoreDiscriminator)
125
130
  'hiddenByFlag': json['hiddenByFlag'],
126
131
  'approvedAt': (json['approvedAt'] == null ? null : new Date(json['approvedAt'])),
127
132
  'approvedBy': AdminConceptMediaActorFromJSON(json['approvedBy']),
133
+ 'flaggedByAgent': json['flaggedByAgent'],
134
+ 'agentReview': AdminConceptMediaAgentReviewFromJSON(json['agentReview']),
128
135
  'flaggedAfterApprovalAt': (json['flaggedAfterApprovalAt'] == null ? null : new Date(json['flaggedAfterApprovalAt'])),
129
136
  'deletedAt': (json['deletedAt'] == null ? null : new Date(json['deletedAt'])),
130
137
  'deletedBy': AdminConceptMediaActorFromJSON(json['deletedBy']),
@@ -169,6 +176,8 @@ export function AdminConceptImageDetailToJSONTyped(value, ignoreDiscriminator =
169
176
  'hiddenByFlag': value['hiddenByFlag'],
170
177
  'approvedAt': value['approvedAt'] == null ? value['approvedAt'] : value['approvedAt'].toISOString(),
171
178
  'approvedBy': AdminConceptMediaActorToJSON(value['approvedBy']),
179
+ 'flaggedByAgent': value['flaggedByAgent'],
180
+ 'agentReview': AdminConceptMediaAgentReviewToJSON(value['agentReview']),
172
181
  'flaggedAfterApprovalAt': value['flaggedAfterApprovalAt'] == null ? value['flaggedAfterApprovalAt'] : value['flaggedAfterApprovalAt'].toISOString(),
173
182
  'deletedAt': value['deletedAt'] == null ? value['deletedAt'] : value['deletedAt'].toISOString(),
174
183
  'deletedBy': AdminConceptMediaActorToJSON(value['deletedBy']),
@@ -0,0 +1,131 @@
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 type { ConceptMediaReviewIssue } from './ConceptMediaReviewIssue';
13
+ /**
14
+ * The concept media reviewer agent's latest review of a library row, run in the background after the row was created.
15
+ * @export
16
+ * @interface AdminConceptMediaAgentReview
17
+ */
18
+ export interface AdminConceptMediaAgentReview {
19
+ /**
20
+ *
21
+ * @type {string}
22
+ * @memberof AdminConceptMediaAgentReview
23
+ */
24
+ id: string;
25
+ /**
26
+ * passed: nothing worth flagging. flagged: the agent flagged the row (see flagOutcome for what that did). failed: the review call errored or timed out, and nothing was flagged.
27
+ * @type {string}
28
+ * @memberof AdminConceptMediaAgentReview
29
+ */
30
+ status: AdminConceptMediaAgentReviewStatusEnum;
31
+ /**
32
+ * Set when flagged: the closest of the reasons learners flag with.
33
+ * @type {string}
34
+ * @memberof AdminConceptMediaAgentReview
35
+ */
36
+ reason: AdminConceptMediaAgentReviewReasonEnum | null;
37
+ /**
38
+ * The agent's explanation for an admin: what is wrong and where. Always set when flagged; may be set on a pass.
39
+ * @type {string}
40
+ * @memberof AdminConceptMediaAgentReview
41
+ */
42
+ details: string | null;
43
+ /**
44
+ *
45
+ * @type {Array<ConceptMediaReviewIssue>}
46
+ * @memberof AdminConceptMediaAgentReview
47
+ */
48
+ issues: Array<ConceptMediaReviewIssue>;
49
+ /**
50
+ * The reviewing model
51
+ * @type {string}
52
+ * @memberof AdminConceptMediaAgentReview
53
+ */
54
+ model: string;
55
+ /**
56
+ * The reviewing model's reasoning effort
57
+ * @type {string}
58
+ * @memberof AdminConceptMediaAgentReview
59
+ */
60
+ effort: string | null;
61
+ /**
62
+ * Wall-clock duration of the review model call
63
+ * @type {number}
64
+ * @memberof AdminConceptMediaAgentReview
65
+ */
66
+ durationMs: number;
67
+ /**
68
+ *
69
+ * @type {Date}
70
+ * @memberof AdminConceptMediaAgentReview
71
+ */
72
+ startedAt: Date;
73
+ /**
74
+ *
75
+ * @type {Date}
76
+ * @memberof AdminConceptMediaAgentReview
77
+ */
78
+ completedAt: Date;
79
+ /**
80
+ * Null when usage or price was missing; never estimated.
81
+ * @type {number}
82
+ * @memberof AdminConceptMediaAgentReview
83
+ */
84
+ costUsd: number | null;
85
+ /**
86
+ * Set when flagged: what the flag did. hidden: it hid the row. flagged_again: the row is admin-approved, so it stayed visible and was queued for re-review. already_hidden: already hidden or deleted (admin drafts start hidden). already_flagged: already queued for re-review. not_found: the row was gone.
87
+ * @type {string}
88
+ * @memberof AdminConceptMediaAgentReview
89
+ */
90
+ flagOutcome: AdminConceptMediaAgentReviewFlagOutcomeEnum | null;
91
+ }
92
+ /**
93
+ * @export
94
+ */
95
+ export declare const AdminConceptMediaAgentReviewStatusEnum: {
96
+ readonly Passed: "passed";
97
+ readonly Flagged: "flagged";
98
+ readonly Failed: "failed";
99
+ };
100
+ export type AdminConceptMediaAgentReviewStatusEnum = typeof AdminConceptMediaAgentReviewStatusEnum[keyof typeof AdminConceptMediaAgentReviewStatusEnum];
101
+ /**
102
+ * @export
103
+ */
104
+ export declare const AdminConceptMediaAgentReviewReasonEnum: {
105
+ readonly Inaccurate: "inaccurate";
106
+ readonly HardToRead: "hard_to_read";
107
+ readonly Irrelevant: "irrelevant";
108
+ readonly Inappropriate: "inappropriate";
109
+ readonly NotHelpful: "not_helpful";
110
+ readonly Other: "other";
111
+ };
112
+ export type AdminConceptMediaAgentReviewReasonEnum = typeof AdminConceptMediaAgentReviewReasonEnum[keyof typeof AdminConceptMediaAgentReviewReasonEnum];
113
+ /**
114
+ * @export
115
+ */
116
+ export declare const AdminConceptMediaAgentReviewFlagOutcomeEnum: {
117
+ readonly Hidden: "hidden";
118
+ readonly AlreadyHidden: "already_hidden";
119
+ readonly FlaggedAgain: "flagged_again";
120
+ readonly AlreadyFlagged: "already_flagged";
121
+ readonly NotFound: "not_found";
122
+ };
123
+ export type AdminConceptMediaAgentReviewFlagOutcomeEnum = typeof AdminConceptMediaAgentReviewFlagOutcomeEnum[keyof typeof AdminConceptMediaAgentReviewFlagOutcomeEnum];
124
+ /**
125
+ * Check if a given object implements the AdminConceptMediaAgentReview interface.
126
+ */
127
+ export declare function instanceOfAdminConceptMediaAgentReview(value: object): value is AdminConceptMediaAgentReview;
128
+ export declare function AdminConceptMediaAgentReviewFromJSON(json: any): AdminConceptMediaAgentReview;
129
+ export declare function AdminConceptMediaAgentReviewFromJSONTyped(json: any, ignoreDiscriminator: boolean): AdminConceptMediaAgentReview;
130
+ export declare function AdminConceptMediaAgentReviewToJSON(json: any): AdminConceptMediaAgentReview;
131
+ export declare function AdminConceptMediaAgentReviewToJSONTyped(value?: AdminConceptMediaAgentReview | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,117 @@
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
+ import { ConceptMediaReviewIssueFromJSON, ConceptMediaReviewIssueToJSON, } from './ConceptMediaReviewIssue';
15
+ /**
16
+ * @export
17
+ */
18
+ export const AdminConceptMediaAgentReviewStatusEnum = {
19
+ Passed: 'passed',
20
+ Flagged: 'flagged',
21
+ Failed: 'failed'
22
+ };
23
+ /**
24
+ * @export
25
+ */
26
+ export const AdminConceptMediaAgentReviewReasonEnum = {
27
+ Inaccurate: 'inaccurate',
28
+ HardToRead: 'hard_to_read',
29
+ Irrelevant: 'irrelevant',
30
+ Inappropriate: 'inappropriate',
31
+ NotHelpful: 'not_helpful',
32
+ Other: 'other'
33
+ };
34
+ /**
35
+ * @export
36
+ */
37
+ export const AdminConceptMediaAgentReviewFlagOutcomeEnum = {
38
+ Hidden: 'hidden',
39
+ AlreadyHidden: 'already_hidden',
40
+ FlaggedAgain: 'flagged_again',
41
+ AlreadyFlagged: 'already_flagged',
42
+ NotFound: 'not_found'
43
+ };
44
+ /**
45
+ * Check if a given object implements the AdminConceptMediaAgentReview interface.
46
+ */
47
+ export function instanceOfAdminConceptMediaAgentReview(value) {
48
+ if (!('id' in value) || value['id'] === undefined)
49
+ return false;
50
+ if (!('status' in value) || value['status'] === undefined)
51
+ return false;
52
+ if (!('reason' in value) || value['reason'] === undefined)
53
+ return false;
54
+ if (!('details' in value) || value['details'] === undefined)
55
+ return false;
56
+ if (!('issues' in value) || value['issues'] === undefined)
57
+ return false;
58
+ if (!('model' in value) || value['model'] === undefined)
59
+ return false;
60
+ if (!('effort' in value) || value['effort'] === undefined)
61
+ return false;
62
+ if (!('durationMs' in value) || value['durationMs'] === undefined)
63
+ return false;
64
+ if (!('startedAt' in value) || value['startedAt'] === undefined)
65
+ return false;
66
+ if (!('completedAt' in value) || value['completedAt'] === undefined)
67
+ return false;
68
+ if (!('costUsd' in value) || value['costUsd'] === undefined)
69
+ return false;
70
+ if (!('flagOutcome' in value) || value['flagOutcome'] === undefined)
71
+ return false;
72
+ return true;
73
+ }
74
+ export function AdminConceptMediaAgentReviewFromJSON(json) {
75
+ return AdminConceptMediaAgentReviewFromJSONTyped(json, false);
76
+ }
77
+ export function AdminConceptMediaAgentReviewFromJSONTyped(json, ignoreDiscriminator) {
78
+ if (json == null) {
79
+ return json;
80
+ }
81
+ return {
82
+ 'id': json['id'],
83
+ 'status': json['status'],
84
+ 'reason': json['reason'],
85
+ 'details': json['details'],
86
+ 'issues': (json['issues'].map(ConceptMediaReviewIssueFromJSON)),
87
+ 'model': json['model'],
88
+ 'effort': json['effort'],
89
+ 'durationMs': json['durationMs'],
90
+ 'startedAt': (new Date(json['startedAt'])),
91
+ 'completedAt': (new Date(json['completedAt'])),
92
+ 'costUsd': json['costUsd'],
93
+ 'flagOutcome': json['flagOutcome'],
94
+ };
95
+ }
96
+ export function AdminConceptMediaAgentReviewToJSON(json) {
97
+ return AdminConceptMediaAgentReviewToJSONTyped(json, false);
98
+ }
99
+ export function AdminConceptMediaAgentReviewToJSONTyped(value, ignoreDiscriminator = false) {
100
+ if (value == null) {
101
+ return value;
102
+ }
103
+ return {
104
+ 'id': value['id'],
105
+ 'status': value['status'],
106
+ 'reason': value['reason'],
107
+ 'details': value['details'],
108
+ 'issues': (value['issues'].map(ConceptMediaReviewIssueToJSON)),
109
+ 'model': value['model'],
110
+ 'effort': value['effort'],
111
+ 'durationMs': value['durationMs'],
112
+ 'startedAt': value['startedAt'].toISOString(),
113
+ 'completedAt': value['completedAt'].toISOString(),
114
+ 'costUsd': value['costUsd'],
115
+ 'flagOutcome': value['flagOutcome'],
116
+ };
117
+ }
@@ -0,0 +1,50 @@
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
+ * Wall-clock duration of review model calls, in milliseconds.
14
+ * @export
15
+ * @interface AdminConceptMediaReviewDurationStats
16
+ */
17
+ export interface AdminConceptMediaReviewDurationStats {
18
+ /**
19
+ *
20
+ * @type {number}
21
+ * @memberof AdminConceptMediaReviewDurationStats
22
+ */
23
+ avgMs: number | null;
24
+ /**
25
+ *
26
+ * @type {number}
27
+ * @memberof AdminConceptMediaReviewDurationStats
28
+ */
29
+ p50Ms: number | null;
30
+ /**
31
+ *
32
+ * @type {number}
33
+ * @memberof AdminConceptMediaReviewDurationStats
34
+ */
35
+ p95Ms: number | null;
36
+ /**
37
+ *
38
+ * @type {number}
39
+ * @memberof AdminConceptMediaReviewDurationStats
40
+ */
41
+ maxMs: number | null;
42
+ }
43
+ /**
44
+ * Check if a given object implements the AdminConceptMediaReviewDurationStats interface.
45
+ */
46
+ export declare function instanceOfAdminConceptMediaReviewDurationStats(value: object): value is AdminConceptMediaReviewDurationStats;
47
+ export declare function AdminConceptMediaReviewDurationStatsFromJSON(json: any): AdminConceptMediaReviewDurationStats;
48
+ export declare function AdminConceptMediaReviewDurationStatsFromJSONTyped(json: any, ignoreDiscriminator: boolean): AdminConceptMediaReviewDurationStats;
49
+ export declare function AdminConceptMediaReviewDurationStatsToJSON(json: any): AdminConceptMediaReviewDurationStats;
50
+ export declare function AdminConceptMediaReviewDurationStatsToJSONTyped(value?: AdminConceptMediaReviewDurationStats | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,55 @@
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
+ * Check if a given object implements the AdminConceptMediaReviewDurationStats interface.
16
+ */
17
+ export function instanceOfAdminConceptMediaReviewDurationStats(value) {
18
+ if (!('avgMs' in value) || value['avgMs'] === undefined)
19
+ return false;
20
+ if (!('p50Ms' in value) || value['p50Ms'] === undefined)
21
+ return false;
22
+ if (!('p95Ms' in value) || value['p95Ms'] === undefined)
23
+ return false;
24
+ if (!('maxMs' in value) || value['maxMs'] === undefined)
25
+ return false;
26
+ return true;
27
+ }
28
+ export function AdminConceptMediaReviewDurationStatsFromJSON(json) {
29
+ return AdminConceptMediaReviewDurationStatsFromJSONTyped(json, false);
30
+ }
31
+ export function AdminConceptMediaReviewDurationStatsFromJSONTyped(json, ignoreDiscriminator) {
32
+ if (json == null) {
33
+ return json;
34
+ }
35
+ return {
36
+ 'avgMs': json['avgMs'],
37
+ 'p50Ms': json['p50Ms'],
38
+ 'p95Ms': json['p95Ms'],
39
+ 'maxMs': json['maxMs'],
40
+ };
41
+ }
42
+ export function AdminConceptMediaReviewDurationStatsToJSON(json) {
43
+ return AdminConceptMediaReviewDurationStatsToJSONTyped(json, false);
44
+ }
45
+ export function AdminConceptMediaReviewDurationStatsToJSONTyped(value, ignoreDiscriminator = false) {
46
+ if (value == null) {
47
+ return value;
48
+ }
49
+ return {
50
+ 'avgMs': value['avgMs'],
51
+ 'p50Ms': value['p50Ms'],
52
+ 'p95Ms': value['p95Ms'],
53
+ 'maxMs': value['maxMs'],
54
+ };
55
+ }
@@ -0,0 +1,89 @@
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 type { AdminConceptMediaReviewDurationStats } from './AdminConceptMediaReviewDurationStats';
13
+ /**
14
+ * Reviewer agent stats for one media kind.
15
+ * @export
16
+ * @interface AdminConceptMediaReviewKindStats
17
+ */
18
+ export interface AdminConceptMediaReviewKindStats {
19
+ /**
20
+ *
21
+ * @type {string}
22
+ * @memberof AdminConceptMediaReviewKindStats
23
+ */
24
+ kind: AdminConceptMediaReviewKindStatsKindEnum;
25
+ /**
26
+ * Reviews of every status
27
+ * @type {number}
28
+ * @memberof AdminConceptMediaReviewKindStats
29
+ */
30
+ total: number;
31
+ /**
32
+ *
33
+ * @type {number}
34
+ * @memberof AdminConceptMediaReviewKindStats
35
+ */
36
+ passed: number;
37
+ /**
38
+ *
39
+ * @type {number}
40
+ * @memberof AdminConceptMediaReviewKindStats
41
+ */
42
+ flagged: number;
43
+ /**
44
+ *
45
+ * @type {number}
46
+ * @memberof AdminConceptMediaReviewKindStats
47
+ */
48
+ failed: number;
49
+ /**
50
+ * flagged / (passed + flagged): failed reviews left out. Null with no completed review.
51
+ * @type {number}
52
+ * @memberof AdminConceptMediaReviewKindStats
53
+ */
54
+ flagRate: number | null;
55
+ /**
56
+ * Over every review in the window, failed ones included
57
+ * @type {AdminConceptMediaReviewDurationStats}
58
+ * @memberof AdminConceptMediaReviewKindStats
59
+ */
60
+ durationMs: AdminConceptMediaReviewDurationStats;
61
+ /**
62
+ * From the media row's creation to its review's completion, so it includes queueing before the model call
63
+ * @type {AdminConceptMediaReviewDurationStats}
64
+ * @memberof AdminConceptMediaReviewKindStats
65
+ */
66
+ sinceCreatedMs: AdminConceptMediaReviewDurationStats;
67
+ /**
68
+ * Sum of known review costs in USD; unpriced reviews add 0
69
+ * @type {number}
70
+ * @memberof AdminConceptMediaReviewKindStats
71
+ */
72
+ costUsd: number;
73
+ }
74
+ /**
75
+ * @export
76
+ */
77
+ export declare const AdminConceptMediaReviewKindStatsKindEnum: {
78
+ readonly Image: "image";
79
+ readonly Diagram: "diagram";
80
+ };
81
+ export type AdminConceptMediaReviewKindStatsKindEnum = typeof AdminConceptMediaReviewKindStatsKindEnum[keyof typeof AdminConceptMediaReviewKindStatsKindEnum];
82
+ /**
83
+ * Check if a given object implements the AdminConceptMediaReviewKindStats interface.
84
+ */
85
+ export declare function instanceOfAdminConceptMediaReviewKindStats(value: object): value is AdminConceptMediaReviewKindStats;
86
+ export declare function AdminConceptMediaReviewKindStatsFromJSON(json: any): AdminConceptMediaReviewKindStats;
87
+ export declare function AdminConceptMediaReviewKindStatsFromJSONTyped(json: any, ignoreDiscriminator: boolean): AdminConceptMediaReviewKindStats;
88
+ export declare function AdminConceptMediaReviewKindStatsToJSON(json: any): AdminConceptMediaReviewKindStats;
89
+ export declare function AdminConceptMediaReviewKindStatsToJSONTyped(value?: AdminConceptMediaReviewKindStats | null, ignoreDiscriminator?: boolean): any;