@juki-team/commons 0.1.31

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 (235) hide show
  1. package/README.md +3 -0
  2. package/biome.shared.json +102 -0
  3. package/dist/constants/commons.d.ts +62 -0
  4. package/dist/constants/commons.js +658 -0
  5. package/dist/constants/company.d.ts +9 -0
  6. package/dist/constants/company.js +24 -0
  7. package/dist/constants/contest.d.ts +15 -0
  8. package/dist/constants/contest.js +29 -0
  9. package/dist/constants/course.d.ts +8 -0
  10. package/dist/constants/course.js +12 -0
  11. package/dist/constants/date.d.ts +9 -0
  12. package/dist/constants/date.js +23 -0
  13. package/dist/constants/email.d.ts +2 -0
  14. package/dist/constants/email.js +34 -0
  15. package/dist/constants/entity.d.ts +3 -0
  16. package/dist/constants/entity.js +18 -0
  17. package/dist/constants/file.d.ts +28 -0
  18. package/dist/constants/file.js +46 -0
  19. package/dist/constants/index.d.ts +18 -0
  20. package/dist/constants/index.js +18 -0
  21. package/dist/constants/judge.d.ts +37 -0
  22. package/dist/constants/judge.js +221 -0
  23. package/dist/constants/problem.d.ts +37 -0
  24. package/dist/constants/problem.js +72 -0
  25. package/dist/constants/routing.d.ts +7 -0
  26. package/dist/constants/routing.js +7 -0
  27. package/dist/constants/services.d.ts +5 -0
  28. package/dist/constants/services.js +131 -0
  29. package/dist/constants/system.d.ts +8 -0
  30. package/dist/constants/system.js +9 -0
  31. package/dist/constants/teams.d.ts +15 -0
  32. package/dist/constants/teams.js +18 -0
  33. package/dist/constants/time.d.ts +9 -0
  34. package/dist/constants/time.js +9 -0
  35. package/dist/constants/user.d.ts +10 -0
  36. package/dist/constants/user.js +35 -0
  37. package/dist/constants/websocket.d.ts +6 -0
  38. package/dist/constants/websocket.js +5 -0
  39. package/dist/constants/worksheet.d.ts +11 -0
  40. package/dist/constants/worksheet.js +66 -0
  41. package/dist/dto/class.d.ts +115 -0
  42. package/dist/dto/class.js +1 -0
  43. package/dist/dto/code.d.ts +13 -0
  44. package/dist/dto/code.js +1 -0
  45. package/dist/dto/comments.d.ts +21 -0
  46. package/dist/dto/comments.js +1 -0
  47. package/dist/dto/contest.d.ts +95 -0
  48. package/dist/dto/contest.js +7 -0
  49. package/dist/dto/course.d.ts +34 -0
  50. package/dist/dto/course.js +1 -0
  51. package/dist/dto/entity.d.ts +92 -0
  52. package/dist/dto/entity.js +5 -0
  53. package/dist/dto/excalidraw.d.ts +12 -0
  54. package/dist/dto/excalidraw.js +1 -0
  55. package/dist/dto/file.d.ts +34 -0
  56. package/dist/dto/file.js +1 -0
  57. package/dist/dto/image.d.ts +6 -0
  58. package/dist/dto/image.js +1 -0
  59. package/dist/dto/index.d.ts +24 -0
  60. package/dist/dto/index.js +24 -0
  61. package/dist/dto/judge.d.ts +16 -0
  62. package/dist/dto/judge.js +1 -0
  63. package/dist/dto/markdown.d.ts +12 -0
  64. package/dist/dto/markdown.js +1 -0
  65. package/dist/dto/mermaid.d.ts +12 -0
  66. package/dist/dto/mermaid.js +1 -0
  67. package/dist/dto/organization.d.ts +102 -0
  68. package/dist/dto/organization.js +1 -0
  69. package/dist/dto/problem.d.ts +67 -0
  70. package/dist/dto/problem.js +1 -0
  71. package/dist/dto/scoreboard.d.ts +35 -0
  72. package/dist/dto/scoreboard.js +1 -0
  73. package/dist/dto/session.d.ts +15 -0
  74. package/dist/dto/session.js +1 -0
  75. package/dist/dto/socket.d.ts +257 -0
  76. package/dist/dto/socket.js +1 -0
  77. package/dist/dto/statistics.d.ts +43 -0
  78. package/dist/dto/statistics.js +1 -0
  79. package/dist/dto/submission.d.ts +95 -0
  80. package/dist/dto/submission.js +1 -0
  81. package/dist/dto/system.d.ts +91 -0
  82. package/dist/dto/system.js +1 -0
  83. package/dist/dto/url.d.ts +8 -0
  84. package/dist/dto/url.js +1 -0
  85. package/dist/dto/user.d.ts +109 -0
  86. package/dist/dto/user.js +1 -0
  87. package/dist/dto/virtual-user.d.ts +39 -0
  88. package/dist/dto/virtual-user.js +1 -0
  89. package/dist/dto/worksheet-submissions.d.ts +64 -0
  90. package/dist/dto/worksheet-submissions.js +1 -0
  91. package/dist/dto/worksheet.d.ts +39 -0
  92. package/dist/dto/worksheet.js +1 -0
  93. package/dist/helpers/class.d.ts +4 -0
  94. package/dist/helpers/class.js +10 -0
  95. package/dist/helpers/comments.d.ts +4 -0
  96. package/dist/helpers/comments.js +4 -0
  97. package/dist/helpers/commons.d.ts +33 -0
  98. package/dist/helpers/commons.js +191 -0
  99. package/dist/helpers/contest.d.ts +5 -0
  100. package/dist/helpers/contest.js +21 -0
  101. package/dist/helpers/document.d.ts +14 -0
  102. package/dist/helpers/document.js +38 -0
  103. package/dist/helpers/file.d.ts +1 -0
  104. package/dist/helpers/file.js +4 -0
  105. package/dist/helpers/index.d.ts +14 -0
  106. package/dist/helpers/index.js +14 -0
  107. package/dist/helpers/interval.d.ts +2 -0
  108. package/dist/helpers/interval.js +22 -0
  109. package/dist/helpers/judging.d.ts +25 -0
  110. package/dist/helpers/judging.js +107 -0
  111. package/dist/helpers/object.d.ts +1 -0
  112. package/dist/helpers/object.js +32 -0
  113. package/dist/helpers/responses.d.ts +8 -0
  114. package/dist/helpers/responses.js +78 -0
  115. package/dist/helpers/socket.d.ts +45 -0
  116. package/dist/helpers/socket.js +238 -0
  117. package/dist/helpers/time.d.ts +13 -0
  118. package/dist/helpers/time.js +101 -0
  119. package/dist/helpers/user.d.ts +11 -0
  120. package/dist/helpers/user.js +14 -0
  121. package/dist/helpers/worksheet.d.ts +10 -0
  122. package/dist/helpers/worksheet.js +131 -0
  123. package/dist/index.d.ts +6 -0
  124. package/dist/index.js +6 -0
  125. package/dist/prisma/enums/AssignmentClassType.d.ts +7 -0
  126. package/dist/prisma/enums/AssignmentClassType.js +6 -0
  127. package/dist/prisma/enums/ContestEventAction.d.ts +10 -0
  128. package/dist/prisma/enums/ContestEventAction.js +9 -0
  129. package/dist/prisma/enums/ContestProblemPrerequisiteType.d.ts +5 -0
  130. package/dist/prisma/enums/ContestProblemPrerequisiteType.js +4 -0
  131. package/dist/prisma/enums/ContestRole.d.ts +11 -0
  132. package/dist/prisma/enums/ContestRole.js +10 -0
  133. package/dist/prisma/enums/ContestStatus.d.ts +6 -0
  134. package/dist/prisma/enums/ContestStatus.js +5 -0
  135. package/dist/prisma/enums/CourseRole.d.ts +12 -0
  136. package/dist/prisma/enums/CourseRole.js +11 -0
  137. package/dist/prisma/enums/EntityObjectType.d.ts +13 -0
  138. package/dist/prisma/enums/EntityObjectType.js +12 -0
  139. package/dist/prisma/enums/EntityRole.d.ts +8 -0
  140. package/dist/prisma/enums/EntityRole.js +7 -0
  141. package/dist/prisma/enums/EntitySubjectType.d.ts +7 -0
  142. package/dist/prisma/enums/EntitySubjectType.js +6 -0
  143. package/dist/prisma/enums/FileRole.d.ts +9 -0
  144. package/dist/prisma/enums/FileRole.js +8 -0
  145. package/dist/prisma/enums/FileType.d.ts +5 -0
  146. package/dist/prisma/enums/FileType.js +4 -0
  147. package/dist/prisma/enums/GroupType.d.ts +5 -0
  148. package/dist/prisma/enums/GroupType.js +4 -0
  149. package/dist/prisma/enums/JudgeType.d.ts +12 -0
  150. package/dist/prisma/enums/JudgeType.js +11 -0
  151. package/dist/prisma/enums/OrganizationPlan.d.ts +7 -0
  152. package/dist/prisma/enums/OrganizationPlan.js +6 -0
  153. package/dist/prisma/enums/ProblemRole.d.ts +11 -0
  154. package/dist/prisma/enums/ProblemRole.js +10 -0
  155. package/dist/prisma/enums/ProblemScoringMode.d.ts +6 -0
  156. package/dist/prisma/enums/ProblemScoringMode.js +5 -0
  157. package/dist/prisma/enums/ProblemType.d.ts +6 -0
  158. package/dist/prisma/enums/ProblemType.js +5 -0
  159. package/dist/prisma/enums/ProblemVerdict.d.ts +14 -0
  160. package/dist/prisma/enums/ProblemVerdict.js +13 -0
  161. package/dist/prisma/enums/ShareLinkVisibility.d.ts +5 -0
  162. package/dist/prisma/enums/ShareLinkVisibility.js +4 -0
  163. package/dist/prisma/enums/SubmissionRunStatus.d.ts +18 -0
  164. package/dist/prisma/enums/SubmissionRunStatus.js +17 -0
  165. package/dist/prisma/enums/SystemRole.d.ts +9 -0
  166. package/dist/prisma/enums/SystemRole.js +8 -0
  167. package/dist/prisma/enums/TeamRole.d.ts +9 -0
  168. package/dist/prisma/enums/TeamRole.js +8 -0
  169. package/dist/prisma/enums/TelemetryType.d.ts +9 -0
  170. package/dist/prisma/enums/TelemetryType.js +8 -0
  171. package/dist/prisma/enums/UserRole.d.ts +10 -0
  172. package/dist/prisma/enums/UserRole.js +9 -0
  173. package/dist/prisma/enums/WorkingIn.d.ts +8 -0
  174. package/dist/prisma/enums/WorkingIn.js +7 -0
  175. package/dist/prisma/enums/WorksheetContentType.d.ts +10 -0
  176. package/dist/prisma/enums/WorksheetContentType.js +9 -0
  177. package/dist/prisma/enums/index.d.ts +26 -0
  178. package/dist/prisma/enums/index.js +26 -0
  179. package/dist/prototypes/Date.d.ts +62 -0
  180. package/dist/prototypes/Date.js +218 -0
  181. package/dist/prototypes/Error.d.ts +10 -0
  182. package/dist/prototypes/Error.js +17 -0
  183. package/dist/prototypes/Number.d.ts +7 -0
  184. package/dist/prototypes/Number.js +8 -0
  185. package/dist/prototypes/index.d.ts +3 -0
  186. package/dist/prototypes/index.js +3 -0
  187. package/dist/types/account.d.ts +9 -0
  188. package/dist/types/account.js +10 -0
  189. package/dist/types/class.d.ts +67 -0
  190. package/dist/types/class.js +7 -0
  191. package/dist/types/comments.d.ts +17 -0
  192. package/dist/types/comments.js +1 -0
  193. package/dist/types/commons.d.ts +84 -0
  194. package/dist/types/commons.js +69 -0
  195. package/dist/types/company.d.ts +6 -0
  196. package/dist/types/company.js +7 -0
  197. package/dist/types/contest.d.ts +144 -0
  198. package/dist/types/contest.js +6 -0
  199. package/dist/types/course.d.ts +13 -0
  200. package/dist/types/course.js +1 -0
  201. package/dist/types/entity.d.ts +116 -0
  202. package/dist/types/entity.js +50 -0
  203. package/dist/types/excalidraw.d.ts +9 -0
  204. package/dist/types/excalidraw.js +1 -0
  205. package/dist/types/file.d.ts +22 -0
  206. package/dist/types/file.js +13 -0
  207. package/dist/types/group.d.ts +9 -0
  208. package/dist/types/group.js +1 -0
  209. package/dist/types/index.d.ts +23 -0
  210. package/dist/types/index.js +23 -0
  211. package/dist/types/judge.d.ts +46 -0
  212. package/dist/types/judge.js +17 -0
  213. package/dist/types/markdown.d.ts +8 -0
  214. package/dist/types/markdown.js +1 -0
  215. package/dist/types/mermaid.d.ts +8 -0
  216. package/dist/types/mermaid.js +1 -0
  217. package/dist/types/notification.d.ts +7 -0
  218. package/dist/types/notification.js +8 -0
  219. package/dist/types/problems.d.ts +93 -0
  220. package/dist/types/problems.js +16 -0
  221. package/dist/types/services.d.ts +214 -0
  222. package/dist/types/services.js +147 -0
  223. package/dist/types/sheet.d.ts +104 -0
  224. package/dist/types/sheet.js +16 -0
  225. package/dist/types/socket.d.ts +49 -0
  226. package/dist/types/socket.js +49 -0
  227. package/dist/types/submission.d.ts +5 -0
  228. package/dist/types/submission.js +1 -0
  229. package/dist/types/teams.d.ts +96 -0
  230. package/dist/types/teams.js +28 -0
  231. package/dist/types/users.d.ts +65 -0
  232. package/dist/types/users.js +33 -0
  233. package/dist/types/worksheet.d.ts +42 -0
  234. package/dist/types/worksheet.js +11 -0
  235. package/package.json +42 -0
