@quesmed/types 2.6.242 → 2.6.244

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.
@@ -18,6 +18,8 @@ export interface IOsceMarksheetMark {
18
18
  id: Id;
19
19
  index: number;
20
20
  mark: number | null;
21
+ reason?: string;
22
+ suggestion?: string;
21
23
  selectedChoice: Nullable<EPaceMarkType>;
22
24
  osceMarksheetId: Id;
23
25
  osceMarksheet?: IOsceMarksheet;
@@ -43,7 +45,8 @@ export declare enum EOsceMarksheetAction {
43
45
  LEFT = 8,
44
46
  KICK = 9,
45
47
  ROLE_CHANGE = 10,
46
- STATE_CHANGE = 11
48
+ STATE_CHANGE = 11,
49
+ PHASE_CHANGE = 12
47
50
  }
48
51
  export declare enum EOsceMarksheetState {
49
52
  LOBBY = 0,
@@ -52,6 +55,35 @@ export declare enum EOsceMarksheetState {
52
55
  STATION = 3,
53
56
  RESULT = 4
54
57
  }
58
+ export declare enum EOsceMarksheetMode {
59
+ STANDARD = "STANDARD",
60
+ CHAT = "CHAT",
61
+ VOICE = "VOICE"
62
+ }
63
+ export declare enum EOsceStationPhase {
64
+ PATIENT = "PATIENT",
65
+ EXAMINER = "EXAMINER"
66
+ }
67
+ export interface IOsceMarksheetMessage {
68
+ id: Id;
69
+ type: string;
70
+ content: string;
71
+ createdAt: number | Date;
72
+ phase: EOsceStationPhase;
73
+ }
74
+ export interface IOsceMarksheetHeaderFeedback {
75
+ header: string;
76
+ summary: string;
77
+ strengths: string[];
78
+ improvements: string[];
79
+ }
80
+ export interface IOsceMarksheetSummary {
81
+ commentary: string;
82
+ overallSummary: string;
83
+ strengths: string[];
84
+ improvements: string[];
85
+ headerFeedback: IOsceMarksheetHeaderFeedback[];
86
+ }
55
87
  export interface IOsceMarksheet {
56
88
  id: Id;
57
89
  createdAt: number | Date;
@@ -88,6 +120,11 @@ export interface IOsceMarksheet {
88
120
  entitlement: IEntitlement;
89
121
  entitlementId: EProductType | EEntitlementType;
90
122
  isTimed: boolean;
123
+ phase: EOsceStationPhase;
124
+ mode: EOsceMarksheetMode;
125
+ summary: IOsceMarksheetSummary | null;
126
+ messages: IOsceMarksheetMessage[] | null;
127
+ transcript: string | null;
91
128
  }
92
129
  export interface IDashboardOsce {
93
130
  lastSessionId: string;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createTimerPayload = exports.EOsceStage = exports.EOsceTimerState = exports.EOsceMarksheetState = exports.EOsceMarksheetAction = exports.EOsceRoles = void 0;
3
+ exports.createTimerPayload = exports.EOsceStage = exports.EOsceTimerState = exports.EOsceStationPhase = exports.EOsceMarksheetMode = exports.EOsceMarksheetState = exports.EOsceMarksheetAction = exports.EOsceRoles = void 0;
4
4
  const utils_1 = require("../utils");
5
5
  var EOsceRoles;
6
6
  (function (EOsceRoles) {
@@ -24,6 +24,7 @@ var EOsceMarksheetAction;
24
24
  EOsceMarksheetAction[EOsceMarksheetAction["KICK"] = 9] = "KICK";
25
25
  EOsceMarksheetAction[EOsceMarksheetAction["ROLE_CHANGE"] = 10] = "ROLE_CHANGE";
26
26
  EOsceMarksheetAction[EOsceMarksheetAction["STATE_CHANGE"] = 11] = "STATE_CHANGE";
27
+ EOsceMarksheetAction[EOsceMarksheetAction["PHASE_CHANGE"] = 12] = "PHASE_CHANGE";
27
28
  })(EOsceMarksheetAction = exports.EOsceMarksheetAction || (exports.EOsceMarksheetAction = {}));
28
29
  var EOsceMarksheetState;
29
30
  (function (EOsceMarksheetState) {
@@ -33,6 +34,17 @@ var EOsceMarksheetState;
33
34
  EOsceMarksheetState[EOsceMarksheetState["STATION"] = 3] = "STATION";
34
35
  EOsceMarksheetState[EOsceMarksheetState["RESULT"] = 4] = "RESULT";
35
36
  })(EOsceMarksheetState = exports.EOsceMarksheetState || (exports.EOsceMarksheetState = {}));
37
+ var EOsceMarksheetMode;
38
+ (function (EOsceMarksheetMode) {
39
+ EOsceMarksheetMode["STANDARD"] = "STANDARD";
40
+ EOsceMarksheetMode["CHAT"] = "CHAT";
41
+ EOsceMarksheetMode["VOICE"] = "VOICE";
42
+ })(EOsceMarksheetMode = exports.EOsceMarksheetMode || (exports.EOsceMarksheetMode = {}));
43
+ var EOsceStationPhase;
44
+ (function (EOsceStationPhase) {
45
+ EOsceStationPhase["PATIENT"] = "PATIENT";
46
+ EOsceStationPhase["EXAMINER"] = "EXAMINER";
47
+ })(EOsceStationPhase = exports.EOsceStationPhase || (exports.EOsceStationPhase = {}));
36
48
  var EOsceTimerState;
37
49
  (function (EOsceTimerState) {
38
50
  EOsceTimerState[EOsceTimerState["START"] = 0] = "START";
@@ -1,9 +1,13 @@
1
1
  export declare const OSCE_STATION_MARK_FIELDS: import("@apollo/client").DocumentNode;
2
2
  export declare const OSCE_STATION_FIELDS: import("@apollo/client").DocumentNode;
3
3
  export declare const OSCE_MARKSHEET_MARK_FIELDS: import("@apollo/client").DocumentNode;
4
+ export declare const OSCE_MARKSHEET_MESSAGE_FIELDS: import("@apollo/client").DocumentNode;
5
+ export declare const OSCE_MARKSHEET_RESULT_FIELDS: import("@apollo/client").DocumentNode;
4
6
  export declare const OSCE_MARKSHEET_FIELDS: import("@apollo/client").DocumentNode;
5
7
  export declare const OSCE_MATCHMAKING_ACTION_FIELDS: import("@apollo/client").DocumentNode;
6
8
  export declare const STATION_CONCEPT_FRAGMENT: import("@apollo/client").DocumentNode;
7
9
  export declare const COMPLETED_OSCE_MARKSHEET_FRAGMENT: import("@apollo/client").DocumentNode;
10
+ export declare const AUTO_MARKED_OSCE_MARKSHEET_FRAGMENT: import("@apollo/client").DocumentNode;
8
11
  export declare const COMPLETED_OSCE_STATION_FRAGMENT: import("@apollo/client").DocumentNode;
9
12
  export declare const UPSERT_STATION_NOTE_FRAGMENT: import("@apollo/client").DocumentNode;
13
+ export declare const AUTO_MARKED_OSCE_MARKSHEET_MARK_FIELDS: import("@apollo/client").DocumentNode;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UPSERT_STATION_NOTE_FRAGMENT = exports.COMPLETED_OSCE_STATION_FRAGMENT = exports.COMPLETED_OSCE_MARKSHEET_FRAGMENT = exports.STATION_CONCEPT_FRAGMENT = exports.OSCE_MATCHMAKING_ACTION_FIELDS = exports.OSCE_MARKSHEET_FIELDS = exports.OSCE_MARKSHEET_MARK_FIELDS = exports.OSCE_STATION_FIELDS = exports.OSCE_STATION_MARK_FIELDS = void 0;
3
+ exports.AUTO_MARKED_OSCE_MARKSHEET_MARK_FIELDS = exports.UPSERT_STATION_NOTE_FRAGMENT = exports.COMPLETED_OSCE_STATION_FRAGMENT = exports.AUTO_MARKED_OSCE_MARKSHEET_FRAGMENT = exports.COMPLETED_OSCE_MARKSHEET_FRAGMENT = exports.STATION_CONCEPT_FRAGMENT = exports.OSCE_MATCHMAKING_ACTION_FIELDS = exports.OSCE_MARKSHEET_FIELDS = exports.OSCE_MARKSHEET_RESULT_FIELDS = exports.OSCE_MARKSHEET_MESSAGE_FIELDS = exports.OSCE_MARKSHEET_MARK_FIELDS = exports.OSCE_STATION_FIELDS = exports.OSCE_STATION_MARK_FIELDS = void 0;
4
4
  const client_1 = require("@apollo/client");
5
5
  const picture_1 = require("./picture");
6
6
  const video_1 = require("./video");
@@ -29,6 +29,11 @@ exports.OSCE_STATION_FIELDS = (0, client_1.gql) `
29
29
  name
30
30
  hiddenName
31
31
  status
32
+ aiEnabled
33
+ examinerQuestions {
34
+ index
35
+ question
36
+ }
32
37
  userNote {
33
38
  id
34
39
  userId
@@ -97,8 +102,42 @@ exports.OSCE_MARKSHEET_MARK_FIELDS = (0, client_1.gql) `
97
102
  }
98
103
  }
99
104
  `;
105
+ exports.OSCE_MARKSHEET_MESSAGE_FIELDS = (0, client_1.gql) `
106
+ fragment OsceMarksheetMessageFields on OsceMarksheetMessage {
107
+ id
108
+ type
109
+ content
110
+ createdAt
111
+ phase
112
+ }
113
+ `;
114
+ exports.OSCE_MARKSHEET_RESULT_FIELDS = (0, client_1.gql) `
115
+ ${exports.OSCE_MARKSHEET_MESSAGE_FIELDS}
116
+ fragment OsceMarksheetResultFields on OsceMarksheet {
117
+ feedback
118
+ summary {
119
+ commentary
120
+ overallSummary
121
+ strengths
122
+ improvements
123
+ headerFeedback {
124
+ header
125
+ summary
126
+ strengths
127
+ improvements
128
+ }
129
+ }
130
+ transcript
131
+ messages {
132
+ ...OsceMarksheetMessageFields
133
+ }
134
+ score
135
+ globalScore
136
+ }
137
+ `;
100
138
  exports.OSCE_MARKSHEET_FIELDS = (0, client_1.gql) `
101
139
  ${exports.OSCE_MARKSHEET_MARK_FIELDS}
140
+ ${exports.OSCE_MARKSHEET_RESULT_FIELDS}
102
141
  fragment OsceMarksheetFields on OsceMarksheet {
103
142
  id
104
143
  createdAt
@@ -106,10 +145,9 @@ exports.OSCE_MARKSHEET_FIELDS = (0, client_1.gql) `
106
145
  timeTaken
107
146
  osceStationId
108
147
  solo
109
- globalScore
110
- score
111
- feedback
148
+ mode
112
149
  agoraId
150
+ phase
113
151
  sessionId
114
152
  isTimed
115
153
  readingTime
@@ -145,6 +183,7 @@ exports.OSCE_MARKSHEET_FIELDS = (0, client_1.gql) `
145
183
  }
146
184
  state
147
185
  completed
186
+ ...OsceMarksheetResultFields
148
187
  }
149
188
  `;
150
189
  exports.OSCE_MATCHMAKING_ACTION_FIELDS = (0, client_1.gql) `
@@ -175,6 +214,14 @@ exports.COMPLETED_OSCE_MARKSHEET_FRAGMENT = (0, client_1.gql) `
175
214
  endedAt
176
215
  }
177
216
  `;
217
+ exports.AUTO_MARKED_OSCE_MARKSHEET_FRAGMENT = (0, client_1.gql) `
218
+ fragment AutoMarkedOsceMarksheetFragment on OsceMarksheet {
219
+ transcript
220
+ feedback
221
+ score
222
+ globalScore
223
+ }
224
+ `;
178
225
  exports.COMPLETED_OSCE_STATION_FRAGMENT = (0, client_1.gql) `
179
226
  fragment CompletedOsceStationFragment on OsceStation {
180
227
  score
@@ -194,3 +241,10 @@ exports.UPSERT_STATION_NOTE_FRAGMENT = (0, client_1.gql) `
194
241
  }
195
242
  }
196
243
  `;
244
+ exports.AUTO_MARKED_OSCE_MARKSHEET_MARK_FIELDS = (0, client_1.gql) `
245
+ fragment AutoMarkedOsceMarksheetMarkFields on OsceMarksheetMark {
246
+ mark
247
+ reason
248
+ suggestion
249
+ }
250
+ `;
@@ -1,7 +1,7 @@
1
1
  import { ApolloCache } from '@apollo/client';
2
- import { EEntitlementType, EOsceMarksheetAction, EOsceMarksheetState, EOsceRoles, EPaceMarkType, EProductType, EStudyAction, IOsceMarksheet, IOsceMarksheetMark, Id } from '../../../models';
2
+ import { EEntitlementType, EOsceMarksheetAction, EOsceMarksheetMode, EOsceMarksheetState, EOsceRoles, EOsceStationPhase, EPaceMarkType, EProductType, EStudyAction, IOsceMarksheet, IOsceMarksheetMark, Id } from '../../../models';
3
3
  import { ApolloUpdateOptions, ApolloUpdateResultRestricted } from '../../apollo';
4
- import { IOsceMatchmakingAction } from '../../subscription/osce';
4
+ import { IOsceChatStreamChunk, IOsceMatchmakingAction } from '../../subscription/osce';
5
5
  import { RestrictedData, graphqlNormalize } from '../../types';
6
6
  export declare const START_OSCE_MATCHMAKING: import("@apollo/client").DocumentNode;
7
7
  export interface IStartOsceMatchmakingVar {
@@ -70,6 +70,7 @@ export interface IPrestartOsceMarksheetVar {
70
70
  stationTime: number;
71
71
  feedbackTime: number;
72
72
  isTimed: boolean;
73
+ mode?: EOsceMarksheetMode;
73
74
  }
74
75
  export type IPrestartOsceMarksheetData = RestrictedData<graphqlNormalize & IOsceMarksheet, 'prestartOsceMarksheet'>;
75
76
  export declare const SAVE_OSCE_MARKSHEET: import("@apollo/client").DocumentNode;
@@ -133,6 +134,11 @@ export declare const optimisticEndOsceMarksheet: (marksheet: IOsceMarksheet) =>
133
134
  entitlement: import("../../../models").IEntitlement;
134
135
  entitlementId: EEntitlementType | EProductType;
135
136
  isTimed: boolean;
137
+ phase: EOsceStationPhase;
138
+ mode: EOsceMarksheetMode;
139
+ summary: import("../../../models").IOsceMarksheetSummary | null;
140
+ messages: import("../../../models").IOsceMarksheetMessage[] | null;
141
+ transcript: string | null;
136
142
  __typename: string;
137
143
  };
138
144
  };
@@ -142,3 +148,16 @@ export interface ILeaveOsceMarksheetVar {
142
148
  osceMarksheetId: Id;
143
149
  }
144
150
  export type ILeaveOsceMarksheetData = RestrictedData<graphqlNormalize & IOsceMarksheet, 'leaveOsceMarksheet'>;
151
+ export declare const STREAM_OSCE_CHAT_MESSAGE: import("@apollo/client").DocumentNode;
152
+ export interface IStreamOsceChatMessageVar {
153
+ osceMarksheetId: Id;
154
+ message: string;
155
+ phase: EOsceStationPhase;
156
+ }
157
+ export type IStreamOsceChatMessageData = RestrictedData<graphqlNormalize & IOsceChatStreamChunk, 'streamOsceChatMessage'>;
158
+ export declare const AUTO_MARK_OSCE_MARKSHEET: import("@apollo/client").DocumentNode;
159
+ export interface IAutoMarkOsceMarksheetVar {
160
+ osceMarksheetId: Id;
161
+ }
162
+ export type IAutoMarkOsceMarksheetData = RestrictedData<graphqlNormalize & IOsceMarksheet, 'autoMarkOsceMarksheet'>;
163
+ export declare const updateCacheOnAutoMarkOsceMarksheet: (cache: ApolloCache<any>, result: ApolloUpdateResultRestricted<IAutoMarkOsceMarksheetData>, options: ApolloUpdateOptions<IAutoMarkOsceMarksheetVar>) => void;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LEAVE_OSCE_MARKSHEET = exports.optimisticEndOsceMarksheet = exports.updateCacheOnEndOsceMarksheet = exports.END_OSCE_MARKSHEET = exports.MODIFY_OSCE_MARKSHEET = exports.SAVE_OSCE_MARKSHEET = exports.PRESTART_OSCE_MARKSHEET = exports.START_OSCE_TIMER = exports.START_OSCE_MARKSHEET = exports.SELECT_OSCE_STATION = exports.optimisticMarkOsceMarksheetMark = exports.MARK_OSCE_MARKSHEET_MARK = exports.CHANGE_OSCE_ROLE = exports.BUILD_OSCE_MARKSHEET = exports.CREATE_OR_JOIN_OSCE_MARKSHEET = exports.CANCEL_OSCE_MATCHMAKING = exports.CHECK_OSCE_MATCHMAKING = exports.ACCEPT_OSCE_MATCHMAKING = exports.START_OSCE_MATCHMAKING = void 0;
3
+ exports.updateCacheOnAutoMarkOsceMarksheet = exports.AUTO_MARK_OSCE_MARKSHEET = exports.STREAM_OSCE_CHAT_MESSAGE = exports.LEAVE_OSCE_MARKSHEET = exports.optimisticEndOsceMarksheet = exports.updateCacheOnEndOsceMarksheet = exports.END_OSCE_MARKSHEET = exports.MODIFY_OSCE_MARKSHEET = exports.SAVE_OSCE_MARKSHEET = exports.PRESTART_OSCE_MARKSHEET = exports.START_OSCE_TIMER = exports.START_OSCE_MARKSHEET = exports.SELECT_OSCE_STATION = exports.optimisticMarkOsceMarksheetMark = exports.MARK_OSCE_MARKSHEET_MARK = exports.CHANGE_OSCE_ROLE = exports.BUILD_OSCE_MARKSHEET = exports.CREATE_OR_JOIN_OSCE_MARKSHEET = exports.CANCEL_OSCE_MATCHMAKING = exports.CHECK_OSCE_MATCHMAKING = exports.ACCEPT_OSCE_MATCHMAKING = exports.START_OSCE_MATCHMAKING = void 0;
4
4
  const client_1 = require("@apollo/client");
5
5
  const models_1 = require("../../../models");
6
6
  const fragments_1 = require("../../fragments");
@@ -174,6 +174,7 @@ exports.PRESTART_OSCE_MARKSHEET = (0, client_1.gql) `
174
174
  $stationTime: Int!
175
175
  $feedbackTime: Int!
176
176
  $isTimed: Boolean
177
+ $mode: OsceMarksheetMode
177
178
  ) {
178
179
  restricted {
179
180
  prestartOsceMarksheet(
@@ -182,6 +183,7 @@ exports.PRESTART_OSCE_MARKSHEET = (0, client_1.gql) `
182
183
  stationTime: $stationTime
183
184
  feedbackTime: $feedbackTime
184
185
  isTimed: $isTimed
186
+ mode: $mode
185
187
  ) {
186
188
  ...OsceMarksheetFields
187
189
  osceStation {
@@ -248,21 +250,35 @@ const updateCacheOnEndOsceMarksheet = (productType) => (cache, result, options)
248
250
  if (!variables || !endOsceMarksheet) {
249
251
  return;
250
252
  }
251
- cache.writeFragment({
253
+ cache.modify({
252
254
  id: cache.identify({
253
255
  id: endOsceMarksheet.id,
254
256
  __typename: 'OsceMarksheet',
255
257
  }),
256
- data: {
257
- completed: true,
258
- score: endOsceMarksheet.score,
259
- state: endOsceMarksheet.state,
260
- globalScore: endOsceMarksheet.globalScore,
261
- timeTaken: endOsceMarksheet.timeTaken,
262
- endedAt: endOsceMarksheet.endedAt,
258
+ fields: {
259
+ completed: () => true,
260
+ state: () => endOsceMarksheet.state,
261
+ timeTaken: () => endOsceMarksheet.timeTaken,
262
+ endedAt: () => endOsceMarksheet.endedAt,
263
+ score: () => endOsceMarksheet.score,
264
+ globalScore: () => endOsceMarksheet.globalScore,
265
+ transcript: () => endOsceMarksheet.transcript,
266
+ feedback: () => endOsceMarksheet.feedback,
263
267
  },
264
- fragment: fragments_1.COMPLETED_OSCE_MARKSHEET_FRAGMENT,
265
268
  });
269
+ for (const mark of endOsceMarksheet.marks) {
270
+ cache.modify({
271
+ id: cache.identify({
272
+ id: mark.id,
273
+ __typename: 'OsceMarksheetMark',
274
+ }),
275
+ fields: {
276
+ mark: () => mark.mark,
277
+ reason: () => mark.reason,
278
+ suggestion: () => mark.suggestion,
279
+ },
280
+ });
281
+ }
266
282
  cache.writeFragment({
267
283
  id: cache.identify({
268
284
  id: endOsceMarksheet.osceStationId,
@@ -300,3 +316,60 @@ exports.LEAVE_OSCE_MARKSHEET = (0, client_1.gql) `
300
316
  }
301
317
  }
302
318
  `;
319
+ exports.STREAM_OSCE_CHAT_MESSAGE = (0, client_1.gql) `
320
+ mutation StreamOsceChatMessage(
321
+ $osceMarksheetId: Int!
322
+ $message: String!
323
+ $phase: OsceStationPhase!
324
+ ) {
325
+ restricted {
326
+ streamOsceChatMessage(
327
+ osceMarksheetId: $osceMarksheetId
328
+ message: $message
329
+ phase: $phase
330
+ )
331
+ }
332
+ }
333
+ `;
334
+ exports.AUTO_MARK_OSCE_MARKSHEET = (0, client_1.gql) `
335
+ mutation AutoMarkOsceMarksheet($osceMarksheetId: Int!) {
336
+ restricted {
337
+ autoMarkOsceMarksheet(osceMarksheetId: $osceMarksheetId) {
338
+ ...OsceMarksheetFields
339
+ }
340
+ }
341
+ }
342
+ `;
343
+ const updateCacheOnAutoMarkOsceMarksheet = (cache, result, options) => {
344
+ const { autoMarkOsceMarksheet } = result?.data?.restricted || {};
345
+ const { variables } = options || {};
346
+ if (!variables || !autoMarkOsceMarksheet) {
347
+ return;
348
+ }
349
+ cache.modify({
350
+ id: cache.identify({
351
+ id: autoMarkOsceMarksheet.id,
352
+ __typename: 'OsceMarksheetMark',
353
+ }),
354
+ fields: {
355
+ score: () => autoMarkOsceMarksheet.score,
356
+ globalScore: () => autoMarkOsceMarksheet.globalScore,
357
+ transcript: () => autoMarkOsceMarksheet.transcript,
358
+ feedback: () => autoMarkOsceMarksheet.feedback,
359
+ },
360
+ });
361
+ for (const mark of autoMarkOsceMarksheet.marks) {
362
+ cache.modify({
363
+ id: cache.identify({
364
+ id: mark.id,
365
+ __typename: 'OsceMarksheetMark',
366
+ }),
367
+ fields: {
368
+ mark: () => mark.mark,
369
+ reason: () => mark.reason,
370
+ suggestion: () => mark.suggestion,
371
+ },
372
+ });
373
+ }
374
+ };
375
+ exports.updateCacheOnAutoMarkOsceMarksheet = updateCacheOnAutoMarkOsceMarksheet;
@@ -19,7 +19,6 @@ export interface IDashboardOsceQueryData {
19
19
  user: IUser;
20
20
  };
21
21
  }
22
- export declare const OSCE_MARKSHEETS: import("@apollo/client").DocumentNode;
23
22
  export interface IOsceMarksheetsVar {
24
23
  solo?: boolean;
25
24
  days?: number;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HEARTBEAT = exports.SEARCH_OSCE_STATIONS = exports.OSCE_TOPICS = exports.OSCE_STATION = exports.OSCE_STATIONS = exports.OSCE_MARKSHEET = exports.OSCE_MARKSHEET_WINDOW = exports.OSCE_MARKSHEETS = exports.DASHBOARD_OSCE = exports.OSCE_STATS = void 0;
3
+ exports.HEARTBEAT = exports.SEARCH_OSCE_STATIONS = exports.OSCE_TOPICS = exports.OSCE_STATION = exports.OSCE_STATIONS = exports.OSCE_MARKSHEET = exports.OSCE_MARKSHEET_WINDOW = exports.DASHBOARD_OSCE = exports.OSCE_STATS = void 0;
4
4
  const client_1 = require("@apollo/client");
5
5
  const osce_1 = require("../../fragments/osce");
6
6
  const osce_2 = require("./../../fragments/osce");
@@ -58,20 +58,6 @@ exports.DASHBOARD_OSCE = (0, client_1.gql) `
58
58
  }
