@clickcns/vmedic-react 0.0.15 → 0.0.17

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 (194) hide show
  1. package/dist/{api → cjs/api}/common/speechs/speech.d.ts +2 -5
  2. package/dist/{api → cjs/api}/common/user-notifications.d.ts +2 -1
  3. package/dist/cjs/api/index.js +1 -1
  4. package/dist/cjs/api/index.js.map +1 -1
  5. package/dist/cjs/hooks.user-notifications/index.js +1 -1
  6. package/dist/{types → cjs/types}/api/notifications.d.ts +7 -1
  7. package/dist/{types → cjs/types}/api/speech.d.ts +6 -0
  8. package/dist/es/App.d.ts +2 -0
  9. package/dist/es/api/axios/index.d.ts +1 -0
  10. package/dist/es/api/axios/initialize-axios.d.ts +11 -0
  11. package/dist/es/api/common/audio.d.ts +6 -0
  12. package/dist/es/api/common/auth.d.ts +22 -0
  13. package/dist/es/api/common/capture-rects.d.ts +12 -0
  14. package/dist/es/api/common/feedback.d.ts +18 -0
  15. package/dist/es/api/common/index.d.ts +12 -0
  16. package/dist/es/api/common/institutions.d.ts +10 -0
  17. package/dist/es/api/common/llm.d.ts +12 -0
  18. package/dist/es/api/common/notice.d.ts +8 -0
  19. package/dist/es/api/common/partners.d.ts +9 -0
  20. package/dist/es/api/common/push.d.ts +27 -0
  21. package/dist/es/api/common/speechs/index.d.ts +1 -0
  22. package/dist/es/api/common/speechs/speech-audios.d.ts +6 -0
  23. package/dist/es/api/common/speechs/speech-chat.d.ts +17 -0
  24. package/dist/es/api/common/speechs/speech-patients.d.ts +7 -0
  25. package/dist/es/api/common/speechs/speech-record-datas.d.ts +4 -0
  26. package/dist/es/api/common/speechs/speech-records.d.ts +27 -0
  27. package/dist/es/api/common/speechs/speech.d.ts +67 -0
  28. package/dist/es/api/common/user-notifications.d.ts +11 -0
  29. package/dist/es/api/common/user-settings.d.ts +5 -0
  30. package/dist/es/api/index.d.ts +2 -0
  31. package/dist/es/api/index.js +1 -4
  32. package/dist/es/api/index.js.map +1 -1
  33. package/dist/es/hooks/feedbacks/index.d.ts +10 -0
  34. package/dist/es/hooks/index.d.ts +1 -0
  35. package/dist/es/hooks/useTest.d.ts +8 -0
  36. package/dist/es/hooks/user-notifications/index.d.ts +7 -0
  37. package/dist/es/hooks.user-notifications/index.js +1 -1
  38. package/dist/es/index.d.ts +1 -0
  39. package/dist/es/lib/utils/index.d.ts +1 -0
  40. package/dist/es/lib/utils/utils.d.ts +2 -0
  41. package/dist/es/main.d.ts +0 -0
  42. package/dist/es/shadcn-ui/button.d.ts +10 -0
  43. package/dist/es/shadcn-ui/checkbox.d.ts +4 -0
  44. package/dist/es/shadcn-ui/combobox.d.ts +16 -0
  45. package/dist/es/shadcn-ui/command.d.ts +80 -0
  46. package/dist/es/shadcn-ui/dialog.d.ts +15 -0
  47. package/dist/es/shadcn-ui/drawer.d.ts +22 -0
  48. package/dist/es/shadcn-ui/field.d.ts +24 -0
  49. package/dist/es/shadcn-ui/hover-card.d.ts +6 -0
  50. package/dist/es/shadcn-ui/index.d.ts +20 -0
  51. package/dist/es/shadcn-ui/input.d.ts +3 -0
  52. package/dist/es/shadcn-ui/kbd.d.ts +3 -0
  53. package/dist/es/shadcn-ui/label.d.ts +4 -0
  54. package/dist/es/shadcn-ui/pagination.d.ts +32 -0
  55. package/dist/es/shadcn-ui/popover.d.ts +7 -0
  56. package/dist/es/shadcn-ui/resizable.d.ts +23 -0
  57. package/dist/es/shadcn-ui/scroll-area.d.ts +5 -0
  58. package/dist/es/shadcn-ui/separator.d.ts +4 -0
  59. package/dist/es/shadcn-ui/sheet.d.ts +25 -0
  60. package/dist/es/shadcn-ui/slider.d.ts +4 -0
  61. package/dist/es/shadcn-ui/textarea.d.ts +3 -0
  62. package/dist/es/shadcn-ui/tooltip.d.ts +7 -0
  63. package/dist/es/types/api/auth.d.ts +35 -0
  64. package/dist/es/types/api/capture-rects.d.ts +29 -0
  65. package/dist/es/types/api/feedback.d.ts +61 -0
  66. package/dist/es/types/api/index.d.ts +14 -0
  67. package/dist/es/types/api/institution.d.ts +7 -0
  68. package/dist/es/types/api/llm/chat.d.ts +62 -0
  69. package/dist/es/types/api/llm/diarization.d.ts +30 -0
  70. package/dist/es/types/api/llm/disease-recommendation.d.ts +13 -0
  71. package/dist/es/types/api/llm/index.d.ts +5 -0
  72. package/dist/es/types/api/llm/medical-summary.d.ts +15 -0
  73. package/dist/es/types/api/llm/mindmap.d.ts +7 -0
  74. package/dist/es/types/api/notice.d.ts +39 -0
  75. package/dist/es/types/api/notifications.d.ts +17 -0
  76. package/dist/es/types/api/partners.d.ts +42 -0
  77. package/dist/es/types/api/push.d.ts +14 -0
  78. package/dist/es/types/api/records.d.ts +49 -0
  79. package/dist/es/types/api/speech.d.ts +93 -0
  80. package/dist/es/types/api/transcript.d.ts +10 -0
  81. package/dist/es/types/api/user-setting.d.ts +23 -0
  82. package/dist/es/types/index.d.ts +2 -0
  83. package/dist/es/types/sio/base-response.dto.d.ts +4 -0
  84. package/dist/es/types/sio/index.d.ts +3 -0
  85. package/dist/es/types/sio/patient-info.dto.d.ts +4 -0
  86. package/dist/es/types/sio/ping-to-agent-response.dto.d.ts +5 -0
  87. package/dist/es/ui/feedbacks/FeedbackDetailPageContent.d.ts +29 -0
  88. package/dist/es/ui/feedbacks/components/CommentActions.d.ts +6 -0
  89. package/dist/es/ui/feedbacks/components/CommentEditor.d.ts +19 -0
  90. package/dist/es/ui/feedbacks/components/CommentItem.d.ts +21 -0
  91. package/dist/es/ui/feedbacks/components/CommentSection.d.ts +25 -0
  92. package/dist/es/ui/feedbacks/components/FeedbackBody.d.ts +16 -0
  93. package/dist/es/ui/feedbacks/components/FeedbackHeader.d.ts +11 -0
  94. package/dist/es/ui/feedbacks/components/index.d.ts +6 -0
  95. package/dist/es/ui/feedbacks/hooks/index.d.ts +1 -0
  96. package/dist/es/ui/feedbacks/hooks/useCommentEditor.d.ts +10 -0
  97. package/dist/es/ui/feedbacks/index.d.ts +1 -0
  98. package/dist/es/ui/feedbacks/utils/focusEditor.d.ts +6 -0
  99. package/dist/es/ui/feedbacks/utils/index.d.ts +1 -0
  100. package/dist/es/ui/index.d.ts +1 -0
  101. package/dist/user-notifications-Bh5Z6eqH.cjs +2 -0
  102. package/dist/user-notifications-Bh5Z6eqH.cjs.map +1 -0
  103. package/dist/{user-notifications-DbJeK8gS.js → user-notifications-CQ6PTkS2.js} +5 -4
  104. package/dist/user-notifications-CQ6PTkS2.js.map +1 -0
  105. package/package.json +12 -4
  106. package/dist/user-notifications-DbJeK8gS.js.map +0 -1
  107. package/dist/user-notifications-eaEdb3_1.cjs +0 -2
  108. package/dist/user-notifications-eaEdb3_1.cjs.map +0 -1
  109. /package/dist/{App.d.ts → cjs/App.d.ts} +0 -0
  110. /package/dist/{api → cjs/api}/axios/index.d.ts +0 -0
  111. /package/dist/{api → cjs/api}/axios/initialize-axios.d.ts +0 -0
  112. /package/dist/{api → cjs/api}/common/audio.d.ts +0 -0
  113. /package/dist/{api → cjs/api}/common/auth.d.ts +0 -0
  114. /package/dist/{api → cjs/api}/common/capture-rects.d.ts +0 -0
  115. /package/dist/{api → cjs/api}/common/feedback.d.ts +0 -0
  116. /package/dist/{api → cjs/api}/common/index.d.ts +0 -0
  117. /package/dist/{api → cjs/api}/common/institutions.d.ts +0 -0
  118. /package/dist/{api → cjs/api}/common/llm.d.ts +0 -0
  119. /package/dist/{api → cjs/api}/common/notice.d.ts +0 -0
  120. /package/dist/{api → cjs/api}/common/partners.d.ts +0 -0
  121. /package/dist/{api → cjs/api}/common/push.d.ts +0 -0
  122. /package/dist/{api → cjs/api}/common/speechs/index.d.ts +0 -0
  123. /package/dist/{api → cjs/api}/common/speechs/speech-audios.d.ts +0 -0
  124. /package/dist/{api → cjs/api}/common/speechs/speech-chat.d.ts +0 -0
  125. /package/dist/{api → cjs/api}/common/speechs/speech-patients.d.ts +0 -0
  126. /package/dist/{api → cjs/api}/common/speechs/speech-record-datas.d.ts +0 -0
  127. /package/dist/{api → cjs/api}/common/speechs/speech-records.d.ts +0 -0
  128. /package/dist/{api → cjs/api}/common/user-settings.d.ts +0 -0
  129. /package/dist/{api → cjs/api}/index.d.ts +0 -0
  130. /package/dist/{hooks → cjs/hooks}/feedbacks/index.d.ts +0 -0
  131. /package/dist/{hooks → cjs/hooks}/index.d.ts +0 -0
  132. /package/dist/{hooks → cjs/hooks}/useTest.d.ts +0 -0
  133. /package/dist/{hooks → cjs/hooks}/user-notifications/index.d.ts +0 -0
  134. /package/dist/{index.d.ts → cjs/index.d.ts} +0 -0
  135. /package/dist/{lib → cjs/lib}/utils/index.d.ts +0 -0
  136. /package/dist/{lib → cjs/lib}/utils/utils.d.ts +0 -0
  137. /package/dist/{main.d.ts → cjs/main.d.ts} +0 -0
  138. /package/dist/{shadcn-ui → cjs/shadcn-ui}/button.d.ts +0 -0
  139. /package/dist/{shadcn-ui → cjs/shadcn-ui}/checkbox.d.ts +0 -0
  140. /package/dist/{shadcn-ui → cjs/shadcn-ui}/combobox.d.ts +0 -0
  141. /package/dist/{shadcn-ui → cjs/shadcn-ui}/command.d.ts +0 -0
  142. /package/dist/{shadcn-ui → cjs/shadcn-ui}/dialog.d.ts +0 -0
  143. /package/dist/{shadcn-ui → cjs/shadcn-ui}/drawer.d.ts +0 -0
  144. /package/dist/{shadcn-ui → cjs/shadcn-ui}/field.d.ts +0 -0
  145. /package/dist/{shadcn-ui → cjs/shadcn-ui}/hover-card.d.ts +0 -0
  146. /package/dist/{shadcn-ui → cjs/shadcn-ui}/index.d.ts +0 -0
  147. /package/dist/{shadcn-ui → cjs/shadcn-ui}/input.d.ts +0 -0
  148. /package/dist/{shadcn-ui → cjs/shadcn-ui}/kbd.d.ts +0 -0
  149. /package/dist/{shadcn-ui → cjs/shadcn-ui}/label.d.ts +0 -0
  150. /package/dist/{shadcn-ui → cjs/shadcn-ui}/pagination.d.ts +0 -0
  151. /package/dist/{shadcn-ui → cjs/shadcn-ui}/popover.d.ts +0 -0
  152. /package/dist/{shadcn-ui → cjs/shadcn-ui}/resizable.d.ts +0 -0
  153. /package/dist/{shadcn-ui → cjs/shadcn-ui}/scroll-area.d.ts +0 -0
  154. /package/dist/{shadcn-ui → cjs/shadcn-ui}/separator.d.ts +0 -0
  155. /package/dist/{shadcn-ui → cjs/shadcn-ui}/sheet.d.ts +0 -0
  156. /package/dist/{shadcn-ui → cjs/shadcn-ui}/slider.d.ts +0 -0
  157. /package/dist/{shadcn-ui → cjs/shadcn-ui}/textarea.d.ts +0 -0
  158. /package/dist/{shadcn-ui → cjs/shadcn-ui}/tooltip.d.ts +0 -0
  159. /package/dist/{types → cjs/types}/api/auth.d.ts +0 -0
  160. /package/dist/{types → cjs/types}/api/capture-rects.d.ts +0 -0
  161. /package/dist/{types → cjs/types}/api/feedback.d.ts +0 -0
  162. /package/dist/{types → cjs/types}/api/index.d.ts +0 -0
  163. /package/dist/{types → cjs/types}/api/institution.d.ts +0 -0
  164. /package/dist/{types → cjs/types}/api/llm/chat.d.ts +0 -0
  165. /package/dist/{types → cjs/types}/api/llm/diarization.d.ts +0 -0
  166. /package/dist/{types → cjs/types}/api/llm/disease-recommendation.d.ts +0 -0
  167. /package/dist/{types → cjs/types}/api/llm/index.d.ts +0 -0
  168. /package/dist/{types → cjs/types}/api/llm/medical-summary.d.ts +0 -0
  169. /package/dist/{types → cjs/types}/api/llm/mindmap.d.ts +0 -0
  170. /package/dist/{types → cjs/types}/api/notice.d.ts +0 -0
  171. /package/dist/{types → cjs/types}/api/partners.d.ts +0 -0
  172. /package/dist/{types → cjs/types}/api/push.d.ts +0 -0
  173. /package/dist/{types → cjs/types}/api/records.d.ts +0 -0
  174. /package/dist/{types → cjs/types}/api/transcript.d.ts +0 -0
  175. /package/dist/{types → cjs/types}/api/user-setting.d.ts +0 -0
  176. /package/dist/{types → cjs/types}/index.d.ts +0 -0
  177. /package/dist/{types → cjs/types}/sio/base-response.dto.d.ts +0 -0
  178. /package/dist/{types → cjs/types}/sio/index.d.ts +0 -0
  179. /package/dist/{types → cjs/types}/sio/patient-info.dto.d.ts +0 -0
  180. /package/dist/{types → cjs/types}/sio/ping-to-agent-response.dto.d.ts +0 -0
  181. /package/dist/{ui → cjs/ui}/feedbacks/FeedbackDetailPageContent.d.ts +0 -0
  182. /package/dist/{ui → cjs/ui}/feedbacks/components/CommentActions.d.ts +0 -0
  183. /package/dist/{ui → cjs/ui}/feedbacks/components/CommentEditor.d.ts +0 -0
  184. /package/dist/{ui → cjs/ui}/feedbacks/components/CommentItem.d.ts +0 -0
  185. /package/dist/{ui → cjs/ui}/feedbacks/components/CommentSection.d.ts +0 -0
  186. /package/dist/{ui → cjs/ui}/feedbacks/components/FeedbackBody.d.ts +0 -0
  187. /package/dist/{ui → cjs/ui}/feedbacks/components/FeedbackHeader.d.ts +0 -0
  188. /package/dist/{ui → cjs/ui}/feedbacks/components/index.d.ts +0 -0
  189. /package/dist/{ui → cjs/ui}/feedbacks/hooks/index.d.ts +0 -0
  190. /package/dist/{ui → cjs/ui}/feedbacks/hooks/useCommentEditor.d.ts +0 -0
  191. /package/dist/{ui → cjs/ui}/feedbacks/index.d.ts +0 -0
  192. /package/dist/{ui → cjs/ui}/feedbacks/utils/focusEditor.d.ts +0 -0
  193. /package/dist/{ui → cjs/ui}/feedbacks/utils/index.d.ts +0 -0
  194. /package/dist/{ui → cjs/ui}/index.d.ts +0 -0
