filecat 5.32.0 → 5.32.2

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 (352) hide show
  1. package/build/dist/{377.f1e5a0d0f7800c8306ee.js → 377.4047ae540e74884d3ff5.js} +2 -2
  2. package/build/dist/543.ac5d314a52e99934103c.js +2 -0
  3. package/build/dist/{943.7c72fe51510266a06ea6.js → 943.d055d58eee66f1ab0414.js} +2 -2
  4. package/build/dist/index.html +1 -1
  5. package/build/dist/{main.b593eb159b18a7b4eefa.js → main.494c8bcf15274aeca600.js} +2 -2
  6. package/build/server/common/DataUtil.js +7 -0
  7. package/build/server/common/DataUtil.js.map +1 -0
  8. package/build/server/common/FileMenuType.js +48 -0
  9. package/build/server/common/FileMenuType.js.map +1 -0
  10. package/build/server/common/ListUtil.js +224 -0
  11. package/build/server/common/ListUtil.js.map +1 -0
  12. package/build/server/common/Result.pojo.js +15 -0
  13. package/build/server/common/Result.pojo.js.map +1 -0
  14. package/build/server/common/RouterConfig.js +20 -0
  15. package/build/server/common/RouterConfig.js.map +1 -0
  16. package/build/server/common/StringUtil.js +223 -0
  17. package/build/server/common/StringUtil.js.map +1 -0
  18. package/build/server/common/ValueUtil.js +70 -0
  19. package/build/server/common/ValueUtil.js.map +1 -0
  20. package/build/server/common/common.util.js +32 -0
  21. package/build/server/common/common.util.js.map +1 -0
  22. package/build/server/common/event.js +48 -0
  23. package/build/server/common/event.js.map +1 -0
  24. package/build/server/common/file.pojo.js +65 -0
  25. package/build/server/common/file.pojo.js.map +1 -0
  26. package/build/server/common/frame/WsData.js +127 -0
  27. package/build/server/common/frame/WsData.js.map +1 -0
  28. package/build/server/common/frame/constant.js +6 -0
  29. package/build/server/common/frame/constant.js.map +1 -0
  30. package/build/server/common/frame/data.encode.js +115 -0
  31. package/build/server/common/frame/data.encode.js.map +1 -0
  32. package/build/server/common/frame/router.js +25 -0
  33. package/build/server/common/frame/router.js.map +1 -0
  34. package/build/server/common/frame/ws.client.js +173 -0
  35. package/build/server/common/frame/ws.client.js.map +1 -0
  36. package/build/server/common/frame/ws.server.js +145 -0
  37. package/build/server/common/frame/ws.server.js.map +1 -0
  38. package/build/server/common/fun.util.js +65 -0
  39. package/build/server/common/fun.util.js.map +1 -0
  40. package/build/server/common/node/Env.js +198 -0
  41. package/build/server/common/node/Env.js.map +1 -0
  42. package/build/server/common/node/childProcessUtil.js +209 -0
  43. package/build/server/common/node/childProcessUtil.js.map +1 -0
  44. package/build/server/common/node/findPort.js +38 -0
  45. package/build/server/common/node/findPort.js.map +1 -0
  46. package/build/server/common/node/http.js +38 -0
  47. package/build/server/common/node/http.js.map +1 -0
  48. package/build/server/common/node/install.js +132 -0
  49. package/build/server/common/node/install.js.map +1 -0
  50. package/build/server/common/node/value.util.js +8 -0
  51. package/build/server/common/node/value.util.js.map +1 -0
  52. package/build/server/common/path_util.js +86 -0
  53. package/build/server/common/path_util.js.map +1 -0
  54. package/build/server/common/req/common.pojo.js +42 -0
  55. package/build/server/common/req/common.pojo.js.map +1 -0
  56. package/build/server/common/req/customerRouter.pojo.js +9 -0
  57. package/build/server/common/req/customerRouter.pojo.js.map +1 -0
  58. package/build/server/common/req/data.pojo.js +3 -0
  59. package/build/server/common/req/data.pojo.js.map +1 -0
  60. package/build/server/common/req/ddns.pojo.js +39 -0
  61. package/build/server/common/req/ddns.pojo.js.map +1 -0
  62. package/build/server/common/req/file.req.js +49 -0
  63. package/build/server/common/req/file.req.js.map +1 -0
  64. package/build/server/common/req/http_controller_router.js +13 -0
  65. package/build/server/common/req/http_controller_router.js.map +1 -0
  66. package/build/server/common/req/net.pojo.js +71 -0
  67. package/build/server/common/req/net.pojo.js.map +1 -0
  68. package/build/server/common/req/setting.req.js +140 -0
  69. package/build/server/common/req/setting.req.js.map +1 -0
  70. package/build/server/common/req/ssh.pojo.js +13 -0
  71. package/build/server/common/req/ssh.pojo.js.map +1 -0
  72. package/build/server/common/req/sys.pojo.js +29 -0
  73. package/build/server/common/req/sys.pojo.js.map +1 -0
  74. package/build/server/common/req/user.req.js +117 -0
  75. package/build/server/common/req/user.req.js.map +1 -0
  76. package/build/server/common/word_detection_js.js +142 -0
  77. package/build/server/common/word_detection_js.js.map +1 -0
  78. package/build/server/main/domain/ai_agent/ai_agent.constant.js +142 -0
  79. package/build/server/main/domain/ai_agent/ai_agent.constant.js.map +1 -0
  80. package/build/server/main/domain/ai_agent/ai_agent.controller.js +136 -0
  81. package/build/server/main/domain/ai_agent/ai_agent.controller.js.map +1 -0
  82. package/build/server/main/domain/ai_agent/ai_agent.service.js +715 -0
  83. package/build/server/main/domain/ai_agent/ai_agent.service.js.map +1 -0
  84. package/build/server/main/domain/ai_agent/ai_agent.tools.js +79 -0
  85. package/build/server/main/domain/ai_agent/ai_agent.tools.js.map +1 -0
  86. package/build/server/main/domain/ai_agent/ai_agent.worker.js +169 -0
  87. package/build/server/main/domain/ai_agent/ai_agent.worker.js.map +1 -0
  88. package/build/server/main/domain/bin/bin.file.util.js +109 -0
  89. package/build/server/main/domain/bin/bin.file.util.js.map +1 -0
  90. package/build/server/main/domain/bin/bin.js +147 -0
  91. package/build/server/main/domain/bin/bin.js.map +1 -0
  92. package/build/server/main/domain/bin/get_bin_dependency.js +36 -0
  93. package/build/server/main/domain/bin/get_bin_dependency.js.map +1 -0
  94. package/build/server/main/domain/crypto/crypto.controller.js +50 -0
  95. package/build/server/main/domain/crypto/crypto.controller.js.map +1 -0
  96. package/build/server/main/domain/crypto/crypto.service.js +112 -0
  97. package/build/server/main/domain/crypto/crypto.service.js.map +1 -0
  98. package/build/server/main/domain/data/DataUtil.js +127 -0
  99. package/build/server/main/domain/data/DataUtil.js.map +1 -0
  100. package/build/server/main/domain/data/basedata/base_data_util.js +214 -0
  101. package/build/server/main/domain/data/basedata/base_data_util.js.map +1 -0
  102. package/build/server/main/domain/data/data_type.js +92 -0
  103. package/build/server/main/domain/data/data_type.js.map +1 -0
  104. package/build/server/main/domain/ddns/ddns.ali.server.js +77 -0
  105. package/build/server/main/domain/ddns/ddns.ali.server.js.map +1 -0
  106. package/build/server/main/domain/ddns/ddns.controller.js +88 -0
  107. package/build/server/main/domain/ddns/ddns.controller.js.map +1 -0
  108. package/build/server/main/domain/ddns/ddns.dnspod.service.js +102 -0
  109. package/build/server/main/domain/ddns/ddns.dnspod.service.js.map +1 -0
  110. package/build/server/main/domain/ddns/ddns.pre.js +104 -0
  111. package/build/server/main/domain/ddns/ddns.pre.js.map +1 -0
  112. package/build/server/main/domain/ddns/ddns.service.js +161 -0
  113. package/build/server/main/domain/ddns/ddns.service.js.map +1 -0
  114. package/build/server/main/domain/ddns/ddns.tengxun.service.js +46 -0
  115. package/build/server/main/domain/ddns/ddns.tengxun.service.js.map +1 -0
  116. package/build/server/main/domain/ddns/tx/abstract_client.js +247 -0
  117. package/build/server/main/domain/ddns/tx/abstract_client.js.map +1 -0
  118. package/build/server/main/domain/ddns/tx/dnspod_client.js +38 -0
  119. package/build/server/main/domain/ddns/tx/dnspod_client.js.map +1 -0
  120. package/build/server/main/domain/ddns/tx/dnspod_models.js +3 -0
  121. package/build/server/main/domain/ddns/tx/dnspod_models.js.map +1 -0
  122. package/build/server/main/domain/ddns/tx/exception/tencent_cloud_sdk_exception.js +38 -0
  123. package/build/server/main/domain/ddns/tx/exception/tencent_cloud_sdk_exception.js.map +1 -0
  124. package/build/server/main/domain/ddns/tx/http/fetch.js +3 -0
  125. package/build/server/main/domain/ddns/tx/http/fetch.js.map +1 -0
  126. package/build/server/main/domain/ddns/tx/http/http_connection.js +181 -0
  127. package/build/server/main/domain/ddns/tx/http/http_connection.js.map +1 -0
  128. package/build/server/main/domain/ddns/tx/interface.js +5 -0
  129. package/build/server/main/domain/ddns/tx/interface.js.map +1 -0
  130. package/build/server/main/domain/ddns/tx/sdk_version.js +5 -0
  131. package/build/server/main/domain/ddns/tx/sdk_version.js.map +1 -0
  132. package/build/server/main/domain/ddns/tx/sign.js +142 -0
  133. package/build/server/main/domain/ddns/tx/sign.js.map +1 -0
  134. package/build/server/main/domain/ddns/tx/sse_response_model.js +89 -0
  135. package/build/server/main/domain/ddns/tx/sse_response_model.js.map +1 -0
  136. package/build/server/main/domain/file/FileUtil.js +230 -0
  137. package/build/server/main/domain/file/FileUtil.js.map +1 -0
  138. package/build/server/main/domain/file/file.compress.js +246 -0
  139. package/build/server/main/domain/file/file.compress.js.map +1 -0
  140. package/build/server/main/domain/file/file.controller.js +450 -0
  141. package/build/server/main/domain/file/file.controller.js.map +1 -0
  142. package/build/server/main/domain/file/file.service.js +1276 -0
  143. package/build/server/main/domain/file/file.service.js.map +1 -0
  144. package/build/server/main/domain/file/search/file.search.js +78 -0
  145. package/build/server/main/domain/file/search/file.search.js.map +1 -0
  146. package/build/server/main/domain/file/search/file.search.worker.js +107 -0
  147. package/build/server/main/domain/file/search/file.search.worker.js.map +1 -0
  148. package/build/server/main/domain/file/search/file.type.js +3 -0
  149. package/build/server/main/domain/file/search/file.type.js.map +1 -0
  150. package/build/server/main/domain/file/workflow/workflow.process.js +100 -0
  151. package/build/server/main/domain/file/workflow/workflow.process.js.map +1 -0
  152. package/build/server/main/domain/file/workflow/workflow.service.js +659 -0
  153. package/build/server/main/domain/file/workflow/workflow.service.js.map +1 -0
  154. package/build/server/main/domain/file/workflow/workflow.util.js +111 -0
  155. package/build/server/main/domain/file/workflow/workflow.util.js.map +1 -0
  156. package/build/server/main/domain/navindex/navindex.controller.js +73 -0
  157. package/build/server/main/domain/navindex/navindex.controller.js.map +1 -0
  158. package/build/server/main/domain/net/net.controller.js +318 -0
  159. package/build/server/main/domain/net/net.controller.js.map +1 -0
  160. package/build/server/main/domain/net/net.datautil.js +8 -0
  161. package/build/server/main/domain/net/net.datautil.js.map +1 -0
  162. package/build/server/main/domain/net/net.service.js +627 -0
  163. package/build/server/main/domain/net/net.service.js.map +1 -0
  164. package/build/server/main/domain/net/tcp.forward.client.service.js +223 -0
  165. package/build/server/main/domain/net/tcp.forward.client.service.js.map +1 -0
  166. package/build/server/main/domain/net/tcp.forward.controller.js +482 -0
  167. package/build/server/main/domain/net/tcp.forward.controller.js.map +1 -0
  168. package/build/server/main/domain/net/tcp.forward.server.service.js +407 -0
  169. package/build/server/main/domain/net/tcp.forward.server.service.js.map +1 -0
  170. package/build/server/main/domain/net/type.js +3 -0
  171. package/build/server/main/domain/net/type.js.map +1 -0
  172. package/build/server/main/domain/net/util/NetClientUtil.js +76 -0
  173. package/build/server/main/domain/net/util/NetClientUtil.js.map +1 -0
  174. package/build/server/main/domain/net/util/NetServerUtil.js +128 -0
  175. package/build/server/main/domain/net/util/NetServerUtil.js.map +1 -0
  176. package/build/server/main/domain/net/util/NetUtil.js +187 -0
  177. package/build/server/main/domain/net/util/NetUtil.js.map +1 -0
  178. package/build/server/main/domain/net/util/tcp.client.js +211 -0
  179. package/build/server/main/domain/net/util/tcp.client.js.map +1 -0
  180. package/build/server/main/domain/net/util/tcp_stream_util.js +69 -0
  181. package/build/server/main/domain/net/util/tcp_stream_util.js.map +1 -0
  182. package/build/server/main/domain/net/util/type.js +3 -0
  183. package/build/server/main/domain/net/util/type.js.map +1 -0
  184. package/build/server/main/domain/net/virtual/tcp_proxy.js +125 -0
  185. package/build/server/main/domain/net/virtual/tcp_proxy.js.map +1 -0
  186. package/build/server/main/domain/net/virtual/virtual.client.service.js +402 -0
  187. package/build/server/main/domain/net/virtual/virtual.client.service.js.map +1 -0
  188. package/build/server/main/domain/net/virtual/virtual.controller.js +211 -0
  189. package/build/server/main/domain/net/virtual/virtual.controller.js.map +1 -0
  190. package/build/server/main/domain/net/virtual/virtual.server.service.js +72 -0
  191. package/build/server/main/domain/net/virtual/virtual.server.service.js.map +1 -0
  192. package/build/server/main/domain/pre/lifeRecordService.js +79 -0
  193. package/build/server/main/domain/pre/lifeRecordService.js.map +1 -0
  194. package/build/server/main/domain/rdp/lib/asn1/ber.js +66 -0
  195. package/build/server/main/domain/rdp/lib/asn1/ber.js.map +1 -0
  196. package/build/server/main/domain/rdp/lib/asn1/index.js +9 -0
  197. package/build/server/main/domain/rdp/lib/asn1/index.js.map +1 -0
  198. package/build/server/main/domain/rdp/lib/asn1/spec.js +56 -0
  199. package/build/server/main/domain/rdp/lib/asn1/spec.js.map +1 -0
  200. package/build/server/main/domain/rdp/lib/asn1/univ.js +315 -0
  201. package/build/server/main/domain/rdp/lib/asn1/univ.js.map +1 -0
  202. package/build/server/main/domain/rdp/lib/core/error.js +25 -0
  203. package/build/server/main/domain/rdp/lib/core/error.js.map +1 -0
  204. package/build/server/main/domain/rdp/lib/core/index.js +13 -0
  205. package/build/server/main/domain/rdp/lib/core/index.js.map +1 -0
  206. package/build/server/main/domain/rdp/lib/core/layer.js +135 -0
  207. package/build/server/main/domain/rdp/lib/core/layer.js.map +1 -0
  208. package/build/server/main/domain/rdp/lib/core/log.js +25 -0
  209. package/build/server/main/domain/rdp/lib/core/log.js.map +1 -0
  210. package/build/server/main/domain/rdp/lib/core/rle.js +22699 -0
  211. package/build/server/main/domain/rdp/lib/core/rle.js.map +1 -0
  212. package/build/server/main/domain/rdp/lib/core/type.js +245 -0
  213. package/build/server/main/domain/rdp/lib/core/type.js.map +1 -0
  214. package/build/server/main/domain/rdp/lib/index.js +6 -0
  215. package/build/server/main/domain/rdp/lib/index.js.map +1 -0
  216. package/build/server/main/domain/rdp/lib/protocol/cert.js +115 -0
  217. package/build/server/main/domain/rdp/lib/protocol/cert.js.map +1 -0
  218. package/build/server/main/domain/rdp/lib/protocol/index.js +11 -0
  219. package/build/server/main/domain/rdp/lib/protocol/index.js.map +1 -0
  220. package/build/server/main/domain/rdp/lib/protocol/nla.js +549 -0
  221. package/build/server/main/domain/rdp/lib/protocol/nla.js.map +1 -0
  222. package/build/server/main/domain/rdp/lib/protocol/pdu/caps.js +486 -0
  223. package/build/server/main/domain/rdp/lib/protocol/pdu/caps.js.map +1 -0
  224. package/build/server/main/domain/rdp/lib/protocol/pdu/cliprdr.js +167 -0
  225. package/build/server/main/domain/rdp/lib/protocol/pdu/cliprdr.js.map +1 -0
  226. package/build/server/main/domain/rdp/lib/protocol/pdu/data.js +876 -0
  227. package/build/server/main/domain/rdp/lib/protocol/pdu/data.js.map +1 -0
  228. package/build/server/main/domain/rdp/lib/protocol/pdu/global.js +260 -0
  229. package/build/server/main/domain/rdp/lib/protocol/pdu/global.js.map +1 -0
  230. package/build/server/main/domain/rdp/lib/protocol/pdu/index.js +13 -0
  231. package/build/server/main/domain/rdp/lib/protocol/pdu/index.js.map +1 -0
  232. package/build/server/main/domain/rdp/lib/protocol/pdu/lic.js +199 -0
  233. package/build/server/main/domain/rdp/lib/protocol/pdu/lic.js.map +1 -0
  234. package/build/server/main/domain/rdp/lib/protocol/pdu/sec.js +333 -0
  235. package/build/server/main/domain/rdp/lib/protocol/pdu/sec.js.map +1 -0
  236. package/build/server/main/domain/rdp/lib/protocol/rdp.js +255 -0
  237. package/build/server/main/domain/rdp/lib/protocol/rdp.js.map +1 -0
  238. package/build/server/main/domain/rdp/lib/protocol/t125/gcc.js +354 -0
  239. package/build/server/main/domain/rdp/lib/protocol/t125/gcc.js.map +1 -0
  240. package/build/server/main/domain/rdp/lib/protocol/t125/index.js +7 -0
  241. package/build/server/main/domain/rdp/lib/protocol/t125/index.js.map +1 -0
  242. package/build/server/main/domain/rdp/lib/protocol/t125/mcs.js +318 -0
  243. package/build/server/main/domain/rdp/lib/protocol/t125/mcs.js.map +1 -0
  244. package/build/server/main/domain/rdp/lib/protocol/t125/per.js +188 -0
  245. package/build/server/main/domain/rdp/lib/protocol/t125/per.js.map +1 -0
  246. package/build/server/main/domain/rdp/lib/protocol/tpkt.js +94 -0
  247. package/build/server/main/domain/rdp/lib/protocol/tpkt.js.map +1 -0
  248. package/build/server/main/domain/rdp/lib/protocol/x224.js +207 -0
  249. package/build/server/main/domain/rdp/lib/protocol/x224.js.map +1 -0
  250. package/build/server/main/domain/rdp/lib/security/index.js +7 -0
  251. package/build/server/main/domain/rdp/lib/security/index.js.map +1 -0
  252. package/build/server/main/domain/rdp/lib/security/jsbn.js +1372 -0
  253. package/build/server/main/domain/rdp/lib/security/jsbn.js.map +1 -0
  254. package/build/server/main/domain/rdp/lib/security/md4.js +401 -0
  255. package/build/server/main/domain/rdp/lib/security/md4.js.map +1 -0
  256. package/build/server/main/domain/rdp/lib/security/rc4.js +45 -0
  257. package/build/server/main/domain/rdp/lib/security/rc4.js.map +1 -0
  258. package/build/server/main/domain/rdp/lib/security/rsa.js +15 -0
  259. package/build/server/main/domain/rdp/lib/security/rsa.js.map +1 -0
  260. package/build/server/main/domain/rdp/lib/security/x509.js +106 -0
  261. package/build/server/main/domain/rdp/lib/security/x509.js.map +1 -0
  262. package/build/server/main/domain/rdp/rdp.controller.js +116 -0
  263. package/build/server/main/domain/rdp/rdp.controller.js.map +1 -0
  264. package/build/server/main/domain/rdp/rdp.service.js +117 -0
  265. package/build/server/main/domain/rdp/rdp.service.js.map +1 -0
  266. package/build/server/main/domain/setting/setting.controller.js +621 -0
  267. package/build/server/main/domain/setting/setting.controller.js.map +1 -0
  268. package/build/server/main/domain/setting/setting.prefile.js +69 -0
  269. package/build/server/main/domain/setting/setting.prefile.js.map +1 -0
  270. package/build/server/main/domain/setting/setting.service.js +763 -0
  271. package/build/server/main/domain/setting/setting.service.js.map +1 -0
  272. package/build/server/main/domain/shell/shell.controller.js +92 -0
  273. package/build/server/main/domain/shell/shell.controller.js.map +1 -0
  274. package/build/server/main/domain/shell/shell.service.js +448 -0
  275. package/build/server/main/domain/shell/shell.service.js.map +1 -0
  276. package/build/server/main/domain/shell/util.js +101 -0
  277. package/build/server/main/domain/shell/util.js.map +1 -0
  278. package/build/server/main/domain/ssh/ssh.controller.js +203 -0
  279. package/build/server/main/domain/ssh/ssh.controller.js.map +1 -0
  280. package/build/server/main/domain/ssh/ssh.service.js +238 -0
  281. package/build/server/main/domain/ssh/ssh.service.js.map +1 -0
  282. package/build/server/main/domain/ssh/ssh.ssh2.js +217 -0
  283. package/build/server/main/domain/ssh/ssh.ssh2.js.map +1 -0
  284. package/build/server/main/domain/sys/sys.controller.js +374 -0
  285. package/build/server/main/domain/sys/sys.controller.js.map +1 -0
  286. package/build/server/main/domain/sys/sys.docker.service.js +339 -0
  287. package/build/server/main/domain/sys/sys.docker.service.js.map +1 -0
  288. package/build/server/main/domain/sys/sys.process.service.js +218 -0
  289. package/build/server/main/domain/sys/sys.process.service.js.map +1 -0
  290. package/build/server/main/domain/sys/sys.service.js +85 -0
  291. package/build/server/main/domain/sys/sys.service.js.map +1 -0
  292. package/build/server/main/domain/sys/sys.sys.service.js +206 -0
  293. package/build/server/main/domain/sys/sys.sys.service.js.map +1 -0
  294. package/build/server/main/domain/sys/sys.systemd.service.js +276 -0
  295. package/build/server/main/domain/sys/sys.systemd.service.js.map +1 -0
  296. package/build/server/main/domain/sys/sys.utl.js +42 -0
  297. package/build/server/main/domain/sys/sys.utl.js.map +1 -0
  298. package/build/server/main/domain/user/user.controller.js +277 -0
  299. package/build/server/main/domain/user/user.controller.js.map +1 -0
  300. package/build/server/main/domain/user/user.hash.js +8 -0
  301. package/build/server/main/domain/user/user.hash.js.map +1 -0
  302. package/build/server/main/domain/user/user.service.js +584 -0
  303. package/build/server/main/domain/user/user.service.js.map +1 -0
  304. package/build/server/main/domain/video/video.controller.js +71 -0
  305. package/build/server/main/domain/video/video.controller.js.map +1 -0
  306. package/build/server/main/domain/video/video.service.js +45 -0
  307. package/build/server/main/domain/video/video.service.js.map +1 -0
  308. package/build/server/main/main.js +171 -0
  309. package/build/server/main/main.js.map +1 -0
  310. package/build/server/main/other/Result.js +25 -0
  311. package/build/server/main/other/Result.js.map +1 -0
  312. package/build/server/main/other/cache.js +50 -0
  313. package/build/server/main/other/cache.js.map +1 -0
  314. package/build/server/main/other/config.js +6 -0
  315. package/build/server/main/other/config.js.map +1 -0
  316. package/build/server/main/other/middleware/AuthMiddleware.js +101 -0
  317. package/build/server/main/other/middleware/AuthMiddleware.js.map +1 -0
  318. package/build/server/main/other/middleware/GlobalErrorHandler.js +23 -0
  319. package/build/server/main/other/middleware/GlobalErrorHandler.js.map +1 -0
  320. package/build/server/main/other/middleware/decorator.js +15 -0
  321. package/build/server/main/other/middleware/decorator.js.map +1 -0
  322. package/build/server/main/other/middleware/redirect.js +20 -0
  323. package/build/server/main/other/middleware/redirect.js.map +1 -0
  324. package/build/server/main/server.js +22 -0
  325. package/build/server/main/server.js.map +1 -0
  326. package/build/server/main/threads/filecat/threads.filecat.js +16 -0
  327. package/build/server/main/threads/filecat/threads.filecat.js.map +1 -0
  328. package/build/server/main/threads/filecat/threads.work.filecat.js +7 -0
  329. package/build/server/main/threads/filecat/threads.work.filecat.js.map +1 -0
  330. package/build/server/main/threads/threads.main.js +224 -0
  331. package/build/server/main/threads/threads.main.js.map +1 -0
  332. package/build/server/main/threads/threads.type.js +19 -0
  333. package/build/server/main/threads/threads.type.js.map +1 -0
  334. package/build/server/main/threads/threads.work.js +52 -0
  335. package/build/server/main/threads/threads.work.js.map +1 -0
  336. package/build/server/main/watch.js +187 -0
  337. package/build/server/main/watch.js.map +1 -0
  338. package/build/server/tsconfig.tsbuildinfo +1 -0
  339. package/build/server/web/project/util/noty.js +45 -0
  340. package/build/server/web/project/util/noty.js.map +1 -0
  341. package/build/threads.work.filecat.js +1 -1
  342. package/package.json +5 -4
  343. package/shell/build.js +8 -0
  344. package/build/dist/543.9305b93ceeffabfa9862.js +0 -2
  345. package/build/jieba_rs_wasm_bg.wasm +0 -0
  346. package/build/main.js +0 -2
  347. package/build/main.js.LICENSE.txt +0 -445
  348. package/build/unrar.wasm +0 -0
  349. /package/build/dist/{377.f1e5a0d0f7800c8306ee.js.LICENSE.txt → 377.4047ae540e74884d3ff5.js.LICENSE.txt} +0 -0
  350. /package/build/dist/{543.9305b93ceeffabfa9862.js.LICENSE.txt → 543.ac5d314a52e99934103c.js.LICENSE.txt} +0 -0
  351. /package/build/dist/{943.7c72fe51510266a06ea6.js.LICENSE.txt → 943.d055d58eee66f1ab0414.js.LICENSE.txt} +0 -0
  352. /package/build/dist/{main.b593eb159b18a7b4eefa.js.LICENSE.txt → main.494c8bcf15274aeca600.js.LICENSE.txt} +0 -0
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CommonUtil = void 0;
4
+ const lockQueue = new Map();
5
+ class CommonUtil {
6
+ static sleep(ms) {
7
+ return new Promise(resolve => setTimeout(resolve, ms));
8
+ }
9
+ static async sleep_lock_key(key, ms) {
10
+ const prev = lockQueue.get(key) || Promise.resolve();
11
+ let release;
12
+ const current = new Promise(resolve => {
13
+ release = resolve;
14
+ });
15
+ lockQueue.set(key, prev.then(() => current));
16
+ await prev;
17
+ try {
18
+ await new Promise(r => setTimeout(r, ms));
19
+ }
20
+ finally {
21
+ release();
22
+ if (lockQueue.get(key) === current) {
23
+ lockQueue.delete(key);
24
+ }
25
+ }
26
+ }
27
+ static random01() {
28
+ return Math.random();
29
+ }
30
+ }
31
+ exports.CommonUtil = CommonUtil;
32
+ //# sourceMappingURL=common.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.util.js","sourceRoot":"","sources":["../../../src/common/common.util.ts"],"names":[],"mappings":";;;AACA,MAAM,SAAS,GAAG,IAAI,GAAG,EAAwB,CAAC;AAGlD,MAAa,UAAU;IAEZ,MAAM,CAAC,KAAK,CAAC,EAAS;QACzB,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IAC3D,CAAC;IAGM,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,GAAW,EAAE,EAAU;QAEtD,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QAErD,IAAI,OAAoB,CAAC;QAGzB,MAAM,OAAO,GAAG,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;YACxC,OAAO,GAAG,OAAO,CAAC;QACtB,CAAC,CAAC,CAAC;QAGH,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QAG7C,MAAM,IAAI,CAAC;QAEX,IAAI,CAAC;YAED,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAC9C,CAAC;gBAAS,CAAC;YAEP,OAAO,EAAE,CAAC;YAGV,IAAI,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,OAAO,EAAE,CAAC;gBACjC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC1B,CAAC;QACL,CAAC;IACL,CAAC;IAEO,MAAM,CAAC,QAAQ;QACnB,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;IACzB,CAAC;CAEJ;AA1CD,gCA0CC"}
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EventEmitter = void 0;
4
+ class EventEmitter {
5
+ constructor() {
6
+ this._events = {};
7
+ }
8
+ on(event, listener) {
9
+ if (!this._events[event])
10
+ this._events[event] = [];
11
+ this._events[event].push(listener);
12
+ return this;
13
+ }
14
+ once(event, listener) {
15
+ const wrapper = (...args) => {
16
+ listener(...args);
17
+ this.off(event, wrapper);
18
+ };
19
+ return this.on(event, wrapper);
20
+ }
21
+ off(event, listener) {
22
+ const listeners = this._events[event];
23
+ if (!listeners)
24
+ return this;
25
+ this._events[event] = listeners.filter(l => l !== listener);
26
+ return this;
27
+ }
28
+ off_all(event) {
29
+ delete this._events[event];
30
+ return this;
31
+ }
32
+ emit(event, ...args) {
33
+ const listeners = this._events[event];
34
+ if (!listeners || listeners.length === 0)
35
+ return false;
36
+ [...listeners].forEach(listener => {
37
+ try {
38
+ listener(...args);
39
+ }
40
+ catch (err) {
41
+ console.error(`Error in listener for event "${event}":`, err);
42
+ }
43
+ });
44
+ return true;
45
+ }
46
+ }
47
+ exports.EventEmitter = EventEmitter;
48
+ //# sourceMappingURL=event.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event.js","sourceRoot":"","sources":["../../../src/common/event.ts"],"names":[],"mappings":";;;AAEA,MAAa,YAAY;IAAzB;QACY,YAAO,GAA+B,EAAE,CAAC;IA4CrD,CAAC;IAzCG,EAAE,CAAC,KAAa,EAAE,QAAkB;QAChC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QACnD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACnC,OAAO,IAAI,CAAC;IAChB,CAAC;IAGD,IAAI,CAAC,KAAa,EAAE,QAAkB;QAClC,MAAM,OAAO,GAAa,CAAC,GAAG,IAAW,EAAE,EAAE;YACzC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;YAClB,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC7B,CAAC,CAAC;QACF,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACnC,CAAC;IAGD,GAAG,CAAC,KAAa,EAAE,QAAkB;QACjC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QAC5B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC;QAC5D,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,CAAC,KAAa;QACjB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC;IAChB,CAAC;IAGD,IAAI,CAAC,KAAa,EAAE,GAAG,IAAW;QAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QACvD,CAAC,GAAG,SAAS,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YAC9B,IAAI,CAAC;gBACD,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;YACtB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,OAAO,CAAC,KAAK,CAAC,gCAAgC,KAAK,IAAI,EAAE,GAAG,CAAC,CAAC;YAClE,CAAC;QACL,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AA7CD,oCA6CC"}
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LogViewerPojo = exports.base64UploadType = exports.FileCompressPojo = exports.file_select_list = exports.FileCompressType = exports.FileVideoFormatTransPojo = exports.FileTypeEnum = void 0;
4
+ var FileTypeEnum;
5
+ (function (FileTypeEnum) {
6
+ FileTypeEnum["audio"] = "audio";
7
+ FileTypeEnum["blob"] = "blob";
8
+ FileTypeEnum["image"] = "image";
9
+ FileTypeEnum["pdf"] = "pdf";
10
+ FileTypeEnum["text"] = "text";
11
+ FileTypeEnum["video"] = "video";
12
+ FileTypeEnum["invalid_link"] = "invalid_link";
13
+ FileTypeEnum["folder"] = "folder";
14
+ FileTypeEnum["upload_folder"] = "upload_folder";
15
+ FileTypeEnum["studio_file"] = "studio_file";
16
+ FileTypeEnum["studio_folder"] = "studio_folder";
17
+ FileTypeEnum["directory"] = "directory";
18
+ FileTypeEnum["unknow"] = "text";
19
+ FileTypeEnum["uncompress"] = "uncompress";
20
+ FileTypeEnum["md"] = "md";
21
+ FileTypeEnum["excalidraw"] = "excalidraw";
22
+ FileTypeEnum["draw"] = "draw";
23
+ FileTypeEnum["workflow_act"] = "act";
24
+ FileTypeEnum["dev"] = "dev";
25
+ FileTypeEnum["url"] = "url";
26
+ })(FileTypeEnum || (exports.FileTypeEnum = FileTypeEnum = {}));
27
+ class FileVideoFormatTransPojo {
28
+ }
29
+ exports.FileVideoFormatTransPojo = FileVideoFormatTransPojo;
30
+ var FileCompressType;
31
+ (function (FileCompressType) {
32
+ FileCompressType["zip"] = ".zip";
33
+ FileCompressType["tar"] = ".tar";
34
+ FileCompressType["gz"] = ".gz";
35
+ FileCompressType["rar"] = ".rar";
36
+ FileCompressType["tar_gz"] = ".tar.gz";
37
+ })(FileCompressType || (exports.FileCompressType = FileCompressType = {}));
38
+ exports.file_select_list = [
39
+ FileCompressType.zip,
40
+ FileCompressType.tar_gz,
41
+ FileCompressType.gz,
42
+ FileCompressType.rar,
43
+ FileCompressType.tar,
44
+ ];
45
+ class FileCompressPojo {
46
+ }
47
+ exports.FileCompressPojo = FileCompressPojo;
48
+ var base64UploadType;
49
+ (function (base64UploadType) {
50
+ base64UploadType[base64UploadType["all"] = 0] = "all";
51
+ base64UploadType[base64UploadType["start"] = 1] = "start";
52
+ base64UploadType[base64UploadType["part"] = 2] = "part";
53
+ })(base64UploadType || (exports.base64UploadType = base64UploadType = {}));
54
+ class LogViewerPojo {
55
+ constructor() {
56
+ this.position = 0;
57
+ this.line = 1000;
58
+ this.once_max_size = 1024 * 60;
59
+ this.context_list = [];
60
+ this.context_start_position_list = [];
61
+ this.context_position_list = [];
62
+ }
63
+ }
64
+ exports.LogViewerPojo = LogViewerPojo;
65
+ //# sourceMappingURL=file.pojo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file.pojo.js","sourceRoot":"","sources":["../../../src/common/file.pojo.ts"],"names":[],"mappings":";;;AAGA,IAAY,YAqBX;AArBD,WAAY,YAAY;IACpB,+BAAe,CAAA;IACf,6BAAa,CAAA;IACb,+BAAe,CAAA;IACf,2BAAW,CAAA;IACX,6BAAa,CAAA;IACb,+BAAe,CAAA;IACf,6CAA6B,CAAA;IAC7B,iCAAiB,CAAA;IACjB,+CAA+B,CAAA;IAC/B,2CAA2B,CAAA;IAC3B,+CAA+B,CAAA;IAC/B,uCAAuB,CAAA;IACvB,+BAAe,CAAA;IACf,yCAAyB,CAAA;IACzB,yBAAS,CAAA;IACT,yCAAyB,CAAA;IACzB,6BAAa,CAAA;IACb,oCAAoB,CAAA;IACpB,2BAAW,CAAA;IACX,2BAAW,CAAA;AACf,CAAC,EArBW,YAAY,4BAAZ,YAAY,QAqBvB;AA8BD,MAAa,wBAAwB;CAKpC;AALD,4DAKC;AAED,IAAY,gBAMX;AAND,WAAY,gBAAgB;IACxB,gCAAY,CAAA;IACZ,gCAAY,CAAA;IACZ,8BAAU,CAAA;IACV,gCAAY,CAAA;IACZ,sCAAkB,CAAA;AACtB,CAAC,EANW,gBAAgB,gCAAhB,gBAAgB,QAM3B;AAGY,QAAA,gBAAgB,GAAG;IAC5B,gBAAgB,CAAC,GAAG;IACpB,gBAAgB,CAAC,MAAM;IACvB,gBAAgB,CAAC,EAAE;IACnB,gBAAgB,CAAC,GAAG;IACpB,gBAAgB,CAAC,GAAG;CACvB,CAAA;AAED,MAAa,gBAAgB;CAQ5B;AARD,4CAQC;AAWD,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IACxB,qDAAG,CAAA;IACH,yDAAK,CAAA;IACL,uDAAI,CAAA;AACR,CAAC,EAJW,gBAAgB,gCAAhB,gBAAgB,QAI3B;AAGD,MAAa,aAAa;IAA1B;QAGI,aAAQ,GAAW,CAAC,CAAC;QACrB,SAAI,GAAW,IAAI,CAAC;QACpB,kBAAa,GAAW,IAAI,GAAG,EAAE,CAAC;QASlC,iBAAY,GAAa,EAAE,CAAC;QAC5B,gCAA2B,GAAa,EAAE,CAAC;QAC3C,0BAAqB,GAAa,EAAE,CAAC;IAGzC,CAAC;CAAA;AAnBD,sCAmBC"}
@@ -0,0 +1,127 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WsData = exports.WsConnectType = exports.CmdType = exports.protocolIsProto2 = void 0;
4
+ const Result_pojo_1 = require("../Result.pojo");
5
+ const data_encode_1 = require("./data.encode");
6
+ exports.protocolIsProto2 = true;
7
+ var CmdType;
8
+ (function (CmdType) {
9
+ CmdType[CmdType["heart"] = 0] = "heart";
10
+ CmdType[CmdType["sys_get"] = 1] = "sys_get";
11
+ CmdType[CmdType["sys_getting"] = 2] = "sys_getting";
12
+ CmdType[CmdType["sys_cancel"] = 3] = "sys_cancel";
13
+ CmdType[CmdType["shell_open"] = 4] = "shell_open";
14
+ CmdType[CmdType["shell_send"] = 5] = "shell_send";
15
+ CmdType[CmdType["shell_getting"] = 6] = "shell_getting";
16
+ CmdType[CmdType["shell_copy"] = 7] = "shell_copy";
17
+ CmdType[CmdType["docker_get"] = 8] = "docker_get";
18
+ CmdType[CmdType["docker_getting"] = 9] = "docker_getting";
19
+ CmdType[CmdType["docker_shell_logs"] = 10] = "docker_shell_logs";
20
+ CmdType[CmdType["docker_shell_logs_getting"] = 11] = "docker_shell_logs_getting";
21
+ CmdType[CmdType["docker_shell_logs_cancel"] = 12] = "docker_shell_logs_cancel";
22
+ CmdType[CmdType["docker_shell_exec_open"] = 13] = "docker_shell_exec_open";
23
+ CmdType[CmdType["docker_shell_exec"] = 14] = "docker_shell_exec";
24
+ CmdType[CmdType["docker_shell_exec_getting"] = 15] = "docker_shell_exec_getting";
25
+ CmdType[CmdType["docker_shell_exec_cancel"] = 16] = "docker_shell_exec_cancel";
26
+ CmdType[CmdType["docker_switch"] = 17] = "docker_switch";
27
+ CmdType[CmdType["docker_del_container"] = 18] = "docker_del_container";
28
+ CmdType[CmdType["process_get"] = 19] = "process_get";
29
+ CmdType[CmdType["process_getting"] = 20] = "process_getting";
30
+ CmdType[CmdType["process_close"] = 21] = "process_close";
31
+ CmdType[CmdType["systemd_inside_get"] = 22] = "systemd_inside_get";
32
+ CmdType[CmdType["systemd_inside_getting"] = 23] = "systemd_inside_getting";
33
+ CmdType[CmdType["systemd_logs_get"] = 24] = "systemd_logs_get";
34
+ CmdType[CmdType["systemd_logs_getting"] = 25] = "systemd_logs_getting";
35
+ CmdType[CmdType["remote_shell_open"] = 26] = "remote_shell_open";
36
+ CmdType[CmdType["remote_shell_send"] = 27] = "remote_shell_send";
37
+ CmdType[CmdType["remote_shell_getting"] = 28] = "remote_shell_getting";
38
+ CmdType[CmdType["remote_shell_cancel"] = 29] = "remote_shell_cancel";
39
+ CmdType[CmdType["remote_shell_cd"] = 30] = "remote_shell_cd";
40
+ CmdType[CmdType["infos"] = 31] = "infos";
41
+ CmdType[CmdType["connect"] = 32] = "connect";
42
+ CmdType[CmdType["rdp_connect"] = 33] = "rdp_connect";
43
+ CmdType[CmdType["rdp_bitmap"] = 34] = "rdp_bitmap";
44
+ CmdType[CmdType["rdp_close"] = 35] = "rdp_close";
45
+ CmdType[CmdType["rdp_error"] = 36] = "rdp_error";
46
+ CmdType[CmdType["mouse"] = 37] = "mouse";
47
+ CmdType[CmdType["wheel"] = 38] = "wheel";
48
+ CmdType[CmdType["scancode"] = 39] = "scancode";
49
+ CmdType[CmdType["unicode"] = 40] = "unicode";
50
+ CmdType[CmdType["rdp_disconnect"] = 41] = "rdp_disconnect";
51
+ CmdType[CmdType["vir_net_serverIno_get"] = 42] = "vir_net_serverIno_get";
52
+ CmdType[CmdType["vir_net_client_get"] = 43] = "vir_net_client_get";
53
+ CmdType[CmdType["tcp_proxy_client_status"] = 44] = "tcp_proxy_client_status";
54
+ CmdType[CmdType["file_info"] = 45] = "file_info";
55
+ CmdType[CmdType["file_video_trans"] = 46] = "file_video_trans";
56
+ CmdType[CmdType["file_video_trans_progress"] = 47] = "file_video_trans_progress";
57
+ CmdType[CmdType["file_uncompress"] = 48] = "file_uncompress";
58
+ CmdType[CmdType["file_uncompress_progress"] = 49] = "file_uncompress_progress";
59
+ CmdType[CmdType["file_compress"] = 50] = "file_compress";
60
+ CmdType[CmdType["file_compress_progress"] = 51] = "file_compress_progress";
61
+ CmdType[CmdType["file_upload_pre"] = 52] = "file_upload_pre";
62
+ CmdType[CmdType["file_upload"] = 53] = "file_upload";
63
+ CmdType[CmdType["log_viewer"] = 54] = "log_viewer";
64
+ CmdType[CmdType["log_viewer_watch"] = 55] = "log_viewer_watch";
65
+ CmdType[CmdType["log_viewer_watch_cancel"] = 56] = "log_viewer_watch_cancel";
66
+ CmdType[CmdType["search_file"] = 57] = "search_file";
67
+ CmdType[CmdType["search_file_progress"] = 58] = "search_file_progress";
68
+ CmdType[CmdType["search_file_index"] = 59] = "search_file_index";
69
+ CmdType[CmdType["search_file_cancel"] = 60] = "search_file_cancel";
70
+ CmdType[CmdType["http_download_water"] = 61] = "http_download_water";
71
+ CmdType[CmdType["http_download_cancel"] = 62] = "http_download_cancel";
72
+ CmdType[CmdType["folder_size_info"] = 63] = "folder_size_info";
73
+ CmdType[CmdType["folder_size_info_close"] = 64] = "folder_size_info_close";
74
+ CmdType[CmdType["rtsp_get"] = 65] = "rtsp_get";
75
+ CmdType[CmdType["rtsp_cancel"] = 66] = "rtsp_cancel";
76
+ CmdType[CmdType["workflow_exec"] = 67] = "workflow_exec";
77
+ CmdType[CmdType["workflow_get"] = 68] = "workflow_get";
78
+ CmdType[CmdType["workflow_realtime"] = 69] = "workflow_realtime";
79
+ CmdType[CmdType["workflow_realtime_one_req"] = 70] = "workflow_realtime_one_req";
80
+ CmdType[CmdType["workflow_realtime_one_rsq"] = 71] = "workflow_realtime_one_rsq";
81
+ CmdType[CmdType["workflow_search_by_run_name"] = 72] = "workflow_search_by_run_name";
82
+ CmdType[CmdType["ai_load_info"] = 73] = "ai_load_info";
83
+ })(CmdType || (exports.CmdType = CmdType = {}));
84
+ var WsConnectType;
85
+ (function (WsConnectType) {
86
+ WsConnectType[WsConnectType["data"] = 0] = "data";
87
+ WsConnectType[WsConnectType["other"] = 1] = "other";
88
+ })(WsConnectType || (exports.WsConnectType = WsConnectType = {}));
89
+ class WsData {
90
+ constructor(cmdType, context, bin_context, random_id) {
91
+ this.cmdType = cmdType;
92
+ this.context = context;
93
+ this.bin_context = bin_context;
94
+ this.code = Result_pojo_1.RCode.Success;
95
+ this.random_id = random_id;
96
+ }
97
+ encode() {
98
+ return data_encode_1.DataEncode.encode({
99
+ cmdType: this.cmdType,
100
+ context: this.context ? JSON.stringify(this.context) : null,
101
+ code: this.code,
102
+ message: this.message,
103
+ binContext: this.bin_context,
104
+ randomId: this.random_id
105
+ });
106
+ }
107
+ static decode(buffer) {
108
+ const data = data_encode_1.DataEncode.decode(buffer);
109
+ let context = data.context;
110
+ if (typeof context === 'string' && context) {
111
+ try {
112
+ context = JSON.parse(context);
113
+ }
114
+ catch (e) {
115
+ console.log(e);
116
+ context = data.context;
117
+ }
118
+ }
119
+ const v = new WsData(data.cmdType, context, data.binContext);
120
+ v.code = data.code;
121
+ v.message = data.message;
122
+ v.random_id = data.randomId;
123
+ return v;
124
+ }
125
+ }
126
+ exports.WsData = WsData;
127
+ //# sourceMappingURL=WsData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WsData.js","sourceRoot":"","sources":["../../../../src/common/frame/WsData.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.max_heart_interval = exports.heart_interval = void 0;
4
+ exports.heart_interval = 10 * 1000;
5
+ exports.max_heart_interval = 30 * 60 * 1000;
6
+ //# sourceMappingURL=constant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constant.js","sourceRoot":"","sources":["../../../../src/common/frame/constant.ts"],"names":[],"mappings":";;;AACa,QAAA,cAAc,GAAG,EAAE,GAAG,IAAI,CAAE;AAE5B,QAAA,kBAAkB,GAAG,EAAE,GAAE,EAAE,GAAG,IAAI,CAAC"}
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DataEncode = void 0;
4
+ const encodeNumber = (num) => {
5
+ const buf = new Uint8Array(4);
6
+ if (num === null || num === undefined) {
7
+ buf.set([0xFF, 0xFF, 0xFF, 0xFF]);
8
+ }
9
+ else {
10
+ const dv = new DataView(buf.buffer);
11
+ dv.setUint32(0, num);
12
+ }
13
+ return buf;
14
+ };
15
+ const encodeString = (str) => {
16
+ if (str === null || str === undefined) {
17
+ const buf = new Uint8Array(4);
18
+ const dv = new DataView(buf.buffer);
19
+ dv.setUint32(0, 0xFFFFFFFF);
20
+ return buf;
21
+ }
22
+ const textEncoder = new TextEncoder();
23
+ const utf8 = textEncoder.encode(str);
24
+ const lenBuf = new Uint8Array(4);
25
+ const dv = new DataView(lenBuf.buffer);
26
+ dv.setUint32(0, utf8.length);
27
+ return concatUint8Arrays([lenBuf, utf8]);
28
+ };
29
+ const encodeBin = (bin) => {
30
+ if (!bin) {
31
+ const buf = new Uint8Array(4);
32
+ const dv = new DataView(buf.buffer);
33
+ dv.setUint32(0, 0xFFFFFFFF);
34
+ return buf;
35
+ }
36
+ const lenBuf = new Uint8Array(4);
37
+ const dv = new DataView(lenBuf.buffer);
38
+ dv.setUint32(0, bin.length);
39
+ return concatUint8Arrays([lenBuf, bin]);
40
+ };
41
+ class DataEncode {
42
+ static encode(msg) {
43
+ const buffers = [];
44
+ buffers.push(new Uint8Array([DataEncode.VERSION]));
45
+ buffers.push(encodeNumber(msg.cmdType));
46
+ buffers.push(encodeString(msg.context));
47
+ buffers.push(encodeBin(msg.binContext));
48
+ buffers.push(encodeString(msg.message));
49
+ buffers.push(encodeNumber(msg.code));
50
+ buffers.push(encodeString(msg.randomId));
51
+ return concatUint8Arrays(buffers);
52
+ }
53
+ static decode(data) {
54
+ const u8 = data instanceof Uint8Array ? data : new Uint8Array(data);
55
+ let offset = 0;
56
+ const readUint32 = () => {
57
+ const dv = new DataView(u8.buffer, u8.byteOffset + offset, 4);
58
+ const val = dv.getUint32(0);
59
+ offset += 4;
60
+ return val;
61
+ };
62
+ const decodeNumber = () => {
63
+ const val = readUint32();
64
+ return val === 0xFFFFFFFF ? null : val;
65
+ };
66
+ const decodeString = () => {
67
+ const len = readUint32();
68
+ if (len === 0xFFFFFFFF)
69
+ return null;
70
+ if (offset + len > u8.length)
71
+ throw new RangeError("decodeString 越界");
72
+ const bytes = u8.slice(offset, offset + len);
73
+ offset += len;
74
+ return new TextDecoder().decode(bytes);
75
+ };
76
+ const decodeBin = () => {
77
+ const len = readUint32();
78
+ if (len === 0xFFFFFFFF)
79
+ return null;
80
+ if (offset + len > u8.length)
81
+ throw new RangeError("decodeBin 越界");
82
+ const bytes = u8.slice(offset, offset + len);
83
+ offset += len;
84
+ return bytes;
85
+ };
86
+ if (u8[offset++] !== DataEncode.VERSION) {
87
+ throw new Error("版本号不匹配");
88
+ }
89
+ return {
90
+ cmdType: decodeNumber(),
91
+ context: decodeString(),
92
+ binContext: decodeBin(),
93
+ message: decodeString(),
94
+ code: decodeNumber(),
95
+ randomId: decodeString()
96
+ };
97
+ }
98
+ }
99
+ exports.DataEncode = DataEncode;
100
+ DataEncode.VERSION = 0;
101
+ function concatUint8Arrays(buffers, totalLength) {
102
+ if (typeof totalLength !== 'number') {
103
+ totalLength = 0;
104
+ for (let buf of buffers)
105
+ totalLength += buf.length;
106
+ }
107
+ const result = new Uint8Array(totalLength);
108
+ let offset = 0;
109
+ for (let buf of buffers) {
110
+ result.set(buf, offset);
111
+ offset += buf.length;
112
+ }
113
+ return result;
114
+ }
115
+ //# sourceMappingURL=data.encode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data.encode.js","sourceRoot":"","sources":["../../../../src/common/frame/data.encode.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.otherRouterHandlerMap = exports.routerHandlerMap = void 0;
4
+ exports.msg = msg;
5
+ exports.otherMsg = otherMsg;
6
+ const objMap = new Map();
7
+ exports.routerHandlerMap = new Map();
8
+ exports.otherRouterHandlerMap = new Map();
9
+ function msg(msg) {
10
+ return (target, key, descriptor) => {
11
+ const p = objMap.get(target.name);
12
+ const obj = p ?? new target.constructor();
13
+ descriptor.value;
14
+ exports.routerHandlerMap.set(msg, obj[key].bind(obj));
15
+ };
16
+ }
17
+ function otherMsg(msg) {
18
+ return (target, key, descriptor) => {
19
+ const p = objMap.get(target.name);
20
+ const obj = p ?? new target.constructor();
21
+ descriptor.value;
22
+ exports.otherRouterHandlerMap.set(msg, obj[key].bind(obj));
23
+ };
24
+ }
25
+ //# sourceMappingURL=router.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../../../src/common/frame/router.ts"],"names":[],"mappings":";;;AAQA,kBAmBC;AAED,4BAOC;AAhCD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAiB,CAAC;AAC3B,QAAA,gBAAgB,GAAG,IAAI,GAAG,EAAoB,CAAC;AAC/C,QAAA,qBAAqB,GAAG,IAAI,GAAG,EAA8D,CAAC;AAE3G,SAAgB,GAAG,CAAC,GAAW;IAO3B,OAAO,CAAC,MAAW,EAAE,GAAW,EAAE,UAA8B,EAAC,EAAE;QAC/D,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,GAAG,GAAG,CAAC,IAAE,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QACxC,UAAU,CAAC,KAAK,CAAA;QAChB,wBAAgB,CAAC,GAAG,CAAC,GAAG,EAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;IAMhD,CAAC,CAAA;AAEL,CAAC;AAED,SAAgB,QAAQ,CAAC,GAAW;IAChC,OAAO,CAAC,MAAW,EAAE,GAAW,EAAE,UAA8B,EAAC,EAAE;QAC/D,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,GAAG,GAAG,CAAC,IAAE,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QACxC,UAAU,CAAC,KAAK,CAAA;QAChB,6BAAqB,CAAC,GAAG,CAAC,GAAG,EAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;IACrD,CAAC,CAAA;AACL,CAAC"}
@@ -0,0 +1,173 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WsClient = void 0;
4
+ const WsData_1 = require("./WsData");
5
+ const Result_pojo_1 = require("../Result.pojo");
6
+ const noty_1 = require("../../web/project/util/noty");
7
+ const event_1 = require("../event");
8
+ const constant_1 = require("./constant");
9
+ function generateRandomHash(length = 16) {
10
+ const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
11
+ let hash = '';
12
+ for (let i = 0; i < length; i++) {
13
+ hash += characters.charAt(Math.floor(Math.random() * characters.length));
14
+ }
15
+ return hash;
16
+ }
17
+ const protocol = window.location.protocol === 'https:' ? 'wss:' : 'ws:';
18
+ class WsClient {
19
+ constructor(url, name) {
20
+ this._msg_event = new event_1.EventEmitter();
21
+ this._msgResolveMap = new Map();
22
+ this._msgResolveTimeoutMap = new Map();
23
+ this._url = url;
24
+ this.name = name;
25
+ }
26
+ async connect() {
27
+ return new Promise((resolve, reject) => {
28
+ if (this._socket?.readyState === WebSocket.OPEN) {
29
+ return resolve(true);
30
+ }
31
+ if (this._socket) {
32
+ return reject(false);
33
+ }
34
+ this._socket = new WebSocket(`${protocol}//${this._url}?token=${localStorage.getItem("token")}&type=${WsData_1.WsConnectType.data}`);
35
+ this._socket.binaryType = "arraybuffer";
36
+ this._socket.addEventListener('open', () => {
37
+ console.log(`WebSocket 已连接: ${this._url}`);
38
+ resolve(true);
39
+ this.start_heart_interval();
40
+ });
41
+ const hand_data = (event_data) => {
42
+ const data = WsData_1.WsData.decode(event_data);
43
+ data.client_wss = this._socket;
44
+ if (data.code === Result_pojo_1.RCode.Fail) {
45
+ (0, noty_1.NotyFail)(data.message);
46
+ }
47
+ if (this._msgResolveMap.has(data.random_id)) {
48
+ clearTimeout(this._msgResolveTimeoutMap.get(data.random_id));
49
+ this._msgResolveTimeoutMap.delete(data.random_id);
50
+ this._msgResolveMap.get(data.random_id)(data);
51
+ this._msgResolveMap.delete(data.random_id);
52
+ }
53
+ this.emit_message('message', data);
54
+ this.emit_message(`message_${data.cmdType}`, data);
55
+ };
56
+ this._socket.addEventListener('message', async (event) => {
57
+ try {
58
+ let event_data = event.data;
59
+ if (event_data instanceof Blob) {
60
+ event_data = await event_data.arrayBuffer();
61
+ event_data = new Uint8Array(event_data);
62
+ }
63
+ else if (event_data instanceof ArrayBuffer) {
64
+ event_data = new Uint8Array(event_data);
65
+ }
66
+ hand_data(event_data);
67
+ }
68
+ catch (err) {
69
+ console.error('WS 消息错误', err?.message ?? err);
70
+ }
71
+ });
72
+ this._socket.addEventListener('close', (event) => {
73
+ console.log(`WS 已断开: ${this._url}`, event.code, event.reason);
74
+ this._socket = null;
75
+ this.emit_message('close');
76
+ this.stop_heart_interval();
77
+ });
78
+ this._socket.addEventListener('error', (event) => {
79
+ console.error('WS 错误', event);
80
+ });
81
+ });
82
+ }
83
+ start_heart_interval() {
84
+ this._heart_interval = setInterval(() => {
85
+ this.sendData(WsData_1.CmdType.heart, {});
86
+ }, constant_1.heart_interval);
87
+ }
88
+ stop_heart_interval() {
89
+ clearInterval(this._heart_interval);
90
+ }
91
+ async sendData(cmdType, context, set_random_id) {
92
+ const wsData = new WsData_1.WsData(cmdType);
93
+ wsData.context = context;
94
+ if (set_random_id) {
95
+ wsData.random_id = generateRandomHash(9);
96
+ }
97
+ return this.send(wsData);
98
+ }
99
+ ;
100
+ async send(message) {
101
+ if (!this._socket) {
102
+ await this.connect();
103
+ }
104
+ if (this._socket.readyState !== WebSocket.OPEN) {
105
+ await new Promise((resolve, reject) => {
106
+ const timeout = setTimeout(() => reject(new Error('WS 连接超时')), 5000);
107
+ const handleOpen = () => {
108
+ clearTimeout(timeout);
109
+ this._socket.removeEventListener('open', handleOpen);
110
+ resolve();
111
+ };
112
+ this._socket.addEventListener('open', handleOpen);
113
+ });
114
+ }
115
+ return new Promise((resolve, reject) => {
116
+ try {
117
+ message.random_id = generateRandomHash(9);
118
+ const key = message.random_id;
119
+ const timeout = setTimeout(() => {
120
+ reject(false);
121
+ console.info('ws超时', message.cmdType);
122
+ this._msgResolveMap.delete(key);
123
+ }, 1000 * 6);
124
+ this._msgResolveMap.set(key, resolve);
125
+ this._msgResolveTimeoutMap.set(key, timeout);
126
+ this._socket.send(message.encode());
127
+ }
128
+ catch (err) {
129
+ reject(err);
130
+ }
131
+ });
132
+ }
133
+ subscribeUnconnect(handle) {
134
+ this.on_message('close', handle);
135
+ }
136
+ async close() {
137
+ if (!this._socket)
138
+ return;
139
+ this._socket.close();
140
+ this._socket = null;
141
+ this.stop_heart_interval();
142
+ }
143
+ async addMsg(cmdType, handler) {
144
+ this.on_message(`message_${cmdType}`, handler);
145
+ }
146
+ removeMsg(cmdType) {
147
+ this._msg_event.off_all(`message_${cmdType}`);
148
+ }
149
+ on_message(message, listener) {
150
+ this._msg_event.on(message, listener);
151
+ }
152
+ on_once_message(message, listener) {
153
+ this._msg_event.once(message, listener);
154
+ }
155
+ off_message(message, listener) {
156
+ this._msg_event.off(message, listener);
157
+ }
158
+ emit_message(message, ...args) {
159
+ this._msg_event.emit(message, ...args);
160
+ }
161
+ static getOtherWebSocket(code) {
162
+ return new WebSocket(`${protocol}//${window.location.host + window.location.pathname}?token=${localStorage.getItem("token")}&type=${WsData_1.WsConnectType.other}&code=${code}`);
163
+ }
164
+ static getOtherWebSocketUrl(code, query) {
165
+ let url = `${protocol}//${window.location.host + window.location.pathname}?token=${localStorage.getItem("token")}&type=${WsData_1.WsConnectType.other}&code=${code}`;
166
+ for (const key of Object.keys(query)) {
167
+ url += `&${key}=${encodeURIComponent(query[key])}`;
168
+ }
169
+ return url;
170
+ }
171
+ }
172
+ exports.WsClient = WsClient;
173
+ //# sourceMappingURL=ws.client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ws.client.js","sourceRoot":"","sources":["../../../../src/common/frame/ws.client.ts"],"names":[],"mappings":"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"}