59
59
  }
60
60
  `;
61
- exports.OSCE_MARKSHEETS = (0, client_1.gql) `
62
- ${osce_2.OSCE_STATION_FIELDS}
63
- ${osce_1.OSCE_MARKSHEET_FIELDS}
64
- query OsceMarksheets($solo: Boolean, $days: Int) {
65
- restricted {
66
- osceMarksheets(solo: $solo, days: $days) {
67
- ...OsceMarksheetFields
68
- osceStation {
69
- ...OsceStationFields
70
- }
71
- }
72
- }
73
- }
74
- `;
75
61
  exports.OSCE_MARKSHEET_WINDOW = (0, client_1.gql) `
76
62
  ${osce_2.OSCE_STATION_FIELDS}
77
63
  ${osce_1.OSCE_MARKSHEET_FIELDS}
@@ -1,4 +1,4 @@
1
- import { EClassYearGroup, EOsceMarksheetAction, EOsceMarksheetState, EOsceRoles, IAccessLevel, IClassYear, Id, IOsceMarksheetMark, IOsceMarksheetMember, IOsceMarksheetTimer, IUser } from '../../models';
1
+ import { EClassYearGroup, EOsceMarksheetAction, EOsceMarksheetState, EOsceRoles, EOsceStationPhase, IAccessLevel, IClassYear, Id, IOsceMarksheetMark, IOsceMarksheetMember, IOsceMarksheetTimer, IUser } from '../../models';
2
2
  import { RootData } from '../types';
