fmode-ng 0.0.113 → 0.0.115

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 (275) hide show
  1. package/LICENSE.md +8 -0
  2. package/README.md +37 -37
  3. package/esm2022/fmode-ng.mjs +10 -5
  4. package/esm2022/lib/aigc/agent/fm-agent-task/fm-agent-task.component.mjs +8 -92
  5. package/esm2022/lib/aigc/agent/index.mjs +10 -3
  6. package/esm2022/lib/aigc/avatar/avatar.module.mjs +10 -45
  7. package/esm2022/lib/aigc/avatar/comp-avatar-particle/avatar.role.mjs +10 -2
  8. package/esm2022/lib/aigc/avatar/comp-avatar-particle/comp-avatar-particle.component.mjs +10 -315
  9. package/esm2022/lib/aigc/avatar/comp-avatar-particle/index.mjs +10 -3
  10. package/esm2022/lib/aigc/avatar/comp-avatar-particle/role-points.class.mjs +10 -57
  11. package/esm2022/lib/aigc/avatar/comp-avatar-role-image/comp-avatar-role-image.component.mjs +10 -98
  12. package/esm2022/lib/aigc/avatar/comp-avatar-role-video/comp-avatar-role-video.component.mjs +10 -107
  13. package/esm2022/lib/aigc/avatar/comp-avatar-talk/comp-avatar-talk.component.mjs +10 -113
  14. package/esm2022/lib/aigc/avatar/index.mjs +10 -8
  15. package/esm2022/lib/aigc/avatar/interface-avatar-role.mjs +10 -2
  16. package/esm2022/lib/aigc/avatar/modal-chat-voice-input/modal-chat-voice-input.component.mjs +8 -164
  17. package/esm2022/lib/aigc/chat/chat-header-area/comp-header-area.component.mjs +10 -49
  18. package/esm2022/lib/aigc/chat/chat-header-area/index.mjs +10 -2
  19. package/esm2022/lib/aigc/chat/chat-list/chat-list.component.mjs +8 -155
  20. package/esm2022/lib/aigc/chat/chat-list/index.mjs +10 -2
  21. package/esm2022/lib/aigc/chat/chat-message-area/comp-message-area.component.mjs +10 -40
  22. package/esm2022/lib/aigc/chat/chat-message-area/index.mjs +10 -2
  23. package/esm2022/lib/aigc/chat/chat-message-card/comp-message-card.component.mjs +10 -140
  24. package/esm2022/lib/aigc/chat/chat-message-card/duration-str.pipe.mjs +10 -29
  25. package/esm2022/lib/aigc/chat/chat-message-card/index.mjs +10 -3
  26. package/esm2022/lib/aigc/chat/chat-modal-input/index.mjs +10 -3
  27. package/esm2022/lib/aigc/chat/chat-modal-input/modal-audio-message/modal-audio-message.component.mjs +8 -193
  28. package/esm2022/lib/aigc/chat/chat-modal-input/modal-input.component.mjs +10 -331
  29. package/esm2022/lib/aigc/chat/chat-panel/chat-panel.component.mjs +8 -249
  30. package/esm2022/lib/aigc/chat/comp-role-prompt/comp-role-prompt.component.mjs +10 -83
  31. package/esm2022/lib/aigc/chat/comp-role-prompt/index.mjs +10 -2
  32. package/esm2022/lib/aigc/chat/index.mjs +10 -8
  33. package/esm2022/lib/aigc/comp-markdown-preview/clipboard.service.mjs +10 -82
  34. package/esm2022/lib/aigc/comp-markdown-preview/markdown-parse.mjs +8 -367
  35. package/esm2022/lib/aigc/comp-markdown-preview/markdown-preview.component.mjs +10 -51
  36. package/esm2022/lib/aigc/comp-markdown-preview/markdown-preview.module.mjs +10 -24
  37. package/esm2022/lib/aigc/comp-markdown-preview/plugins/md-mathjax/index.mjs +10 -115
  38. package/esm2022/lib/aigc/index.mjs +10 -14
  39. package/esm2022/lib/aigc/service-fmai/fmai.service.mjs +10 -21
  40. package/esm2022/lib/aigc/service-fmai/service-chat/chat-class.mjs +10 -2
  41. package/esm2022/lib/aigc/service-fmai/service-chat/chat.service.mjs +8 -174
  42. package/esm2022/lib/aigc/service-fmai/service-chat/index.mjs +10 -7
  43. package/esm2022/lib/aigc/service-fmai/service-chat/mask-list.mjs +9 -194
  44. package/esm2022/lib/aigc/service-fmai/service-chat/pipes/chat-content.pipe.mjs +10 -27
  45. package/esm2022/lib/aigc/service-fmai/service-chat/pipes/hidexml.pipe.mjs +10 -27
  46. package/esm2022/lib/aigc/service-fmai/service-chat/utilnow.pipe.mjs +10 -68
  47. package/esm2022/lib/aigc/service-fmai/service-imagine/imagine-func.mjs +9 -162
  48. package/esm2022/lib/aigc/service-fmai/service-imagine/imagine-work.mjs +10 -68
  49. package/esm2022/lib/aigc/service-fmai/service-imagine/imagine.service.mjs +8 -313
  50. package/esm2022/lib/aigc/service-fmai/service-imagine/index.mjs +10 -4
  51. package/esm2022/lib/aigc/story/fm-office-viewer/fm-office-viewer.component.mjs +10 -62
  52. package/esm2022/lib/aigc/story/fm-story-card/fm-story-card.component.mjs +10 -87
  53. package/esm2022/lib/aigc/story/fm-story-list/fm-story-list.component.mjs +10 -345
  54. package/esm2022/lib/aigc/story/fm-story-list/story-preview.mjs +10 -81
  55. package/esm2022/lib/aigc/story/fm-story-loader/fm-story-loader.component.mjs +10 -152
  56. package/esm2022/lib/aigc/story/fm-story-splitter/fm-story-splitter.component.mjs +10 -42
  57. package/esm2022/lib/aigc/story/index.mjs +10 -6
  58. package/esm2022/lib/aigc/story/modal-chat-story/comp-chat-story-json/comp-chat-story-json.component.mjs +10 -47
  59. package/esm2022/lib/aigc/story/modal-chat-story/comp-diary-story/comp-diary-story.component.mjs +10 -95
  60. package/esm2022/lib/aigc/story/modal-chat-story/modal-chat-story.component.mjs +10 -253
  61. package/esm2022/lib/aigc/story/story.service.mjs +10 -35
  62. package/esm2022/lib/aigc/voice/fmode-voice.service.mjs +10 -636
  63. package/esm2022/lib/aigc/voice/index.mjs +10 -7
  64. package/esm2022/lib/aigc/voice/lib/audio/audio.player.mjs +10 -55
  65. package/esm2022/lib/aigc/voice/lib/audio/audio.streamer.mjs +10 -2
  66. package/esm2022/lib/aigc/voice/lib/audio/streamer.microsoft.mjs +10 -96
  67. package/esm2022/lib/aigc/voice/lib/audio/streamer.pcm.mjs +8 -177
  68. package/esm2022/lib/aigc/voice/lib/pcm2wav.mjs +10 -38
  69. package/esm2022/lib/aigc/voice/lib/recorder/extension-waveview.mjs +10 -215
  70. package/esm2022/lib/aigc/voice/lib/resample.mjs +10 -34
  71. package/esm2022/lib/aigc/voice/tts/fmode-tts-class.mjs +10 -189
  72. package/esm2022/lib/aigc/voice/tts/index.mjs +10 -5
  73. package/esm2022/lib/aigc/voice/tts/int-tts-provider.mjs +10 -2
  74. package/esm2022/lib/aigc/voice/tts/provider-doubao.mjs +8 -346
  75. package/esm2022/lib/code/fm-codemirror/fm-codemirror.component.mjs +8 -342
  76. package/esm2022/lib/code/index.mjs +10 -2
  77. package/esm2022/lib/core/agent/chat/completion/fmode-completion.mjs +8 -430
  78. package/esm2022/lib/core/agent/chat/completion/index.mjs +10 -2
  79. package/esm2022/lib/core/agent/chat/completion/int-gpt-chat-options.mjs +10 -2
  80. package/esm2022/lib/core/agent/chat/fmode-chat.mjs +8 -617
  81. package/esm2022/lib/core/agent/chat/index.mjs +10 -4
  82. package/esm2022/lib/core/agent/chat/interface.mjs +10 -2
  83. package/esm2022/lib/core/agent/index.mjs +10 -6
  84. package/esm2022/lib/core/agent/prompt/agent.prompt.mjs +10 -133
  85. package/esm2022/lib/core/agent/prompt/index.mjs +10 -2
  86. package/esm2022/lib/core/agent/prompt/prompt-util.mjs +10 -16
  87. package/esm2022/lib/core/agent/story/agent.story.mjs +10 -64
  88. package/esm2022/lib/core/agent/story/index.mjs +10 -2
  89. package/esm2022/lib/core/agent/task/agent.task.mjs +10 -90
  90. package/esm2022/lib/core/agent/task/index.mjs +10 -2
  91. package/esm2022/lib/core/agent/waiting/index.mjs +10 -3
  92. package/esm2022/lib/core/agent/waiting/loading/loading.ctrl.mjs +10 -279
  93. package/esm2022/lib/core/agent/waiting/tips/tips.ctrl.mjs +8 -190
  94. package/esm2022/lib/core/index.mjs +10 -4
  95. package/esm2022/lib/core/parse/datatype/acl.mjs +10 -57
  96. package/esm2022/lib/core/parse/datatype/file.mjs +10 -69
  97. package/esm2022/lib/core/parse/datatype/geopoint.mjs +10 -57
  98. package/esm2022/lib/core/parse/datatype/relation.mjs +10 -56
  99. package/esm2022/lib/core/parse/fmode.cloud.mjs +10 -0
  100. package/esm2022/lib/core/parse/fmode.object.mjs +10 -232
  101. package/esm2022/lib/core/parse/fmode.parse.mjs +10 -84
  102. package/esm2022/lib/core/parse/fmode.query.mjs +8 -500
  103. package/esm2022/lib/core/parse/fmode.user.mjs +10 -275
  104. package/esm2022/lib/core/parse/index.mjs +10 -5
  105. package/esm2022/lib/core/parse/types.mjs +10 -2
  106. package/esm2022/lib/core/voice/index.mjs +10 -3
  107. package/esm2022/lib/core/voice/tts/index.mjs +10 -2
  108. package/esm2022/lib/icon/filetype/audio.svg.mjs +10 -3
  109. package/esm2022/lib/icon/filetype/avatar.svg.mjs +10 -14
  110. package/esm2022/lib/icon/filetype/chat.svg.mjs +10 -3
  111. package/esm2022/lib/icon/filetype/docx.svg.mjs +10 -3
  112. package/esm2022/lib/icon/filetype/file.svg.mjs +10 -3
  113. package/esm2022/lib/icon/filetype/filetype.pipe.mjs +10 -57
  114. package/esm2022/lib/icon/filetype/index.mjs +10 -12
  115. package/esm2022/lib/icon/filetype/md.svg.mjs +10 -3
  116. package/esm2022/lib/icon/filetype/pdf.svg.mjs +10 -3
  117. package/esm2022/lib/icon/filetype/pptx.svg.mjs +10 -3
  118. package/esm2022/lib/icon/filetype/svgtoblob.mjs +10 -8
  119. package/esm2022/lib/icon/filetype/video.svg.mjs +10 -3
  120. package/esm2022/lib/icon/filetype/xlsx.svg.mjs +10 -3
  121. package/esm2022/lib/icon/index.mjs +10 -2
  122. package/esm2022/lib/map/comp-poi-picker/comp-poi-picker.component.mjs +10 -209
  123. package/esm2022/lib/map/comp-poi-picker/comp-poi-picker.module.mjs +10 -33
  124. package/esm2022/lib/map/index.mjs +10 -4
  125. package/esm2022/lib/map/map.module.mjs +10 -61
  126. package/esm2022/lib/map/page-loca-scatter/page-loca-scatter.component.mjs +10 -132
  127. package/esm2022/lib/map/page-map.start/page-map.start.component.mjs +8 -115
  128. package/esm2022/lib/map/page-plan-route/page-plan-route.component.mjs +8 -118
  129. package/esm2022/lib/nova-cloud/index.mjs +10 -3
  130. package/esm2022/lib/nova-cloud/ncloud-api-func.mjs +10 -91
  131. package/esm2022/lib/nova-cloud/nova-cloud.service.mjs +10 -53
  132. package/esm2022/lib/payment/index.mjs +10 -2
  133. package/esm2022/lib/payment/payment/payment.component.mjs +10 -543
  134. package/esm2022/lib/payment/payment.service.mjs +10 -202
  135. package/esm2022/lib/person/comp-person-gender-icon/comp-person-gender-icon.component.mjs +10 -48
  136. package/esm2022/lib/person/comp-person-item/comp-person-item.component.mjs +10 -29
  137. package/esm2022/lib/person/comp-person-story/comp-person-story.component.mjs +10 -211
  138. package/esm2022/lib/person/edit-upload/edit-upload.component.mjs +8 -412
  139. package/esm2022/lib/person/edit-upload/edit-upload.module.mjs +10 -50
  140. package/esm2022/lib/person/index.mjs +10 -5
  141. package/esm2022/lib/person/modal-person-select/modal-person-select.component.mjs +10 -144
  142. package/esm2022/lib/person/modal-user-verify/secret-text.pipe.mjs +10 -41
  143. package/esm2022/lib/person/modal-user-verify/user-verify.component.mjs +10 -595
  144. package/esm2022/lib/person/person-detail/person-detail.component.mjs +10 -172
  145. package/esm2022/lib/person/person.service.mjs +8 -193
  146. package/esm2022/lib/platform/cross.service.mjs +10 -62
  147. package/esm2022/lib/platform/index.mjs +10 -2
  148. package/esm2022/lib/social/index.mjs +10 -2
  149. package/esm2022/lib/social/wechat/wechat-jssdk.service.mjs +8 -230
  150. package/esm2022/lib/storage/comp-hwobs-manager/hwobs-manager.component.mjs +10 -59
  151. package/esm2022/lib/storage/index.mjs +10 -5
  152. package/esm2022/lib/storage/service-hwobs/hwobs.service.mjs +8 -131
  153. package/esm2022/lib/storage/service-hwobs/index.mjs +10 -3
  154. package/esm2022/lib/storage/service-hwobs/typings/esdk-obs-browser.mjs +1 -1
  155. package/esm2022/lib/storage/service-upload/index.mjs +10 -2
  156. package/esm2022/lib/storage/service-upload/nova-upload.service.mjs +8 -513
  157. package/esm2022/lib/storage/service-upload/util-file-md5.mjs +10 -28
  158. package/esm2022/lib/storage/service-upload/util-file-metadata.mjs +10 -93
  159. package/esm2022/lib/storage/storage.module.mjs +10 -42
  160. package/esm2022/lib/text/fm-article-editor/article-editor-topbar/article-editor-topbar.component.mjs +10 -72
  161. package/esm2022/lib/text/fm-article-editor/article.service.mjs +10 -237
  162. package/esm2022/lib/text/fm-article-editor/comp-upload-book-banners/comp-upload-book-banners.component.mjs +8 -72
  163. package/esm2022/lib/text/fm-article-editor/draft.service.mjs +10 -207
  164. package/esm2022/lib/text/fm-article-editor/fm-article-aitool/fm-article-aitool.component.mjs +8 -227
  165. package/esm2022/lib/text/fm-article-editor/fm-article-draft/fm-article-draft.component.mjs +10 -303
  166. package/esm2022/lib/text/fm-article-editor/fm-article-editor.component.mjs +8 -371
  167. package/esm2022/lib/text/fm-article-editor/fm-article-outline/fm-article-outline.component.mjs +10 -94
  168. package/esm2022/lib/text/fm-article-editor/fm-article-outline-leftitem/fm-article-outline-leftitem.component.mjs +10 -36
  169. package/esm2022/lib/text/fm-article-editor/fm-article-preview/fm-article-preview.component.mjs +10 -281
  170. package/esm2022/lib/text/fm-article-editor/fm-article-write-options/fm-article-write-options.component.mjs +10 -72
  171. package/esm2022/lib/text/fm-article-editor/outline-count.pipe.mjs +10 -22
  172. package/esm2022/lib/text/fm-article-editor/prompt/prompt-insertion-article.mjs +10 -169
  173. package/esm2022/lib/text/fm-article-editor/task-article-generation.mjs +10 -69
  174. package/esm2022/lib/text/fm-article-editor/tasks/task-article-draft-create.mjs +10 -65
  175. package/esm2022/lib/text/fm-article-editor/tasks/task-article-outline-edit.mjs +10 -55
  176. package/esm2022/lib/text/fm-article-editor/tasks/task-article-outline.mjs +10 -142
  177. package/esm2022/lib/text/fm-article-editor/tasks/task-article-preview.mjs +10 -35
  178. package/esm2022/lib/text/fm-article-editor/tasks/task-article-writing-options.mjs +10 -81
  179. package/esm2022/lib/text/fm-article-editor/tasks/task-document-select.mjs +10 -50
  180. package/esm2022/lib/text/fm-text-quill/fm-text-quill.component.mjs +10 -145
  181. package/esm2022/lib/text/index.mjs +10 -4
  182. package/esm2022/lib/user/account/account.service.mjs +10 -222
  183. package/esm2022/lib/user/captcha/captcha.component.mjs +10 -135
  184. package/esm2022/lib/user/comp-user-avatar/comp-user-avatar.component.mjs +10 -66
  185. package/esm2022/lib/user/index.mjs +10 -17
  186. package/esm2022/lib/user/login/auth.guard.mjs +10 -28
  187. package/esm2022/lib/user/login/auth.service.mjs +8 -433
  188. package/esm2022/lib/user/login/login.component.mjs +10 -916
  189. package/esm2022/lib/user/modal-user-login/modal-user-login.component.mjs +10 -311
  190. package/esm2022/lib/user/profile/auth-profile.guard.mjs +10 -27
  191. package/esm2022/lib/user/profile/auth-profile.service.mjs +10 -122
  192. package/esm2022/lib/user/profile/profile-bind/profile-bind.component.mjs +10 -164
  193. package/esm2022/lib/user/profile/profile-bind/profile-confirm-modal.component.mjs +10 -79
  194. package/esm2022/lib/user/profile/profile.module.mjs +10 -54
  195. package/esm2022/lib/user/staff/index.mjs +10 -4
  196. package/esm2022/lib/user/staff/staff.guard.mjs +10 -26
  197. package/esm2022/lib/user/staff/staff.module.mjs +10 -18
  198. package/esm2022/lib/user/staff/staff.service.mjs +10 -85
  199. package/esm2022/lib/user/user-name.pipe.mjs +10 -29
  200. package/esm2022/lib/user/user.module.mjs +10 -102
  201. package/esm2022/lib/video/fm-video/fm-video.component.mjs +10 -67
  202. package/esm2022/lib/video/index.mjs +10 -2
  203. package/esm2022/public-api.mjs +10 -21
  204. package/fesm2022/fmode-ng.mjs +7 -19788
  205. package/fesm2022/fmode-ng.mjs.map +1 -1
  206. package/lib/aigc/avatar/comp-avatar-role-image/comp-avatar-role-image.component.d.ts +2 -2
  207. package/lib/aigc/avatar/comp-avatar-role-video/comp-avatar-role-video.component.d.ts +2 -2
  208. package/lib/aigc/avatar/comp-avatar-talk/comp-avatar-talk.component.d.ts +2 -2
  209. package/lib/aigc/chat/chat-list/chat-list.component.d.ts +3 -2
  210. package/lib/aigc/chat/chat-message-card/comp-message-card.component.d.ts +3 -3
  211. package/lib/aigc/chat/chat-modal-input/modal-audio-message/modal-audio-message.component.d.ts +2 -2
  212. package/lib/aigc/chat/chat-modal-input/modal-input.component.d.ts +3 -3
  213. package/lib/aigc/service-fmai/service-imagine/imagine-func.d.ts +3 -3
  214. package/lib/aigc/service-fmai/service-imagine/imagine-work.d.ts +4 -4
  215. package/lib/aigc/service-fmai/service-imagine/imagine.service.d.ts +6 -6
  216. package/lib/aigc/story/fm-office-viewer/fm-office-viewer.component.d.ts +2 -2
  217. package/lib/aigc/story/fm-story-card/fm-story-card.component.d.ts +2 -1
  218. package/lib/aigc/story/fm-story-list/fm-story-list.component.d.ts +6 -6
  219. package/lib/aigc/story/fm-story-list/story-preview.d.ts +4 -4
  220. package/lib/aigc/story/fm-story-loader/fm-story-loader.component.d.ts +3 -3
  221. package/lib/aigc/story/fm-story-splitter/fm-story-splitter.component.d.ts +2 -2
  222. package/lib/aigc/story/modal-chat-story/comp-chat-story-json/comp-chat-story-json.component.d.ts +3 -2
  223. package/lib/aigc/story/modal-chat-story/comp-diary-story/comp-diary-story.component.d.ts +3 -2
  224. package/lib/aigc/story/modal-chat-story/modal-chat-story.component.d.ts +6 -6
  225. package/lib/aigc/story/story.service.d.ts +3 -2
  226. package/lib/aigc/voice/tts/fmode-tts-class.d.ts +2 -2
  227. package/lib/core/agent/chat/fmode-chat.d.ts +11 -11
  228. package/lib/core/agent/story/agent.story.d.ts +8 -8
  229. package/lib/core/parse/datatype/geopoint.d.ts +5 -1
  230. package/lib/core/parse/fmode.cloud.d.ts +32 -0
  231. package/lib/core/parse/fmode.object.d.ts +2 -2
  232. package/lib/core/parse/fmode.parse.d.ts +15 -9
  233. package/lib/core/parse/fmode.query.d.ts +41 -2
  234. package/lib/core/parse/fmode.user.d.ts +1 -0
  235. package/lib/core/parse/index.d.ts +1 -0
  236. package/lib/core/parse/types.d.ts +2 -0
  237. package/lib/map/comp-poi-picker/comp-poi-picker.component.d.ts +5 -5
  238. package/lib/payment/payment/payment.component.d.ts +3 -3
  239. package/lib/payment/payment.service.d.ts +4 -4
  240. package/lib/person/comp-person-gender-icon/comp-person-gender-icon.component.d.ts +2 -1
  241. package/lib/person/comp-person-item/comp-person-item.component.d.ts +2 -1
  242. package/lib/person/comp-person-story/comp-person-story.component.d.ts +13 -13
  243. package/lib/person/edit-upload/edit-upload.component.d.ts +1 -1
  244. package/lib/person/modal-person-select/modal-person-select.component.d.ts +5 -5
  245. package/lib/person/modal-user-verify/user-verify.component.d.ts +5 -5
  246. package/lib/person/person-detail/person-detail.component.d.ts +4 -4
  247. package/lib/person/person.service.d.ts +7 -7
  248. package/lib/storage/service-hwobs/hwobs.service.d.ts +4 -5
  249. package/lib/storage/service-upload/nova-upload.service.d.ts +5 -5
  250. package/lib/text/fm-article-editor/article-editor-topbar/article-editor-topbar.component.d.ts +2 -1
  251. package/lib/text/fm-article-editor/article.service.d.ts +12 -12
  252. package/lib/text/fm-article-editor/draft.service.d.ts +5 -5
  253. package/lib/text/fm-article-editor/fm-article-aitool/fm-article-aitool.component.d.ts +3 -2
  254. package/lib/text/fm-article-editor/fm-article-draft/fm-article-draft.component.d.ts +16 -17
  255. package/lib/text/fm-article-editor/fm-article-editor.component.d.ts +3 -3
  256. package/lib/text/fm-article-editor/fm-article-outline/fm-article-outline.component.d.ts +11 -10
  257. package/lib/text/fm-article-editor/fm-article-preview/fm-article-preview.component.d.ts +2 -2
  258. package/lib/text/fm-article-editor/prompt/prompt-insertion-article.d.ts +3 -3
  259. package/lib/text/fm-article-editor/task-article-generation.d.ts +5 -4
  260. package/lib/text/fm-article-editor/tasks/task-article-draft-create.d.ts +3 -3
  261. package/lib/text/fm-article-editor/tasks/task-article-outline-edit.d.ts +3 -3
  262. package/lib/text/fm-article-editor/tasks/task-article-outline.d.ts +3 -3
  263. package/lib/text/fm-article-editor/tasks/task-article-preview.d.ts +2 -1
  264. package/lib/text/fm-article-editor/tasks/task-article-writing-options.d.ts +3 -3
  265. package/lib/text/fm-article-editor/tasks/task-document-select.d.ts +3 -3
  266. package/lib/user/account/account.service.d.ts +2 -2
  267. package/lib/user/comp-user-avatar/comp-user-avatar.component.d.ts +2 -2
  268. package/lib/user/login/auth.service.d.ts +5 -5
  269. package/lib/user/login/login.component.d.ts +3 -3
  270. package/lib/user/profile/auth-profile.service.d.ts +8 -8
  271. package/lib/user/profile/profile-bind/profile-bind.component.d.ts +7 -7
  272. package/lib/user/profile/profile-bind/profile-confirm-modal.component.d.ts +2 -2
  273. package/lib/user/staff/staff.service.d.ts +3 -3
  274. package/lib/user/user-name.pipe.d.ts +2 -2
  275. package/package.json +12 -18