@@ -1,11 +1,8 @@
1
- import { TranscribeV2Response, TranscribeWithTranslationResponse, UploadRequest, UploadResponse, UploadV3Request } from '../../../types/api';
1
+ import { TranscribeV2Response as TranscribeV3Response, TranscribeWithTranslationResponse, UploadRequest, UploadResponse, UploadV3Request } from '../../../types/api';
2
2
  export declare const speechApi: {
3
- transcribeV2: ({ buffer, }: {
4
- buffer: ArrayBuffer | Blob;
5
- }) => Promise<TranscribeV2Response>;
6
3
  transcribeV3: ({ buffer, }: {
7
4
  buffer: ArrayBuffer | Blob;
8
- }) => Promise<TranscribeV2Response>;
5
+ }) => Promise<TranscribeV3Response>;
9
6
  transcribeWithTranslation: ({ buffer, language, }: {
10
7
  buffer: ArrayBuffer | Blob;
11
8
  language: string;
@@ -1,4 +1,4 @@
1
- import { UserNotificationListResponse } from '../../types';
1
+ import { MarkAsReadRequest, UserNotification, UserNotificationListResponse } from '../../types';
2
2
  export declare const userNotificationsApi: {
3
3
  getNotifications: () => Promise<UserNotificationListResponse>;
4
4
  markAsRead: (request: {
@@ -7,4 +7,5 @@ export declare const userNotificationsApi: {
7
7
  getUnreadNotificationCount: () => Promise<{
8
8
  count: number;
9
9
  }>;
10
+ markAllAsAlert: (request: MarkAsReadRequest) => Promise<Array<UserNotification>>;
10
11
  };
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("../../feedback-xoeZc8ns.cjs"),d=require("../../user-notifications-eaEdb3_1.cjs"),u={getChatRooms:async e=>(await a.apiClient.get(`/speech/chat/rooms/${e}`)).data,deleteChatRoom:async({roomId:e})=>(await a.apiClient.delete(`/speech/chat/rooms/${e}`)).data,getChatMessages:async({roomId:e})=>{const t=await a.apiClient.get(`/speech/chat/messages/${e}`);return{roomId:e,msgs:t.data}},updateChatRoomName:async({roomId:e,name:t})=>(await a.apiClient.patch(`/speech/chat/rooms/${e}`,{name:t})).data},l={getRecords:async()=>(await a.apiClient.get("/speech/records")).data,getRecordsWithPage:async e=>(await a.apiClient.post("/speech/records",e)).data,deleteRecord:async({recordId:e})=>(await a.apiClient.delete(`/speech/records/${e}`)).data,getRecordById:async({recordId:e})=>(await a.apiClient.get(`/speech/records/${e}/details`)).data,getTodayRecord:async({chart:e})=>(await a.apiClient.get("/speech/records/details/today",{params:{chart:e}})).data,getRecordsByChart:async({chart:e})=>(await a.apiClient.get(`/speech/records/${e}`)).data,getRecordFromImage:async({imageUrl:e})=>(await a.apiClient.post("/speech/records/from-image",{imageUrl:e})).data,getRecordFromAgent:async e=>(await a.apiClient.post("/speech/records/from-agent",e)).data,getRecordsByDates:async({startDate:e,endDate:t,page:s,searchText:r,ykiho:i,username:p})=>(await a.apiClient.get("/speech/records/by-dates",{params:{startDate:e,endDate:t,page:Number(s),...r&&{searchText:r},...i&&{ykiho:i},...p&&{username:p}}})).data,getPatients:async()=>(await a.apiClient.get("/speech/patients")).data,getRecordData:async({recordId:e})=>(await a.apiClient.get(`/speech/record-datas/${e}`)).data},y={getPatientByChart:async({chart:e})=>(await a.apiClient.get(`/speech/patients/${e}`)).data,upsertPatient:async({chart:e,name:t})=>(await a.apiClient.put("/speech/patients",{chart:e,name:t})).data},h={deleteAudioFile:async({audioFileId:e})=>(await a.apiClient.delete(`/speech/audios/${e}`)).data},g={resummaryPart:async({recordId:e,level:t,part:s})=>(await a.apiClient.post("/speech/record-datas/resummary/part",{recordId:e,level:t,part:s})).data},w=e=>{const t=e instanceof Blob?e:new Blob([e],{type:"audio/pcm"}),s=new FormData;return s.append("file",t,"audio.pcm"),s},o=async(e,t,s)=>{const r=w(t);return s&&r.append("language",s),(await a.apiClient.post(e,r,{headers:{"Content-Type":"multipart/form-data"}})).data},C={transcribeV2:async({buffer:e})=>o("/speech/transcribe-v2",e),transcribeV3:async({buffer:e})=>o("/speech/transcribe-v3",e),transcribeWithTranslation:async({buffer:e,language:t})=>o("/speech/transcribe-with-translation",e,t),uploadV3:async({opusBlob:e,chart:t,recordId:s,transcript:r,transcripts:i,durationSeconds:p})=>{const n=new FormData;return n.append("opusFile",new Blob([e],{type:"audio/webm"}),"audio.webm"),n.append("chart",t),n.append("transcript",r),n.append("transcripts",JSON.stringify(i)),n.append("durationSeconds",p.toString()),s&&n.append("recordId",s),(await a.apiClient.post("/speech/upload-with-translation",n,{headers:{"Content-Type":"multipart/form-data"}})).data},upload:async({opusBlob:e,vadBuffer:t,totalBuffer:s,chart:r,recordId:i,transcript:p})=>{const n=new FormData;return n.append("opusFile",new Blob([e],{type:"audio/webm"}),"audio.webm"),n.append("totalFile",new Blob([s],{type:"audio/pcm"}),"audio.pcm"),t&&n.append("vadFile",new Blob([t],{type:"audio/pcm"}),"audio.pcm"),n.append("chart",r),n.append("transcript",p),i&&n.append("recordId",i),(await a.apiClient.post("/speech/upload",n,{headers:{"Content-Type":"multipart/form-data"}})).data},chat:u,records:l,patients:y,audios:h,recordData:g},m={getAudioFile:async({bucket:e,keys:t})=>(await a.apiClient.get("/audio",{params:{bucket:e,keys:t},responseType:"blob"})).data},b={register:async e=>(await a.apiClient.post("/auth/register",e)).data,login:async e=>(await a.apiClient.post("/auth/login",e)).data,getMe:async()=>(await a.apiClient.get("/auth/me")).data,logout:async()=>{await a.apiClient.post("/auth/logout")},updateMe:async e=>(await a.apiClient.patch("/auth/me",e)).data,generateNewUserKey:async({userId:e})=>(await a.apiClient.put(`/auth/user/generate-key/${e}`)).data,adminLogin:async e=>(await a.apiClient.post("/auth/admin-login",e)).data,updateUser:async e=>(await a.apiClient.put(`/auth/user/${e.id}`,e)).data,deleteUser:async e=>{await a.apiClient.delete(`/auth/user/${e}`)},changePassword:async e=>{await a.apiClient.patch("/auth/me/change-password",e)}},A={getMy:async()=>(await a.apiClient.get("/capture-rects/my")).data,getCaptureRects:async()=>(await a.apiClient.get("capture-rects")).data,getCaptureRect:async e=>(await a.apiClient.get(`capture-rects/${e}`)).data,createCaptureRect:async e=>(await a.apiClient.post("capture-rects",e)).data,updateCaptureRect:async({id:e,data:t})=>(await a.apiClient.patch(`capture-rects/${e}`,t)).data,deleteCaptureRect:async e=>(await a.apiClient.delete(`capture-rects/${e}`)).data},$={diarization:async(e,t)=>(await a.apiClient.post("/llm/diarization",e,{signal:t})).data,medicalSummary:async({request:e,signal:t})=>(await a.apiClient.post("/llm/medical-summary",e,{signal:t})).data,mindmap:async({conversation:e})=>(await a.apiClient.post("/llm/mindmap",{conversation:e})).data,diseaseRecommendation:async({conversation:e})=>(await a.apiClient.post("/llm/disease-recommendation",{conversation:e})).data},R={getNotices:async e=>(await a.apiClient.post("/notices/page",{page:e?.page??1,count:e?.count??10,searchText:e?.searchText,showPublishedOnly:e?.showPublishedOnly??!0})).data,getNotice:async e=>(await a.apiClient.get(`/notices/${e}`)).data,createNotice:async e=>(await a.apiClient.post("/notices",e)).data,updateNotice:async(e,t)=>(await a.apiClient.put(`/notices/${e}`,t)).data,deleteNotice:async e=>{await a.apiClient.delete(`/notices/${e}`)}},f={getPartners:async()=>(await a.apiClient.get("/partners")).data,getPartner:async e=>(await a.apiClient.get(`/partners/${e}`)).data,createPartner:async e=>(await a.apiClient.post("/partners",e)).data,updatePartner:async(e,t)=>(await a.apiClient.patch(`/partners/${e}`,t)).data,deletePartner:async e=>(await a.apiClient.delete(`/partners/${e}`)).data},P={subscribe:async e=>(await a.apiClient.post("/push/subscribe",e.toJSON())).data,unsubscribe:async e=>(await a.apiClient.post("/push/unsubscribe",{endpoint:e})).data,getSubscriptionStatus:async()=>(await a.apiClient.get("/push/status")).data,sendNotification:async e=>{await a.apiClient.post("/push/send",e)}},N={getUserSettings:async()=>(await a.apiClient.get("/user-settings")).data,updateUserSettings:async e=>(await a.apiClient.put("/user-settings",e)).data},S={getInstitutions:async()=>(await a.apiClient.get("institutions")).data,register:async e=>(await a.apiClient.post("institutions",e)).data,update:async({ykiho:e,data:t})=>(await a.apiClient.patch(`institutions/${e}`,t)).data,delete:async e=>{await a.apiClient.delete(`institutions/${e}`)}};Object.defineProperty(exports,"apiClient",{enumerable:!0,get:()=>a.apiClient});exports.feedbackApi=a.feedbackApi;exports.initializeAxios=a.initializeAxios;exports.userNotificationsApi=d.userNotificationsApi;exports.audioApi=m;exports.authApi=b;exports.captureRectsApi=A;exports.institutionsApi=S;exports.llmApi=$;exports.noticeApi=R;exports.partnersApi=f;exports.pushApi=P;exports.speechApi=C;exports.userSettingsApi=N;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("../../feedback-xoeZc8ns.cjs"),d=require("../../user-notifications-Bh5Z6eqH.cjs"),u={getChatRooms:async e=>(await a.apiClient.get(`/speech/chat/rooms/${e}`)).data,deleteChatRoom:async({roomId:e})=>(await a.apiClient.delete(`/speech/chat/rooms/${e}`)).data,getChatMessages:async({roomId:e})=>{const t=await a.apiClient.get(`/speech/chat/messages/${e}`);return{roomId:e,msgs:t.data}},updateChatRoomName:async({roomId:e,name:t})=>(await a.apiClient.patch(`/speech/chat/rooms/${e}`,{name:t})).data},l={getRecords:async()=>(await a.apiClient.get("/speech/records")).data,getRecordsWithPage:async e=>(await a.apiClient.post("/speech/records",e)).data,deleteRecord:async({recordId:e})=>(await a.apiClient.delete(`/speech/records/${e}`)).data,getRecordById:async({recordId:e})=>(await a.apiClient.get(`/speech/records/${e}/details`)).data,getTodayRecord:async({chart:e})=>(await a.apiClient.get("/speech/records/details/today",{params:{chart:e}})).data,getRecordsByChart:async({chart:e})=>(await a.apiClient.get(`/speech/records/${e}`)).data,getRecordFromImage:async({imageUrl:e})=>(await a.apiClient.post("/speech/records/from-image",{imageUrl:e})).data,getRecordFromAgent:async e=>(await a.apiClient.post("/speech/records/from-agent",e)).data,getRecordsByDates:async({startDate:e,endDate:t,page:s,searchText:r,ykiho:i,username:p})=>(await a.apiClient.get("/speech/records/by-dates",{params:{startDate:e,endDate:t,page:Number(s),...r&&{searchText:r},...i&&{ykiho:i},...p&&{username:p}}})).data,getPatients:async()=>(await a.apiClient.get("/speech/patients")).data,getRecordData:async({recordId:e})=>(await a.apiClient.get(`/speech/record-datas/${e}`)).data},y={getPatientByChart:async({chart:e})=>(await a.apiClient.get(`/speech/patients/${e}`)).data,upsertPatient:async({chart:e,name:t})=>(await a.apiClient.put("/speech/patients",{chart:e,name:t})).data},g={deleteAudioFile:async({audioFileId:e})=>(await a.apiClient.delete(`/speech/audios/${e}`)).data},h={resummaryPart:async({recordId:e,level:t,part:s})=>(await a.apiClient.post("/speech/record-datas/resummary/part",{recordId:e,level:t,part:s})).data},w=e=>{const t=e instanceof Blob?e:new Blob([e],{type:"audio/pcm"}),s=new FormData;return s.append("file",t,"audio.pcm"),s},o=async(e,t,s)=>{const r=w(t);return s&&r.append("language",s),(await a.apiClient.post(e,r,{headers:{"Content-Type":"multipart/form-data"}})).data},C={transcribeV3:async({buffer:e})=>o("/speech/transcribe-v3",e),transcribeWithTranslation:async({buffer:e,language:t})=>o("/speech/transcribe-with-translation",e,t),uploadV3:async({opusBlob:e,chart:t,recordId:s,transcript:r,transcripts:i,durationSeconds:p})=>{const n=new FormData;return n.append("opusFile",new Blob([e],{type:"audio/webm"}),"audio.webm"),n.append("chart",t),n.append("transcript",r),n.append("transcripts",JSON.stringify(i)),n.append("durationSeconds",p.toString()),s&&n.append("recordId",s),(await a.apiClient.post("/speech/upload-with-translation",n,{headers:{"Content-Type":"multipart/form-data"}})).data},upload:async({opusBlob:e,vadBuffer:t,totalBuffer:s,chart:r,recordId:i,transcript:p})=>{const n=new FormData;return n.append("opusFile",new Blob([e],{type:"audio/webm"}),"audio.webm"),n.append("totalFile",new Blob([s],{type:"audio/pcm"}),"audio.pcm"),t&&n.append("vadFile",new Blob([t],{type:"audio/pcm"}),"audio.pcm"),n.append("chart",r),n.append("transcript",p),i&&n.append("recordId",i),(await a.apiClient.post("/speech/upload",n,{headers:{"Content-Type":"multipart/form-data"}})).data},chat:u,records:l,patients:y,audios:g,recordData:h},m={getAudioFile:async({bucket:e,keys:t})=>(await a.apiClient.get("/audio",{params:{bucket:e,keys:t},responseType:"blob"})).data},b={register:async e=>(await a.apiClient.post("/auth/register",e)).data,login:async e=>(await a.apiClient.post("/auth/login",e)).data,getMe:async()=>(await a.apiClient.get("/auth/me")).data,logout:async()=>{await a.apiClient.post("/auth/logout")},updateMe:async e=>(await a.apiClient.patch("/auth/me",e)).data,generateNewUserKey:async({userId:e})=>(await a.apiClient.put(`/auth/user/generate-key/${e}`)).data,adminLogin:async e=>(await a.apiClient.post("/auth/admin-login",e)).data,updateUser:async e=>(await a.apiClient.put(`/auth/user/${e.id}`,e)).data,deleteUser:async e=>{await a.apiClient.delete(`/auth/user/${e}`)},changePassword:async e=>{await a.apiClient.patch("/auth/me/change-password",e)}},A={getMy:async()=>(await a.apiClient.get("/capture-rects/my")).data,getCaptureRects:async()=>(await a.apiClient.get("capture-rects")).data,getCaptureRect:async e=>(await a.apiClient.get(`capture-rects/${e}`)).data,createCaptureRect:async e=>(await a.apiClient.post("capture-rects",e)).data,updateCaptureRect:async({id:e,data:t})=>(await a.apiClient.patch(`capture-rects/${e}`,t)).data,deleteCaptureRect:async e=>(await a.apiClient.delete(`capture-rects/${e}`)).data},$={diarization:async(e,t)=>(await a.apiClient.post("/llm/diarization",e,{signal:t})).data,medicalSummary:async({request:e,signal:t})=>(await a.apiClient.post("/llm/medical-summary",e,{signal:t})).data,mindmap:async({conversation:e})=>(await a.apiClient.post("/llm/mindmap",{conversation:e})).data,diseaseRecommendation:async({conversation:e})=>(await a.apiClient.post("/llm/disease-recommendation",{conversation:e})).data},R={getNotices:async e=>(await a.apiClient.post("/notices/page",{page:e?.page??1,count:e?.count??10,searchText:e?.searchText,showPublishedOnly:e?.showPublishedOnly??!0})).data,getNotice:async e=>(await a.apiClient.get(`/notices/${e}`)).data,createNotice:async e=>(await a.apiClient.post("/notices",e)).data,updateNotice:async(e,t)=>(await a.apiClient.put(`/notices/${e}`,t)).data,deleteNotice:async e=>{await a.apiClient.delete(`/notices/${e}`)}},f={getPartners:async()=>(await a.apiClient.get("/partners")).data,getPartner:async e=>(await a.apiClient.get(`/partners/${e}`)).data,createPartner:async e=>(await a.apiClient.post("/partners",e)).data,updatePartner:async(e,t)=>(await a.apiClient.patch(`/partners/${e}`,t)).data,deletePartner:async e=>(await a.apiClient.delete(`/partners/${e}`)).data},P={subscribe:async e=>(await a.apiClient.post("/push/subscribe",e.toJSON())).data,unsubscribe:async e=>(await a.apiClient.post("/push/unsubscribe",{endpoint:e})).data,getSubscriptionStatus:async()=>(await a.apiClient.get("/push/status")).data,sendNotification:async e=>{await a.apiClient.post("/push/send",e)}},N={getUserSettings:async()=>(await a.apiClient.get("/user-settings")).data,updateUserSettings:async e=>(await a.apiClient.put("/user-settings",e)).data},S={getInstitutions:async()=>(await a.apiClient.get("institutions")).data,register:async e=>(await a.apiClient.post("institutions",e)).data,update:async({ykiho:e,data:t})=>(await a.apiClient.patch(`institutions/${e}`,t)).data,delete:async e=>{await a.apiClient.delete(`institutions/${e}`)}};Object.defineProperty(exports,"apiClient",{enumerable:!0,get:()=>a.apiClient});exports.feedbackApi=a.feedbackApi;exports.initializeAxios=a.initializeAxios;exports.userNotificationsApi=d.userNotificationsApi;exports.audioApi=m;exports.authApi=b;exports.captureRectsApi=A;exports.institutionsApi=S;exports.llmApi=$;exports.noticeApi=R;exports.partnersApi=f;exports.pushApi=P;exports.speechApi=C;exports.userSettingsApi=N;
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/api/common/speechs/speech-chat.ts","../../../src/api/common/speechs/speech-records.ts","../../../src/api/common/speechs/speech-patients.ts","../../../src/api/common/speechs/speech-audios.ts","../../../src/api/common/speechs/speech-record-datas.ts","../../../src/api/common/speechs/speech.ts","../../../src/api/common/audio.ts","../../../src/api/common/auth.ts","../../../src/api/common/capture-rects.ts","../../../src/api/common/llm.ts","../../../src/api/common/notice.ts","../../../src/api/common/partners.ts","../../../src/api/common/push.ts","../../../src/api/common/user-settings.ts","../../../src/api/common/institutions.ts"],"sourcesContent":["import type { ChatRoomsResponse, LlmMsg } from \"../../../types\";\r\nimport { apiClient } from \"../../axios\";\r\n\r\nexport const speechChat = {\r\n getChatRooms: async (recordId: string): Promise<ChatRoomsResponse[]> => {\r\n const res = await apiClient.get(`/speech/chat/rooms/${recordId}`);\r\n return res.data;\r\n },\r\n\r\n deleteChatRoom: async ({\r\n roomId,\r\n }: {\r\n roomId: string;\r\n }): Promise<ChatRoomsResponse> => {\r\n const res = await apiClient.delete(`/speech/chat/rooms/${roomId}`);\r\n return res.data;\r\n },\r\n\r\n getChatMessages: async ({\r\n roomId,\r\n }: {\r\n roomId: string;\r\n }): Promise<{ roomId: string; msgs: LlmMsg[] }> => {\r\n const res = await apiClient.get(`/speech/chat/messages/${roomId}`);\r\n return { roomId, msgs: res.data };\r\n },\r\n updateChatRoomName: async ({\r\n roomId,\r\n name,\r\n }: {\r\n roomId: string;\r\n name: string;\r\n }): Promise<ChatRoomsResponse> => {\r\n const res = await apiClient.patch(`/speech/chat/rooms/${roomId}`, {\r\n name,\r\n });\r\n return res.data;\r\n },\r\n};\r\n","import { apiClient } from \"../../axios\";\r\nimport type {\r\n GetRecordsByDatesRequest,\r\n GetRecordsByDatesResponse,\r\n Patient,\r\n RecordData,\r\n RecordsPageRequest,\r\n RecordsResponse,\r\n RecordsWithPageResponse,\r\n} from \"../../../types/api\";\r\nimport type { PatientInfoDto } from \"../../../types\";\r\n\r\nexport const speechRecords = {\r\n getRecords: async (): Promise<RecordsResponse[]> => {\r\n const res = await apiClient.get(\"/speech/records\");\r\n return res.data;\r\n },\r\n\r\n getRecordsWithPage: async (\r\n dto: RecordsPageRequest\r\n ): Promise<RecordsWithPageResponse> => {\r\n const res = await apiClient.post(\"/speech/records\", dto);\r\n return res.data;\r\n },\r\n\r\n deleteRecord: async ({\r\n recordId,\r\n }: {\r\n recordId: string;\r\n }): Promise<RecordsResponse> => {\r\n const res = await apiClient.delete(`/speech/records/${recordId}`);\r\n return res.data;\r\n },\r\n\r\n getRecordById: async ({\r\n recordId,\r\n }: {\r\n recordId: string;\r\n }): Promise<RecordsResponse> => {\r\n const res = await apiClient.get(`/speech/records/${recordId}/details`);\r\n return res.data;\r\n },\r\n\r\n getTodayRecord: async ({\r\n chart,\r\n }: {\r\n chart: string;\r\n }): Promise<Partial<RecordsResponse>> => {\r\n const res = await apiClient.get(`/speech/records/details/today`, {\r\n params: { chart },\r\n });\r\n return res.data;\r\n },\r\n\r\n getRecordsByChart: async ({\r\n chart,\r\n }: {\r\n chart: string;\r\n }): Promise<RecordsResponse[]> => {\r\n const res = await apiClient.get(`/speech/records/${chart}`);\r\n return res.data;\r\n },\r\n\r\n getRecordFromImage: async ({\r\n imageUrl,\r\n }: {\r\n imageUrl: string;\r\n }): Promise<Partial<RecordsResponse>> => {\r\n const res = await apiClient.post(`/speech/records/from-image`, {\r\n imageUrl,\r\n });\r\n return res.data;\r\n },\r\n\r\n getRecordFromAgent: async (\r\n patientInfo: PatientInfoDto\r\n ): Promise<Partial<RecordsResponse>> => {\r\n const res = await apiClient.post(`/speech/records/from-agent`, patientInfo);\r\n return res.data;\r\n },\r\n\r\n // --- admin ---\r\n getRecordsByDates: async ({\r\n startDate,\r\n endDate,\r\n page,\r\n searchText,\r\n ykiho,\r\n username,\r\n }: GetRecordsByDatesRequest): Promise<GetRecordsByDatesResponse> => {\r\n const res = await apiClient.get(\"/speech/records/by-dates\", {\r\n params: {\r\n startDate,\r\n endDate,\r\n page: Number(page),\r\n ...(searchText && { searchText }),\r\n ...(ykiho && { ykiho }),\r\n ...(username && { username }),\r\n },\r\n });\r\n return res.data;\r\n },\r\n\r\n getPatients: async (): Promise<Patient[]> => {\r\n const res = await apiClient.get(\"/speech/patients\");\r\n return res.data;\r\n },\r\n\r\n getRecordData: async ({\r\n recordId,\r\n }: {\r\n recordId: string;\r\n }): Promise<RecordData> => {\r\n const res = await apiClient.get(`/speech/record-datas/${recordId}`);\r\n return res.data;\r\n },\r\n};\r\n","import { apiClient } from \"../../axios\";\r\nimport type { Patient, UpsertPatientRequest } from \"../../../types/api\";\r\n\r\nexport const speechPatients = {\r\n getPatientByChart: async ({ chart }: { chart: string }): Promise<Patient> => {\r\n const res = await apiClient.get(`/speech/patients/${chart}`);\r\n return res.data;\r\n },\r\n\r\n upsertPatient: async ({\r\n chart,\r\n name,\r\n }: UpsertPatientRequest): Promise<Patient> => {\r\n const res = await apiClient.put(`/speech/patients`, { chart, name });\r\n return res.data;\r\n },\r\n};\r\n","import { apiClient } from \"../../axios\";\r\nimport type { AudioFile } from \"../../../types/api\";\r\n\r\nexport const speechAudios = {\r\n deleteAudioFile: async ({\r\n audioFileId,\r\n }: {\r\n audioFileId: string;\r\n }): Promise<AudioFile> => {\r\n const res = await apiClient.delete(`/speech/audios/${audioFileId}`);\r\n return res.data;\r\n },\r\n};\r\n","import { apiClient } from \"../../axios\";\r\nimport type { MedicalSummaryResponse, ResummaryPartRequest } from \"../../../types/api\";\r\n\r\nexport const speechRecordData = {\r\n resummaryPart: async ({\r\n recordId,\r\n level,\r\n part,\r\n }: ResummaryPartRequest): Promise<MedicalSummaryResponse> => {\r\n const res = await apiClient.post(`/speech/record-datas/resummary/part`, {\r\n recordId,\r\n level,\r\n part,\r\n });\r\n return res.data;\r\n },\r\n};\r\n","import { apiClient } from \"../../axios\";\r\nimport type {\r\n TranscribeV2Response,\r\n TranscribeWithTranslationResponse,\r\n UploadRequest,\r\n UploadResponse,\r\n UploadV3Request,\r\n} from \"../../../types/api\";\r\nimport { speechChat } from \"./speech-chat\";\r\nimport { speechRecords } from \"./speech-records\";\r\nimport { speechPatients } from \"./speech-patients\";\r\nimport { speechAudios } from \"./speech-audios\";\r\nimport { speechRecordData } from \"./speech-record-datas\";\r\n\r\n// Helper function to create FormData with audio file\r\nconst createAudioFormData = (buffer: ArrayBuffer | Blob): FormData => {\r\n const blob =\r\n buffer instanceof Blob ? buffer : new Blob([buffer], { type: \"audio/pcm\" });\r\n const formData = new FormData();\r\n formData.append(\"file\", blob, \"audio.pcm\");\r\n return formData;\r\n};\r\n\r\nconst transcribeWithEndpoint = async <T>(\r\n endpoint: string,\r\n buffer: ArrayBuffer | Blob,\r\n language?: string\r\n): Promise<T> => {\r\n const formData = createAudioFormData(buffer);\r\n if (language) {\r\n formData.append(\"language\", language);\r\n }\r\n const res = await apiClient.post(endpoint, formData, {\r\n headers: {\r\n \"Content-Type\": \"multipart/form-data\",\r\n },\r\n });\r\n return res.data;\r\n};\r\n\r\nexport const speechApi = {\r\n transcribeV2: async ({\r\n buffer,\r\n }: {\r\n buffer: ArrayBuffer | Blob;\r\n }): Promise<TranscribeV2Response> => {\r\n return transcribeWithEndpoint(\"/speech/transcribe-v2\", buffer);\r\n },\r\n\r\n transcribeV3: async ({\r\n buffer,\r\n }: {\r\n buffer: ArrayBuffer | Blob;\r\n }): Promise<TranscribeV2Response> => {\r\n return transcribeWithEndpoint(\"/speech/transcribe-v3\", buffer);\r\n },\r\n\r\n transcribeWithTranslation: async ({\r\n buffer,\r\n language,\r\n }: {\r\n buffer: ArrayBuffer | Blob;\r\n language: string;\r\n }): Promise<TranscribeWithTranslationResponse> => {\r\n return transcribeWithEndpoint(\r\n \"/speech/transcribe-with-translation\",\r\n buffer,\r\n language\r\n );\r\n },\r\n\r\n uploadV3: async ({\r\n opusBlob,\r\n chart,\r\n recordId,\r\n transcript,\r\n transcripts,\r\n durationSeconds,\r\n }: UploadV3Request): Promise<UploadResponse> => {\r\n const formData = new FormData();\r\n formData.append(\r\n \"opusFile\",\r\n new Blob([opusBlob], { type: \"audio/webm\" }),\r\n \"audio.webm\"\r\n );\r\n formData.append(\"chart\", chart);\r\n formData.append(\"transcript\", transcript);\r\n formData.append(\"transcripts\", JSON.stringify(transcripts));\r\n formData.append(\"durationSeconds\", durationSeconds.toString());\r\n if (recordId) formData.append(\"recordId\", recordId);\r\n\r\n const res = await apiClient.post(\r\n \"/speech/upload-with-translation\",\r\n formData,\r\n {\r\n headers: {\r\n \"Content-Type\": \"multipart/form-data\",\r\n },\r\n }\r\n );\r\n return res.data;\r\n },\r\n\r\n upload: async ({\r\n opusBlob,\r\n vadBuffer,\r\n totalBuffer,\r\n chart,\r\n recordId,\r\n transcript,\r\n }: UploadRequest): Promise<UploadResponse> => {\r\n const formData = new FormData();\r\n formData.append(\r\n \"opusFile\",\r\n new Blob([opusBlob], { type: \"audio/webm\" }),\r\n \"audio.webm\"\r\n );\r\n formData.append(\r\n \"totalFile\",\r\n new Blob([totalBuffer], { type: \"audio/pcm\" }),\r\n \"audio.pcm\"\r\n );\r\n if (vadBuffer)\r\n formData.append(\r\n \"vadFile\",\r\n new Blob([vadBuffer], { type: \"audio/pcm\" }),\r\n \"audio.pcm\"\r\n );\r\n formData.append(\"chart\", chart);\r\n formData.append(\"transcript\", transcript);\r\n if (recordId) formData.append(\"recordId\", recordId);\r\n\r\n const res = await apiClient.post(\"/speech/upload\", formData, {\r\n headers: {\r\n \"Content-Type\": \"multipart/form-data\",\r\n },\r\n });\r\n return res.data;\r\n },\r\n\r\n chat: speechChat,\r\n records: speechRecords,\r\n patients: speechPatients,\r\n audios: speechAudios,\r\n recordData: speechRecordData,\r\n};\r\n","import { apiClient } from \"../axios\";\r\n\r\nexport const audioApi = {\r\n getAudioFile: async ({ bucket, keys }: { bucket: string; keys: string }) => {\r\n const res = await apiClient.get(`/audio`, {\r\n params: { bucket, keys },\r\n responseType: \"blob\",\r\n });\r\n return res.data; // Blob 타입\r\n },\r\n};\r\n","import type {\r\n AuthResponse,\r\n LoginRequest,\r\n RegisterRequest,\r\n UserDto,\r\n} from \"../../types\";\r\nimport { apiClient } from \"../axios\";\r\n\r\nexport const authApi = {\r\n register: async (dto: RegisterRequest): Promise<UserDto> => {\r\n const response = await apiClient.post<UserDto>(\"/auth/register\", dto);\r\n return response.data;\r\n },\r\n login: async (credentials: LoginRequest): Promise<AuthResponse> => {\r\n const response = await apiClient.post<AuthResponse>(\r\n \"/auth/login\",\r\n credentials\r\n );\r\n return response.data;\r\n },\r\n getMe: async (): Promise<UserDto> => {\r\n const response = await apiClient.get<UserDto>(\"/auth/me\");\r\n return response.data;\r\n },\r\n logout: async (): Promise<void> => {\r\n await apiClient.post(\"/auth/logout\");\r\n },\r\n\r\n updateMe: async (data: Partial<UserDto>): Promise<{ user: UserDto }> => {\r\n const response = await apiClient.patch<{ user: UserDto }>(`/auth/me`, data);\r\n return response.data;\r\n },\r\n\r\n generateNewUserKey: async ({\r\n userId,\r\n }: {\r\n userId: string;\r\n }): Promise<UserDto> => {\r\n const response = await apiClient.put<UserDto>(\r\n `/auth/user/generate-key/${userId}`\r\n );\r\n return response.data;\r\n },\r\n\r\n // --- 관리자 ---\r\n adminLogin: async (credentials: LoginRequest): Promise<AuthResponse> => {\r\n const response = await apiClient.post<AuthResponse>(\r\n \"/auth/admin-login\",\r\n credentials\r\n );\r\n return response.data;\r\n },\r\n\r\n updateUser: async (data: Partial<UserDto>): Promise<{ user: UserDto }> => {\r\n const response = await apiClient.put<{ user: UserDto }>(\r\n `/auth/user/${data.id}`,\r\n data\r\n );\r\n return response.data;\r\n },\r\n\r\n deleteUser: async (userId: string): Promise<void> => {\r\n await apiClient.delete(`/auth/user/${userId}`);\r\n },\r\n\r\n changePassword: async (data: {\r\n currentPassword: string;\r\n newPassword: string;\r\n }): Promise<void> => {\r\n await apiClient.patch(\"/auth/me/change-password\", data);\r\n },\r\n};\r\n","import type {\r\n CaptureRect,\r\n CreateCaptureRectRequest,\r\n DeleteCaptureRectResponse,\r\n UpdateCaptureRectRequest,\r\n} from \"../../types\";\r\nimport { apiClient } from \"../axios\";\r\n\r\nexport const captureRectsApi = {\r\n getMy: async (): Promise<CaptureRect> => {\r\n const res = await apiClient.get(\"/capture-rects/my\");\r\n return res.data;\r\n },\r\n // 모든 캡처 영역 조회 (GET /capture-rects)\r\n getCaptureRects: async (): Promise<CaptureRect[]> => {\r\n const response = await apiClient.get<CaptureRect[]>(\"capture-rects\");\r\n return response.data;\r\n },\r\n\r\n // 특정 캡처 영역 조회 (GET /capture-rects/:id)\r\n getCaptureRect: async (id: string): Promise<CaptureRect> => {\r\n const response = await apiClient.get<CaptureRect>(`capture-rects/${id}`);\r\n return response.data;\r\n },\r\n\r\n // 캡처 영역 생성 (POST /capture-rects)\r\n createCaptureRect: async (\r\n data: CreateCaptureRectRequest\r\n ): Promise<CaptureRect> => {\r\n const response = await apiClient.post<CaptureRect>(\"capture-rects\", data);\r\n return response.data;\r\n },\r\n\r\n // 캡처 영역 수정 (PATCH /capture-rects/:id)\r\n updateCaptureRect: async ({\r\n id,\r\n data,\r\n }: {\r\n id: string;\r\n data: UpdateCaptureRectRequest;\r\n }): Promise<CaptureRect> => {\r\n const response = await apiClient.patch<CaptureRect>(\r\n `capture-rects/${id}`,\r\n data\r\n );\r\n return response.data;\r\n },\r\n\r\n // 캡처 영역 삭제 (DELETE /capture-rects/:id)\r\n deleteCaptureRect: async (id: string): Promise<DeleteCaptureRectResponse> => {\r\n const response = await apiClient.delete<DeleteCaptureRectResponse>(\r\n `capture-rects/${id}`\r\n );\r\n return response.data;\r\n },\r\n};\r\n","import type {\r\n DiarizationRequest,\r\n DiarizationResponse,\r\n DiseaseRecommendationRequestDto,\r\n DiseaseRecommendationResponseDto,\r\n MedicalSummaryRequest,\r\n MedicalSummaryResponse,\r\n MindmapResponse\r\n} from \"../../types\";\r\nimport { apiClient } from \"../axios\";\r\n\r\nexport const llmApi = {\r\n diarization: async (\r\n request: DiarizationRequest,\r\n signal?: AbortSignal\r\n ): Promise<DiarizationResponse> => {\r\n const response = await apiClient.post(\"/llm/diarization\", request, {\r\n signal,\r\n });\r\n\r\n return response.data;\r\n },\r\n\r\n medicalSummary: async ({\r\n request,\r\n signal,\r\n }: {\r\n request: MedicalSummaryRequest;\r\n signal: AbortSignal;\r\n }): Promise<MedicalSummaryResponse> => {\r\n const response = await apiClient.post(\"/llm/medical-summary\", request, {\r\n signal,\r\n });\r\n\r\n return response.data;\r\n },\r\n\r\n mindmap: async ({\r\n conversation,\r\n }: {\r\n conversation: string;\r\n }): Promise<MindmapResponse> => {\r\n const response = await apiClient.post(`/llm/mindmap`, { conversation });\r\n return response.data;\r\n },\r\n\r\n diseaseRecommendation: async ({\r\n conversation,\r\n }: DiseaseRecommendationRequestDto): Promise<DiseaseRecommendationResponseDto> => {\r\n const response = await apiClient.post(`/llm/disease-recommendation`, {\r\n conversation,\r\n });\r\n return response.data;\r\n },\r\n};\r\n","import type { CreateNoticeRequest, Notice, NoticeListRequest, NoticeListResponse, UpdateNoticeRequest } from \"../../types\";\r\nimport { apiClient } from \"../axios\";\r\n\r\nexport const noticeApi = {\r\n getNotices: async (\r\n params?: NoticeListRequest\r\n ): Promise<NoticeListResponse> => {\r\n const response = await apiClient.post<NoticeListResponse>(\"/notices/page\", {\r\n page: params?.page ?? 1,\r\n count: params?.count ?? 10,\r\n searchText: params?.searchText,\r\n showPublishedOnly: params?.showPublishedOnly ?? true,\r\n });\r\n return response.data;\r\n },\r\n\r\n getNotice: async (id: string): Promise<Notice> => {\r\n const response = await apiClient.get<Notice>(`/notices/${id}`);\r\n return response.data;\r\n },\r\n\r\n // Create a new notice\r\n createNotice: async (data: CreateNoticeRequest): Promise<Notice> => {\r\n const response = await apiClient.post<Notice>(\"/notices\", data);\r\n return response.data;\r\n },\r\n\r\n // Update an existing notice\r\n updateNotice: async (\r\n id: string,\r\n data: UpdateNoticeRequest\r\n ): Promise<Notice> => {\r\n const response = await apiClient.put<Notice>(`/notices/${id}`, data);\r\n return response.data;\r\n },\r\n\r\n // Delete a notice\r\n deleteNotice: async (id: string): Promise<void> => {\r\n await apiClient.delete(`/notices/${id}`);\r\n },\r\n};\r\n","import type { PartnerDto } from \"../../types\";\r\nimport { apiClient } from \"../axios\";\r\nimport type { CreatePartnerRequest, UpdatePartnerRequest } from \"../../types/api\";\r\n\r\nexport const partnersApi = {\r\n // 모든 파트너 조회\r\n getPartners: async (): Promise<PartnerDto[]> => {\r\n const response = await apiClient.get(\"/partners\");\r\n return response.data;\r\n },\r\n\r\n // 파트너 상세 조회\r\n getPartner: async (id: string): Promise<PartnerDto> => {\r\n const response = await apiClient.get(`/partners/${id}`);\r\n return response.data;\r\n },\r\n\r\n // 파트너 생성\r\n createPartner: async (request: CreatePartnerRequest): Promise<PartnerDto> => {\r\n const response = await apiClient.post(\"/partners\", request);\r\n return response.data;\r\n },\r\n\r\n // 파트너 수정\r\n updatePartner: async (\r\n id: string,\r\n request: UpdatePartnerRequest\r\n ): Promise<PartnerDto> => {\r\n const response = await apiClient.patch(`/partners/${id}`, request);\r\n return response.data;\r\n },\r\n\r\n // 파트너 삭제\r\n deletePartner: async (id: string): Promise<PartnerDto> => {\r\n const response = await apiClient.delete(`/partners/${id}`);\r\n return response.data;\r\n },\r\n};\r\n","import type { SendNotificationRequest } from \"../../types\";\r\nimport { apiClient } from \"../axios\";\r\n\r\nexport const pushApi = {\r\n /**\r\n * Push 구독 정보를 서버에 저장\r\n */\r\n subscribe: async (\r\n subscription: PushSubscription\r\n ): Promise<{ success: boolean }> => {\r\n const response = await apiClient.post<{ success: boolean }>(\r\n \"/push/subscribe\",\r\n subscription.toJSON()\r\n );\r\n return response.data;\r\n },\r\n\r\n /**\r\n * Push 구독 해제\r\n */\r\n unsubscribe: async (endpoint: string): Promise<{ success: boolean }> => {\r\n const response = await apiClient.post<{ success: boolean }>(\r\n \"/push/unsubscribe\",\r\n { endpoint }\r\n );\r\n return response.data;\r\n },\r\n\r\n /**\r\n * 현재 사용자의 Push 구독 상태 확인\r\n */\r\n getSubscriptionStatus: async (): Promise<{\r\n isSubscribed: boolean;\r\n endpoint?: string;\r\n }> => {\r\n const response = await apiClient.get<{\r\n isSubscribed: boolean;\r\n endpoint?: string;\r\n }>(\"/push/status\");\r\n return response.data;\r\n },\r\n\r\n /**\r\n * Push 알림 전송\r\n * @param notification - 알림 요청 데이터\r\n */\r\n sendNotification: async (\r\n notification: SendNotificationRequest\r\n ): Promise<void> => {\r\n await apiClient.post(\"/push/send\", notification);\r\n },\r\n};\r\n","import type { UpsertUserSettingRequest, UserSetting } from \"../../types\";\r\nimport { apiClient } from \"../axios\";\r\n\r\nexport const userSettingsApi = {\r\n getUserSettings: async (): Promise<UserSetting> => {\r\n const response = await apiClient.get(\"/user-settings\");\r\n return response.data;\r\n },\r\n\r\n updateUserSettings: async (\r\n settings: UpsertUserSettingRequest,\r\n ): Promise<UserSetting> => {\r\n const response = await apiClient.put(\"/user-settings\", settings);\r\n return response.data;\r\n },\r\n};\r\n","import type { Institution } from \"../../types\";\r\nimport { apiClient } from \"../axios\";\r\n\r\nexport const institutionsApi = {\r\n getInstitutions: async (): Promise<Institution[]> => {\r\n const response = await apiClient.get<Institution[]>(\"institutions\");\r\n return response.data;\r\n },\r\n register: async (data: Institution): Promise<Institution> => {\r\n const response = await apiClient.post<Institution>(\"institutions\", data);\r\n return response.data;\r\n },\r\n update: async ({\r\n ykiho,\r\n data,\r\n }: {\r\n ykiho: string;\r\n data: Partial<Institution>;\r\n }): Promise<Institution> => {\r\n const response = await apiClient.patch(`institutions/${ykiho}`, data);\r\n return response.data;\r\n },\r\n delete: async (ykiho: string): Promise<void> => {\r\n await apiClient.delete(`institutions/${ykiho}`);\r\n },\r\n};\r\n"],"names":["speechChat","getChatRooms","recordId","apiClient","get","data","deleteChatRoom","roomId","delete","getChatMessages","res","msgs","updateChatRoomName","name","patch","speechRecords","getRecords","getRecordsWithPage","dto","post","deleteRecord","getRecordById","getTodayRecord","chart","params","getRecordsByChart","getRecordFromImage","imageUrl","getRecordFromAgent","patientInfo","getRecordsByDates","startDate","endDate","page","searchText","ykiho","username","Number","getPatients","getRecordData","speechPatients","getPatientByChart","upsertPatient","put","speechAudios","deleteAudioFile","audioFileId","speechRecordData","resummaryPart","level","part","createAudioFormData","buffer","blob","Blob","type","formData","FormData","append","transcribeWithEndpoint","endpoint","language","headers","speechApi","transcribeV2","transcribeV3","transcribeWithTranslation","uploadV3","opusBlob","transcript","transcripts","durationSeconds","JSON","stringify","toString","upload","vadBuffer","totalBuffer","chat","records","patients","audios","recordData","audioApi","getAudioFile","bucket","keys","responseType","authApi","register","login","credentials","getMe","logout","updateMe","generateNewUserKey","userId","adminLogin","updateUser","id","deleteUser","changePassword","captureRectsApi","getMy","getCaptureRects","getCaptureRect","createCaptureRect","updateCaptureRect","deleteCaptureRect","llmApi","diarization","request","signal","medicalSummary","mindmap","conversation","diseaseRecommendation","noticeApi","getNotices","count","showPublishedOnly","getNotice","createNotice","updateNotice","deleteNotice","partnersApi","getPartners","getPartner","createPartner","updatePartner","deletePartner","pushApi","subscribe","subscription","toJSON","unsubscribe","getSubscriptionStatus","sendNotification","notification","userSettingsApi","getUserSettings","updateUserSettings","settings","institutionsApi","getInstitutions","update"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/api/common/speechs/speech-chat.ts","../../../src/api/common/speechs/speech-records.ts","../../../src/api/common/speechs/speech-patients.ts","../../../src/api/common/speechs/speech-audios.ts","../../../src/api/common/speechs/speech-record-datas.ts","../../../src/api/common/speechs/speech.ts","../../../src/api/common/audio.ts","../../../src/api/common/auth.ts","../../../src/api/common/capture-rects.ts","../../../src/api/common/llm.ts","../../../src/api/common/notice.ts","../../../src/api/common/partners.ts","../../../src/api/common/push.ts","../../../src/api/common/user-settings.ts","../../../src/api/common/institutions.ts"],"sourcesContent":["import type { ChatRoomsResponse, LlmMsg } from \"../../../types\";\r\nimport { apiClient } from \"../../axios\";\r\n\r\nexport const speechChat = {\r\n getChatRooms: async (recordId: string): Promise<ChatRoomsResponse[]> => {\r\n const res = await apiClient.get(`/speech/chat/rooms/${recordId}`);\r\n return res.data;\r\n },\r\n\r\n deleteChatRoom: async ({\r\n roomId,\r\n }: {\r\n roomId: string;\r\n }): Promise<ChatRoomsResponse> => {\r\n const res = await apiClient.delete(`/speech/chat/rooms/${roomId}`);\r\n return res.data;\r\n },\r\n\r\n getChatMessages: async ({\r\n roomId,\r\n }: {\r\n roomId: string;\r\n }): Promise<{ roomId: string; msgs: LlmMsg[] }> => {\r\n const res = await apiClient.get(`/speech/chat/messages/${roomId}`);\r\n return { roomId, msgs: res.data };\r\n },\r\n updateChatRoomName: async ({\r\n roomId,\r\n name,\r\n }: {\r\n roomId: string;\r\n name: string;\r\n }): Promise<ChatRoomsResponse> => {\r\n const res = await apiClient.patch(`/speech/chat/rooms/${roomId}`, {\r\n name,\r\n });\r\n return res.data;\r\n },\r\n};\r\n","import { apiClient } from \"../../axios\";\r\nimport type {\r\n GetRecordsByDatesRequest,\r\n GetRecordsByDatesResponse,\r\n Patient,\r\n RecordData,\r\n RecordsPageRequest,\r\n RecordsResponse,\r\n RecordsWithPageResponse,\r\n} from \"../../../types/api\";\r\nimport type { PatientInfoDto } from \"../../../types\";\r\n\r\nexport const speechRecords = {\r\n getRecords: async (): Promise<RecordsResponse[]> => {\r\n const res = await apiClient.get(\"/speech/records\");\r\n return res.data;\r\n },\r\n\r\n getRecordsWithPage: async (\r\n dto: RecordsPageRequest\r\n ): Promise<RecordsWithPageResponse> => {\r\n const res = await apiClient.post(\"/speech/records\", dto);\r\n return res.data;\r\n },\r\n\r\n deleteRecord: async ({\r\n recordId,\r\n }: {\r\n recordId: string;\r\n }): Promise<RecordsResponse> => {\r\n const res = await apiClient.delete(`/speech/records/${recordId}`);\r\n return res.data;\r\n },\r\n\r\n getRecordById: async ({\r\n recordId,\r\n }: {\r\n recordId: string;\r\n }): Promise<RecordsResponse> => {\r\n const res = await apiClient.get(`/speech/records/${recordId}/details`);\r\n return res.data;\r\n },\r\n\r\n getTodayRecord: async ({\r\n chart,\r\n }: {\r\n chart: string;\r\n }): Promise<Partial<RecordsResponse>> => {\r\n const res = await apiClient.get(`/speech/records/details/today`, {\r\n params: { chart },\r\n });\r\n return res.data;\r\n },\r\n\r\n getRecordsByChart: async ({\r\n chart,\r\n }: {\r\n chart: string;\r\n }): Promise<RecordsResponse[]> => {\r\n const res = await apiClient.get(`/speech/records/${chart}`);\r\n return res.data;\r\n },\r\n\r\n getRecordFromImage: async ({\r\n imageUrl,\r\n }: {\r\n imageUrl: string;\r\n }): Promise<Partial<RecordsResponse>> => {\r\n const res = await apiClient.post(`/speech/records/from-image`, {\r\n imageUrl,\r\n });\r\n return res.data;\r\n },\r\n\r\n getRecordFromAgent: async (\r\n patientInfo: PatientInfoDto\r\n ): Promise<Partial<RecordsResponse>> => {\r\n const res = await apiClient.post(`/speech/records/from-agent`, patientInfo);\r\n return res.data;\r\n },\r\n\r\n // --- admin ---\r\n getRecordsByDates: async ({\r\n startDate,\r\n endDate,\r\n page,\r\n searchText,\r\n ykiho,\r\n username,\r\n }: GetRecordsByDatesRequest): Promise<GetRecordsByDatesResponse> => {\r\n const res = await apiClient.get(\"/speech/records/by-dates\", {\r\n params: {\r\n startDate,\r\n endDate,\r\n page: Number(page),\r\n ...(searchText && { searchText }),\r\n ...(ykiho && { ykiho }),\r\n ...(username && { username }),\r\n },\r\n });\r\n return res.data;\r\n },\r\n\r\n getPatients: async (): Promise<Patient[]> => {\r\n const res = await apiClient.get(\"/speech/patients\");\r\n return res.data;\r\n },\r\n\r\n getRecordData: async ({\r\n recordId,\r\n }: {\r\n recordId: string;\r\n }): Promise<RecordData> => {\r\n const res = await apiClient.get(`/speech/record-datas/${recordId}`);\r\n return res.data;\r\n },\r\n};\r\n","import { apiClient } from \"../../axios\";\r\nimport type { Patient, UpsertPatientRequest } from \"../../../types/api\";\r\n\r\nexport const speechPatients = {\r\n getPatientByChart: async ({ chart }: { chart: string }): Promise<Patient> => {\r\n const res = await apiClient.get(`/speech/patients/${chart}`);\r\n return res.data;\r\n },\r\n\r\n upsertPatient: async ({\r\n chart,\r\n name,\r\n }: UpsertPatientRequest): Promise<Patient> => {\r\n const res = await apiClient.put(`/speech/patients`, { chart, name });\r\n return res.data;\r\n },\r\n};\r\n","import { apiClient } from \"../../axios\";\r\nimport type { AudioFile } from \"../../../types/api\";\r\n\r\nexport const speechAudios = {\r\n deleteAudioFile: async ({\r\n audioFileId,\r\n }: {\r\n audioFileId: string;\r\n }): Promise<AudioFile> => {\r\n const res = await apiClient.delete(`/speech/audios/${audioFileId}`);\r\n return res.data;\r\n },\r\n};\r\n","import { apiClient } from \"../../axios\";\r\nimport type { MedicalSummaryResponse, ResummaryPartRequest } from \"../../../types/api\";\r\n\r\nexport const speechRecordData = {\r\n resummaryPart: async ({\r\n recordId,\r\n level,\r\n part,\r\n }: ResummaryPartRequest): Promise<MedicalSummaryResponse> => {\r\n const res = await apiClient.post(`/speech/record-datas/resummary/part`, {\r\n recordId,\r\n level,\r\n part,\r\n });\r\n return res.data;\r\n },\r\n};\r\n","import { apiClient } from \"../../axios\";\r\nimport type {\r\n TranscribeV2Response as TranscribeV3Response,\r\n TranscribeWithTranslationResponse,\r\n UploadRequest,\r\n UploadResponse,\r\n UploadV3Request,\r\n} from \"../../../types/api\";\r\nimport { speechChat } from \"./speech-chat\";\r\nimport { speechRecords } from \"./speech-records\";\r\nimport { speechPatients } from \"./speech-patients\";\r\nimport { speechAudios } from \"./speech-audios\";\r\nimport { speechRecordData } from \"./speech-record-datas\";\r\n\r\n// Helper function to create FormData with audio file\r\nconst createAudioFormData = (buffer: ArrayBuffer | Blob): FormData => {\r\n const blob =\r\n buffer instanceof Blob ? buffer : new Blob([buffer], { type: \"audio/pcm\" });\r\n const formData = new FormData();\r\n formData.append(\"file\", blob, \"audio.pcm\");\r\n return formData;\r\n};\r\n\r\nconst transcribeWithEndpoint = async <T>(\r\n endpoint: string,\r\n buffer: ArrayBuffer | Blob,\r\n language?: string\r\n): Promise<T> => {\r\n const formData = createAudioFormData(buffer);\r\n if (language) {\r\n formData.append(\"language\", language);\r\n }\r\n const res = await apiClient.post(endpoint, formData, {\r\n headers: {\r\n \"Content-Type\": \"multipart/form-data\",\r\n },\r\n });\r\n return res.data;\r\n};\r\n\r\nexport const speechApi = {\r\n transcribeV3: async ({\r\n buffer,\r\n }: {\r\n buffer: ArrayBuffer | Blob;\r\n }): Promise<TranscribeV3Response> => {\r\n return transcribeWithEndpoint(\"/speech/transcribe-v3\", buffer);\r\n },\r\n\r\n transcribeWithTranslation: async ({\r\n buffer,\r\n language,\r\n }: {\r\n buffer: ArrayBuffer | Blob;\r\n language: string;\r\n }): Promise<TranscribeWithTranslationResponse> => {\r\n return transcribeWithEndpoint(\r\n \"/speech/transcribe-with-translation\",\r\n buffer,\r\n language\r\n );\r\n },\r\n\r\n uploadV3: async ({\r\n opusBlob,\r\n chart,\r\n recordId,\r\n transcript,\r\n transcripts,\r\n durationSeconds,\r\n }: UploadV3Request): Promise<UploadResponse> => {\r\n const formData = new FormData();\r\n formData.append(\r\n \"opusFile\",\r\n new Blob([opusBlob], { type: \"audio/webm\" }),\r\n \"audio.webm\"\r\n );\r\n formData.append(\"chart\", chart);\r\n formData.append(\"transcript\", transcript);\r\n formData.append(\"transcripts\", JSON.stringify(transcripts));\r\n formData.append(\"durationSeconds\", durationSeconds.toString());\r\n if (recordId) formData.append(\"recordId\", recordId);\r\n\r\n const res = await apiClient.post(\r\n \"/speech/upload-with-translation\",\r\n formData,\r\n {\r\n headers: {\r\n \"Content-Type\": \"multipart/form-data\",\r\n },\r\n }\r\n );\r\n return res.data;\r\n },\r\n\r\n upload: async ({\r\n opusBlob,\r\n vadBuffer,\r\n totalBuffer,\r\n chart,\r\n recordId,\r\n transcript,\r\n }: UploadRequest): Promise<UploadResponse> => {\r\n const formData = new FormData();\r\n formData.append(\r\n \"opusFile\",\r\n new Blob([opusBlob], { type: \"audio/webm\" }),\r\n \"audio.webm\"\r\n );\r\n formData.append(\r\n \"totalFile\",\r\n new Blob([totalBuffer], { type: \"audio/pcm\" }),\r\n \"audio.pcm\"\r\n );\r\n if (vadBuffer)\r\n formData.append(\r\n \"vadFile\",\r\n new Blob([vadBuffer], { type: \"audio/pcm\" }),\r\n \"audio.pcm\"\r\n );\r\n formData.append(\"chart\", chart);\r\n formData.append(\"transcript\", transcript);\r\n if (recordId) formData.append(\"recordId\", recordId);\r\n\r\n const res = await apiClient.post(\"/speech/upload\", formData, {\r\n headers: {\r\n \"Content-Type\": \"multipart/form-data\",\r\n },\r\n });\r\n return res.data;\r\n },\r\n\r\n chat: speechChat,\r\n records: speechRecords,\r\n patients: speechPatients,\r\n audios: speechAudios,\r\n recordData: speechRecordData,\r\n};\r\n","import { apiClient } from \"../axios\";\r\n\r\nexport const audioApi = {\r\n getAudioFile: async ({ bucket, keys }: { bucket: string; keys: string }) => {\r\n const res = await apiClient.get(`/audio`, {\r\n params: { bucket, keys },\r\n responseType: \"blob\",\r\n });\r\n return res.data; // Blob 타입\r\n },\r\n};\r\n","import type {\r\n AuthResponse,\r\n LoginRequest,\r\n RegisterRequest,\r\n UserDto,\r\n} from \"../../types\";\r\nimport { apiClient } from \"../axios\";\r\n\r\nexport const authApi = {\r\n register: async (dto: RegisterRequest): Promise<UserDto> => {\r\n const response = await apiClient.post<UserDto>(\"/auth/register\", dto);\r\n return response.data;\r\n },\r\n login: async (credentials: LoginRequest): Promise<AuthResponse> => {\r\n const response = await apiClient.post<AuthResponse>(\r\n \"/auth/login\",\r\n credentials\r\n );\r\n return response.data;\r\n },\r\n getMe: async (): Promise<UserDto> => {\r\n const response = await apiClient.get<UserDto>(\"/auth/me\");\r\n return response.data;\r\n },\r\n logout: async (): Promise<void> => {\r\n await apiClient.post(\"/auth/logout\");\r\n },\r\n\r\n updateMe: async (data: Partial<UserDto>): Promise<{ user: UserDto }> => {\r\n const response = await apiClient.patch<{ user: UserDto }>(`/auth/me`, data);\r\n return response.data;\r\n },\r\n\r\n generateNewUserKey: async ({\r\n userId,\r\n }: {\r\n userId: string;\r\n }): Promise<UserDto> => {\r\n const response = await apiClient.put<UserDto>(\r\n `/auth/user/generate-key/${userId}`\r\n );\r\n return response.data;\r\n },\r\n\r\n // --- 관리자 ---\r\n adminLogin: async (credentials: LoginRequest): Promise<AuthResponse> => {\r\n const response = await apiClient.post<AuthResponse>(\r\n \"/auth/admin-login\",\r\n credentials\r\n );\r\n return response.data;\r\n },\r\n\r\n updateUser: async (data: Partial<UserDto>): Promise<{ user: UserDto }> => {\r\n const response = await apiClient.put<{ user: UserDto }>(\r\n `/auth/user/${data.id}`,\r\n data\r\n );\r\n return response.data;\r\n },\r\n\r\n deleteUser: async (userId: string): Promise<void> => {\r\n await apiClient.delete(`/auth/user/${userId}`);\r\n },\r\n\r\n changePassword: async (data: {\r\n currentPassword: string;\r\n newPassword: string;\r\n }): Promise<void> => {\r\n await apiClient.patch(\"/auth/me/change-password\", data);\r\n },\r\n};\r\n","import type {\r\n CaptureRect,\r\n CreateCaptureRectRequest,\r\n DeleteCaptureRectResponse,\r\n UpdateCaptureRectRequest,\r\n} from \"../../types\";\r\nimport { apiClient } from \"../axios\";\r\n\r\nexport const captureRectsApi = {\r\n getMy: async (): Promise<CaptureRect> => {\r\n const res = await apiClient.get(\"/capture-rects/my\");\r\n return res.data;\r\n },\r\n // 모든 캡처 영역 조회 (GET /capture-rects)\r\n getCaptureRects: async (): Promise<CaptureRect[]> => {\r\n const response = await apiClient.get<CaptureRect[]>(\"capture-rects\");\r\n return response.data;\r\n },\r\n\r\n // 특정 캡처 영역 조회 (GET /capture-rects/:id)\r\n getCaptureRect: async (id: string): Promise<CaptureRect> => {\r\n const response = await apiClient.get<CaptureRect>(`capture-rects/${id}`);\r\n return response.data;\r\n },\r\n\r\n // 캡처 영역 생성 (POST /capture-rects)\r\n createCaptureRect: async (\r\n data: CreateCaptureRectRequest\r\n ): Promise<CaptureRect> => {\r\n const response = await apiClient.post<CaptureRect>(\"capture-rects\", data);\r\n return response.data;\r\n },\r\n\r\n // 캡처 영역 수정 (PATCH /capture-rects/:id)\r\n updateCaptureRect: async ({\r\n id,\r\n data,\r\n }: {\r\n id: string;\r\n data: UpdateCaptureRectRequest;\r\n }): Promise<CaptureRect> => {\r\n const response = await apiClient.patch<CaptureRect>(\r\n `capture-rects/${id}`,\r\n data\r\n );\r\n return response.data;\r\n },\r\n\r\n // 캡처 영역 삭제 (DELETE /capture-rects/:id)\r\n deleteCaptureRect: async (id: string): Promise<DeleteCaptureRectResponse> => {\r\n const response = await apiClient.delete<DeleteCaptureRectResponse>(\r\n `capture-rects/${id}`\r\n );\r\n return response.data;\r\n },\r\n};\r\n","import type {\r\n DiarizationRequest,\r\n DiarizationResponse,\r\n DiseaseRecommendationRequestDto,\r\n DiseaseRecommendationResponseDto,\r\n MedicalSummaryRequest,\r\n MedicalSummaryResponse,\r\n MindmapResponse\r\n} from \"../../types\";\r\nimport { apiClient } from \"../axios\";\r\n\r\nexport const llmApi = {\r\n diarization: async (\r\n request: DiarizationRequest,\r\n signal?: AbortSignal\r\n ): Promise<DiarizationResponse> => {\r\n const response = await apiClient.post(\"/llm/diarization\", request, {\r\n signal,\r\n });\r\n\r\n return response.data;\r\n },\r\n\r\n medicalSummary: async ({\r\n request,\r\n signal,\r\n }: {\r\n request: MedicalSummaryRequest;\r\n signal: AbortSignal;\r\n }): Promise<MedicalSummaryResponse> => {\r\n const response = await apiClient.post(\"/llm/medical-summary\", request, {\r\n signal,\r\n });\r\n\r\n return response.data;\r\n },\r\n\r\n mindmap: async ({\r\n conversation,\r\n }: {\r\n conversation: string;\r\n }): Promise<MindmapResponse> => {\r\n const response = await apiClient.post(`/llm/mindmap`, { conversation });\r\n return response.data;\r\n },\r\n\r\n diseaseRecommendation: async ({\r\n conversation,\r\n }: DiseaseRecommendationRequestDto): Promise<DiseaseRecommendationResponseDto> => {\r\n const response = await apiClient.post(`/llm/disease-recommendation`, {\r\n conversation,\r\n });\r\n return response.data;\r\n },\r\n};\r\n","import type { CreateNoticeRequest, Notice, NoticeListRequest, NoticeListResponse, UpdateNoticeRequest } from \"../../types\";\r\nimport { apiClient } from \"../axios\";\r\n\r\nexport const noticeApi = {\r\n getNotices: async (\r\n params?: NoticeListRequest\r\n ): Promise<NoticeListResponse> => {\r\n const response = await apiClient.post<NoticeListResponse>(\"/notices/page\", {\r\n page: params?.page ?? 1,\r\n count: params?.count ?? 10,\r\n searchText: params?.searchText,\r\n showPublishedOnly: params?.showPublishedOnly ?? true,\r\n });\r\n return response.data;\r\n },\r\n\r\n getNotice: async (id: string): Promise<Notice> => {\r\n const response = await apiClient.get<Notice>(`/notices/${id}`);\r\n return response.data;\r\n },\r\n\r\n // Create a new notice\r\n createNotice: async (data: CreateNoticeRequest): Promise<Notice> => {\r\n const response = await apiClient.post<Notice>(\"/notices\", data);\r\n return response.data;\r\n },\r\n\r\n // Update an existing notice\r\n updateNotice: async (\r\n id: string,\r\n data: UpdateNoticeRequest\r\n ): Promise<Notice> => {\r\n const response = await apiClient.put<Notice>(`/notices/${id}`, data);\r\n return response.data;\r\n },\r\n\r\n // Delete a notice\r\n deleteNotice: async (id: string): Promise<void> => {\r\n await apiClient.delete(`/notices/${id}`);\r\n },\r\n};\r\n","import type { PartnerDto } from \"../../types\";\r\nimport { apiClient } from \"../axios\";\r\nimport type { CreatePartnerRequest, UpdatePartnerRequest } from \"../../types/api\";\r\n\r\nexport const partnersApi = {\r\n // 모든 파트너 조회\r\n getPartners: async (): Promise<PartnerDto[]> => {\r\n const response = await apiClient.get(\"/partners\");\r\n return response.data;\r\n },\r\n\r\n // 파트너 상세 조회\r\n getPartner: async (id: string): Promise<PartnerDto> => {\r\n const response = await apiClient.get(`/partners/${id}`);\r\n return response.data;\r\n },\r\n\r\n // 파트너 생성\r\n createPartner: async (request: CreatePartnerRequest): Promise<PartnerDto> => {\r\n const response = await apiClient.post(\"/partners\", request);\r\n return response.data;\r\n },\r\n\r\n // 파트너 수정\r\n updatePartner: async (\r\n id: string,\r\n request: UpdatePartnerRequest\r\n ): Promise<PartnerDto> => {\r\n const response = await apiClient.patch(`/partners/${id}`, request);\r\n return response.data;\r\n },\r\n\r\n // 파트너 삭제\r\n deletePartner: async (id: string): Promise<PartnerDto> => {\r\n const response = await apiClient.delete(`/partners/${id}`);\r\n return response.data;\r\n },\r\n};\r\n","import type { SendNotificationRequest } from \"../../types\";\r\nimport { apiClient } from \"../axios\";\r\n\r\nexport const pushApi = {\r\n /**\r\n * Push 구독 정보를 서버에 저장\r\n */\r\n subscribe: async (\r\n subscription: PushSubscription\r\n ): Promise<{ success: boolean }> => {\r\n const response = await apiClient.post<{ success: boolean }>(\r\n \"/push/subscribe\",\r\n subscription.toJSON()\r\n );\r\n return response.data;\r\n },\r\n\r\n /**\r\n * Push 구독 해제\r\n */\r\n unsubscribe: async (endpoint: string): Promise<{ success: boolean }> => {\r\n const response = await apiClient.post<{ success: boolean }>(\r\n \"/push/unsubscribe\",\r\n { endpoint }\r\n );\r\n return response.data;\r\n },\r\n\r\n /**\r\n * 현재 사용자의 Push 구독 상태 확인\r\n */\r\n getSubscriptionStatus: async (): Promise<{\r\n isSubscribed: boolean;\r\n endpoint?: string;\r\n }> => {\r\n const response = await apiClient.get<{\r\n isSubscribed: boolean;\r\n endpoint?: string;\r\n }>(\"/push/status\");\r\n return response.data;\r\n },\r\n\r\n /**\r\n * Push 알림 전송\r\n * @param notification - 알림 요청 데이터\r\n */\r\n sendNotification: async (\r\n notification: SendNotificationRequest\r\n ): Promise<void> => {\r\n await apiClient.post(\"/push/send\", notification);\r\n },\r\n};\r\n","import type { UpsertUserSettingRequest, UserSetting } from \"../../types\";\r\nimport { apiClient } from \"../axios\";\r\n\r\nexport const userSettingsApi = {\r\n getUserSettings: async (): Promise<UserSetting> => {\r\n const response = await apiClient.get(\"/user-settings\");\r\n return response.data;\r\n },\r\n\r\n updateUserSettings: async (\r\n settings: UpsertUserSettingRequest,\r\n ): Promise<UserSetting> => {\r\n const response = await apiClient.put(\"/user-settings\", settings);\r\n return response.data;\r\n },\r\n};\r\n","import type { Institution } from \"../../types\";\r\nimport { apiClient } from \"../axios\";\r\n\r\nexport const institutionsApi = {\r\n getInstitutions: async (): Promise<Institution[]> => {\r\n const response = await apiClient.get<Institution[]>(\"institutions\");\r\n return response.data;\r\n },\r\n register: async (data: Institution): Promise<Institution> => {\r\n const response = await apiClient.post<Institution>(\"institutions\", data);\r\n return response.data;\r\n },\r\n update: async ({\r\n ykiho,\r\n data,\r\n }: {\r\n ykiho: string;\r\n data: Partial<Institution>;\r\n }): Promise<Institution> => {\r\n const response = await apiClient.patch(`institutions/${ykiho}`, data);\r\n return response.data;\r\n },\r\n delete: async (ykiho: string): Promise<void> => {\r\n await apiClient.delete(`institutions/${ykiho}`);\r\n },\r\n};\r\n"],"names":["speechChat","getChatRooms","recordId","apiClient","get","data","deleteChatRoom","roomId","delete","getChatMessages","res","msgs","updateChatRoomName","name","patch","speechRecords","getRecords","getRecordsWithPage","dto","post","deleteRecord","getRecordById","getTodayRecord","chart","params","getRecordsByChart","getRecordFromImage","imageUrl","getRecordFromAgent","patientInfo","getRecordsByDates","startDate","endDate","page","searchText","ykiho","username","Number","getPatients","getRecordData","speechPatients","getPatientByChart","upsertPatient","put","speechAudios","deleteAudioFile","audioFileId","speechRecordData","resummaryPart","level","part","createAudioFormData","buffer","blob","Blob","type","formData","FormData","append","transcribeWithEndpoint","endpoint","language","headers","speechApi","transcribeV3","transcribeWithTranslation","uploadV3","opusBlob","transcript","transcripts","durationSeconds","JSON","stringify","toString","upload","vadBuffer","totalBuffer","chat","records","patients","audios","recordData","audioApi","getAudioFile","bucket","keys","responseType","authApi","register","login","credentials","getMe","logout","updateMe","generateNewUserKey","userId","adminLogin","updateUser","id","deleteUser","changePassword","captureRectsApi","getMy","getCaptureRects","getCaptureRect","createCaptureRect","updateCaptureRect","deleteCaptureRect","llmApi","diarization","request","signal","medicalSummary","mindmap","conversation","diseaseRecommendation","noticeApi","getNotices","count","showPublishedOnly","getNotice","createNotice","updateNotice","deleteNotice","partnersApi","getPartners","getPartner","createPartner","updatePartner","deletePartner","pushApi","subscribe","subscription","toJSON","unsubscribe","getSubscriptionStatus","sendNotification","notification","userSettingsApi","getUserSettings","updateUserSettings","settings","institutionsApi","getInstitutions","update"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../../compiler-runtime-BtE0QEUt.cjs"),o=require("@tanstack/react-query");require("axios");const n=require("../../user-notifications-eaEdb3_1.cjs"),s=require("../hooks.feedbacks/index.js"),u=()=>{const t=r.compilerRuntimeExports.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e={queryKey:["user-notifications"],queryFn:n.userNotificationsApi.getNotifications,refetchInterval:18e4},t[0]=e):e=t[0],o.useQuery(e)},c=()=>{const t=r.compilerRuntimeExports.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e={queryKey:["unread-notification-count"],queryFn:n.userNotificationsApi.getUnreadNotificationCount},t[0]=e):e=t[0],o.useQuery(e)},a=()=>{const t=r.compilerRuntimeExports.c(2),e=o.useQueryClient();let i;return t[0]!==e?(i={mutationFn:n.userNotificationsApi.markAsRead,onSuccess:()=>{e.invalidateQueries({queryKey:["user-notifications"]}),e.invalidateQueries({queryKey:["unread-notification-count"]}),e.invalidateQueries({queryKey:s.FEEDBACKS_QUERY_KEY})}},t[0]=e,t[1]=i):i=t[1],o.useMutation(i)};exports.useMarkAsRead=a;exports.useUnreadNotificationCount=c;exports.useUserNotifications=u;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../../compiler-runtime-BtE0QEUt.cjs"),o=require("@tanstack/react-query");require("axios");const n=require("../../user-notifications-Bh5Z6eqH.cjs"),s=require("../hooks.feedbacks/index.js"),u=()=>{const t=r.compilerRuntimeExports.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e={queryKey:["user-notifications"],queryFn:n.userNotificationsApi.getNotifications,refetchInterval:18e4},t[0]=e):e=t[0],o.useQuery(e)},c=()=>{const t=r.compilerRuntimeExports.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e={queryKey:["unread-notification-count"],queryFn:n.userNotificationsApi.getUnreadNotificationCount},t[0]=e):e=t[0],o.useQuery(e)},a=()=>{const t=r.compilerRuntimeExports.c(2),e=o.useQueryClient();let i;return t[0]!==e?(i={mutationFn:n.userNotificationsApi.markAsRead,onSuccess:()=>{e.invalidateQueries({queryKey:["user-notifications"]}),e.invalidateQueries({queryKey:["unread-notification-count"]}),e.invalidateQueries({queryKey:s.FEEDBACKS_QUERY_KEY})}},t[0]=e,t[1]=i):i=t[1],o.useMutation(i)};exports.useMarkAsRead=a;exports.useUnreadNotificationCount=c;exports.useUserNotifications=u;
2
2
  //# sourceMappingURL=index.js.map
@@ -1,11 +1,17 @@
1
+ export type UserNotificationTargetType = "feedback" | "notice";
1
2
  export interface UserNotification {
2
3
  id: string;
3
4
  userId: string;
4
5
  targetId: string;
5
- targetType: "feedback" | "notice";
6
+ targetType: UserNotificationTargetType;
6
7
  title: string;
7
8
  isRead: boolean;
8
9
  createdAt: string;
10
+ updatedAt: string;
11
+ isAlert: boolean;
9
12
  }
10
13
  export interface UserNotificationListResponse extends Array<UserNotification> {
11
14
  }
15
+ export interface MarkAsReadRequest {
16
+ targetType: UserNotificationTargetType;
17
+ }
@@ -21,11 +21,17 @@ export interface UploadRequest extends UploadBlobs {
21
21
  transcript: string;
22
22
  recordId?: string;
23
23
  }
24
+ export interface PromptResult {
25
+ title: string;
26
+ result: string;
27
+ seq: number;
28
+ }
24
29
  export interface UploadV3Request {
25
30
  opusBlob: ArrayBuffer | Blob;
26
31
  chart: string;
27
32
  transcript: string;
28
33
  transcripts: Transcript[];
34
+ promptResults?: PromptResult[];
29
35
  durationSeconds: number;
30
36
  recordId?: string;
31
37
  }
@@ -0,0 +1,2 @@
1
+ declare function App(): import("react/jsx-runtime").JSX.Element;
2
+ export default App;
@@ -0,0 +1 @@
1
+ export * from './initialize-axios';
@@ -0,0 +1,11 @@
1
+ import { AxiosInstance, CreateAxiosDefaults } from 'axios';
2
+ interface CreateAxiosArg extends CreateAxiosDefaults {
3
+ baseURL: string;
4
+ getAccessToken: () => string | null;
5
+ getRefreshAccessToken: () => Promise<string | undefined>;
6
+ onUnauthorized: () => void;
7
+ onRefreshTokenSuccess: (newAccessToken: string) => void;
8
+ }
9
+ export declare let apiClient: AxiosInstance;
10
+ export declare const initializeAxios: ({ baseURL, timeout, withCredentials, headers, getAccessToken, getRefreshAccessToken, onUnauthorized, onRefreshTokenSuccess, ...props }: CreateAxiosArg) => AxiosInstance;
11
+ export {};
@@ -0,0 +1,6 @@
1
+ export declare const audioApi: {
2
+ getAudioFile: ({ bucket, keys }: {
3
+ bucket: string;
4
+ keys: string;
5
+ }) => Promise<any>;
6
+ };
@@ -0,0 +1,22 @@
1
+ import { AuthResponse, LoginRequest, RegisterRequest, UserDto } from '../../types';
2
+ export declare const authApi: {
3
+ register: (dto: RegisterRequest) => Promise<UserDto>;
4
+ login: (credentials: LoginRequest) => Promise<AuthResponse>;
5
+ getMe: () => Promise<UserDto>;
6
+ logout: () => Promise<void>;
7
+ updateMe: (data: Partial<UserDto>) => Promise<{
8
+ user: UserDto;
9
+ }>;
10
+ generateNewUserKey: ({ userId, }: {
11
+ userId: string;
12
+ }) => Promise<UserDto>;
13
+ adminLogin: (credentials: LoginRequest) => Promise<AuthResponse>;
14
+ updateUser: (data: Partial<UserDto>) => Promise<{
15
+ user: UserDto;
16
+ }>;
17
+ deleteUser: (userId: string) => Promise<void>;
18
+ changePassword: (data: {
19
+ currentPassword: string;
20
+ newPassword: string;
21
+ }) => Promise<void>;
22
+ };
@@ -0,0 +1,12 @@
1
+ import { CaptureRect, CreateCaptureRectRequest, DeleteCaptureRectResponse, UpdateCaptureRectRequest } from '../../types';
2
+ export declare const captureRectsApi: {
3
+ getMy: () => Promise<CaptureRect>;
4
+ getCaptureRects: () => Promise<CaptureRect[]>;
5
+ getCaptureRect: (id: string) => Promise<CaptureRect>;
6
+ createCaptureRect: (data: CreateCaptureRectRequest) => Promise<CaptureRect>;
7
+ updateCaptureRect: ({ id, data, }: {
8
+ id: string;
9
+ data: UpdateCaptureRectRequest;
10
+ }) => Promise<CaptureRect>;
11
+ deleteCaptureRect: (id: string) => Promise<DeleteCaptureRectResponse>;
12
+ };
@@ -0,0 +1,18 @@
1
+ import { Feedback, FeedbackListResponse, FeedbackListRequest, CreateFeedbackRequest, FeedbackComment, FeedbackCommentsResponse, CreateFeedbackCommentRequest } from '../../types';
2
+ export declare const feedbackApi: {
3
+ listFeedbacks: (params: FeedbackListRequest) => Promise<FeedbackListResponse>;
4
+ getFeedback: (id: string) => Promise<Feedback>;
5
+ createFeedback: (data: CreateFeedbackRequest) => Promise<Feedback>;
6
+ updateFeedback: (id: string, data: Partial<CreateFeedbackRequest> & {
7
+ status?: "pending" | "resolved";
8
+ }) => Promise<Feedback>;
9
+ deleteFeedback: (id: string) => Promise<{
10
+ success: boolean;
11
+ }>;
12
+ getComments: (feedbackId: string) => Promise<FeedbackCommentsResponse>;
13
+ createComment: (feedbackId: string, data: CreateFeedbackCommentRequest) => Promise<FeedbackComment>;
14
+ deleteComment: (commentId: string) => Promise<{
15
+ success: boolean;
16
+ }>;
17
+ updateComment: (commentId: string, data: CreateFeedbackCommentRequest) => Promise<FeedbackComment>;
18
+ };
@@ -0,0 +1,12 @@
1
+ export * from './speechs';
2
+ export * from './audio';
3
+ export * from './auth';
4
+ export * from './capture-rects';
5
+ export * from './feedback';
6
+ export * from './llm';
7
+ export * from './notice';
8
+ export * from './partners';
9
+ export * from './push';
10
+ export * from './user-settings';
11
+ export * from './institutions';
12
+ export * from './user-notifications';
@@ -0,0 +1,10 @@
1
+ import { Institution } from '../../types';
2
+ export declare const institutionsApi: {
3
+ getInstitutions: () => Promise<Institution[]>;
4
+ register: (data: Institution) => Promise<Institution>;
5
+ update: ({ ykiho, data, }: {
6
+ ykiho: string;
7
+ data: Partial<Institution>;
8
+ }) => Promise<Institution>;
9
+ delete: (ykiho: string) => Promise<void>;
10
+ };
@@ -0,0 +1,12 @@
1
+ import { DiarizationRequest, DiarizationResponse, DiseaseRecommendationRequestDto, DiseaseRecommendationResponseDto, MedicalSummaryRequest, MedicalSummaryResponse, MindmapResponse } from '../../types';
2
+ export declare const llmApi: {
3
+ diarization: (request: DiarizationRequest, signal?: AbortSignal) => Promise<DiarizationResponse>;
4
+ medicalSummary: ({ request, signal, }: {
5
+ request: MedicalSummaryRequest;
6
+ signal: AbortSignal;
7
+ }) => Promise<MedicalSummaryResponse>;
8
+ mindmap: ({ conversation, }: {
9
+ conversation: string;
10
+ }) => Promise<MindmapResponse>;
11
+ diseaseRecommendation: ({ conversation, }: DiseaseRecommendationRequestDto) => Promise<DiseaseRecommendationResponseDto>;
12
+ };
@@ -0,0 +1,8 @@
1
+ import { CreateNoticeRequest, Notice, NoticeListRequest, NoticeListResponse, UpdateNoticeRequest } from '../../types';
2
+ export declare const noticeApi: {
3
+ getNotices: (params?: NoticeListRequest) => Promise<NoticeListResponse>;
4
+ getNotice: (id: string) => Promise<Notice>;
5
+ createNotice: (data: CreateNoticeRequest) => Promise<Notice>;
6
+ updateNotice: (id: string, data: UpdateNoticeRequest) => Promise<Notice>;
7
+ deleteNotice: (id: string) => Promise<void>;
8
+ };
@@ -0,0 +1,9 @@
1
+ import { PartnerDto } from '../../types';
2
+ import { CreatePartnerRequest, UpdatePartnerRequest } from '../../types/api';
3
+ export declare const partnersApi: {
4
+ getPartners: () => Promise<PartnerDto[]>;
5
+ getPartner: (id: string) => Promise<PartnerDto>;
6
+ createPartner: (request: CreatePartnerRequest) => Promise<PartnerDto>;
7
+ updatePartner: (id: string, request: UpdatePartnerRequest) => Promise<PartnerDto>;
8
+ deletePartner: (id: string) => Promise<PartnerDto>;
9
+ };
@@ -0,0 +1,27 @@
1
+ import { SendNotificationRequest } from '../../types';
2
+ export declare const pushApi: {
3
+ /**
4
+ * Push 구독 정보를 서버에 저장
5
+ */
6
+ subscribe: (subscription: PushSubscription) => Promise<{
7
+ success: boolean;
8
+ }>;
9
+ /**
10
+ * Push 구독 해제
11
+ */
12
+ unsubscribe: (endpoint: string) => Promise<{
13
+ success: boolean;
14
+ }>;
15
+ /**
16
+ * 현재 사용자의 Push 구독 상태 확인
17
+ */
18
+ getSubscriptionStatus: () => Promise<{
19
+ isSubscribed: boolean;
20
+ endpoint?: string;
21
+ }>;
22
+ /**
23
+ * Push 알림 전송
24
+ * @param notification - 알림 요청 데이터
25
+ */
26
+ sendNotification: (notification: SendNotificationRequest) => Promise<void>;
27
+ };
@@ -0,0 +1 @@
1
+ export * from './speech';
@@ -0,0 +1,6 @@
1
+ import { AudioFile } from '../../../types/api';
2
+ export declare const speechAudios: {
3
+ deleteAudioFile: ({ audioFileId, }: {
4
+ audioFileId: string;
5
+ }) => Promise<AudioFile>;
6
+ };
@@ -0,0 +1,17 @@
1
+ import { ChatRoomsResponse, LlmMsg } from '../../../types';
2
+ export declare const speechChat: {
3
+ getChatRooms: (recordId: string) => Promise<ChatRoomsResponse[]>;
4
+ deleteChatRoom: ({ roomId, }: {
5
+ roomId: string;
6
+ }) => Promise<ChatRoomsResponse>;
7
+ getChatMessages: ({ roomId, }: {
8
+ roomId: string;
9
+ }) => Promise<{
10
+ roomId: string;
11
+ msgs: LlmMsg[];
12
+ }>;
13
+ updateChatRoomName: ({ roomId, name, }: {
14
+ roomId: string;
15
+ name: string;
16
+ }) => Promise<ChatRoomsResponse>;
17
+ };
@@ -0,0 +1,7 @@
1
+ import { Patient, UpsertPatientRequest } from '../../../types/api';
2
+ export declare const speechPatients: {
3
+ getPatientByChart: ({ chart }: {
4
+ chart: string;
5
+ }) => Promise<Patient>;
6
+ upsertPatient: ({ chart, name, }: UpsertPatientRequest) => Promise<Patient>;
7
+ };
@@ -0,0 +1,4 @@
1
+ import { MedicalSummaryResponse, ResummaryPartRequest } from '../../../types/api';
2
+ export declare const speechRecordData: {
3
+ resummaryPart: ({ recordId, level, part, }: ResummaryPartRequest) => Promise<MedicalSummaryResponse>;
4
+ };
@@ -0,0 +1,27 @@
1
+ import { GetRecordsByDatesRequest, GetRecordsByDatesResponse, Patient, RecordData, RecordsPageRequest, RecordsResponse, RecordsWithPageResponse } from '../../../types/api';
2
+ import { PatientInfoDto } from '../../../types';
3
+ export declare const speechRecords: {
4
+ getRecords: () => Promise<RecordsResponse[]>;
5
+ getRecordsWithPage: (dto: RecordsPageRequest) => Promise<RecordsWithPageResponse>;
6
+ deleteRecord: ({ recordId, }: {
7
+ recordId: string;
8
+ }) => Promise<RecordsResponse>;
9
+ getRecordById: ({ recordId, }: {
10
+ recordId: string;
11
+ }) => Promise<RecordsResponse>;
12
+ getTodayRecord: ({ chart, }: {
13
+ chart: string;
14
+ }) => Promise<Partial<RecordsResponse>>;
15
+ getRecordsByChart: ({ chart, }: {
16
+ chart: string;
17
+ }) => Promise<RecordsResponse[]>;
18
+ getRecordFromImage: ({ imageUrl, }: {
19
+ imageUrl: string;
20
+ }) => Promise<Partial<RecordsResponse>>;
21
+ getRecordFromAgent: (patientInfo: PatientInfoDto) => Promise<Partial<RecordsResponse>>;
22
+ getRecordsByDates: ({ startDate, endDate, page, searchText, ykiho, username, }: GetRecordsByDatesRequest) => Promise<GetRecordsByDatesResponse>;
23
+ getPatients: () => Promise<Patient[]>;
24
+ getRecordData: ({ recordId, }: {
25
+ recordId: string;
26
+ }) => Promise<RecordData>;
27
+ };
@@ -0,0 +1,67 @@
1
+ import { TranscribeV2Response as TranscribeV3Response, TranscribeWithTranslationResponse, UploadRequest, UploadResponse, UploadV3Request } from '../../../types/api';
2
+ export declare const speechApi: {
3
+ transcribeV3: ({ buffer, }: {
4
+ buffer: ArrayBuffer | Blob;
5
+ }) => Promise<TranscribeV3Response>;
6
+ transcribeWithTranslation: ({ buffer, language, }: {
7
+ buffer: ArrayBuffer | Blob;
8
+ language: string;
9
+ }) => Promise<TranscribeWithTranslationResponse>;
10
+ uploadV3: ({ opusBlob, chart, recordId, transcript, transcripts, durationSeconds, }: UploadV3Request) => Promise<UploadResponse>;
11
+ upload: ({ opusBlob, vadBuffer, totalBuffer, chart, recordId, transcript, }: UploadRequest) => Promise<UploadResponse>;
12
+ chat: {
13
+ getChatRooms: (recordId: string) => Promise<import('../../../types').ChatRoomsResponse[]>;
14
+ deleteChatRoom: ({ roomId, }: {
15
+ roomId: string;
16
+ }) => Promise<import('../../../types').ChatRoomsResponse>;
17
+ getChatMessages: ({ roomId, }: {
18
+ roomId: string;
19
+ }) => Promise<{
20
+ roomId: string;
21
+ msgs: import('../../../types').LlmMsg[];
22
+ }>;
23
+ updateChatRoomName: ({ roomId, name, }: {
24
+ roomId: string;
25
+ name: string;
26
+ }) => Promise<import('../../../types').ChatRoomsResponse>;
27
+ };
28
+ records: {
29
+ getRecords: () => Promise<import('../../../types').RecordsResponse[]>;
30
+ getRecordsWithPage: (dto: import('../../../types').RecordsPageRequest) => Promise<import('../../../types').RecordsWithPageResponse>;
31
+ deleteRecord: ({ recordId, }: {
32
+ recordId: string;
33
+ }) => Promise<import('../../../types').RecordsResponse>;
34
+ getRecordById: ({ recordId, }: {
35
+ recordId: string;
36
+ }) => Promise<import('../../../types').RecordsResponse>;
37
+ getTodayRecord: ({ chart, }: {
38
+ chart: string;
39
+ }) => Promise<Partial<import('../../../types').RecordsResponse>>;
40
+ getRecordsByChart: ({ chart, }: {
41
+ chart: string;
42
+ }) => Promise<import('../../../types').RecordsResponse[]>;
43
+ getRecordFromImage: ({ imageUrl, }: {
44
+ imageUrl: string;
45
+ }) => Promise<Partial<import('../../../types').RecordsResponse>>;
46
+ getRecordFromAgent: (patientInfo: import('../../../types').PatientInfoDto) => Promise<Partial<import('../../../types').RecordsResponse>>;
47
+ getRecordsByDates: ({ startDate, endDate, page, searchText, ykiho, username, }: import('../../../types').GetRecordsByDatesRequest) => Promise<import('../../../types').GetRecordsByDatesResponse>;
48
+ getPatients: () => Promise<import('../../../types').Patient[]>;
49
+ getRecordData: ({ recordId, }: {
50
+ recordId: string;
51
+ }) => Promise<import('../../../types').RecordData>;
52
+ };
53
+ patients: {
54
+ getPatientByChart: ({ chart }: {
55
+ chart: string;
56
+ }) => Promise<import('../../../types').Patient>;
57
+ upsertPatient: ({ chart, name, }: import('../../../types').UpsertPatientRequest) => Promise<import('../../../types').Patient>;
58
+ };
59
+ audios: {
60
+ deleteAudioFile: ({ audioFileId, }: {
61
+ audioFileId: string;
62
+ }) => Promise<import('../../../types').AudioFile>;
63
+ };
64
+ recordData: {
65
+ resummaryPart: ({ recordId, level, part, }: import('../../../types').ResummaryPartRequest) => Promise<import('../../../types').MedicalSummaryResponse>;
66
+ };
67
+ };
@@ -0,0 +1,11 @@
1
+ import { MarkAsReadRequest, UserNotification, UserNotificationListResponse } from '../../types';
2
+ export declare const userNotificationsApi: {
3
+ getNotifications: () => Promise<UserNotificationListResponse>;
4
+ markAsRead: (request: {
5
+ targetId: string;
6
+ }) => Promise<void>;
7
+ getUnreadNotificationCount: () => Promise<{
8
+ count: number;
9
+ }>;
10
+ markAllAsAlert: (request: MarkAsReadRequest) => Promise<Array<UserNotification>>;
11
+ };