3
3
  export declare const OSCE_ROLE_CHANGE_KEY = "OSCE_ROLE_CHANGE";
4
4
  export declare const OSCE_MARKSHEET_ACTION_KEY = "OSCE_MARKSHEET_ACTION";
@@ -76,3 +76,17 @@ export interface IOsceMarksheetTimerVar {
76
76
  sessionId: string;
77
77
  }
78
78
  export type IOsceMarksheetTimerData = RootData<IOsceMarksheetTimer, 'osceMarksheetTimer'>;
79
+ export declare const OSCE_CHAT_STREAM: import("@apollo/client").DocumentNode;
80
+ export interface IOsceChatStreamVar {
81
+ osceMarksheetId: Id;
82
+ phase?: EOsceStationPhase;
83
+ }
84
+ export interface IOsceChatStreamChunk {
85
+ token: string | null;
86
+ message: string | null;
87
+ done: boolean;
88
+ phase: EOsceStationPhase;
89
+ error: string | null;
90
+ osceMarksheetId: Id;
91
+ }
92
+ export type IOsceChatStreamData = RootData<IOsceChatStreamChunk, 'osceChatStream'>;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OSCE_MARKSHEET_TIMER = exports.OSCE_MATCHMAKING_USERS = exports.OSCE_MATCHMAKING = exports.OSCE_MARKSHEET_ACTION = exports.OSCE_ROLE_CHANGE = exports.OsceGroupInit = exports.OSCE_MATCHMAKING_USERS_KEY = exports.OSCE_MATCHMAKING_KEY = exports.OSCE_MARKSHEET_TIMER_KEY = exports.OSCE_MARKSHEET_ACTION_KEY = exports.OSCE_ROLE_CHANGE_KEY = void 0;
3
+ exports.OSCE_CHAT_STREAM = exports.OSCE_MARKSHEET_TIMER = exports.OSCE_MATCHMAKING_USERS = exports.OSCE_MATCHMAKING = exports.OSCE_MARKSHEET_ACTION = exports.OSCE_ROLE_CHANGE = exports.OsceGroupInit = exports.OSCE_MATCHMAKING_USERS_KEY = exports.OSCE_MATCHMAKING_KEY = exports.OSCE_MARKSHEET_TIMER_KEY = exports.OSCE_MARKSHEET_ACTION_KEY = exports.OSCE_ROLE_CHANGE_KEY = void 0;
4
4
  const client_1 = require("@apollo/client");