@@ -0,0 +1,257 @@
1
+ import type { ProblemVerdict, SubmissionRunStatus } from '../prisma/enums/index.js';
2
+ import type { ClientId, Device, WebSocketMessageEvent, WebSocketResponseEvent, WebSocketResponseEventKey, WebSocketSubscriptionEvent } from '../types/index.js';
3
+ import type { Ec2Instance, EcsTaskDefinitionSystemSummaryListResponseDTO, EcsTaskSystemSummaryListResponseDTO, SsmSession } from './system.js';
4
+ import type { PingResponseDTO, UserOrganizationBasicInfoResponseDTO } from './user.js';
5
+ interface WebsocketMessage {
6
+ event: WebSocketMessageEvent;
7
+ clientId: ClientId;
8
+ }
9
+ export interface PingWebSocketEventDTO extends WebsocketMessage {
10
+ event: WebSocketMessageEvent.PING;
11
+ }
12
+ export interface ClientTrackLocationWebSocketEventDTO extends WebsocketMessage {
13
+ event: WebSocketMessageEvent.CLIENT_TRACK_LOCATION;
14
+ href: string;
15
+ }
16
+ export interface ClientTrackScreenshotWebSocketEventDTO extends WebsocketMessage {
17
+ event: WebSocketMessageEvent.CLIENT_TRACK_SCREENSHOT;
18
+ screenshot: string;
19
+ }
20
+ export interface ClientTrackDeviceWebSocketEventDTO extends WebsocketMessage {
21
+ event: WebSocketMessageEvent.CLIENT_TRACK_DEVICE;
22
+ device: Device;
23
+ }
24
+ export interface ChatCompletionsWebSocketEventDTO extends WebsocketMessage {
25
+ event: WebSocketMessageEvent.CHAT_COMPLETIONS;
26
+ chatAiId: string;
27
+ content: string;
28
+ }
29
+ export type WebSocketMessageEventDTO = PingWebSocketEventDTO | ClientTrackLocationWebSocketEventDTO | ClientTrackScreenshotWebSocketEventDTO | ClientTrackDeviceWebSocketEventDTO | ChatCompletionsWebSocketEventDTO;
30
+ export interface WebsocketSubscription {
31
+ event: WebSocketSubscriptionEvent;
32
+ clientId: ClientId;
33
+ }
34
+ export interface SubscribeCodeRunStatusWebSocketEventDTO extends WebsocketSubscription {
35
+ event: WebSocketSubscriptionEvent.SUBSCRIBE_CODE_RUN_STATUS;
36
+ runId: string;
37
+ }
38
+ export interface UnsubscribeCodeRunStatusWebSocketEventDTO extends WebsocketSubscription {
39
+ event: WebSocketSubscriptionEvent.UNSUBSCRIBE_CODE_RUN_STATUS;
40
+ runId: string;
41
+ }
42
+ export interface SubscribeSubmissionRunStatusWebSocketEventDTO extends WebsocketSubscription {
43
+ event: WebSocketSubscriptionEvent.SUBSCRIBE_SUBMISSION_RUN_STATUS;
44
+ submitId: string;
45
+ }
46
+ export interface UnsubscribeSubmissionRunStatusWebSocketEventDTO extends WebsocketSubscription {
47
+ event: WebSocketSubscriptionEvent.UNSUBSCRIBE_SUBMISSION_RUN_STATUS;
48
+ submitId: string;
49
+ }
50
+ export interface SubscribeGetDataWebSocketEventDTO extends WebsocketSubscription {
51
+ dataId: string;
52
+ event: WebSocketSubscriptionEvent.SUBSCRIBE_GET_DATA;
53
+ }
54
+ export interface UnsubscribeGetDataWebSocketEventDTO extends WebsocketSubscription {
55
+ dataId: string;
56
+ event: WebSocketSubscriptionEvent.UNSUBSCRIBE_GET_DATA;
57
+ }
58
+ export interface SubscribeProblemCrawledWebSocketEventDTO extends WebsocketSubscription {
59
+ event: WebSocketSubscriptionEvent.SUBSCRIBE_PROBLEM_CRAWLED;
60
+ problemKey: string;
61
+ }
62
+ export interface UnsubscribeProblemCrawledWebSocketEventDTO extends WebsocketSubscription {
63
+ event: WebSocketSubscriptionEvent.UNSUBSCRIBE_PROBLEM_CRAWLED;
64
+ problemKey: string;
65
+ }
66
+ export interface SubscribeSubmissionsCrawlWebSocketEventDTO extends WebsocketSubscription {
67
+ event: WebSocketSubscriptionEvent.SUBSCRIBE_SUBMISSIONS_CRAWL;
68
+ contestKey: string;
69
+ problemKeys: string;
70
+ }
71
+ export interface UnsubscribeSubmissionsCrawlWebSocketEventDTO extends WebsocketSubscription {
72
+ event: WebSocketSubscriptionEvent.UNSUBSCRIBE_SUBMISSIONS_CRAWL;
73
+ contestKey: string;
74
+ problemKeys: string;
75
+ }
76
+ export interface SubscribeContestChangesWebSocketEventDTO extends WebsocketSubscription {
77
+ event: WebSocketSubscriptionEvent.SUBSCRIBE_CONTEST_CHANGES;
78
+ contestKey: string;
79
+ }
80
+ export interface UnsubscribeContestChangesWebSocketEventDTO extends WebsocketSubscription {
81
+ event: WebSocketSubscriptionEvent.UNSUBSCRIBE_CONTEST_CHANGES;
82
+ contestKey: string;
83
+ }
84
+ export interface SubscribeClientTrackWebSocketEventDTO extends WebsocketSubscription {
85
+ event: WebSocketSubscriptionEvent.SUBSCRIBE_CLIENT_TRACK;
86
+ }
87
+ export interface UnsubscribeClientTrackWebSocketEventDTO extends WebsocketSubscription {
88
+ event: WebSocketSubscriptionEvent.UNSUBSCRIBE_CLIENT_TRACK;
89
+ }
90
+ export interface SubscribeUserNotificationWebsocketEventDTO extends WebsocketSubscription {
91
+ event: WebSocketSubscriptionEvent.SUBSCRIBE_USER_NOTIFICATION;
92
+ userKey: string;
93
+ }
94
+ export interface UnsubscribeUserNotificationWebSocketEventDTO extends WebsocketSubscription {
95
+ event: WebSocketSubscriptionEvent.UNSUBSCRIBE_USER_NOTIFICATION;
96
+ userKey: string;
97
+ }
98
+ export type WebSocketSubscribeEventDTO = SubscribeCodeRunStatusWebSocketEventDTO | SubscribeSubmissionRunStatusWebSocketEventDTO | SubscribeGetDataWebSocketEventDTO | SubscribeProblemCrawledWebSocketEventDTO | SubscribeSubmissionsCrawlWebSocketEventDTO | SubscribeContestChangesWebSocketEventDTO | SubscribeClientTrackWebSocketEventDTO | SubscribeUserNotificationWebsocketEventDTO;
99
+ export type WebSocketUnsubscribeEventDTO = UnsubscribeCodeRunStatusWebSocketEventDTO | UnsubscribeSubmissionRunStatusWebSocketEventDTO | UnsubscribeGetDataWebSocketEventDTO | UnsubscribeProblemCrawledWebSocketEventDTO | UnsubscribeSubmissionsCrawlWebSocketEventDTO | UnsubscribeContestChangesWebSocketEventDTO | UnsubscribeClientTrackWebSocketEventDTO | UnsubscribeUserNotificationWebSocketEventDTO;
100
+ export interface WebSocketResponse {
101
+ event: WebSocketResponseEvent;
102
+ key: WebSocketResponseEventKey;
103
+ connectionId: string;
104
+ messageTimestamp: number;
105
+ }
106
+ export interface PongWebSocketResponseEventDTO extends WebSocketResponse {
107
+ event: WebSocketResponseEvent.PONG;
108
+ data: PingResponseDTO;
109
+ }
110
+ export type InfoLogCaseStatus = {
111
+ inputKey: string;
112
+ out: string;
113
+ err: string;
114
+ log: string;
115
+ };
116
+ export interface CodeRunStatusWebSocketResponseEventDTO extends WebSocketResponse {
117
+ event: WebSocketResponseEvent.CODE_RUN_STATUS;
118
+ runId: string;
119
+ status: SubmissionRunStatus;
120
+ log: InfoLogCaseStatus;
121
+ }
122
+ export type TestInfo = {
123
+ sampleCase: boolean;
124
+ caseResultsExecuted: number;
125
+ caseResultsTotal: number;
126
+ };
127
+ export interface SubmissionRunStatusWebSocketResponseEventDTO extends WebSocketResponse {
128
+ event: WebSocketResponseEvent.SUBMISSION_RUN_STATUS;
129
+ submitId: string;
130
+ status: SubmissionRunStatus;
131
+ verdict: ProblemVerdict;
132
+ points: number;
133
+ testInfo?: TestInfo;
134
+ shouldValidateContest: boolean;
135
+ }
136
+ export interface UserMessageWebSocketResponseEventDTO extends WebSocketResponse {
137
+ event: WebSocketResponseEvent.USER_MESSAGE;
138
+ user: UserOrganizationBasicInfoResponseDTO;
139
+ content: {
140
+ type: 'SUBMISSION_VERDICT';
141
+ contestName: string;
142
+ problemName: string;
143
+ verdict: ProblemVerdict;
144
+ points: number;
145
+ };
146
+ }
147
+ export interface SendDataWebSocketResponseEventDTO extends WebSocketResponse {
148
+ dataId: string;
149
+ content: unknown;
150
+ }
151
+ export interface SendDataEcsTaskDefinitionListWebSocketResponseEventDTO extends SendDataWebSocketResponseEventDTO {
152
+ event: WebSocketResponseEvent.SEND_DATA_ECS_TASK_DEFINITIONS_LIST;
153
+ content: EcsTaskDefinitionSystemSummaryListResponseDTO[];
154
+ }
155
+ export interface SendDataEcsTasksListWebSocketResponseEventDTO extends SendDataWebSocketResponseEventDTO {
156
+ event: WebSocketResponseEvent.SEND_DATA_ECS_TASKS_LIST;
157
+ content: EcsTaskSystemSummaryListResponseDTO[];
158
+ }
159
+ export interface SendDataEc2InstancesListWebSocketResponseEventDTO extends SendDataWebSocketResponseEventDTO {
160
+ event: WebSocketResponseEvent.SEND_DATA_EC2_INSTANCES_LIST;
161
+ content: Ec2Instance[];
162
+ }
163
+ export interface SendDataSsmSessionsListWebSocketResponseEventDTO extends SendDataWebSocketResponseEventDTO {
164
+ event: WebSocketResponseEvent.SEND_DATA_SSM_SESSIONS_LIST;
165
+ content: SsmSession[];
166
+ }
167
+ export interface SendDataRunCommandWebSocketResponseEventDTO extends SendDataWebSocketResponseEventDTO {
168
+ event: WebSocketResponseEvent.SEND_DATA_RUN_COMMAND;
169
+ content: {
170
+ testCaseOutContent: string;
171
+ testCaseErrorContent: string;
172
+ testCaseLogContent: string;
173
+ };
174
+ }
175
+ export interface SendDataClientTrackWebSocketResponseEventDTO extends SendDataWebSocketResponseEventDTO {
176
+ event: WebSocketResponseEvent.SEND_DATA_CLIENT_TRACK;
177
+ content: {
178
+ location?: string;
179
+ screenshot?: string;
180
+ device?: Device;
181
+ };
182
+ }
183
+ export interface SendDataChatCompletionsWebSocketResponseEventDTO extends SendDataWebSocketResponseEventDTO {
184
+ event: WebSocketResponseEvent.SEND_DATA_CHAT_COMPLETIONS;
185
+ content: {
186
+ choices: [{
187
+ index: number;
188
+ message: {
189
+ role: string;
190
+ content: string;
191
+ };
192
+ }];
193
+ rawData: unknown;
194
+ };
195
+ }
196
+ export interface ProblemCrawledWebSocketResponseEventDTO extends WebSocketResponse {
197
+ event: WebSocketResponseEvent.PROBLEM_CRAWLED;
198
+ content: {
199
+ problemKey: string;
200
+ };
201
+ }
202
+ export interface SubmissionsCrawlWebSocketResponseEventDTO extends WebSocketResponse {
203
+ event: WebSocketResponseEvent.SUBMISSIONS_CRAWL;
204
+ content: {
205
+ contestKey: string;
206
+ problemKeys: string;
207
+ judge: string;
208
+ userKey: string;
209
+ submissionsCount: number;
210
+ submitId: string;
211
+ isNewSubmission: boolean;
212
+ };
213
+ }
214
+ export interface ContestChangesWebSocketResponseEventDTO extends WebSocketResponse {
215
+ event: WebSocketResponseEvent.CONTEST_CHANGES;
216
+ content: {
217
+ contestKey: string;
218
+ };
219
+ }
220
+ export interface ClientTrackWebSocketResponseEventDTO extends WebSocketResponse {
221
+ event: WebSocketResponseEvent.CLIENT_TRACK;
222
+ location: boolean;
223
+ screenshot: boolean;
224
+ device: boolean;
225
+ }
226
+ export interface UserNotificationWebSocketResponseEventDTO extends WebSocketResponse {
227
+ event: WebSocketResponseEvent.USER_NOTIFICATION_SUBMISSION | WebSocketResponseEvent.USER_NOTIFICATION_CONTEST_CLARIFICATION;
228
+ content: unknown;
229
+ }
230
+ export interface UserNotificationSubmissionWebSocketResponseEventDTO extends UserNotificationWebSocketResponseEventDTO {
231
+ event: WebSocketResponseEvent.USER_NOTIFICATION_SUBMISSION;
232
+ content: {
233
+ contest: {
234
+ key: string;
235
+ name: string;
236
+ problemIndex: string;
237
+ isFrozen: boolean;
238
+ isQuiet: boolean;
239
+ isUpsolving: boolean;
240
+ } | null;
241
+ problem: {
242
+ key: string;
243
+ name: string;
244
+ };
245
+ verdict: ProblemVerdict;
246
+ points: number;
247
+ submissionId: string;
248
+ };
249
+ }
250
+ export interface UserNotificationContestClarificationWebSocketResponseEventDTO extends UserNotificationWebSocketResponseEventDTO {
251
+ event: WebSocketResponseEvent.USER_NOTIFICATION_CONTEST_CLARIFICATION;
252
+ content: {
253
+ contestKey: string;
254
+ };
255
+ }
256
+ export type WebSocketResponseEventDTO = PongWebSocketResponseEventDTO | CodeRunStatusWebSocketResponseEventDTO | SubmissionRunStatusWebSocketResponseEventDTO | UserMessageWebSocketResponseEventDTO | SendDataEcsTaskDefinitionListWebSocketResponseEventDTO | SendDataEcsTasksListWebSocketResponseEventDTO | SendDataEc2InstancesListWebSocketResponseEventDTO | SendDataSsmSessionsListWebSocketResponseEventDTO | ProblemCrawledWebSocketResponseEventDTO | SendDataChatCompletionsWebSocketResponseEventDTO | SubmissionsCrawlWebSocketResponseEventDTO | ContestChangesWebSocketResponseEventDTO | SendDataRunCommandWebSocketResponseEventDTO | SendDataClientTrackWebSocketResponseEventDTO | ClientTrackWebSocketResponseEventDTO | UserNotificationSubmissionWebSocketResponseEventDTO | UserNotificationContestClarificationWebSocketResponseEventDTO;
257
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,43 @@
1
+ import type { UserOrganizationBasicInfoResponseDTO } from './user.js';
2
+ export type GroupByTimestampKey = 'year' | 'month' | 'day' | 'hour' | 'minute' | 'second' | number;
3
+ export type StatisticsGrouped<T> = Partial<Record<GroupByTimestampKey, Record<number, T>>>;
4
+ export interface StatisticsCompanyResponseDTO {
5
+ codeEditorRuns: StatisticsGrouped<number>;
6
+ judgingRuns: StatisticsGrouped<number>;
7
+ reJudgingRuns: StatisticsGrouped<number>;
8
+ users: number;
9
+ problems: number;
10
+ contests: number;
11
+ }
12
+ export interface StatisticsProblemResponseDTO {
13
+ verdict: {
14
+ [key: string]: {
15
+ key: string;
16
+ value: number;
17
+ label: string;
18
+ };
19
+ };
20
+ language: {
21
+ [key: string]: {
22
+ key: string;
23
+ value: number;
24
+ label: string;
25
+ };
26
+ };
27
+ date: StatisticsGrouped<number>;
28
+ }
29
+ export type StatisticsUserTrackDataResponseDTO = {
30
+ timestamp: number;
31
+ history: {
32
+ href: string;
33
+ uiId: string;
34
+ timestamp: number;
35
+ }[];
36
+ };
37
+ export interface StatisticsUserTrackResponseDTO {
38
+ [key: string]: {
39
+ user: UserOrganizationBasicInfoResponseDTO;
40
+ sessionId: string;
41
+ data: StatisticsGrouped<StatisticsUserTrackDataResponseDTO>;
42
+ };
43
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,95 @@
1
+ import type { ProblemScoringMode, ProblemType, ProblemVerdict, SubmissionRunStatus } from '../prisma/enums/index.js';
2
+ import type { CodeLanguage, ContestUser, DataLog, EntityState } from '../types/index.js';
3
+ import type { EntityCompanySummaryListResponseDTO, EntityCompanySystemSummaryListResponseDTO, ProblemJudgeSummaryListResponseDTO } from './problem.js';
4
+ import type { UserOrganizationBasicInfoResponseDTO } from './user.js';
5
+ export interface SubmissionProblemSummaryListResponseDTO {
6
+ isAdministrator: boolean;
7
+ isManager: boolean;
8
+ key: string;
9
+ name: string;
10
+ scoringMode: ProblemScoringMode;
11
+ type: ProblemType;
12
+ timeLimit: number;
13
+ memoryLimit: number;
14
+ company: EntityCompanySummaryListResponseDTO;
15
+ judge: ProblemJudgeSummaryListResponseDTO;
16
+ }
17
+ export interface SubmissionContestSummaryListResponseDTO {
18
+ key: string;
19
+ name: string;
20
+ settingsStartTimestamp: number;
21
+ isManager: boolean;
22
+ problemIndex: string;
23
+ problemColor: string;
24
+ company: EntityCompanySummaryListResponseDTO;
25
+ isFrozen: boolean;
26
+ isQuiet: boolean;
27
+ isUpsolving: boolean;
28
+ }
29
+ export interface SubmissionSummaryListResponseDTO {
30
+ submitId: string;
31
+ language: CodeLanguage;
32
+ timestamp: number;
33
+ memoryUsed: number;
34
+ timeUsed: number;
35
+ verdict: ProblemVerdict;
36
+ points: number;
37
+ status: SubmissionRunStatus;
38
+ problem: SubmissionProblemSummaryListResponseDTO;
39
+ user: UserOrganizationBasicInfoResponseDTO & {
40
+ canViewSourceCode: boolean;
41
+ };
42
+ contest: SubmissionContestSummaryListResponseDTO | null;
43
+ hiddenSubmission: boolean;
44
+ hiddenVerdict: boolean;
45
+ processedCases: {
46
+ samples: {
47
+ total: number;
48
+ processed: number;
49
+ };
50
+ tests: {
51
+ total: number;
52
+ processed: number;
53
+ };
54
+ };
55
+ company: EntityCompanySummaryListResponseDTO;
56
+ }
57
+ export interface SubmissionProblemSystemSummaryListResponseDTO extends SubmissionProblemSummaryListResponseDTO {
58
+ id: string;
59
+ }
60
+ export interface SubmissionContestSystemSummaryListResponseDTO extends SubmissionContestSummaryListResponseDTO {
61
+ id: string;
62
+ user: ContestUser;
63
+ }
64
+ export interface SubmissionSystemSummaryListResponseDTO extends SubmissionSummaryListResponseDTO {
65
+ problem: SubmissionProblemSystemSummaryListResponseDTO;
66
+ contest: SubmissionContestSystemSummaryListResponseDTO | null;
67
+ company: EntityCompanySystemSummaryListResponseDTO;
68
+ creationTimestamp: number;
69
+ updateTimestamp: number;
70
+ state: EntityState;
71
+ }
72
+ export type TestCaseResult = DataLog & {
73
+ err: string;
74
+ verdict: ProblemVerdict;
75
+ diff: string;
76
+ croppedDiff: boolean;
77
+ group: number;
78
+ points: number;
79
+ testCaseKey: string;
80
+ };
81
+ export type VerdictByGroups = {
82
+ [key: number]: Omit<TestCaseResult, 'err' | 'diff' | 'croppedDiff'>;
83
+ };
84
+ export type CompilationResult = DataLog & {
85
+ err: string;
86
+ success: boolean;
87
+ };
88
+ export interface SubmissionDataResponseDTO extends SubmissionSummaryListResponseDTO {
89
+ judgmentTime: number;
90
+ sourceCode: string;
91
+ verdictByGroups: VerdictByGroups;
92
+ testCaseResults: TestCaseResult[];
93
+ compilationResult: CompilationResult;
94
+ runId: string;
95
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,91 @@
1
+ export type TaskResponseDTOContainer = {
2
+ runtimeId?: string;
3
+ };
4
+ export interface EcsTask {
5
+ taskArn: string;
6
+ taskDefinitionArn: string;
7
+ group: string;
8
+ version: number;
9
+ cpu: string;
10
+ memory: string;
11
+ launchType: string;
12
+ createdAt: Date;
13
+ startedAt: Date;
14
+ desiredStatus: string;
15
+ lastStatus: string;
16
+ containers?: TaskResponseDTOContainer[];
17
+ }
18
+ export interface EcsTaskSystemSummaryListResponseDTO extends EcsTask {
19
+ isHighRunnerCompanyKeys: string[];
20
+ }
21
+ export interface EcsTaskDefinition {
22
+ family: string;
23
+ taskDefinitionArn: string;
24
+ revision: number;
25
+ cpu: string;
26
+ memory: string;
27
+ registeredAt: Date;
28
+ }
29
+ export interface EcsTaskDefinitionSystemSummaryListResponseDTO extends EcsTaskDefinition {
30
+ isHighRunnerCompanyKeys: string[];
31
+ }
32
+ export interface Ec2Instance {
33
+ instanceId: string;
34
+ state: 'pending' | 'running' | 'shutting-down' | 'stopped' | 'stopping' | 'terminated' | undefined;
35
+ instanceType: string;
36
+ privateIpAddress: string;
37
+ publicIpAddress: string;
38
+ tags: {
39
+ key: string;
40
+ value: string;
41
+ }[];
42
+ launchTime: Date | undefined;
43
+ instanceLifecycle: 'capacity-block' | 'scheduled' | 'spot' | 'interruptible-capacity-reservation' | undefined;
44
+ imageId: string;
45
+ vpcId: string;
46
+ subnet: {
47
+ id: string;
48
+ name: string;
49
+ };
50
+ securityGroups: {
51
+ groupId: string;
52
+ groupName: string;
53
+ }[];
54
+ raw: unknown;
55
+ }
56
+ export type SqsProperties = {
57
+ queueArn: string;
58
+ approximateNumberOfMessages: string;
59
+ approximateNumberOfMessagesNotVisible: string;
60
+ approximateNumberOfMessagesDelayed: string;
61
+ createdTimestamp: string;
62
+ lastModifiedTimestamp: string;
63
+ visibilityTimeout: string;
64
+ maximumMessageSize: string;
65
+ messageRetentionPeriod: string;
66
+ delaySeconds: string;
67
+ receiveMessageWaitTimeSeconds: string;
68
+ sqsManagedSseEnabled: string;
69
+ fifoQueue: string;
70
+ deduplicationScope: string;
71
+ fifoThroughputLimit: string;
72
+ contentBasedDeduplication: string;
73
+ };
74
+ export interface SqsPropertiesResponseDTO {
75
+ sqsJukiHighRunnerFifo: SqsProperties;
76
+ sqsJukiLowRunnerFifo: SqsProperties;
77
+ }
78
+ export interface EmailDataResponseDTO {
79
+ emailTemplate: string;
80
+ contactEmails: string[];
81
+ mainEmail: string;
82
+ }
83
+ export type SsmSession = {
84
+ sessionId: string;
85
+ target: string;
86
+ status: 'Connected' | 'Connecting' | 'Disconnected' | 'Failed' | 'Terminating' | 'Terminated' | undefined;
87
+ startTimestamps: number;
88
+ owner: string;
89
+ maxSessionDuration: number;
90
+ raw: unknown;
91
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,8 @@
1
+ export interface ShorterListResponseDTO {
2
+ slug: string;
3
+ url: string;
4
+ createdAt: number;
5
+ expiresAt: number;
6
+ views: number;
7
+ lastAccessAt: number;
8
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,109 @@
1
+ import type { ContestRole, CourseRole, FileRole, ProblemRole, SystemRole, TeamRole, UserRole } from '../prisma/enums/index.js';
2
+ import type { RecordId, UserBasicInfo, UserHandles, UserSettings } from '../types/index.js';
3
+ import type { OrganizationStylesResponseDTO } from './organization.js';
4
+ import type { EntityCompanySummaryListResponseDTO, EntityCompanySystemSummaryListResponseDTO } from './problem.js';
5
+ export interface EntityOwnerSystemSummaryListResponseDTO {
6
+ id: string;
7
+ nickname: string;
8
+ imageUrl: string;
9
+ company: EntityCompanySummaryListResponseDTO;
10
+ }
11
+ export interface UserOrganizationBasicInfoResponseDTO extends UserBasicInfo {
12
+ company: EntityCompanySummaryListResponseDTO;
13
+ }
14
+ export interface UserSummaryListResponseDTO extends UserOrganizationBasicInfoResponseDTO {
15
+ email: string;
16
+ familyName: string;
17
+ givenName: string;
18
+ }
19
+ export interface UserSystemSummaryListResponseDTO extends UserSummaryListResponseDTO {
20
+ id: string;
21
+ city: string;
22
+ country: string;
23
+ institution: string;
24
+ systemRole: SystemRole;
25
+ userRole: UserRole;
26
+ contestRole: ContestRole;
27
+ problemRole: ProblemRole;
28
+ fileRole: FileRole;
29
+ teamRole: TeamRole;
30
+ courseRole: CourseRole;
31
+ canResetPassword: boolean;
32
+ owner: EntityOwnerSystemSummaryListResponseDTO;
33
+ company: EntityCompanySystemSummaryListResponseDTO;
34
+ createdAt: number;
35
+ updatedAt: number;
36
+ archivedAt: number | null;
37
+ }
38
+ export interface UserBasicResponseDTO extends UserSummaryListResponseDTO {
39
+ aboutMe: string;
40
+ city: string;
41
+ country: string;
42
+ institution: string;
43
+ handles: UserHandles;
44
+ }
45
+ export interface UserProfileResponseDTO extends UserBasicResponseDTO {
46
+ canEditProfileData: boolean;
47
+ canEditSettingsData: boolean;
48
+ canEditPermissionsData: boolean;
49
+ canUpdatePassword: boolean;
50
+ canResetPassword: boolean;
51
+ }
52
+ export type UserPermissionsResponseDTO = {
53
+ users: {
54
+ create: boolean;
55
+ manage: boolean;
56
+ administrate: boolean;
57
+ };
58
+ problems: {
59
+ create: boolean;
60
+ manage: boolean;
61
+ };
62
+ submissions: {
63
+ manage: boolean;
64
+ };
65
+ contests: {
66
+ create: boolean;
67
+ manage: boolean;
68
+ };
69
+ company: {
70
+ manage: boolean;
71
+ administrate: boolean;
72
+ };
73
+ services: {
74
+ administrate: boolean;
75
+ };
76
+ };
77
+ export type UserPing = {
78
+ permissions: UserPermissionsResponseDTO;
79
+ nickname: string;
80
+ imageUrl: string;
81
+ settings: UserSettings;
82
+ isLogged: boolean;
83
+ sessionId: RecordId;
84
+ company: EntityCompanySummaryListResponseDTO;
85
+ };
86
+ export type CompanyPingResponseDTO = {
87
+ key: string;
88
+ contactEmail: string;
89
+ contactCellPhoneNumber: string;
90
+ contactTelegram: string;
91
+ imageUrl: string;
92
+ name: string;
93
+ codeEditorRunEnabled: boolean;
94
+ styles: OrganizationStylesResponseDTO;
95
+ };
96
+ export interface PingResponseDTO {
97
+ user: UserPing;
98
+ company: CompanyPingResponseDTO;
99
+ }
100
+ export interface UserRankResponseDTO {
101
+ imageUrl: string;
102
+ nickname: string;
103
+ city: string;
104
+ country: string;
105
+ institution: string;
106
+ problemPoints: number;
107
+ competitionPoints: number;
108
+ company: EntityCompanySummaryListResponseDTO;
109
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,39 @@
1
+ import type { WorkingIn } from '../prisma/enums/index.js';
2
+ import type { Judge } from '../types/index.js';
3
+ export type CookieSameSite = 'Strict' | 'Lax' | 'None';
4
+ export type CookiePriority = 'Low' | 'Medium' | 'High';
5
+ export interface CookiePartitionKey {
6
+ sourceOrigin: string;
7
+ hasCrossSiteAncestor?: boolean;
8
+ }
9
+ export interface Cookie {
10
+ name: string;
11
+ value: string;
12
+ domain: string;
13
+ path: string;
14
+ expires: number;
15
+ size: number;
16
+ httpOnly?: boolean;
17
+ secure: boolean;
18
+ session: boolean;
19
+ sameSite?: CookieSameSite;
20
+ priority?: CookiePriority;
21
+ sameParty?: boolean;
22
+ partitionKey?: CookiePartitionKey | string;
23
+ partitionKeyOpaque?: boolean;
24
+ }
25
+ export interface VirtualUserResponseDTO {
26
+ id: string;
27
+ judge: Judge;
28
+ email: string;
29
+ username: string;
30
+ password: string;
31
+ submitId: string;
32
+ attempts: number;
33
+ workingIn: WorkingIn;
34
+ updatedAt: Date;
35
+ judgeSubmissionId: string;
36
+ session: {
37
+ cookies: Cookie[];
38
+ };
39
+ }
@@ -0,0 +1 @@
1
+ export {};