@@ -1,24 +1,10 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { MarkdownPreviewComponent } from './markdown-preview.component';
4
- import * as i0 from "@angular/core";
5
- export class MarkdownPreviewModule {
6
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MarkdownPreviewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: MarkdownPreviewModule, declarations: [MarkdownPreviewComponent], imports: [CommonModule], exports: [MarkdownPreviewComponent] }); }
8
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MarkdownPreviewModule, imports: [CommonModule] }); }
9
- }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MarkdownPreviewModule, decorators: [{
11
- type: NgModule,
12
- args: [{
13
- declarations: [
14
- MarkdownPreviewComponent
15
- ],
16
- imports: [
17
- CommonModule,
18
- ],
19
- exports: [
20
- MarkdownPreviewComponent
21
- ]
22
- }]
23
- }] });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24tcHJldmlldy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mbW9kZS1uZy9zcmMvbGliL2FpZ2MvY29tcC1tYXJrZG93bi1wcmV2aWV3L21hcmtkb3duLXByZXZpZXcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDOztBQWN4RSxNQUFNLE9BQU8scUJBQXFCOytHQUFyQixxQkFBcUI7Z0hBQXJCLHFCQUFxQixpQkFUOUIsd0JBQXdCLGFBR3hCLFlBQVksYUFHWix3QkFBd0I7Z0hBR2YscUJBQXFCLFlBTjlCLFlBQVk7OzRGQU1ILHFCQUFxQjtrQkFYakMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osd0JBQXdCO3FCQUN6QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTtxQkFDYjtvQkFDRCxPQUFPLEVBQUM7d0JBQ04sd0JBQXdCO3FCQUN6QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE1hcmtkb3duUHJldmlld0NvbXBvbmVudCB9IGZyb20gJy4vbWFya2Rvd24tcHJldmlldy5jb21wb25lbnQnO1xyXG5cclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBNYXJrZG93blByZXZpZXdDb21wb25lbnRcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICBdLFxyXG4gIGV4cG9ydHM6W1xyXG4gICAgTWFya2Rvd25QcmV2aWV3Q29tcG9uZW50XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWFya2Rvd25QcmV2aWV3TW9kdWxlIHsgfVxyXG4iXX0=
1
+
2
+ /**
3
+ * @copyright © 未来飞马 © 未来全栈 www.fmode.cn
4
+ * 版权所有 © 未来飞马 © 江西脑控科技有限公司 Copyright © Fmode Technology Co., Ltd.
5
+ * 保留所有权利 All Rights Reserved.
6
+ * /home/ryan/workspace/nova/nova-admin/dist/fmode-ng/esm2022/lib/aigc/comp-markdown-preview/markdown-preview.module.mjs
7
+ */
8
+ import{NgModule}from"@angular/core";import{CommonModule}from"@angular/common";import{MarkdownPreviewComponent}from"./markdown-preview.component";import*as i0 from"@angular/core";export class MarkdownPreviewModule{static{this.ɵfac=i0.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"17.3.12",ngImport:i0,type:MarkdownPreviewModule,deps:[],target:i0.ɵɵFactoryTarget.NgModule})}static{this.ɵmod=i0.ɵɵngDeclareNgModule({minVersion:"14.0.0",version:"17.3.12",ngImport:i0,type:MarkdownPreviewModule,declarations:[MarkdownPreviewComponent],imports:[CommonModule],exports:[MarkdownPreviewComponent]})}static{this.ɵinj=i0.ɵɵngDeclareInjector({minVersion:"12.0.0",version:"17.3.12",ngImport:i0,type:MarkdownPreviewModule,imports:[CommonModule]})}}i0.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"17.3.12",ngImport:i0,type:MarkdownPreviewModule,decorators:[{type:NgModule,args:[{declarations:[MarkdownPreviewComponent],imports:[CommonModule],exports:[MarkdownPreviewComponent]}]}]});
9
+ var MODULE_PATH_NEED = `6K+l5paH5Lu25piv5pys6aG555uu55qE5LiA6YOo5YiGIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBDb21wb25lbnRzIGluIEZtb2RlIEluYy4KICAgIOeJiOadg+aJgOaciSDCqSDmnKrmnaXpo57pqawgwqkg5rGf6KW/6ISR5o6n56eR5oqA5pyJ6ZmQ5YWs5Y+4IENvcHlyaWdodCDCqSBGbW9kZSBUZWNobm9sb2d5IENvLiwgTHRkLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICDkuKXnpoHlnKjmnKrnu4/mjojmnYPnmoTmg4XlhrXkuIvvvIzpgJrov4fku7vkvZXlqpLku4vlpI3liLbmraTmlofku7YgVW5hdXRob3JpemVkIGNvcHlpbmcgb2YgdGhpcyBmaWxlLCB2aWEgYW55IG1lZGl1bSBpcyBzdHJpY3RseSBwcm9oaWJpdGVkCiAgICDor6Xmlofku7bmmK/kuJPmnInnmoTmnLrlr4bmlofku7YgUHJvcHJpZXRhcnkgYW5kIGNvbmZpZGVudGlhbAogICAKICAgIENvcHlyaWdodCAyMDIxLW5vdyBGbW9kZSBJbmMuIHN1cHBvcnRAZm1vZGUuY24uIDE4NjA3MDA3MDczLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogICAgUEFUSDovaG9tZS9yeWFuL3dvcmtzcGFjZS9ub3ZhL25vdmEtYWRtaW4vZGlzdC9mbW9kZS1uZy9lc20yMDIyL2xpYi9haWdjL2NvbXAtbWFya2Rvd24tcHJldmlldy9tYXJrZG93bi1wcmV2aWV3Lm1vZHVsZS5tanM=`
10
+
@@ -1,115 +1,10 @@
1
- import { mathjax } from "mathjax-full/js/mathjax";
2
- import { TeX } from "mathjax-full/js/input/tex";
3
- import { SVG } from "mathjax-full/js/output/svg";
4
- import { CHTML } from "mathjax-full/js/output/chtml";
5
- import { AllPackages } from "mathjax-full/js/input/tex/AllPackages";
6
- import { liteAdaptor } from "mathjax-full/js/adaptors/liteAdaptor";
7
- import { RegisterHTMLHandler } from "mathjax-full/js/handlers/html";
8
- // import { mathjax } from "mathjax-full";
9
- // import { TeX } from "mathjax-full";
10
- // import { SVG } from "mathjax-full";
11
- // import { CHTML } from "mathjax-full";
12
- // import { AllPackages } from "mathjax-full";
13
- // import { liteAdaptor } from "mathjax-full";
14
- // import { RegisterHTMLHandler } from "mathjax-full";
15
- export class MarkdownMathJax {
16
- constructor(options) {
17
- this.options = options;
18
- this.adaptor = liteAdaptor();
19
- RegisterHTMLHandler(this.adaptor);
20
- }
21
- text_to_mathjax(math, options) {
22
- if (!math?.length)
23
- return "";
24
- if (!math?.replace)
25
- return "";
26
- options = options || this.options;
27
- let output = new SVG({ fontCache: 'local' });
28
- if (options?.output == "chtml") {
29
- output = new CHTML();
30
- }
31
- // 设置输入输出参数
32
- const mathjax_document = mathjax.document('', {
33
- skipHtmlTags: [
34
- 'script', "noscript", 'style', "textarea", "pre", "code", "annotation", "annotation-xml"
35
- ],
36
- InputJax: new TeX({
37
- // displayMath: [['\$\$', '\$\$'], ['\\\[', '\\\]']],
38
- // inlineMath: [['\$', '\$'],['\\\(', '\\\)']],
39
- processEscapes: true,
40
- packages: AllPackages,
41
- }),
42
- OutputJax: output
43
- });
44
- const mathjax_options = {
45
- em: 16,
46
- ex: 8,
47
- containerWidth: 1280
48
- };
49
- // Preprocess the input to handle inline and block math separately
50
- let regxList = [
51
- /\$\$\ (.+?)\ \$\$/g, // 匹配$$\ \ $$
52
- /\$\$(.+?)\$\$/g, // 匹配$$ $$
53
- /\$\$\n(.+?)\n\$\$/g, // 匹配$$\n \n$$
54
- /\$(.+?)\$/g, // 匹配$ $
55
- /\\\((.+?)\\\)/g, // 匹配\()
56
- /\\\[(.+?)\\\]/g // 匹配\[]
57
- ];
58
- regxList.forEach(regx => {
59
- math = math
60
- .replace(regx, (match, p1) => {
61
- console.log(regx, match, p1);
62
- // Inline math
63
- let node;
64
- try {
65
- node = mathjax_document.convert(`${p1}`, mathjax_options);
66
- }
67
- catch (errReplace) { }
68
- if (node) {
69
- let nodeHtml = `<span class="mathjax raw" style="margin-left:10px;margin-right:10px;">${this.adaptor.innerHTML(node)}</span>`;
70
- return nodeHtml;
71
- }
72
- else {
73
- return p1;
74
- }
75
- });
76
- });
77
- return math;
78
- // math
79
- // .replace(/\$\$\ (.+?)\ \$\$/g, (match, p1) => {
80
- // // Inline math
81
- // let node = mathjax_document.convert(`${p1}`, mathjax_options) as any;
82
- // return this.adaptor.innerHTML(node);
83
- // })
84
- // .replace(/\$\$(.+?)\$\$/g, (match, p1) => {
85
- // // Inline math
86
- // let node = mathjax_document.convert(`${p1}`, mathjax_options) as any;
87
- // return this.adaptor.innerHTML(node);
88
- // })
89
- // .replace(/\$\$\n(.+?)\n\$\$/g, (match, p1) => {
90
- // // Inline math
91
- // let node = mathjax_document.convert(`${p1}`, mathjax_options) as any;
92
- // return this.adaptor.innerHTML(node);
93
- // })
94
- // .replace(/\$(.+?)\$/g, (match, p1) => {
95
- // // Inline math
96
- // let node = mathjax_document.convert(`${p1}`, mathjax_options) as any;
97
- // return this.adaptor.innerHTML(node);
98
- // })
99
- // .replace(/\\\((.+?)\\\)/g, (match, p1) => {
100
- // // Inline math
101
- // let node = mathjax_document.convert(`${p1}`, mathjax_options) as any;
102
- // return this.adaptor.innerHTML(node);
103
- // })
104
- // .replace(/\\\[(.+?)\\\]/g, (match, p1) => {
105
- // // Inline math
106
- // let node = mathjax_document.convert(`${p1}`, mathjax_options) as any;
107
- // return this.adaptor.innerHTML(node);
108
- // })
109
- // return processedMath;
110
- // 内置Tex内容筛选(不如正则准确)
111
- // let node:any = mathjax_document.convert(math,mathjax_options) as any;
112
- // return adaptor.innerHTML(node);
113
- }
114
- }
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mbW9kZS1uZy9zcmMvbGliL2FpZ2MvY29tcC1tYXJrZG93bi1wcmV2aWV3L3BsdWdpbnMvbWQtbWF0aGpheC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDckQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUVwRSwwQ0FBMEM7QUFDMUMsc0NBQXNDO0FBQ3RDLHNDQUFzQztBQUN0Qyx3Q0FBd0M7QUFDeEMsOENBQThDO0FBQzlDLDhDQUE4QztBQUM5QyxzREFBc0Q7QUFFdEQsTUFBTSxPQUFPLGVBQWU7SUFJeEIsWUFBWSxPQUFZO1FBQ3BCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcsV0FBVyxFQUFFLENBQUM7UUFDN0IsbUJBQW1CLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFDRCxlQUFlLENBQUMsSUFBUSxFQUFDLE9BQVk7UUFDakMsSUFBRyxDQUFDLElBQUksRUFBRSxNQUFNO1lBQUUsT0FBTyxFQUFFLENBQUE7UUFDM0IsSUFBRyxDQUFDLElBQUksRUFBRSxPQUFPO1lBQUUsT0FBTyxFQUFFLENBQUE7UUFDNUIsT0FBTyxHQUFHLE9B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O0lBQ3RDLENBQUM7Q0FFSiIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5cclxuaW1wb3J0IHsgbWF0aGpheCB9IGZyb20gXCJtYXRoamF4LWZ1bGwvanMvbWF0aGpheFwiO1xyXG5pbXBvcnQgeyBUZVggfSBmcm9tIFwibWF0aGpheC1mdWxsL2pzL2lucHV0L3RleFwiO1xyXG5pbXBvcnQgeyBTVkcgfSBmcm9tIFwibWF0aGpheC1mdWxsL2pzL291dHB1dC9zdmdcIjtcclxuaW1wb3J0IHsgQ0hUTUwgfSBmcm9tIFwibWF0aGpheC1mdWxsL2pzL291dHB1dC9jaHRtbFwiO1xyXG5pbXBvcnQgeyBBbGxQYWNrYWdlcyB9IGZyb20gXCJtYXRoamF4LWZ1bGwvanMvaW5wdXQvdGV4L0FsbFBhY2thZ2VzXCI7XHJcbmltcG9ydCB7IGxpdGVBZGFwdG9yIH0gZnJvbSBcIm1hdGhqYXgtZnVsbC9qcy9hZGFwdG9ycy9saXRlQWRhcHRvclwiO1xyXG5pbXBvcnQgeyBSZWdpc3RlckhUTUxIYW5kbGVyIH0gZnJvbSBcIm1hdGhqYXgtZnVsbC9qcy9oYW5kbGVycy9odG1sXCI7XHJcblxyXG4vLyBpbXBvcnQgeyBtYXRoamF4IH0gZnJvbSBcIm1hdGhqYXgtZnVsbFwiO1xyXG4vLyBpbXBvcnQgeyBUZVggfSBmcm9tIFwibWF0aGpheC1mdWxsXCI7XHJcbi8vIGltcG9ydCB7IFNWRyB9IGZyb20gXCJtYXRoamF4LWZ1bGxcIjtcclxuLy8gaW1wb3J0IHsgQ0hUTUwgfSBmcm9tIFwibWF0aGpheC1mdWxsXCI7XHJcbi8vIGltcG9ydCB7IEFsbFBhY2thZ2VzIH0gZnJvbSBcIm1hdGhqYXgtZnVsbFwiO1xyXG4vLyBpbXBvcnQgeyBsaXRlQWRhcHRvciB9IGZyb20gXCJtYXRoamF4LWZ1bGxcIjtcclxuLy8gaW1wb3J0IHsgUmVnaXN0ZXJIVE1MSGFuZGxlciB9IGZyb20gXCJtYXRoamF4LWZ1bGxcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBNYXJrZG93bk1hdGhKYXh7XHJcblxyXG4gICAgb3B0aW9uczphbnlcclxuICAgIGFkYXB0b3I6YW55XHJcbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zPzphbnkpe1xyXG4gICAgICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XHJcbiAgICAgICAgdGhpcy5hZGFwdG9yID0gbGl0ZUFkYXB0b3IoKTtcclxuICAgICAgICBSZWdpc3RlckhUTUxIYW5kbGVyKHRoaXMuYWRhcHRvcik7XHJcbiAgICB9XHJcbiAgICB0ZXh0X3RvX21hdGhqYXgobWF0aDphbnksb3B0aW9ucz86YW55KTphbnl7XHJcbiAgICAgICAgaWYoIW1hdGg/Lmxlbmd0aCkgcmV0dXJuIFwiXCJcclxuICAgICAgICBpZighbWF0aD8ucmVwbGFjZSkgcmV0dXJuIFwiXCJcclxuICAgICAgICBvcHRpb25zID0gb3B0aW9ucyB8fCB0aGlzLm9wdGlvbnNcclxuICAgICAgICBsZXQgb3V0cHV0OmFueSA9IG5ldyBTVkcoe2ZvbnRDYWNoZTonbG9jYWwnfSk7XHJcbiAgICAgICAgaWYob3B0aW9ucz8ub3V0cHV0PT1cImNodG1sXCIpe1xyXG4gICAgICAgIG91dHB1dCA9IG5ldyBDSFRNTCgpXHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIOiuvue9rui+k+WFpei+k+WHuuWPguaVsFxyXG4gICAgICAgIGNvbnN0IG1hdGhqYXhfZG9jdW1lbnQ6YW55ID0gbWF0aGpheC5kb2N1bWVudCgnJyx7XHJcbiAgICAgICAgc2tpcEh0bWxUYWdzOltcclxuICAgICAgICAgICAgJ3NjcmlwdCcsXCJub3NjcmlwdFwiLCdzdHlsZScsXCJ0ZXh0YXJlYVwiLFwicHJlXCIsXCJjb2RlXCIsXCJhbm5vdGF0aW9uXCIsXCJhbm5vdGF0aW9uLXhtbFwiXHJcbiAgICAgICAgXSxcclxuICAgICAgICBJbnB1dEpheDpuZXcgVGVYKHtcclxuICAgICAgICAgICAgLy8gZGlzcGxheU1hdGg6IFtbJ1xcJFxcJCcsICdcXCRcXCQnXSwgWydcXFxcXFxbJywgJ1xcXFxcXF0nXV0sXHJcbiAgICAgICAgICAgIC8vIGlubGluZU1hdGg6IFtbJ1xcJCcsICdcXCQnXSxbJ1xcXFxcXCgnLCAnXFxcXFxcKSddXSxcclxuICAgICAgICAgICAgcHJvY2Vzc0VzY2FwZXM6IHRydWUsXHJcbiAgICAgICAgICAgIHBhY2thZ2VzOkFsbFBhY2thZ2VzLFxyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIE91dHB1dEpheDpvdXRwdXRcclxuICAgICAgICB9KVxyXG4gICAgICAgIGNvbnN0IG1hdGhqYXhfb3B0aW9ucyA9IHtcclxuICAgICAgICBlbToxNixcclxuICAgICAgICBleDo4LFxyXG4gICAgICAgIGNvbnRhaW5lcldpZHRoOjEyODBcclxuICAgICAgICB9XHJcbiAgICBcclxuICAgICAgICAvLyBQcmVwcm9jZXNzIHRoZSBpbnB1dCB0byBoYW5kbGUgaW5saW5lIGFuZCBibG9jayBtYXRoIHNlcGFyYXRlbHlcclxuICAgICAgICBsZXQgcmVneExpc3QgPSBbXHJcbiAgICAgICAgICAgIC9cXCRcXCRcXCAoLis/KVxcIFxcJFxcJC9nLCAvLyDljLnphY0kJFxcIFxcICQkXHJcbiAgICAgICAgICAgIC9cXCRcXCQoLis/KVxcJFxcJC9nLCAvLyDljLnphY0kJCAkJFxyXG4gICAgICAgICAgICAvXFwkXFwkXFxuKC4rPylcXG5cXCRcXCQvZywgLy8g5Yy56YWNJCRcXG4gXFxuJCRcclxuICAgICAgICAgICAgL1xcJCguKz8pXFwkL2csIC8vIOWMuemFjSQgJFxyXG4gICAgICAgICAgICAvXFxcXFxcKCguKz8pXFxcXFxcKS9nLCAvLyDljLnphY1cXCgpXHJcbiAgICAgICAgICAgIC9cXFxcXFxbKC4rPylcXFxcXFxdL2cgLy8g5Yy56YWNXFxbXVxyXG4gICAgICAgIF1cclxuICAgICAgICByZWd4TGlzdC5mb3JFYWNoKHJlZ3g9PntcclxuICAgICAgICAgICAgbWF0aCA9IG1hdGhcclxuICAgICAgICAgICAgLnJlcGxhY2UocmVneCwgKG1hdGNoLCBwMSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2cocmVneCxtYXRjaCxwMSlcclxuICAgICAgICAgICAgLy8gSW5saW5lIG1hdGhcclxuICAgICAgICAgICAgbGV0IG5vZGVcclxuICAgICAgICAgICAgdHJ5e1xyXG4gICAgICAgICAgICAgICAgbm9kZSA9IG1hdGhqYXhfZG9jdW1lbnQuY29udmVydChgJHtwMX1gLCBtYXRoamF4X29wdGlvbnMpIGFzIGFueTtcclxuICAgICAgICAgICAgfWNhdGNoKGVyclJlcGxhY2Upe31cclxuICAgICAgICAgICAgaWYobm9kZSl7XHJcbiAgICAgICAgICAgICAgICBsZXQgbm9kZUh0bWwgPSBgPHNwYW4gY2xhc3M9XCJtYXRoamF4IHJhd1wiIHN0eWxlPVwibWFyZ2luLWxlZnQ6MTBweDttYXJnaW4tcmlnaHQ6MTBweDtcIj4ke3RoaXMuYWRhcHRvci5pbm5lckhUTUwobm9kZSl9PC9zcGFuPmBcclxuICAgICAgICAgICAgICAgIHJldHVybiBub2RlSHRtbDtcclxuICAgICAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gcDFcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgcmV0dXJuICBtYXRoXHJcbiAgICAgICAgLy8gbWF0aFxyXG4gICAgICAgIC8vIC5yZXBsYWNlKC9cXCRcXCRcXCAoLis/KVxcIFxcJFxcJC9nLCAobWF0Y2gsIHAxKSA9PiB7XHJcbiAgICAgICAgLy8gLy8gSW5saW5lIG1hdGhcclxuICAgICAgICAvLyBsZXQgbm9kZSA9IG1hdGhqYXhfZG9jdW1lbnQuY29udmVydChgJHtwMX1gLCBtYXRoamF4X29wdGlvbnMpIGFzIGFueTtcclxuICAgICAgICAvLyByZXR1cm4gdGhpcy5hZGFwdG9yLmlubmVySFRNTChub2RlKTtcclxuICAgICAgICAvLyB9KVxyXG4gICAgICAgIC8vIC5yZXBsYWNlKC9cXCRcXCQoLis/KVxcJFxcJC9nLCAobWF0Y2gsIHAxKSA9PiB7XHJcbiAgICAgICAgLy8gICAgIC8vIElubGluZSBtYXRoXHJcbiAgICAgICAgLy8gICAgIGxldCBub2RlID0gbWF0aGpheF9kb2N1bWVudC5jb252ZXJ0KGAke3AxfWAsIG1hdGhqYXhfb3B0aW9ucykgYXMgYW55O1xyXG4gICAgICAgIC8vICAgICByZXR1cm4gdGhpcy5hZGFwdG9yLmlubmVySFRNTChub2RlKTtcclxuICAgICAgICAvLyB9KVxyXG4gICAgICAgIC8vIC5yZXBsYWNlKC9cXCRcXCRcXG4oLis/KVxcblxcJFxcJC9nLCAobWF0Y2gsIHAxKSA9PiB7XHJcbiAgICAgICAgLy8gICAgIC8vIElubGluZSBtYXRoXHJcbiAgICAgICAgLy8gICAgIGxldCBub2RlID0gbWF0aGpheF9kb2N1bWVudC5jb252ZXJ0KGAke3AxfWAsIG1hdGhqYXhfb3B0aW9ucykgYXMgYW55O1xyXG4gICAgICAgIC8vICAgICByZXR1cm4gdGhpcy5hZGFwdG9yLmlubmVySFRNTChub2RlKTtcclxuICAgICAgICAvLyB9KVxyXG4gICAgICAgIC8vIC5yZXBsYWNlKC9cXCQoLis/KVxcJC9nLCAobWF0Y2gsIHAxKSA9PiB7XHJcbiAgICAgICAgLy8gICAgIC8vIElubGluZSBtYXRoXHJcbiAgICAgICAgLy8gICAgIGxldCBub2RlID0gbWF0aGpheF9kb2N1bWVudC5jb252ZXJ0KGAke3AxfWAsIG1hdGhqYXhfb3B0aW9ucykgYXMgYW55O1xyXG4gICAgICAgIC8vICAgICByZXR1cm4gdGhpcy5hZGFwdG9yLmlubmVySFRNTChub2RlKTtcclxuICAgICAgICAvLyB9KVxyXG4gICAgICAgIC8vIC5yZXBsYWNlKC9cXFxcXFwoKC4rPylcXFxcXFwpL2csIChtYXRjaCwgcDEpID0+IHtcclxuICAgICAgICAvLyAgICAgLy8gSW5saW5lIG1hdGhcclxuICAgICAgICAvLyAgICAgbGV0IG5vZGUgPSBtYXRoamF4X2RvY3VtZW50LmNvbnZlcnQoYCR7cDF9YCwgbWF0aGpheF9vcHRpb25zKSBhcyBhbnk7XHJcbiAgICAgICAgLy8gICAgIHJldHVybiB0aGlzLmFkYXB0b3IuaW5uZXJIVE1MKG5vZGUpO1xyXG4gICAgICAgIC8vIH0pXHJcbiAgICAgICAgLy8gLnJlcGxhY2UoL1xcXFxcXFsoLis/KVxcXFxcXF0vZywgKG1hdGNoLCBwMSkgPT4ge1xyXG4gICAgICAgIC8vICAgICAvLyBJbmxpbmUgbWF0aFxyXG4gICAgICAgIC8vICAgICBsZXQgbm9kZSA9IG1hdGhqYXhfZG9jdW1lbnQuY29udmVydChgJHtwMX1gLCBtYXRoamF4X29wdGlvbnMpIGFzIGFueTtcclxuICAgICAgICAvLyAgICAgcmV0dXJuIHRoaXMuYWRhcHRvci5pbm5lckhUTUwobm9kZSk7XHJcbiAgICAgICAgLy8gfSlcclxuICAgICAgICAvLyByZXR1cm4gcHJvY2Vzc2VkTWF0aDtcclxuICAgICAgICBcclxuICAgICAgICAvLyDlhoXnva5UZXjlhoXlrrnnrZvpgIko5LiN5aaC5q2j5YiZ5YeG56GuKVxyXG4gICAgICAgIC8vIGxldCBub2RlOmFueSA9IG1hdGhqYXhfZG9jdW1lbnQuY29udmVydChtYXRoLG1hdGhqYXhfb3B0aW9ucykgYXMgYW55O1xyXG4gICAgICAgIC8vIHJldHVybiBhZGFwdG9yLmlubmVySFRNTChub2RlKTtcclxuICAgIH1cclxuICBcclxufSJdfQ==
1
+
2
+ /**
3
+ * @copyright © 未来飞马 © 未来全栈 www.fmode.cn
4
+ * 版权所有 © 未来飞马 © 江西脑控科技有限公司 Copyright © Fmode Technology Co., Ltd.
5
+ * 保留所有权利 All Rights Reserved.
6
+ * /home/ryan/workspace/nova/nova-admin/dist/fmode-ng/esm2022/lib/aigc/comp-markdown-preview/plugins/md-mathjax/index.mjs
7
+ */
8
+ import{mathjax}from"mathjax-full/js/mathjax";import{TeX}from"mathjax-full/js/input/tex";import{SVG}from"mathjax-full/js/output/svg";import{CHTML}from"mathjax-full/js/output/chtml";import{AllPackages}from"mathjax-full/js/input/tex/AllPackages";import{liteAdaptor}from"mathjax-full/js/adaptors/liteAdaptor";import{RegisterHTMLHandler}from"mathjax-full/js/handlers/html";export class MarkdownMathJax{constructor(t){this.options=t,this.adaptor=liteAdaptor(),RegisterHTMLHandler(this.adaptor)}text_to_mathjax(t,a){if(!t?.length)return"";if(!t?.replace)return"";a=a||this.options;let r=new SVG({fontCache:"local"});"chtml"==a?.output&&(r=new CHTML);const e=mathjax.document("",{skipHtmlTags:["script","noscript","style","textarea","pre","code","annotation","annotation-xml"],InputJax:new TeX({processEscapes:!0,packages:AllPackages}),OutputJax:r}),o={em:16,ex:8,containerWidth:1280};return[/\$\$\ (.+?)\ \$\$/g,/\$\$(.+?)\$\$/g,/\$\$\n(.+?)\n\$\$/g,/\$(.+?)\$/g,/\\\((.+?)\\\)/g,/\\\[(.+?)\\\]/g].forEach((a=>{t=t.replace(a,((t,r)=>{let l;console.log(a,t,r);try{l=e.convert(`${r}`,o)}catch(t){}if(l){return`<span class="mathjax raw" style="margin-left:10px;margin-right:10px;">${this.adaptor.innerHTML(l)}</span>`}return r}))})),t}}
9
+ var MODULE_PATH_NEED = `6K+l5paH5Lu25piv5pys6aG555uu55qE5LiA6YOo5YiGIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBDb21wb25lbnRzIGluIEZtb2RlIEluYy4KICAgIOeJiOadg+aJgOaciSDCqSDmnKrmnaXpo57pqawgwqkg5rGf6KW/6ISR5o6n56eR5oqA5pyJ6ZmQ5YWs5Y+4IENvcHlyaWdodCDCqSBGbW9kZSBUZWNobm9sb2d5IENvLiwgTHRkLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICDkuKXnpoHlnKjmnKrnu4/mjojmnYPnmoTmg4XlhrXkuIvvvIzpgJrov4fku7vkvZXlqpLku4vlpI3liLbmraTmlofku7YgVW5hdXRob3JpemVkIGNvcHlpbmcgb2YgdGhpcyBmaWxlLCB2aWEgYW55IG1lZGl1bSBpcyBzdHJpY3RseSBwcm9oaWJpdGVkCiAgICDor6Xmlofku7bmmK/kuJPmnInnmoTmnLrlr4bmlofku7YgUHJvcHJpZXRhcnkgYW5kIGNvbmZpZGVudGlhbAogICAKICAgIENvcHlyaWdodCAyMDIxLW5vdyBGbW9kZSBJbmMuIHN1cHBvcnRAZm1vZGUuY24uIDE4NjA3MDA3MDczLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogICAgUEFUSDovaG9tZS9yeWFuL3dvcmtzcGFjZS9ub3ZhL25vdmEtYWRtaW4vZGlzdC9mbW9kZS1uZy9lc20yMDIyL2xpYi9haWdjL2NvbXAtbWFya2Rvd24tcHJldmlldy9wbHVnaW5zL21kLW1hdGhqYXgvaW5kZXgubWpz`
10
+
@@ -1,14 +1,10 @@
1
- export * from "./service-fmai/fmai.service";
2
- export * from "./service-fmai/service-imagine";
3
- export * from "./service-fmai/service-chat";
4
- export * from "./comp-markdown-preview/plugins/md-mathjax/index";
5
- export * from "./comp-markdown-preview/markdown-parse";
6
- export * from "./comp-markdown-preview/markdown-preview.module";
7
- export * from "./comp-markdown-preview/markdown-preview.component";
8
- export * from "./comp-markdown-preview/clipboard.service";
9
- export * from "./voice";
10
- export * from "./avatar";
11
- export * from "./agent";
12
- export * from "./chat";
13
- export * from "./story";
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mbW9kZS1uZy9zcmMvbGliL2FpZ2MvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw2QkFBNkIsQ0FBQTtBQUMzQyxjQUFjLGdDQUFnQyxDQUFBO0FBQzlDLGNBQWMsNkJBQTZCLENBQUE7QUFDM0MsY0FBYyxrREFBa0QsQ0FBQTtBQUNoRSxjQUFjLHdDQUF3QyxDQUFBO0FBQ3RELGNBQWMsaURBQWlELENBQUE7QUFDL0QsY0FBYyxvREFBb0QsQ0FBQTtBQUNsRSxjQUFjLDJDQUEyQyxDQUFBO0FBQ3pELGNBQWMsU0FBUyxDQUFBO0FBQ3ZCLGNBQWMsVUFBVSxDQUFBO0FBQ3hCLGNBQWMsU0FBUyxDQUFBO0FBQ3ZCLGNBQWMsUUFBUSxDQUFBO0FBQ3RCLGNBQWMsU0FBUyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vc2VydmljZS1mbWFpL2ZtYWkuc2VydmljZVwiXHJcbmV4cG9ydCAqIGZyb20gXCIuL3NlcnZpY2UtZm1haS9zZXJ2aWNlLWltYWdpbmVcIlxyXG5leHBvcnQgKiBmcm9tIFwiLi9zZXJ2aWNlLWZtYWkvc2VydmljZS1jaGF0XCJcclxuZXhwb3J0ICogZnJvbSBcIi4vY29tcC1tYXJrZG93bi1wcmV2aWV3L3BsdWdpbnMvbWQtbWF0aGpheC9pbmRleFwiXHJcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXAtbWFya2Rvd24tcHJldmlldy9tYXJrZG93bi1wYXJzZVwiXHJcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXAtbWFya2Rvd24tcHJldmlldy9tYXJrZG93bi1wcmV2aWV3Lm1vZHVsZVwiXHJcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXAtbWFya2Rvd24tcHJldmlldy9tYXJrZG93bi1wcmV2aWV3LmNvbXBvbmVudFwiIFxyXG5leHBvcnQgKiBmcm9tIFwiLi9jb21wLW1hcmtkb3duLXByZXZpZXcvY2xpcGJvYXJkLnNlcnZpY2VcIiBcclxuZXhwb3J0ICogZnJvbSBcIi4vdm9pY2VcIlxyXG5leHBvcnQgKiBmcm9tIFwiLi9hdmF0YXJcIlxyXG5leHBvcnQgKiBmcm9tIFwiLi9hZ2VudFwiXHJcbmV4cG9ydCAqIGZyb20gXCIuL2NoYXRcIlxyXG5leHBvcnQgKiBmcm9tIFwiLi9zdG9yeVwiIl19
1
+
2
+ /**
3
+ * @copyright © 未来飞马 © 未来全栈 www.fmode.cn
4
+ * 版权所有 © 未来飞马 © 江西脑控科技有限公司 Copyright © Fmode Technology Co., Ltd.
5
+ * 保留所有权利 All Rights Reserved.
6
+ * /home/ryan/workspace/nova/nova-admin/dist/fmode-ng/esm2022/lib/aigc/index.mjs
7
+ */
8
+ export*from"./service-fmai/fmai.service";export*from"./service-fmai/service-imagine";export*from"./service-fmai/service-chat";export*from"./comp-markdown-preview/plugins/md-mathjax/index";export*from"./comp-markdown-preview/markdown-parse";export*from"./comp-markdown-preview/markdown-preview.module";export*from"./comp-markdown-preview/markdown-preview.component";export*from"./comp-markdown-preview/clipboard.service";export*from"./voice";export*from"./avatar";export*from"./agent";export*from"./chat";export*from"./story";
9
+ var MODULE_PATH_NEED = `6K+l5paH5Lu25piv5pys6aG555uu55qE5LiA6YOo5YiGIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBDb21wb25lbnRzIGluIEZtb2RlIEluYy4KICAgIOeJiOadg+aJgOaciSDCqSDmnKrmnaXpo57pqawgwqkg5rGf6KW/6ISR5o6n56eR5oqA5pyJ6ZmQ5YWs5Y+4IENvcHlyaWdodCDCqSBGbW9kZSBUZWNobm9sb2d5IENvLiwgTHRkLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICDkuKXnpoHlnKjmnKrnu4/mjojmnYPnmoTmg4XlhrXkuIvvvIzpgJrov4fku7vkvZXlqpLku4vlpI3liLbmraTmlofku7YgVW5hdXRob3JpemVkIGNvcHlpbmcgb2YgdGhpcyBmaWxlLCB2aWEgYW55IG1lZGl1bSBpcyBzdHJpY3RseSBwcm9oaWJpdGVkCiAgICDor6Xmlofku7bmmK/kuJPmnInnmoTmnLrlr4bmlofku7YgUHJvcHJpZXRhcnkgYW5kIGNvbmZpZGVudGlhbAogICAKICAgIENvcHlyaWdodCAyMDIxLW5vdyBGbW9kZSBJbmMuIHN1cHBvcnRAZm1vZGUuY24uIDE4NjA3MDA3MDczLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogICAgUEFUSDovaG9tZS9yeWFuL3dvcmtzcGFjZS9ub3ZhL25vdmEtYWRtaW4vZGlzdC9mbW9kZS1uZy9lc20yMDIyL2xpYi9haWdjL2luZGV4Lm1qcw==`
10
+
@@ -1,21 +1,10 @@
1
- import { Injectable } from '@angular/core';
2
- import { ChatService } from './service-chat/chat.service';
3
- import { ImagineService } from './service-imagine/imagine.service';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "./service-imagine/imagine.service";
6
- import * as i2 from "./service-chat/chat.service";
7
- export class FmaiService {
8
- constructor(imagine, chat) {
9
- this.imagine = imagine;
10
- this.chat = chat;
11
- }
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FmaiService, deps: [{ token: i1.ImagineService }, { token: i2.ChatService }], target: i0.ɵɵFactoryTarget.Injectable }); }
13
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FmaiService, providedIn: 'root' }); }
14
- }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FmaiService, decorators: [{
16
- type: Injectable,
17
- args: [{
18
- providedIn: 'root'
19
- }]
20
- }], ctorParameters: () => [{ type: i1.ImagineService }, { type: i2.ChatService }] });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm1haS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm1vZGUtbmcvc3JjL2xpYi9haWdjL3NlcnZpY2UtZm1haS9mbWFpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7O0FBS25FLE1BQU0sT0FBTyxXQUFXO0lBRXRCLFlBQ1UsT0FBc0IsRUFDdEIsSUFBZ0I7UUFEaEIsWUFBTyxHQUFQLE9BQU8sQ0FBZTtRQUN0QixTQUFJLEdBQUosSUFBSSxDQUFZO0lBQ3RCLENBQUM7K0dBTE0sV0FBVzttSEFBWCxXQUFXLGNBRlYsTUFBTTs7NEZBRVAsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENoYXRTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlLWNoYXQvY2hhdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSW1hZ2luZVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2UtaW1hZ2luZS9pbWFnaW5lLnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRm1haVNlcnZpY2Uge1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgaW1hZ2luZTpJbWFnaW5lU2VydmljZSxcclxuICAgIHByaXZhdGUgY2hhdDpDaGF0U2VydmljZVxyXG4gICkgeyB9XHJcblxyXG4gIFxyXG5cclxufVxyXG4iXX0=
1
+
2
+ /**
3
+ * @copyright © 未来飞马 © 未来全栈 www.fmode.cn
4
+ * 版权所有 © 未来飞马 © 江西脑控科技有限公司 Copyright © Fmode Technology Co., Ltd.
5
+ * 保留所有权利 All Rights Reserved.
6
+ * /home/ryan/workspace/nova/nova-admin/dist/fmode-ng/esm2022/lib/aigc/service-fmai/fmai.service.mjs
7
+ */
8
+ import{Injectable}from"@angular/core";import{ChatService}from"./service-chat/chat.service";import{ImagineService}from"./service-imagine/imagine.service";import*as i0 from"@angular/core";import*as i1 from"./service-imagine/imagine.service";import*as i2 from"./service-chat/chat.service";export class FmaiService{constructor(e,i){this.imagine=e,this.chat=i}static{this.ɵfac=i0.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"17.3.12",ngImport:i0,type:FmaiService,deps:[{token:i1.ImagineService},{token:i2.ChatService}],target:i0.ɵɵFactoryTarget.Injectable})}static{this.ɵprov=i0.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"17.3.12",ngImport:i0,type:FmaiService,providedIn:"root"})}}i0.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"17.3.12",ngImport:i0,type:FmaiService,decorators:[{type:Injectable,args:[{providedIn:"root"}]}],ctorParameters:()=>[{type:i1.ImagineService},{type:i2.ChatService}]});
9
+ var MODULE_PATH_NEED = `6K+l5paH5Lu25piv5pys6aG555uu55qE5LiA6YOo5YiGIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBDb21wb25lbnRzIGluIEZtb2RlIEluYy4KICAgIOeJiOadg+aJgOaciSDCqSDmnKrmnaXpo57pqawgwqkg5rGf6KW/6ISR5o6n56eR5oqA5pyJ6ZmQ5YWs5Y+4IENvcHlyaWdodCDCqSBGbW9kZSBUZWNobm9sb2d5IENvLiwgTHRkLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICDkuKXnpoHlnKjmnKrnu4/mjojmnYPnmoTmg4XlhrXkuIvvvIzpgJrov4fku7vkvZXlqpLku4vlpI3liLbmraTmlofku7YgVW5hdXRob3JpemVkIGNvcHlpbmcgb2YgdGhpcyBmaWxlLCB2aWEgYW55IG1lZGl1bSBpcyBzdHJpY3RseSBwcm9oaWJpdGVkCiAgICDor6Xmlofku7bmmK/kuJPmnInnmoTmnLrlr4bmlofku7YgUHJvcHJpZXRhcnkgYW5kIGNvbmZpZGVudGlhbAogICAKICAgIENvcHlyaWdodCAyMDIxLW5vdyBGbW9kZSBJbmMuIHN1cHBvcnRAZm1vZGUuY24uIDE4NjA3MDA3MDczLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogICAgUEFUSDovaG9tZS9yeWFuL3dvcmtzcGFjZS9ub3ZhL25vdmEtYWRtaW4vZGlzdC9mbW9kZS1uZy9lc20yMDIyL2xpYi9haWdjL3NlcnZpY2UtZm1haS9mbWFpLnNlcnZpY2UubWpz`
10
+
@@ -1,2 +1,10 @@
1
- export * from "../../../core/agent/chat";
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC1jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Ztb2RlLW5nL3NyYy9saWIvYWlnYy9zZXJ2aWNlLWZtYWkvc2VydmljZS1jaGF0L2NoYXQtY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywwQkFBMEIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuLi8uLi8uLi9jb3JlL2FnZW50L2NoYXRcIiJdfQ==
1
+
2
+ /**
3
+ * @copyright © 未来飞马 © 未来全栈 www.fmode.cn
4
+ * 版权所有 © 未来飞马 © 江西脑控科技有限公司 Copyright © Fmode Technology Co., Ltd.
5
+ * 保留所有权利 All Rights Reserved.
6
+ * /home/ryan/workspace/nova/nova-admin/dist/fmode-ng/esm2022/lib/aigc/service-fmai/service-chat/chat-class.mjs
7
+ */
8
+ export*from"../../../core/agent/chat";
9
+ var MODULE_PATH_NEED = `6K+l5paH5Lu25piv5pys6aG555uu55qE5LiA6YOo5YiGIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBDb21wb25lbnRzIGluIEZtb2RlIEluYy4KICAgIOeJiOadg+aJgOaciSDCqSDmnKrmnaXpo57pqawgwqkg5rGf6KW/6ISR5o6n56eR5oqA5pyJ6ZmQ5YWs5Y+4IENvcHlyaWdodCDCqSBGbW9kZSBUZWNobm9sb2d5IENvLiwgTHRkLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICDkuKXnpoHlnKjmnKrnu4/mjojmnYPnmoTmg4XlhrXkuIvvvIzpgJrov4fku7vkvZXlqpLku4vlpI3liLbmraTmlofku7YgVW5hdXRob3JpemVkIGNvcHlpbmcgb2YgdGhpcyBmaWxlLCB2aWEgYW55IG1lZGl1bSBpcyBzdHJpY3RseSBwcm9oaWJpdGVkCiAgICDor6Xmlofku7bmmK/kuJPmnInnmoTmnLrlr4bmlofku7YgUHJvcHJpZXRhcnkgYW5kIGNvbmZpZGVudGlhbAogICAKICAgIENvcHlyaWdodCAyMDIxLW5vdyBGbW9kZSBJbmMuIHN1cHBvcnRAZm1vZGUuY24uIDE4NjA3MDA3MDczLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogICAgUEFUSDovaG9tZS9yeWFuL3dvcmtzcGFjZS9ub3ZhL25vdmEtYWRtaW4vZGlzdC9mbW9kZS1uZy9lc20yMDIyL2xpYi9haWdjL3NlcnZpY2UtZm1haS9zZXJ2aWNlLWNoYXQvY2hhdC1jbGFzcy5tanM=`
10
+
@@ -1,176 +1,10 @@
1
- import { Injectable } from '@angular/core';
2
- import { Router } from '@angular/router';
3
- // import { MASK_LIST } from './mask-list';
4
- import { FmodeChat } from './chat-class';
5
- import Parse from "parse";
6
- import { NovaCloudService } from '../../../nova-cloud';
7
- import { AlertController, NavController, Platform } from '@ionic/angular';
8
- import { CrossService } from '../../../platform';
9
- import { NovaUploadService } from '../../../storage/service-upload/nova-upload.service';
10
- import * as i0 from "@angular/core";
11
- import * as i1 from "@angular/router";
12
- import * as i2 from "../../../nova-cloud";
13
- import * as i3 from "@ionic/angular";
14
- import * as i4 from "../../../platform";
15
- import * as i5 from "../../../storage/service-upload/nova-upload.service";
16
- export class ChatService {
17
- constructor(router, ncloud, platform, alertCtrl, navCtrl, cross, uploadServ) {
18
- this.router = router;
19
- this.ncloud = ncloud;
20
- this.platform = platform;
21
- this.alertCtrl = alertCtrl;
22
- this.navCtrl = navCtrl;
23
- this.cross = cross;
24
- this.uploadServ = uploadServ;
25
- // 已加载聊天信息临时存储
26
- this.chatMap = {};
27
- this.isCapacitor = false;
28
- this.platformMap = {
29
- "pc": "电脑端",
30
- "mobile": "移动端",
31
- };
32
- this.isCapacitor = this.platform.is("capacitor");
33
- }
34
- async doButtonAction(button) {
35
- let type = this.cross.navMenuType;
36
- let platforms = button?.platform?.map(item => this.platformMap[item]).join("、");
37
- if (button?.platform?.length > 0 && button?.platform?.indexOf(type) == -1) {
38
- let alert = await this.alertCtrl.create({
39
- header: "注意",
40
- subHeader: "终端不符",
41
- message: `请您使用${platforms}开启本功能。`,
42
- buttons: [
43
- {
44
- role: "ok", text: "知道了",
45
- },
46
- ]
47
- });
48
- alert.present();
49
- return;
50
- }
51
- if (button?.path) {
52
- this.navCtrl.navigateRoot(button?.path);
53
- }
54
- }
55
- // 初始化未加载会话
56
- async initChatMap(sessionId) {
57
- if (this.chatMap[sessionId])
58
- return this.chatMap[sessionId];
59
- let query = new Parse.Query("ChatSession");
60
- query.include("user", "role", "role.model", "story", "story.person", 'person', 'person.userVerify');
61
- let session = await query.get(sessionId);
62
- let chat = new FmodeChat(session?.id, session?.get("role"), session, this, this.navCtrl, this.ncloud, this.uploadServ);
63
- this.chatMap[sessionId] = chat;
64
- return this.chatMap[sessionId];
65
- }
66
- async getChatSession(queryParams) {
67
- if (!Parse?.User?.current()?.id)
68
- return; // 用户必须登录
69
- let limit = 30; // 普通用户限查看10条历史记录
70
- let query = new Parse.Query("ChatSession");
71
- if (queryParams) {
72
- query = Parse.Query.fromJSON("ChatSession", queryParams);
73
- }
74
- query.include("user", "role", "role.model", "story", "story.person", "story.person.userVerify", "person", "person.userVerify");
75
- query.addDescending("updatedAt");
76
- query.equalTo("user", Parse.User.current().toPointer());
77
- query.notEqualTo('isDeleted', true);
78
- query.limit(limit);
79
- let list = await query.find();
80
- this.chatList = list.map(item => {
81
- // 添加缓存
82
- this.chatMap[item?.id] = new FmodeChat(item?.id, item?.get("role"), item, this, this.navCtrl, this.ncloud, this.uploadServ);
83
- return {
84
- session: item,
85
- sid: item?.id,
86
- isHidden: false,
87
- rid: item?.get("role")?.id,
88
- name: item?.get("role")?.get("name"),
89
- thumb: item?.get("role")?.get("thumb"),
90
- title: item?.get("title") || item?.get("role")?.get("name"),
91
- message: item?.get("messageList")?.[item?.get("messageList")?.length - 1]?.content?.slice(0, 20),
92
- latest: item?.createdAt
93
- };
94
- });
95
- }
96
- async getChatSessionDistinct() {
97
- let limit = 10; // 普通用户限查看10条历史记录
98
- let sql = `SELECT t1."objectId" as sid , "AvatarRole"."objectId" as rid, * FROM (
99
- SELECT *,ROW_NUMBER() OVER (PARTITION BY "user", "role" ORDER BY "createdAt" DESC) AS rn
100
- FROM "ChatSession" WHERE "user"=$1
101
- ) as t1
102
- LEFT JOIN "AvatarRole" ON "AvatarRole"."objectId" = t1."role"
103
- WHERE t1.rn=1
104
- LIMIT $2
105
- ;`;
106
- let result = await this.ncloud.novaql(sql, [Parse.User.current()?.id, limit]);
107
- let chatList = result?.map(item => {
108
- return {
109
- sid: item?.sid,
110
- rid: item?.rid,
111
- name: item?.name,
112
- message: item?.messageList?.[item?.messageList?.length - 1]?.content?.slice(0, 20),
113
- latest: item?.createdAt
114
- };
115
- });
116
- this.chatList = chatList;
117
- return this.chatList;
118
- }
1
+
119
2
  /**
120
- * 重建新对话窗口
3
+ * @copyright © 未来飞马 © 未来全栈 www.fmode.cn
4
+ * 版权所有 © 未来飞马 © 江西脑控科技有限公司 Copyright © Fmode Technology Co., Ltd.
5
+ * 保留所有权利 All Rights Reserved.
6
+ * /home/ryan/workspace/nova/nova-admin/dist/fmode-ng/esm2022/lib/aigc/service-fmai/service-chat/chat.service.mjs
121
7
  */
122
- createChatPanel(role, chat) {
123
- let sessionId = chat?.id || "new";
124
- chat = new FmodeChat(sessionId, role, chat, this, this.navCtrl, this.ncloud, this.uploadServ);
125
- this.chatMap[sessionId] = chat; // new 窗口如果没有消息转换成带ID的,每次就会清空
126
- this.router.navigate(["/chat/pro/chat/" + sessionId]);
127
- }
128
- async createNewRoleChat(roleId) {
129
- let query = new Parse.Query("AvatarRole");
130
- query.include("model");
131
- let role = await query.get(roleId);
132
- // console.log("role",role)
133
- let chat = new FmodeChat("new", role, null, this, this.navCtrl, this.ncloud, this.uploadServ);
134
- return chat;
135
- }
136
- async restoreChatPanel(options) {
137
- let queryr = new Parse.Query("AvatarRole");
138
- let querys = new Parse.Query("ChatSession");
139
- let role = await queryr.get(options?.rid);
140
- let session = await querys.get(options?.sid);
141
- // let sessionId = "new"
142
- let chat = new FmodeChat(options?.sid, role, session, this, this.navCtrl, this.ncloud, this.uploadServ);
143
- this.chatMap[options?.sid] = chat;
144
- this.router.navigate(["/chat/pro/chat/" + options?.sid]);
145
- }
146
- async callRole(role) {
147
- // 暂时开启全端进入语音对话
148
- if (false && !this.isCapacitor) {
149
- let alert = await this.alertCtrl.create({
150
- header: "注意",
151
- subHeader: "语音对话,限手机APP端可用",
152
- message: "请联系客服获取内测资格哦!",
153
- buttons: [
154
- {
155
- role: "ok", text: "知道了",
156
- },
157
- ]
158
- });
159
- alert.present();
160
- return;
161
- }
162
- document.body.classList.add('dark');
163
- this.router.navigate([`/avatar/role/${role.id}`, {
164
- type: "phone"
165
- }]);
166
- }
167
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChatService, deps: [{ token: i1.Router }, { token: i2.NovaCloudService }, { token: i3.Platform }, { token: i3.AlertController }, { token: i3.NavController }, { token: i4.CrossService }, { token: i5.NovaUploadService }], target: i0.ɵɵFactoryTarget.Injectable }); }
168
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChatService, providedIn: 'root' }); }
169
- }
170
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChatService, decorators: [{
171
- type: Injectable,
172
- args: [{
173
- providedIn: 'root'
174
- }]
175
- }], ctorParameters: () => [{ type: i1.Router }, { type: i2.NovaCloudService }, { type: i3.Platform }, { type: i3.AlertController }, { type: i3.NavController }, { type: i4.CrossService }, { type: i5.NovaUploadService }] });
176
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm1vZGUtbmcvc3JjL2xpYi9haWdjL3NlcnZpY2UtZm1haS9zZXJ2aWNlLWNoYXQvY2hhdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLDJDQUEyQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3pDLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQW1CLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0YsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDOzs7Ozs7O0FBS3hGLE1BQU0sT0FBTyxXQUFXO0lBUXRCLFlBQ1UsTUFBYSxFQUNiLE1BQXVCLEVBQ3ZCLFFBQWlCLEVBQ2pCLFNBQXlCLEVBQ3pCLE9BQXFCLEVBQ3JCLEtBQWtCLEVBQ2xCLFVBQTRCO1FBTjVCLFdBQU0sR0FBTixNQUFNLENBQU87UUFDYixXQUFNLEdBQU4sTUFBTSxDQUFpQjtRQUN2QixhQUFRLEdBQVIsUUFBUSxDQUFTO1FBQ2pCLGNBQVMsR0FBVCxTQUFTLENBQWdCO1FBQ3pCLFlBQU8sR0FBUCxPQUFPLENBQWM7UUFDckIsVUFBSyxHQUFMLEtBQUssQ0FBYTtRQUNsQixlQUFVLEdBQVYsVUFBVSxDQUFrQjtRQWJ0QyxjQUFjO1FBQ2QsWUFBTyxHQUVILEVBQUUsQ0FBQTtRQUNOLGdCQUFXLEdBQVcs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QUksRUFBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLEtBQUs7cUJBQ3JCO2lCQUNGO2FBQ0YsQ0FBQyxDQUFBO1lBQ0YsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2hCLE9BQU07UUFFUixDQUFDO1FBQ0QsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsZ0JBQWdCLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBQztnQkFDOUMsSUFBSSxFQUFDLE9BQU87YUFDYixDQUFDLENBQUMsQ0FBQTtJQUNMLENBQUM7K0dBcEtVLFdBQVc7bUhBQVgsV0FBVyxjQUZWLE1BQU07OzRGQUVQLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG4vLyBpbXBvcnQgeyBNQVNLX0xJU1QgfSBmcm9tICcuL21hc2stbGlzdCc7XHJcbmltcG9ydCB7IEZtb2RlQ2hhdCB9IGZyb20gJy4vY2hhdC1jbGFzcyc7XHJcbmltcG9ydCBQYXJzZSBmcm9tIFwicGFyc2VcIjtcclxuaW1wb3J0IHsgTm92YUNsb3VkU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL25vdmEtY2xvdWQnO1xyXG5pbXBvcnQgeyBBbGVydENvbnRyb2xsZXIsIE5hdkNvbnRyb2xsZXIsIFBsYXRmb3JtLCBUb2FzdENvbnRyb2xsZXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XHJcbmltcG9ydCB7IENyb3NzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3BsYXRmb3JtJztcclxuaW1wb3J0IHsgTm92YVVwbG9hZFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zdG9yYWdlL3NlcnZpY2UtdXBsb2FkL25vdmEtdXBsb2FkLnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2hhdFNlcnZpY2Uge1xyXG5cclxuICAvLyDlt7LliqDovb3ogYrlpKnkv6Hmga/kuLTml7blrZjlgqhcclxuICBjaGF0TWFwOntcclxuICAgIFtrZXk6c3RyaW5nXTpGbW9kZUNoYXRcclxuICB9ID0ge31cclxuICBpc0NhcGFjaXRvcjpib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6Um91dGVyLFxyXG4gICAgcHJpdmF0ZSBuY2xvdWQ6Tm92YUNsb3VkU2VydmljZSxcclxuICAgIHByaXZhdGUgcGxhdGZvcm06UGxhdGZvcm0sXHJcbiAgICBwcml2YXRlIGFsZXJ0Q3RybDpBbGVydENvbnRyb2xsZXIsXHJcbiAgICBwcml2YXRlIG5hdkN0cmw6TmF2Q29udHJvbGxlcixcclxuICAgIHByaXZhdGUgY3Jvc3M6Q3Jvc3NTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB1cGxvYWRTZXJ2Ok5vdmFVcGxvYWRTZXJ2aWNlXHJcbiAgKSB7IFxyXG4gICAgdGhpcy5pc0NhcGFjaXRvciA9IHRoaXMucGxhdGZvcm0uaXMoXCJjYXBhY2l0b3JcIilcclxuXHJcbiAgfVxyXG5cclxuICBcclxuICBwbGF0Zm9ybU1hcCA9IHtcclxuICAgIFwicGNcIjpcIueUteiEkeerr1wiLFxyXG4gICAgXCJtb2JpbGVcIjpcIuenu+WKqOerr1wiLFxyXG4gIH1cclxuICBhc3luYyBkb0J1dHRvbkFjdGlvbihidXR0b24pe1xyXG4gICAgbGV0IHR5cGUgPSB0aGlzLmNyb3NzLm5hdk1lbnVUeXBlXHJcbiAgICBsZXQgcGxhdGZvcm1zID0gYnV0dG9uPy5wbGF0Zm9ybT8ubWFwKGl0ZW09PnRoaXMucGxhdGZvcm1NYXBbaXRlbV0pLmpvaW4oXCLjgIFcIilcclxuICAgIGlmKGJ1dHRvbj8ucGxhdGZvcm0/Lmxlbmd0aD4wICYmIGJ1dHRvbj8ucGxhdGZvcm0/LmluZGV4T2YodHlwZSk9PS0xKXtcclxuICAgICAgbGV0IGFsZXJ0ID0gYXdhaXQgdGhpcy5hbGVydEN0cmwuY3JlYXRlKHtcclxuICAgICAgICBoZWFkZXI6XCLms6jmhI9cIixcclxuICAgICAgICBzdWJIZWFkZXI6XCLnu4jnq6/kuI3nrKZcIixcclxuICAgICAgICBtZXNzYWdlOmDor7fmgqjkvb/nlKgke3BsYXRmb3Jtc33lvIDlkK/mnKzlip/og73jgIJgLFxyXG4gICAgICAgIGJ1dHRvbnM6W1xyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICByb2xlOlwib2tcIix0ZXh0Olwi55+l6YGT5LqGXCIsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIF1cclxuICAgICAgfSlcclxuICAgICAgYWxlcnQucHJlc2VudCgpO1xyXG4gICAgICByZXR1cm5cclxuICAgIH1cclxuICAgIGlmKGJ1dHRvbj8ucGF0aCl7XHJcbiAgICAgIHRoaXMubmF2Q3RybC5uYXZpZ2F0ZVJvb3QoYnV0dG9uPy5wYXRoKTtcclxuICAgIH1cclxuICB9XHJcbiAgLy8g5Yid5aeL5YyW5pyq5Yqg6L295Lya6K+dXHJcbiAgYXN5bmMgaW5pdENoYXRNYXAoc2Vzc2lvbklkKXtcclxuICAgIGlmKHRoaXMuY2hhdE1hcFtzZXNzaW9uSWRdKSByZXR1cm4gdGhpcy5jaGF0TWFwW3Nlc3Npb25JZF1cclxuICAgIGxldCBxdWVyeSA9IG5ldyBQYXJzZS5RdWVyeShcIkNoYXRTZXNzaW9uXCIpXHJcbiAgICBxdWVyeS5pbmNsdWRlKFwidXNlclwiLFwicm9sZVwiLFwicm9sZS5tb2RlbFwiLFwic3RvcnlcIixcInN0b3J5LnBlcnNvblwiLCdwZXJzb24nLCdwZXJzb24udXNlclZlcmlmeScpXHJcbiAgICBsZXQgc2Vzc2lvbiA9IGF3YWl0IHF1ZXJ5LmdldChzZXNzaW9uSWQpXHJcbiAgICBsZXQgY2hhdCA9IG5ldyBGbW9kZUNoYXQoc2Vzc2lvbj8uaWQsc2Vzc2lvbj8uZ2V0KFwicm9sZVwiKSxzZXNzaW9uLHRoaXMsdGhpcy5uYXZDdHJsLHRoaXMubmNsb3VkLHRoaXMudXBsb2FkU2Vydik7XHJcbiAgICB0aGlzLmNoYXRNYXBbc2Vzc2lvbklkXSA9IGNoYXQ7XHJcbiAgICByZXR1cm4gdGhpcy5jaGF0TWFwW3Nlc3Npb25JZF1cclxuICB9XHJcbiAgLy8g6I635b6X5Y6G5Y+y5Lya6K+d56qX5Y+jXHJcbiAgY2hhdExpc3Q6QXJyYXk8YW55PlxyXG4gIGFzeW5jIGdldENoYXRTZXNzaW9uKHF1ZXJ5UGFyYW1zPzphbnkpe1xyXG4gICAgaWYoIVBhcnNlPy5Vc2VyPy5jdXJyZW50KCk/LmlkKSByZXR1cm4gLy8g55So5oi35b+F6aG755m75b2VXHJcbiAgICBsZXQgbGltaXQgPSAzMCAvLyDmma7pgJrnlKjmiLfpmZDmn6XnnIsxMOadoeWOhuWPsuiusOW9lVxyXG4gICAgbGV0IHF1ZXJ5ID0gbmV3IFBhcnNlLlF1ZXJ5KFwiQ2hhdFNlc3Npb25cIik7XHJcbiAgICBpZihxdWVyeVBhcmFtcyl7XHJcbiAgICAgIHF1ZXJ5ID0gUGFyc2UuUXVlcnkuZnJvbUpTT04oXCJDaGF0U2Vzc2lvblwiLHF1ZXJ5UGFyYW1zKTtcclxuICAgIH1cclxuICAgIHF1ZXJ5LmluY2x1ZGUoXCJ1c2VyXCIsXCJyb2xlXCIsXCJyb2xlLm1vZGVsXCIsXCJzdG9yeVwiLFwic3RvcnkucGVyc29uXCIsXCJzdG9yeS5wZXJzb24udXNlclZlcmlmeVwiLFwicGVyc29uXCIsXCJwZXJzb24udXNlclZlcmlmeVwiKTtcclxuICAgIHF1ZXJ5LmFkZERlc2NlbmRpbmcoXCJ1cGRhdGVkQXRcIilcclxuICAgIHF1ZXJ5LmVxdWFsVG8oXCJ1c2VyXCIsUGFyc2UuVXNlci5jdXJyZW50KCkudG9Qb2ludGVyKCkpXHJcbiAgICBxdWVyeS5ub3RFcXVhbFRvKCdpc0RlbGV0ZWQnLCB0cnVlKTtcclxuICAgIHF1ZXJ5LmxpbWl0KGxpbWl0KVxyXG4gICAgbGV0IGxpc3QgPSBhd2FpdCBxdWVyeS5maW5kKCk7XHJcbiAgICB0aGlzLmNoYXRMaXN0ID0gbGlzdC5tYXAoaXRlbT0+e1xyXG4gICAgICAvLyDmt7vliqDnvJPlrZhcclxuICAgICAgdGhpcy5jaGF0TWFwW2l0ZW0/LmlkXSA9IG5ldyBGbW9kZUNoYXQoaXRlbT8uaWQsaXRlbT8uZ2V0KFwicm9sZVwiKSxpdGVtLHRoaXMsdGhpcy5uYXZDdHJsLHRoaXMubmNsb3VkLHRoaXMudXBsb2FkU2Vydik7IFxyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIHNlc3Npb246aXRlbSxcclxuICAgICAgICBzaWQ6aXRlbT8uaWQsXHJcbiAgICAgICAgaXNIaWRkZW46ZmFsc2UsXHJcbiAgICAgICAgcmlkOml0ZW0/LmdldChcInJvbGVcIik/LmlkLFxyXG4gICAgICAgIG5hbWU6aXRlbT8uZ2V0KFwicm9sZVwiKT8uZ2V0KFwibmFtZVwiKSxcclxuICAgICAgICB0aHVtYjppdGVtPy5nZXQoXCJyb2xlXCIpPy5nZXQoXCJ0aHVtYlwiKSxcclxuICAgICAgICB0aXRsZTppdGVtPy5nZXQoXCJ0aXRsZVwiKSB8fCBpdGVtPy5nZXQoXCJyb2xlXCIpPy5nZXQoXCJuYW1lXCIpLFxyXG4gICAgICAgIG1lc3NhZ2U6aXRlbT8uZ2V0KFwibWVzc2FnZUxpc3RcIik/LltpdGVtPy5nZXQoXCJtZXNzYWdlTGlzdFwiKT8ubGVuZ3RoLTFdPy5jb250ZW50Py5zbGljZSgwLDIwKSxcclxuICAgICAgICBsYXRlc3Q6aXRlbT8uY3JlYXRlZEF0XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG4gIGFzeW5jIGdldENoYXRTZXNzaW9uRGlzdGluY3QoKXtcclxuICAgIGxldCBsaW1pdCA9IDEwIC8vIOaZrumAmueUqOaIt+mZkOafpeecizEw5p2h5Y6G5Y+y6K6w5b2VXHJcbiAgICBsZXQgc3FsID0gYFNFTEVDVCB0MS5cIm9iamVjdElkXCIgYXMgc2lkICwgXCJBdmF0YXJSb2xlXCIuXCJvYmplY3RJZFwiIGFzIHJpZCwgKiBGUk9NIChcclxuICAgICAgU0VMRUNUICosUk9XX05VTUJFUigpIE9WRVIgKFBBUlRJVElPTiBCWSBcInVzZXJcIiwgXCJyb2xlXCIgT1JERVIgQlkgXCJjcmVhdGVkQXRcIiBERVNDKSBBUyByblxyXG4gICAgICAgRlJPTSBcIkNoYXRTZXNzaW9uXCIgV0hFUkUgXCJ1c2VyXCI9JDFcclxuICAgICAgKSBhcyB0MVxyXG4gICAgICBMRUZUIEpPSU4gXCJBdmF0YXJSb2xlXCIgT04gXCJBdmF0YXJSb2xlXCIuXCJvYmplY3RJZFwiID0gdDEuXCJyb2xlXCJcclxuICAgIFdIRVJFIHQxLnJuPTFcclxuICAgIExJTUlUICQyXHJcbiAgICA7YFxyXG4gICAgbGV0IHJlc3VsdDphbnkgPSBhd2FpdCB0aGlzLm5jbG91ZC5ub3ZhcWwoc3FsLFtQYXJzZS5Vc2VyLmN1cnJlbnQoKT8uaWQsbGltaXRdKVxyXG4gICAgbGV0IGNoYXRMaXN0ID0gcmVzdWx0Py5tYXAoaXRlbT0+e1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIHNpZDppdGVtPy5zaWQsXHJcbiAgICAgICAgcmlkOml0ZW0/LnJpZCxcclxuICAgICAgICBuYW1lOml0ZW0/Lm5hbWUsXHJcbiAgICAgICAgbWVzc2FnZTppdGVtPy5tZXNzYWdlTGlzdD8uW2l0ZW0/Lm1lc3NhZ2VMaXN0Py5sZW5ndGgtMV0/LmNvbnRlbnQ/LnNsaWNlKDAsMjApLFxyXG4gICAgICAgIGxhdGVzdDppdGVtPy5jcmVhdGVkQXRcclxuICAgICAgfVxyXG4gICAgfSlcclxuICAgIHRoaXMuY2hhdExpc3QgPSBjaGF0TGlzdFxyXG4gICAgcmV0dXJuIHRoaXMuY2hhdExpc3RcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOmHjeW7uuaWsOWvueivneeql+WPo1xyXG4gICAqL1xyXG4gIGNyZWF0ZUNoYXRQYW5lbChyb2xlPzphbnksY2hhdD86YW55KXtcclxuICAgIGxldCBzZXNzaW9uSWQgPSBjaGF0Py5pZHx8XCJuZXdcIlxyXG4gICAgY2hhdCA9IG5ldyBGbW9kZUNoYXQoc2Vzc2lvbklkLHJvbGUsY2hhdCx0aGlzLHRoaXMubmF2Q3RybCx0aGlzLm5jbG91ZCx0aGlzLnVwbG9hZFNlcnYpO1xyXG4gICAgdGhpcy5jaGF0TWFwW3Nlc3Npb25JZF0gPSBjaGF0OyAvLyBuZXcg56qX5Y+j5aaC5p6c5rKh5pyJ5raI5oGv6L2s5o2i5oiQ5bimSUTnmoTvvIzmr4/mrKHlsLHkvJrmuIXnqbpcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtcIi9jaGF0L3Byby9jaGF0L1wiK3Nlc3Npb25JZF0pXHJcbiAgfVxyXG4gIGFzeW5jIGNyZWF0ZU5ld1JvbGVDaGF0KHJvbGVJZCk6UHJvbWlzZTxGbW9kZUNoYXQ+e1xyXG4gICAgbGV0IHF1ZXJ5ID0gbmV3IFBhcnNlLlF1ZXJ5KFwiQXZhdGFyUm9sZVwiKVxyXG4gICAgcXVlcnkuaW5jbHVkZShcIm1vZGVsXCIpXHJcbiAgICBsZXQgcm9sZSA9IGF3YWl0IHF1ZXJ5LmdldChyb2xlSWQpO1xyXG4gICAgLy8gY29uc29sZS5sb2coXCJyb2xlXCIscm9sZSlcclxuICAgIGxldCBjaGF0ID0gbmV3IEZtb2RlQ2hhdChcIm5ld1wiLHJvbGUsbnVsbCx0aGlzLHRoaXMubmF2Q3RybCx0aGlzLm5jbG91ZCx0aGlzLnVwbG9hZFNlcnYpO1xyXG4gICAgcmV0dXJuIGNoYXRcclxuICB9XHJcbiAgYXN5bmMgcmVzdG9yZUNoYXRQYW5lbChvcHRpb25zPzp7XHJcbiAgICByaWQ6c3RyaW5nLFxyXG4gICAgc2lkOnN0cmluZyxcclxuICB9KXtcclxuICAgIGxldCBxdWVyeXIgPSBuZXcgUGFyc2UuUXVlcnkoXCJBdmF0YXJSb2xlXCIpXHJcbiAgICBsZXQgcXVlcnlzID0gbmV3IFBhcnNlLlF1ZXJ5KFwiQ2hhdFNlc3Npb25cIilcclxuICAgIGxldCByb2xlID0gYXdhaXQgcXVlcnlyLmdldChvcHRpb25zPy5yaWQpO1xyXG4gICAgbGV0IHNlc3Npb24gPSBhd2FpdCBxdWVyeXMuZ2V0KG9wdGlvbnM/LnNpZCk7XHJcbiAgICAvLyBsZXQgc2Vzc2lvbklkID0gXCJuZXdcIlxyXG4gICAgbGV0IGNoYXQgPSBuZXcgRm1vZGVDaGF0KG9wdGlvbnM/LnNpZCxyb2xlLHNlc3Npb24sdGhpcyx0aGlzLm5hdkN0cmwsdGhpcy5uY2xvdWQsdGhpcy51cGxvYWRTZXJ2KTtcclxuICAgIHRoaXMuY2hhdE1hcFtvcHRpb25zPy5zaWRdID0gY2hhdDtcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtcIi9jaGF0L3Byby9jaGF0L1wiK29wdGlvbnM/LnNpZF0pXHJcblxyXG4gIH1cclxuICBhc3luYyBjYWxsUm9sZShyb2xlKXtcclxuICAgIC8vIOaaguaXtuW8gOWQr+WFqOerr+i/m+WFpeivremfs+WvueivnVxyXG4gICAgaWYoZmFsc2UgJiYgIXRoaXMuaXNDYXBhY2l0b3Ipe1xyXG4gICAgICBsZXQgYWxlcnQgPSBhd2FpdCB0aGlzLmFsZXJ0Q3RybC5jcmVhdGUoe1xyXG4gICAgICAgIGhlYWRlcjpcIuazqOaEj1wiLFxyXG4gICAgICAgIHN1YkhlYWRlcjpcIuivremfs+Wvueivne+8jOmZkOaJi+acukFQUOerr+WPr+eUqFwiLFxyXG4gICAgICAgIG1lc3NhZ2U6XCLor7fogZTns7vlrqLmnI3ojrflj5blhoXmtYvotYTmoLzlk6bvvIFcIixcclxuICAgICAgICBidXR0b25zOltcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgcm9sZTpcIm9rXCIsdGV4dDpcIuefpemBk+S6hlwiLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICBdXHJcbiAgICAgIH0pXHJcbiAgICAgIGFsZXJ0LnByZXNlbnQoKTtcclxuICAgICAgcmV0dXJuXHJcblxyXG4gICAgfVxyXG4gICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKCdkYXJrJyk7XHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbYC9hdmF0YXIvcm9sZS8ke3JvbGUuaWR9YCx7XHJcbiAgICAgIHR5cGU6XCJwaG9uZVwiXHJcbiAgICB9XSlcclxuICB9XHJcbn1cclxuIl19
8
+ import{Injectable}from"@angular/core";import{Router}from"@angular/router";import{FmodeChat}from"./chat-class";import{FmodeParse}from"@fmode/parse";import{NovaCloudService}from"../../../nova-cloud";import{AlertController,NavController,Platform}from"@ionic/angular";import{CrossService}from"../../../platform";import{NovaUploadService}from"../../../storage/service-upload/nova-upload.service";import*as i0 from"@angular/core";import*as i1 from"@angular/router";import*as i2 from"../../../nova-cloud";import*as i3 from"@ionic/angular";import*as i4 from"../../../platform";import*as i5 from"../../../storage/service-upload/nova-upload.service";const Parse=FmodeParse.with("nova");export class ChatService{constructor(e,t,r,a,o,i,s){this.router=e,this.ncloud=t,this.platform=r,this.alertCtrl=a,this.navCtrl=o,this.cross=i,this.uploadServ=s,this.chatMap={},this.isCapacitor=!1,this.platformMap={pc:"电脑端",mobile:"移动端"},this.isCapacitor=this.platform.is("capacitor")}async doButtonAction(e){let t=this.cross.navMenuType,r=e?.platform?.map((e=>this.platformMap[e])).join("、");if(e?.platform?.length>0&&-1==e?.platform?.indexOf(t)){(await this.alertCtrl.create({header:"注意",subHeader:"终端不符",message:`请您使用${r}开启本功能。`,buttons:[{role:"ok",text:"知道了"}]})).present()}else e?.path&&this.navCtrl.navigateRoot(e?.path)}async initChatMap(e){if(this.chatMap[e])return this.chatMap[e];let t=new Parse.Query("ChatSession");t.include("user","role","role.model","story","story.person","person","person.userVerify");let r=await t.get(e),a=new FmodeChat(r?.id,r?.get("role"),r,this,this.navCtrl,this.ncloud,this.uploadServ);return this.chatMap[e]=a,this.chatMap[e]}async getChatSession(e){if(!Parse?.User?.current()?.id)return;let t=new Parse.Query("ChatSession");e&&(t=Parse.Query.fromJSON("ChatSession",e)),t.include("user","role","role.model","story","story.person","story.person.userVerify","person","person.userVerify"),t.addDescending("updatedAt"),t.equalTo("user",Parse.User.current().toPointer()),t.notEqualTo("isDeleted",!0),t.limit(30);let r=await t.find();this.chatList=r.map((e=>(this.chatMap[e?.id]=new FmodeChat(e?.id,e?.get("role"),e,this,this.navCtrl,this.ncloud,this.uploadServ),{session:e,sid:e?.id,isHidden:!1,rid:e?.get("role")?.id,name:e?.get("role")?.get("name"),thumb:e?.get("role")?.get("thumb"),title:e?.get("title")||e?.get("role")?.get("name"),message:e?.get("messageList")?.[e?.get("messageList")?.length-1]?.content?.slice(0,20),latest:e?.createdAt})))}async getChatSessionDistinct(){let e=await this.ncloud.novaql('SELECT t1."objectId" as sid , "AvatarRole"."objectId" as rid, * FROM (\n SELECT *,ROW_NUMBER() OVER (PARTITION BY "user", "role" ORDER BY "createdAt" DESC) AS rn\n FROM "ChatSession" WHERE "user"=$1\n ) as t1\n LEFT JOIN "AvatarRole" ON "AvatarRole"."objectId" = t1."role"\n WHERE t1.rn=1\n LIMIT $2\n ;',[Parse.User.current()?.id,10]),t=e?.map((e=>({sid:e?.sid,rid:e?.rid,name:e?.name,message:e?.messageList?.[e?.messageList?.length-1]?.content?.slice(0,20),latest:e?.createdAt})));return this.chatList=t,this.chatList}createChatPanel(e,t){let r=t?.id||"new";t=new FmodeChat(r,e,t,this,this.navCtrl,this.ncloud,this.uploadServ),this.chatMap[r]=t,this.router.navigate(["/chat/pro/chat/"+r])}async createNewRoleChat(e){let t=new Parse.Query("AvatarRole");t.include("model");let r=await t.get(e);return new FmodeChat("new",r,null,this,this.navCtrl,this.ncloud,this.uploadServ)}async restoreChatPanel(e){let t=new Parse.Query("AvatarRole"),r=new Parse.Query("ChatSession"),a=await t.get(e?.rid),o=await r.get(e?.sid),i=new FmodeChat(e?.sid,a,o,this,this.navCtrl,this.ncloud,this.uploadServ);this.chatMap[e?.sid]=i,this.router.navigate(["/chat/pro/chat/"+e?.sid])}async callRole(e){document.body.classList.add("dark"),this.router.navigate([`/avatar/role/${e.id}`,{type:"phone"}])}static{this.ɵfac=i0.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"17.3.12",ngImport:i0,type:ChatService,deps:[{token:i1.Router},{token:i2.NovaCloudService},{token:i3.Platform},{token:i3.AlertController},{token:i3.NavController},{token:i4.CrossService},{token:i5.NovaUploadService}],target:i0.ɵɵFactoryTarget.Injectable})}static{this.ɵprov=i0.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"17.3.12",ngImport:i0,type:ChatService,providedIn:"root"})}}i0.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"17.3.12",ngImport:i0,type:ChatService,decorators:[{type:Injectable,args:[{providedIn:"root"}]}],ctorParameters:()=>[{type:i1.Router},{type:i2.NovaCloudService},{type:i3.Platform},{type:i3.AlertController},{type:i3.NavController},{type:i4.CrossService},{type:i5.NovaUploadService}]});
9
+ var MODULE_PATH_NEED = `6K+l5paH5Lu25piv5pys6aG555uu55qE5LiA6YOo5YiGIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBDb21wb25lbnRzIGluIEZtb2RlIEluYy4KICAgIOeJiOadg+aJgOaciSDCqSDmnKrmnaXpo57pqawgwqkg5rGf6KW/6ISR5o6n56eR5oqA5pyJ6ZmQ5YWs5Y+4IENvcHlyaWdodCDCqSBGbW9kZSBUZWNobm9sb2d5IENvLiwgTHRkLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICDkuKXnpoHlnKjmnKrnu4/mjojmnYPnmoTmg4XlhrXkuIvvvIzpgJrov4fku7vkvZXlqpLku4vlpI3liLbmraTmlofku7YgVW5hdXRob3JpemVkIGNvcHlpbmcgb2YgdGhpcyBmaWxlLCB2aWEgYW55IG1lZGl1bSBpcyBzdHJpY3RseSBwcm9oaWJpdGVkCiAgICDor6Xmlofku7bmmK/kuJPmnInnmoTmnLrlr4bmlofku7YgUHJvcHJpZXRhcnkgYW5kIGNvbmZpZGVudGlhbAogICAKICAgIENvcHlyaWdodCAyMDIxLW5vdyBGbW9kZSBJbmMuIHN1cHBvcnRAZm1vZGUuY24uIDE4NjA3MDA3MDczLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogICAgUEFUSDovaG9tZS9yeWFuL3dvcmtzcGFjZS9ub3ZhL25vdmEtYWRtaW4vZGlzdC9mbW9kZS1uZy9lc20yMDIyL2xpYi9haWdjL3NlcnZpY2UtZm1haS9zZXJ2aWNlLWNoYXQvY2hhdC5zZXJ2aWNlLm1qcw==`
10
+
@@ -1,7 +1,10 @@
1
- export * from "./chat.service";
2
- export * from "./chat-class";
3
- export * from "./mask-list";
4
- export * from "./utilnow.pipe";
5
- export * from "./pipes/chat-content.pipe";
6
- export * from "./pipes/hidexml.pipe";
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mbW9kZS1uZy9zcmMvbGliL2FpZ2Mvc2VydmljZS1mbWFpL3NlcnZpY2UtY2hhdC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdCQUFnQixDQUFBO0FBQzlCLGNBQWMsY0FBYyxDQUFBO0FBQzVCLGNBQWMsYUFBYSxDQUFBO0FBQzNCLGNBQWMsZ0JBQWdCLENBQUE7QUFDOUIsY0FBYywyQkFBMkIsQ0FBQTtBQUN6QyxjQUFjLHNCQUFzQixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vY2hhdC5zZXJ2aWNlXCJcclxuZXhwb3J0ICogZnJvbSBcIi4vY2hhdC1jbGFzc1wiXHJcbmV4cG9ydCAqIGZyb20gXCIuL21hc2stbGlzdFwiXHJcbmV4cG9ydCAqIGZyb20gXCIuL3V0aWxub3cucGlwZVwiXHJcbmV4cG9ydCAqIGZyb20gXCIuL3BpcGVzL2NoYXQtY29udGVudC5waXBlXCJcclxuZXhwb3J0ICogZnJvbSBcIi4vcGlwZXMvaGlkZXhtbC5waXBlXCIiXX0=
1
+
2
+ /**
3
+ * @copyright © 未来飞马 © 未来全栈 www.fmode.cn
4
+ * 版权所有 © 未来飞马 © 江西脑控科技有限公司 Copyright © Fmode Technology Co., Ltd.
5
+ * 保留所有权利 All Rights Reserved.
6
+ * /home/ryan/workspace/nova/nova-admin/dist/fmode-ng/esm2022/lib/aigc/service-fmai/service-chat/index.mjs
7
+ */
8
+ export*from"./chat.service";export*from"./chat-class";export*from"./mask-list";export*from"./utilnow.pipe";export*from"./pipes/chat-content.pipe";export*from"./pipes/hidexml.pipe";
9
+ var MODULE_PATH_NEED = `6K+l5paH5Lu25piv5pys6aG555uu55qE5LiA6YOo5YiGIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBDb21wb25lbnRzIGluIEZtb2RlIEluYy4KICAgIOeJiOadg+aJgOaciSDCqSDmnKrmnaXpo57pqawgwqkg5rGf6KW/6ISR5o6n56eR5oqA5pyJ6ZmQ5YWs5Y+4IENvcHlyaWdodCDCqSBGbW9kZSBUZWNobm9sb2d5IENvLiwgTHRkLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICDkuKXnpoHlnKjmnKrnu4/mjojmnYPnmoTmg4XlhrXkuIvvvIzpgJrov4fku7vkvZXlqpLku4vlpI3liLbmraTmlofku7YgVW5hdXRob3JpemVkIGNvcHlpbmcgb2YgdGhpcyBmaWxlLCB2aWEgYW55IG1lZGl1bSBpcyBzdHJpY3RseSBwcm9oaWJpdGVkCiAgICDor6Xmlofku7bmmK/kuJPmnInnmoTmnLrlr4bmlofku7YgUHJvcHJpZXRhcnkgYW5kIGNvbmZpZGVudGlhbAogICAKICAgIENvcHlyaWdodCAyMDIxLW5vdyBGbW9kZSBJbmMuIHN1cHBvcnRAZm1vZGUuY24uIDE4NjA3MDA3MDczLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogICAgUEFUSDovaG9tZS9yeWFuL3dvcmtzcGFjZS9ub3ZhL25vdmEtYWRtaW4vZGlzdC9mbW9kZS1uZy9lc20yMDIyL2xpYi9haWdjL3NlcnZpY2UtZm1haS9zZXJ2aWNlLWNoYXQvaW5kZXgubWpz`
10
+