5
5
  const models_1 = require("../../models");
6
6
  const fragments_1 = require("../fragments");
@@ -136,3 +136,18 @@ exports.OSCE_MARKSHEET_TIMER = (0, client_1.gql) `
136
136
  }
137
137
  }
138
138
  `;
139
+ exports.OSCE_CHAT_STREAM = (0, client_1.gql) `
140
+ subscription OsceMarksheetMessage(
141
+ $osceMarksheetId: Int!
142
+ $phase: OsceStationPhase
143
+ ) {
144
+ osceChatStream(osceMarksheetId: $osceMarksheetId, phase: $phase) {
145
+ token
146
+ message
147
+ done
148
+ phase
149
+ error
150
+ osceMarksheetId
151
+ }
152
+ }
153
+ `;
@@ -18,6 +18,8 @@ export interface IOsceMarksheetMark {
18
18
  id: Id;
19
19
  index: number;
20
20
  mark: number | null;
21
+ reason?: string;
22
+ suggestion?: string;
21
23
  selectedChoice: Nullable<EPaceMarkType>;
22
24
  osceMarksheetId: Id;
23
25
  osceMarksheet?: IOsceMarksheet;
@@ -43,7 +45,8 @@ export declare enum EOsceMarksheetAction {
43
45
  LEFT = 8,
44
46
  KICK = 9,
45
47
  ROLE_CHANGE = 10,
46
- STATE_CHANGE = 11
48
+ STATE_CHANGE = 11,
49
+ PHASE_CHANGE = 12
47
50
  }
48
51
  export declare enum EOsceMarksheetState {
49
52
  LOBBY = 0,
@@ -52,6 +55,35 @@ export declare enum EOsceMarksheetState {
52
55
  STATION = 3,
53
56
  RESULT = 4
54
57
  }
58
+ export declare enum EOsceMarksheetMode {
59
+ STANDARD = "STANDARD",
60
+ CHAT = "CHAT",
61
+ VOICE = "VOICE"
62
+ }
63
+ export declare enum EOsceStationPhase {
64
+ PATIENT = "PATIENT",
65
+ EXAMINER = "EXAMINER"
66
+ }
67
+ export interface IOsceMarksheetMessage {
68
+ id: Id;
69
+ type: string;
70
+ content: string;
71
+ createdAt: number | Date;
72
+ phase: EOsceStationPhase;
73
+ }
74
+ export interface IOsceMarksheetHeaderFeedback {
75
+ header: string;
76
+ summary: string;
77
+ strengths: string[];
78
+ improvements: string[];
79
+ }
80
+ export interface IOsceMarksheetSummary {
81
+ commentary: string;
82
+ overallSummary: string;
83
+ strengths: string[];
84
+ improvements: string[];
85
+ headerFeedback: IOsceMarksheetHeaderFeedback[];
86
+ }
55
87
  export interface IOsceMarksheet {
56
88
  id: Id;
57
89
  createdAt: number | Date;
@@ -88,6 +120,11 @@ export interface IOsceMarksheet {
88
120
  entitlement: IEntitlement;
89
121
  entitlementId: EProductType | EEntitlementType;
90
122
  isTimed: boolean;
123
+ phase: EOsceStationPhase;
124
+ mode: EOsceMarksheetMode;
125
+ summary: IOsceMarksheetSummary | null;
126
+ messages: IOsceMarksheetMessage[] | null;
127
+ transcript: string | null;
91
128
  }
92
129
  export interface IDashboardOsce {
93
130
  lastSessionId: string;
@@ -21,6 +21,7 @@ export var EOsceMarksheetAction;
21
21
  EOsceMarksheetAction[EOsceMarksheetAction["KICK"] = 9] = "KICK";
22
22
  EOsceMarksheetAction[EOsceMarksheetAction["ROLE_CHANGE"] = 10] = "ROLE_CHANGE";
23
23
  EOsceMarksheetAction[EOsceMarksheetAction["STATE_CHANGE"] = 11] = "STATE_CHANGE";
24
+ EOsceMarksheetAction[EOsceMarksheetAction["PHASE_CHANGE"] = 12] = "PHASE_CHANGE";
24
25
  })(EOsceMarksheetAction || (EOsceMarksheetAction = {}));
25
26
  export var EOsceMarksheetState;
26
27
  (function (EOsceMarksheetState) {
@@ -30,6 +31,17 @@ export var EOsceMarksheetState;
30
31
  EOsceMarksheetState[EOsceMarksheetState["STATION"] = 3] = "STATION";
31
32
  EOsceMarksheetState[EOsceMarksheetState["RESULT"] = 4] = "RESULT";
32
33
  })(EOsceMarksheetState || (EOsceMarksheetState = {}));
34
+ export var EOsceMarksheetMode;
35
+ (function (EOsceMarksheetMode) {
36
+ EOsceMarksheetMode["STANDARD"] = "STANDARD";
37
+ EOsceMarksheetMode["CHAT"] = "CHAT";
38
+ EOsceMarksheetMode["VOICE"] = "VOICE";
39
+ })(EOsceMarksheetMode || (EOsceMarksheetMode = {}));
40
+ export var EOsceStationPhase;
41
+ (function (EOsceStationPhase) {
42
+ EOsceStationPhase["PATIENT"] = "PATIENT";
43
+ EOsceStationPhase["EXAMINER"] = "EXAMINER";
44
+ })(EOsceStationPhase || (EOsceStationPhase = {}));
33
45
  export var EOsceTimerState;
34
46
  (function (EOsceTimerState) {
35
47
  EOsceTimerState[EOsceTimerState["START"] = 0] = "START";
@@ -1,9 +1,13 @@
1
1
  export declare const OSCE_STATION_MARK_FIELDS: import("@apollo/client").DocumentNode;
2
2
  export declare const OSCE_STATION_FIELDS: import("@apollo/client").DocumentNode;
3
3
  export declare const OSCE_MARKSHEET_MARK_FIELDS: import("@apollo/client").DocumentNode;
4
+ export declare const OSCE_MARKSHEET_MESSAGE_FIELDS: import("@apollo/client").DocumentNode;
5
+ export declare const OSCE_MARKSHEET_RESULT_FIELDS: import("@apollo/client").DocumentNode;
4
6
  export declare const OSCE_MARKSHEET_FIELDS: import("@apollo/client").DocumentNode;
5
7
  export declare const OSCE_MATCHMAKING_ACTION_FIELDS: import("@apollo/client").DocumentNode;
6
8
  export declare const STATION_CONCEPT_FRAGMENT: import("@apollo/client").DocumentNode;
7
9
  export declare const COMPLETED_OSCE_MARKSHEET_FRAGMENT: import("@apollo/client").DocumentNode;
10
+ export declare const AUTO_MARKED_OSCE_MARKSHEET_FRAGMENT: import("@apollo/client").DocumentNode;
8
11
  export declare const COMPLETED_OSCE_STATION_FRAGMENT: import("@apollo/client").DocumentNode;
9
12
  export declare const UPSERT_STATION_NOTE_FRAGMENT: import("@apollo/client").DocumentNode;
13
+ export declare const AUTO_MARKED_OSCE_MARKSHEET_MARK_FIELDS: import("@apollo/client").DocumentNode;
@@ -26,6 +26,11 @@ export const OSCE_STATION_FIELDS = gql `
26
26
  name
27
27
  hiddenName
28
28
  status
29
+ aiEnabled
30
+ examinerQuestions {
31
+ index
32
+ question
33
+ }
29
34
  userNote {
30
35
  id
31
36
  userId
@@ -94,8 +99,42 @@ export const OSCE_MARKSHEET_MARK_FIELDS = gql `
94
99
  }
95
100
  }
96
101
  `;
102
+ export const OSCE_MARKSHEET_MESSAGE_FIELDS = gql `
103
+ fragment OsceMarksheetMessageFields on OsceMarksheetMessage {
104
+ id
105
+ type
106
+ content
107
+ createdAt
108
+ phase
109
+ }
110
+ `;
111
+ export const OSCE_MARKSHEET_RESULT_FIELDS = gql `
112
+ ${OSCE_MARKSHEET_MESSAGE_FIELDS}
113
+ fragment OsceMarksheetResultFields on OsceMarksheet {
114
+ feedback
115
+ summary {
116
+ commentary
117
+ overallSummary
118
+ strengths
119
+ improvements
120
+ headerFeedback {
121
+ header
122
+ summary
123
+ strengths
124
+ improvements
125
+ }
126
+ }
127
+ transcript
128
+ messages {
129
+ ...OsceMarksheetMessageFields
130
+ }
131
+ score
132
+ globalScore
133
+ }
134
+ `;
97
135
  export const OSCE_MARKSHEET_FIELDS = gql `
98
136
  ${OSCE_MARKSHEET_MARK_FIELDS}
137
+ ${OSCE_MARKSHEET_RESULT_FIELDS}
99
138
  fragment OsceMarksheetFields on OsceMarksheet {
100
139
  id
101
140
  createdAt
@@ -103,10 +142,9 @@ export const OSCE_MARKSHEET_FIELDS = gql `
103
142
  timeTaken
104
143
  osceStationId
105
144
  solo
106
- globalScore
107
- score
108
- feedback
145
+ mode
109
146
  agoraId
147
+ phase
110
148
  sessionId
111
149
  isTimed
112
150
  readingTime
@@ -142,6 +180,7 @@ export const OSCE_MARKSHEET_FIELDS = gql `
142
180
  }
143
181
  state
144
182
  completed
183
+ ...OsceMarksheetResultFields
145
184
  }
146
185
  `;
147
186
  export const OSCE_MATCHMAKING_ACTION_FIELDS = gql `
@@ -172,6 +211,14 @@ export const COMPLETED_OSCE_MARKSHEET_FRAGMENT = gql `
172
211
  endedAt
173
212
  }
174
213
  `;
214
+ export const AUTO_MARKED_OSCE_MARKSHEET_FRAGMENT = gql `
215
+ fragment AutoMarkedOsceMarksheetFragment on OsceMarksheet {
216
+ transcript
217
+ feedback
218
+ score
219
+ globalScore
220
+ }
221
+ `;
175
222
  export const COMPLETED_OSCE_STATION_FRAGMENT = gql `
176
223
  fragment CompletedOsceStationFragment on OsceStation {
177
224
  score
@@ -191,3 +238,10 @@ export const UPSERT_STATION_NOTE_FRAGMENT = gql `
191
238
  }
192
239
  }
193
240
  `;
241
+ export const AUTO_MARKED_OSCE_MARKSHEET_MARK_FIELDS = gql `
242
+ fragment AutoMarkedOsceMarksheetMarkFields on OsceMarksheetMark {
243
+ mark
244
+ reason
245
+ suggestion
246
+ }
247
+ `;
@@ -1,7 +1,7 @@
1
1
  import { ApolloCache } from '@apollo/client';
2
- import { EEntitlementType, EOsceMarksheetAction, EOsceMarksheetState, EOsceRoles, EPaceMarkType, EProductType, EStudyAction, IOsceMarksheet, IOsceMarksheetMark, Id } from '../../../models';
2
+ import { EEntitlementType, EOsceMarksheetAction, EOsceMarksheetMode, EOsceMarksheetState, EOsceRoles, EOsceStationPhase, EPaceMarkType, EProductType, EStudyAction, IOsceMarksheet, IOsceMarksheetMark, Id } from '../../../models';
3
3
  import { ApolloUpdateOptions, ApolloUpdateResultRestricted } from '../../apollo';
4
- import { IOsceMatchmakingAction } from '../../subscription/osce';
4
+ import { IOsceChatStreamChunk, IOsceMatchmakingAction } from '../../subscription/osce';
5
5
  import { RestrictedData, graphqlNormalize } from '../../types';
6
6
  export declare const START_OSCE_MATCHMAKING: import("@apollo/client").DocumentNode;
7
7
  export interface IStartOsceMatchmakingVar {
@@ -70,6 +70,7 @@ export interface IPrestartOsceMarksheetVar {
70
70
  stationTime: number;
71
71
  feedbackTime: number;
72
72
  isTimed: boolean;
73
+ mode?: EOsceMarksheetMode;
73
74
  }
74
75
  export type IPrestartOsceMarksheetData = RestrictedData<graphqlNormalize & IOsceMarksheet, 'prestartOsceMarksheet'>;
75
76
  export declare const SAVE_OSCE_MARKSHEET: import("@apollo/client").DocumentNode;
@@ -133,6 +134,11 @@ export declare const optimisticEndOsceMarksheet: (marksheet: IOsceMarksheet) =>
133
134
  entitlement: import("../../../models").IEntitlement;
134
135
  entitlementId: EEntitlementType | EProductType;
135
136
  isTimed: boolean;
137
+ phase: EOsceStationPhase;
138
+ mode: EOsceMarksheetMode;
139
+ summary: import("../../../models").IOsceMarksheetSummary | null;
140
+ messages: import("../../../models").IOsceMarksheetMessage[] | null;
141
+ transcript: string | null;
136
142
  __typename: string;
137
143
  };
138
144
  };
@@ -142,3 +148,16 @@ export interface ILeaveOsceMarksheetVar {
142
148
  osceMarksheetId: Id;
143
149
  }
144
150
  export type ILeaveOsceMarksheetData = RestrictedData<graphqlNormalize & IOsceMarksheet, 'leaveOsceMarksheet'>;
151
+ export declare const STREAM_OSCE_CHAT_MESSAGE: import("@apollo/client").DocumentNode;
152
+ export interface IStreamOsceChatMessageVar {
153
+ osceMarksheetId: Id;
154
+ message: string;
155
+ phase: EOsceStationPhase;
156
+ }
157
+ export type IStreamOsceChatMessageData = RestrictedData<graphqlNormalize & IOsceChatStreamChunk, 'streamOsceChatMessage'>;
158
+ export declare const AUTO_MARK_OSCE_MARKSHEET: import("@apollo/client").DocumentNode;
159
+ export interface IAutoMarkOsceMarksheetVar {
160
+ osceMarksheetId: Id;
161
+ }
162
+ export type IAutoMarkOsceMarksheetData = RestrictedData<graphqlNormalize & IOsceMarksheet, 'autoMarkOsceMarksheet'>;
163
+ export declare const updateCacheOnAutoMarkOsceMarksheet: (cache: ApolloCache<any>, result: ApolloUpdateResultRestricted<IAutoMarkOsceMarksheetData>, options: ApolloUpdateOptions<IAutoMarkOsceMarksheetVar>) => void;
@@ -1,6 +1,6 @@
1
1
  import { gql } from '@apollo/client';
2
2
  import { EProductType, } from '../../../models';
3
- import { COMPLETED_OSCE_MARKSHEET_FRAGMENT, COMPLETED_OSCE_STATION_FRAGMENT, OSCE_MARKSHEET_FIELDS, OSCE_MATCHMAKING_ACTION_FIELDS, OSCE_STATION_FIELDS, } from '../../fragments';
3
+ import { COMPLETED_OSCE_STATION_FRAGMENT, OSCE_MARKSHEET_FIELDS, OSCE_MATCHMAKING_ACTION_FIELDS, OSCE_STATION_FIELDS, } from '../../fragments';
4
4
  export const START_OSCE_MATCHMAKING = gql `
5
5
  mutation StartOsceMatchmaking($sessionId: String!) {
6
6
  restricted {
@@ -170,6 +170,7 @@ export const PRESTART_OSCE_MARKSHEET = gql `
170
170
  $stationTime: Int!
171
171
  $feedbackTime: Int!
172
172
  $isTimed: Boolean
173
+ $mode: OsceMarksheetMode
173
174
  ) {
174
175
  restricted {
175
176
  prestartOsceMarksheet(
@@ -178,6 +179,7 @@ export const PRESTART_OSCE_MARKSHEET = gql `
178
179
  stationTime: $stationTime
179
180
  feedbackTime: $feedbackTime
180
181
  isTimed: $isTimed
182
+ mode: $mode
181
183
  ) {
182
184
  ...OsceMarksheetFields
183
185
  osceStation {
@@ -244,21 +246,35 @@ export const updateCacheOnEndOsceMarksheet = (productType) => (cache, result, op
244
246
  if (!variables || !endOsceMarksheet) {
245
247
  return;
246
248
  }
247
- cache.writeFragment({
249
+ cache.modify({
248
250
  id: cache.identify({
249
251
  id: endOsceMarksheet.id,
250
252
  __typename: 'OsceMarksheet',
251
253
  }),
252
- data: {
253
- completed: true,
254
- score: endOsceMarksheet.score,
255
- state: endOsceMarksheet.state,
256
- globalScore: endOsceMarksheet.globalScore,
257
- timeTaken: endOsceMarksheet.timeTaken,
258
- endedAt: endOsceMarksheet.endedAt,
254
+ fields: {
255
+ completed: () => true,
256
+ state: () => endOsceMarksheet.state,
257
+ timeTaken: () => endOsceMarksheet.timeTaken,
258
+ endedAt: () => endOsceMarksheet.endedAt,
259
+ score: () => endOsceMarksheet.score,
260
+ globalScore: () => endOsceMarksheet.globalScore,
261
+ transcript: () => endOsceMarksheet.transcript,
262
+ feedback: () => endOsceMarksheet.feedback,
259
263
  },
260
- fragment: COMPLETED_OSCE_MARKSHEET_FRAGMENT,
261
264
  });
265
+ for (const mark of endOsceMarksheet.marks) {
266
+ cache.modify({
267
+ id: cache.identify({
268
+ id: mark.id,
269
+ __typename: 'OsceMarksheetMark',
270
+ }),
271
+ fields: {
272
+ mark: () => mark.mark,
273
+ reason: () => mark.reason,
274
+ suggestion: () => mark.suggestion,
275
+ },
276
+ });
277
+ }
262
278
  cache.writeFragment({
263
279
  id: cache.identify({
264
280
  id: endOsceMarksheet.osceStationId,
@@ -294,3 +310,59 @@ export const LEAVE_OSCE_MARKSHEET = gql `
294
310
  }
295
311
  }
296
312
  `;
313
+ export const STREAM_OSCE_CHAT_MESSAGE = gql `
314
+ mutation StreamOsceChatMessage(
315
+ $osceMarksheetId: Int!
316
+ $message: String!
317
+ $phase: OsceStationPhase!
318
+ ) {
319
+ restricted {
320
+ streamOsceChatMessage(
321
+ osceMarksheetId: $osceMarksheetId
322
+ message: $message
323
+ phase: $phase
324
+ )
325
+ }
326
+ }
327
+ `;
328
+ export const AUTO_MARK_OSCE_MARKSHEET = gql `
329
+ mutation AutoMarkOsceMarksheet($osceMarksheetId: Int!) {
330
+ restricted {
331
+ autoMarkOsceMarksheet(osceMarksheetId: $osceMarksheetId) {
332
+ ...OsceMarksheetFields
333
+ }
334
+ }
335
+ }
336
+ `;
337
+ export const updateCacheOnAutoMarkOsceMarksheet = (cache, result, options) => {
338
+ const { autoMarkOsceMarksheet } = result?.data?.restricted || {};
339
+ const { variables } = options || {};
340
+ if (!variables || !autoMarkOsceMarksheet) {
341
+ return;
342
+ }
343
+ cache.modify({
344
+ id: cache.identify({
345
+ id: autoMarkOsceMarksheet.id,
346
+ __typename: 'OsceMarksheetMark',
347
+ }),
348
+ fields: {
349
+ score: () => autoMarkOsceMarksheet.score,
350
+ globalScore: () => autoMarkOsceMarksheet.globalScore,
351
+ transcript: () => autoMarkOsceMarksheet.transcript,
352
+ feedback: () => autoMarkOsceMarksheet.feedback,
353
+ },
354
+ });
355
+ for (const mark of autoMarkOsceMarksheet.marks) {
356
+ cache.modify({
357
+ id: cache.identify({
358
+ id: mark.id,
359
+ __typename: 'OsceMarksheetMark',
360
+ }),
361
+ fields: {
362
+ mark: () => mark.mark,
363
+ reason: () => mark.reason,
364
+ suggestion: () => mark.suggestion,
365
+ },
366
+ });
367
+ }
368
+ };
@@ -19,7 +19,6 @@ export interface IDashboardOsceQueryData {
19
19
  user: IUser;
20
20
  };
21
21
  }
22
- export declare const OSCE_MARKSHEETS: import("@apollo/client").DocumentNode;
23
22
  export interface IOsceMarksheetsVar {
24
23
  solo?: boolean;
25
24
  days?: number;
@@ -55,20 +55,6 @@ export const DASHBOARD_OSCE = gql `
55
55
  }
56
56
  }
57
57
  `;
58
- export const OSCE_MARKSHEETS = gql `
59
- ${OSCE_STATION_FIELDS}
60
- ${OSCE_MARKSHEET_FIELDS}
61
- query OsceMarksheets($solo: Boolean, $days: Int) {
62
- restricted {
63
- osceMarksheets(solo: $solo, days: $days) {
64
- ...OsceMarksheetFields
65
- osceStation {
66
- ...OsceStationFields
67
- }
68
- }
69
- }
70
- }
71
- `;
72
58
  export const OSCE_MARKSHEET_WINDOW = gql `
73
59
  ${OSCE_STATION_FIELDS}
74
60
  ${OSCE_MARKSHEET_FIELDS}
@@ -1,4 +1,4 @@
1
- import { EClassYearGroup, EOsceMarksheetAction, EOsceMarksheetState, EOsceRoles, IAccessLevel, IClassYear, Id, IOsceMarksheetMark, IOsceMarksheetMember, IOsceMarksheetTimer, IUser } from '../../models';
1
+ import { EClassYearGroup, EOsceMarksheetAction, EOsceMarksheetState, EOsceRoles, EOsceStationPhase, IAccessLevel, IClassYear, Id, IOsceMarksheetMark, IOsceMarksheetMember, IOsceMarksheetTimer, IUser } from '../../models';
2
2
  import { RootData } from '../types';
3
3
  export declare const OSCE_ROLE_CHANGE_KEY = "OSCE_ROLE_CHANGE";
4
4
  export declare const OSCE_MARKSHEET_ACTION_KEY = "OSCE_MARKSHEET_ACTION";
@@ -76,3 +76,17 @@ export interface IOsceMarksheetTimerVar {
76
76
  sessionId: string;
77
77
  }
78
78
  export type IOsceMarksheetTimerData = RootData<IOsceMarksheetTimer, 'osceMarksheetTimer'>;
79
+ export declare const OSCE_CHAT_STREAM: import("@apollo/client").DocumentNode;
80
+ export interface IOsceChatStreamVar {
81
+ osceMarksheetId: Id;
82
+ phase?: EOsceStationPhase;
83
+ }
84
+ export interface IOsceChatStreamChunk {
85
+ token: string | null;
86
+ message: string | null;
87
+ done: boolean;
88
+ phase: EOsceStationPhase;
89
+ error: string | null;
90
+ osceMarksheetId: Id;
91
+ }
92
+ export type IOsceChatStreamData = RootData<IOsceChatStreamChunk, 'osceChatStream'>;
@@ -132,3 +132,18 @@ export const OSCE_MARKSHEET_TIMER = gql `
132
132
  }
133
133
  }
134
134
  `;
135
+ export const OSCE_CHAT_STREAM = gql `
136
+ subscription OsceMarksheetMessage(
137
+ $osceMarksheetId: Int!
138
+ $phase: OsceStationPhase
139
+ ) {
140
+ osceChatStream(osceMarksheetId: $osceMarksheetId, phase: $phase) {
141
+ token
142
+ message
143
+ done
144
+ phase
145
+ error
146
+ osceMarksheetId
147
+ }
148
+ }
149
+ `;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quesmed/types",
3
- "version": "2.6.242",
3
+ "version": "2.6.244",
4
4
  "description": "Typescript types for Quesmed",
5
5
  "keywords": [
6
6
  "quesmed",