sa2kit 3.0.0 → 3.2.0

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 (980) hide show
  1. package/README.md +5 -5
  2. package/dist/AliyunOSSProvider-7IOT5U6M.js +15 -0
  3. package/dist/AliyunOSSProvider-7IOT5U6M.js.map +1 -0
  4. package/dist/AliyunOSSProvider-ZXZM7OQA.mjs +6 -0
  5. package/dist/AliyunOSSProvider-ZXZM7OQA.mjs.map +1 -0
  6. package/dist/LocalStorageProvider-KJKRCKBS.js +15 -0
  7. package/dist/LocalStorageProvider-KJKRCKBS.js.map +1 -0
  8. package/dist/LocalStorageProvider-O22465NY.mjs +6 -0
  9. package/dist/LocalStorageProvider-O22465NY.mjs.map +1 -0
  10. package/dist/chunk-2234T4A6.js +303 -0
  11. package/dist/chunk-2234T4A6.js.map +1 -0
  12. package/dist/chunk-36KGNXKW.js +16 -0
  13. package/dist/chunk-36KGNXKW.js.map +1 -0
  14. package/dist/chunk-375C7WL7.js +2695 -0
  15. package/dist/chunk-375C7WL7.js.map +1 -0
  16. package/dist/chunk-3J24Z4MB.js +991 -0
  17. package/dist/chunk-3J24Z4MB.js.map +1 -0
  18. package/dist/chunk-3QCATFQV.js +43 -0
  19. package/dist/chunk-3QCATFQV.js.map +1 -0
  20. package/dist/chunk-3R6JHA6D.js +120 -0
  21. package/dist/chunk-3R6JHA6D.js.map +1 -0
  22. package/dist/chunk-4OXKHV7J.js +43 -0
  23. package/dist/chunk-4OXKHV7J.js.map +1 -0
  24. package/dist/chunk-4PJM4752.js +4 -0
  25. package/dist/chunk-4PJM4752.js.map +1 -0
  26. package/dist/chunk-65JRVC3F.mjs +54 -0
  27. package/dist/chunk-65JRVC3F.mjs.map +1 -0
  28. package/dist/chunk-6HL54I2B.js +336 -0
  29. package/dist/chunk-6HL54I2B.js.map +1 -0
  30. package/dist/chunk-6V2MIQPF.mjs +77 -0
  31. package/dist/chunk-6V2MIQPF.mjs.map +1 -0
  32. package/dist/chunk-6YLCRWKM.mjs +8 -0
  33. package/dist/chunk-6YLCRWKM.mjs.map +1 -0
  34. package/dist/chunk-7CRU2Y5X.mjs +152 -0
  35. package/dist/chunk-7CRU2Y5X.mjs.map +1 -0
  36. package/dist/chunk-7PMT4L4I.js +324 -0
  37. package/dist/chunk-7PMT4L4I.js.map +1 -0
  38. package/dist/chunk-7VVZHFEM.js +88 -0
  39. package/dist/chunk-7VVZHFEM.js.map +1 -0
  40. package/dist/chunk-AWHGIKTQ.js +56 -0
  41. package/dist/chunk-AWHGIKTQ.js.map +1 -0
  42. package/dist/chunk-B3GYF6TY.js +37 -0
  43. package/dist/chunk-B3GYF6TY.js.map +1 -0
  44. package/dist/chunk-BDBJFOXM.mjs +14 -0
  45. package/dist/chunk-BDBJFOXM.mjs.map +1 -0
  46. package/dist/chunk-BTW3SWQN.mjs +25 -0
  47. package/dist/chunk-BTW3SWQN.mjs.map +1 -0
  48. package/dist/chunk-CHYSSZ4E.mjs +734 -0
  49. package/dist/chunk-CHYSSZ4E.mjs.map +1 -0
  50. package/dist/chunk-DO6QYAZV.mjs +298 -0
  51. package/dist/chunk-DO6QYAZV.mjs.map +1 -0
  52. package/dist/chunk-DTR53LQO.mjs +781 -0
  53. package/dist/chunk-DTR53LQO.mjs.map +1 -0
  54. package/dist/chunk-EI2S4XDG.mjs +89 -0
  55. package/dist/chunk-EI2S4XDG.mjs.map +1 -0
  56. package/dist/chunk-EOZHUI46.js +93 -0
  57. package/dist/chunk-EOZHUI46.js.map +1 -0
  58. package/dist/chunk-F2BZIU67.js +184 -0
  59. package/dist/chunk-F2BZIU67.js.map +1 -0
  60. package/dist/chunk-F2TEJSCP.js +756 -0
  61. package/dist/chunk-F2TEJSCP.js.map +1 -0
  62. package/dist/chunk-FCLS5R24.js +148 -0
  63. package/dist/chunk-FCLS5R24.js.map +1 -0
  64. package/dist/chunk-FUA6ZGMI.mjs +376 -0
  65. package/dist/chunk-FUA6ZGMI.mjs.map +1 -0
  66. package/dist/chunk-FY2X3LYR.mjs +3 -0
  67. package/dist/chunk-FY2X3LYR.mjs.map +1 -0
  68. package/dist/chunk-GS4SAW25.mjs +116 -0
  69. package/dist/chunk-GS4SAW25.mjs.map +1 -0
  70. package/dist/chunk-H56ICWUO.js +321 -0
  71. package/dist/chunk-H56ICWUO.js.map +1 -0
  72. package/dist/chunk-HG34SGMN.mjs +546 -0
  73. package/dist/chunk-HG34SGMN.mjs.map +1 -0
  74. package/dist/chunk-HL4H2HF6.js +279 -0
  75. package/dist/chunk-HL4H2HF6.js.map +1 -0
  76. package/dist/chunk-IJIQUMAK.mjs +272 -0
  77. package/dist/chunk-IJIQUMAK.mjs.map +1 -0
  78. package/dist/chunk-KEZFTDZT.mjs +559 -0
  79. package/dist/chunk-KEZFTDZT.mjs.map +1 -0
  80. package/dist/chunk-KHOVC2KL.js +144 -0
  81. package/dist/chunk-KHOVC2KL.js.map +1 -0
  82. package/dist/chunk-KRBSTLKC.js +6154 -0
  83. package/dist/chunk-KRBSTLKC.js.map +1 -0
  84. package/dist/chunk-KVYHCGRY.js +2011 -0
  85. package/dist/chunk-KVYHCGRY.js.map +1 -0
  86. package/dist/chunk-LZ5YTMMP.mjs +41 -0
  87. package/dist/chunk-LZ5YTMMP.mjs.map +1 -0
  88. package/dist/chunk-MJ6XJGAL.js +1551 -0
  89. package/dist/chunk-MJ6XJGAL.js.map +1 -0
  90. package/dist/chunk-MKLXCV4Z.mjs +1510 -0
  91. package/dist/chunk-MKLXCV4Z.mjs.map +1 -0
  92. package/dist/chunk-MMDSZIXD.mjs +286 -0
  93. package/dist/chunk-MMDSZIXD.mjs.map +1 -0
  94. package/dist/chunk-N2O3OX5Y.mjs +243 -0
  95. package/dist/chunk-N2O3OX5Y.mjs.map +1 -0
  96. package/dist/chunk-O6NNSPWD.mjs +35 -0
  97. package/dist/chunk-O6NNSPWD.mjs.map +1 -0
  98. package/dist/chunk-OIRZXSYM.js +80 -0
  99. package/dist/chunk-OIRZXSYM.js.map +1 -0
  100. package/dist/chunk-P7JQRNBJ.mjs +76 -0
  101. package/dist/chunk-P7JQRNBJ.mjs.map +1 -0
  102. package/dist/chunk-PA4ELVGI.js +20 -0
  103. package/dist/chunk-PA4ELVGI.js.map +1 -0
  104. package/dist/chunk-PLIG5257.mjs +2613 -0
  105. package/dist/chunk-PLIG5257.mjs.map +1 -0
  106. package/dist/chunk-QIF4MG5V.mjs +283 -0
  107. package/dist/chunk-QIF4MG5V.mjs.map +1 -0
  108. package/dist/chunk-RHECN4E2.mjs +6077 -0
  109. package/dist/chunk-RHECN4E2.mjs.map +1 -0
  110. package/dist/chunk-RHHTZTIN.mjs +314 -0
  111. package/dist/chunk-RHHTZTIN.mjs.map +1 -0
  112. package/dist/chunk-RRQ2X26Z.js +106 -0
  113. package/dist/chunk-RRQ2X26Z.js.map +1 -0
  114. package/dist/chunk-RST2T54Y.js +836 -0
  115. package/dist/chunk-RST2T54Y.js.map +1 -0
  116. package/dist/chunk-RVNQI6BI.js +249 -0
  117. package/dist/chunk-RVNQI6BI.js.map +1 -0
  118. package/dist/chunk-S3K4LTRI.mjs +226 -0
  119. package/dist/chunk-S3K4LTRI.mjs.map +1 -0
  120. package/dist/chunk-SWZ5XNF6.js +158 -0
  121. package/dist/chunk-SWZ5XNF6.js.map +1 -0
  122. package/dist/chunk-TNJ6LYX7.mjs +18 -0
  123. package/dist/chunk-TNJ6LYX7.mjs.map +1 -0
  124. package/dist/chunk-U7HNBCBS.js +207 -0
  125. package/dist/chunk-U7HNBCBS.js.map +1 -0
  126. package/dist/chunk-UJS3YSD3.mjs +37 -0
  127. package/dist/chunk-UJS3YSD3.mjs.map +1 -0
  128. package/dist/chunk-UJUWDF7M.mjs +336 -0
  129. package/dist/chunk-UJUWDF7M.mjs.map +1 -0
  130. package/dist/chunk-UR5NENGE.js +78 -0
  131. package/dist/chunk-UR5NENGE.js.map +1 -0
  132. package/dist/chunk-V7HGBDCB.mjs +135 -0
  133. package/dist/chunk-V7HGBDCB.mjs.map +1 -0
  134. package/dist/chunk-V7RLIZMN.js +90 -0
  135. package/dist/chunk-V7RLIZMN.js.map +1 -0
  136. package/dist/chunk-VCKXK6V5.js +345 -0
  137. package/dist/chunk-VCKXK6V5.js.map +1 -0
  138. package/dist/chunk-VIEXDTNF.mjs +100 -0
  139. package/dist/chunk-VIEXDTNF.mjs.map +1 -0
  140. package/dist/chunk-VN2DULIA.js +579 -0
  141. package/dist/chunk-VN2DULIA.js.map +1 -0
  142. package/dist/chunk-VNWMRUY6.js +168 -0
  143. package/dist/chunk-VNWMRUY6.js.map +1 -0
  144. package/dist/chunk-VYK4M2D6.mjs +177 -0
  145. package/dist/chunk-VYK4M2D6.mjs.map +1 -0
  146. package/dist/chunk-WB4H6ZUW.mjs +86 -0
  147. package/dist/chunk-WB4H6ZUW.mjs.map +1 -0
  148. package/dist/chunk-WM3AEJ2E.mjs +981 -0
  149. package/dist/chunk-WM3AEJ2E.mjs.map +1 -0
  150. package/dist/chunk-X5GINUGI.mjs +162 -0
  151. package/dist/chunk-X5GINUGI.mjs.map +1 -0
  152. package/dist/chunk-XB7GUEHZ.mjs +82 -0
  153. package/dist/chunk-XB7GUEHZ.mjs.map +1 -0
  154. package/dist/chunk-XE5RGZ3B.js +242 -0
  155. package/dist/chunk-XE5RGZ3B.js.map +1 -0
  156. package/dist/chunk-XNTIMVSL.mjs +193 -0
  157. package/dist/chunk-XNTIMVSL.mjs.map +1 -0
  158. package/dist/chunk-Y7WHUKJF.js +387 -0
  159. package/dist/chunk-Y7WHUKJF.js.map +1 -0
  160. package/dist/chunk-YIRPPMCN.mjs +1916 -0
  161. package/dist/chunk-YIRPPMCN.mjs.map +1 -0
  162. package/dist/chunk-YTGUIRRH.js +10 -0
  163. package/dist/chunk-YTGUIRRH.js.map +1 -0
  164. package/dist/chunk-Z2SNB5LJ.js +28 -0
  165. package/dist/chunk-Z2SNB5LJ.js.map +1 -0
  166. package/dist/chunk-ZOP7YIVX.js +552 -0
  167. package/dist/chunk-ZOP7YIVX.js.map +1 -0
  168. package/dist/chunk-ZUZLWHH5.mjs +146 -0
  169. package/dist/chunk-ZUZLWHH5.mjs.map +1 -0
  170. package/dist/common/ai/llm/core/index.d.mts +70 -0
  171. package/dist/common/ai/llm/core/index.d.ts +70 -0
  172. package/dist/common/ai/llm/core/index.js +54 -0
  173. package/dist/common/ai/llm/core/index.mjs +5 -0
  174. package/dist/common/ai/llm/electron/index.d.mts +6 -0
  175. package/dist/common/ai/llm/electron/index.d.ts +6 -0
  176. package/dist/common/ai/llm/electron/index.js +67 -0
  177. package/dist/common/ai/llm/electron/index.mjs +10 -0
  178. package/dist/common/ai/llm/index.d.mts +3 -0
  179. package/dist/common/ai/llm/index.d.ts +3 -0
  180. package/dist/common/ai/llm/index.js +54 -0
  181. package/dist/common/ai/llm/index.mjs +5 -0
  182. package/dist/common/ai/llm/miniapp/index.d.mts +6 -0
  183. package/dist/common/ai/llm/miniapp/index.d.ts +6 -0
  184. package/dist/common/ai/llm/miniapp/index.js +59 -0
  185. package/dist/common/ai/llm/miniapp/index.mjs +6 -0
  186. package/dist/common/ai/llm/rn/index.d.mts +6 -0
  187. package/dist/common/ai/llm/rn/index.d.ts +6 -0
  188. package/dist/common/ai/llm/rn/index.js +59 -0
  189. package/dist/common/ai/llm/rn/index.mjs +6 -0
  190. package/dist/common/ai/llm/ui/electron/index.d.mts +5 -0
  191. package/dist/common/ai/llm/ui/electron/index.d.ts +5 -0
  192. package/dist/common/ai/llm/ui/electron/index.js +22 -0
  193. package/dist/common/ai/llm/ui/electron/index.mjs +9 -0
  194. package/dist/common/ai/llm/ui/miniapp/index.d.mts +9 -0
  195. package/dist/common/ai/llm/ui/miniapp/index.d.ts +9 -0
  196. package/dist/common/ai/llm/ui/miniapp/index.js +14 -0
  197. package/dist/common/ai/llm/ui/miniapp/index.mjs +5 -0
  198. package/dist/common/ai/llm/ui/rn/index.d.mts +9 -0
  199. package/dist/common/ai/llm/ui/rn/index.d.ts +9 -0
  200. package/dist/common/ai/llm/ui/rn/index.js +14 -0
  201. package/dist/common/ai/llm/ui/rn/index.mjs +5 -0
  202. package/dist/common/ai/llm/ui/web/index.d.mts +15 -0
  203. package/dist/common/ai/llm/ui/web/index.d.ts +15 -0
  204. package/dist/common/ai/llm/ui/web/index.js +21 -0
  205. package/dist/common/ai/llm/ui/web/index.mjs +8 -0
  206. package/dist/common/ai/llm/web/index.d.mts +6 -0
  207. package/dist/common/ai/llm/web/index.d.ts +6 -0
  208. package/dist/common/ai/llm/web/index.js +66 -0
  209. package/dist/common/ai/llm/web/index.mjs +9 -0
  210. package/dist/common/analytics/index.d.mts +2 -0
  211. package/dist/common/analytics/index.d.ts +2 -0
  212. package/dist/common/analytics/index.js +314 -0
  213. package/dist/common/analytics/index.mjs +5 -0
  214. package/dist/common/analytics/server/index.js +529 -0
  215. package/dist/common/analytics/server/index.js.map +1 -0
  216. package/dist/common/analytics/server/index.mjs +525 -0
  217. package/dist/common/analytics/server/index.mjs.map +1 -0
  218. package/dist/common/api/index.d.mts +3 -0
  219. package/dist/common/api/index.d.ts +3 -0
  220. package/dist/common/api/index.js +21 -0
  221. package/dist/common/api/index.mjs +4 -0
  222. package/dist/common/auth/client/index.d.mts +1 -31
  223. package/dist/common/auth/client/index.d.ts +1 -31
  224. package/dist/common/auth/client/index.js +2 -15
  225. package/dist/common/auth/client/index.mjs +1 -2
  226. package/dist/common/auth/components/index.d.mts +5 -239
  227. package/dist/common/auth/components/index.d.ts +5 -239
  228. package/dist/common/auth/components/index.js +878 -49
  229. package/dist/common/auth/components/index.js.map +1 -1
  230. package/dist/common/auth/components/index.mjs +871 -5
  231. package/dist/common/auth/components/index.mjs.map +1 -1
  232. package/dist/common/auth/hooks/index.d.mts +2 -29
  233. package/dist/common/auth/hooks/index.d.ts +2 -29
  234. package/dist/common/auth/hooks/index.js +2 -11
  235. package/dist/common/auth/hooks/index.mjs +1 -2
  236. package/dist/common/auth/index.d.mts +5 -9
  237. package/dist/common/auth/index.d.ts +5 -9
  238. package/dist/common/auth/index.js +5 -26
  239. package/dist/common/auth/index.mjs +3 -4
  240. package/dist/common/auth/rn/index.d.mts +1 -17
  241. package/dist/common/auth/rn/index.d.ts +1 -17
  242. package/dist/common/auth/rn/index.js +2 -34
  243. package/dist/common/auth/rn/index.js.map +1 -1
  244. package/dist/common/auth/rn/index.mjs +2 -31
  245. package/dist/common/auth/rn/index.mjs.map +1 -1
  246. package/dist/common/auth/server/index.d.mts +81 -2
  247. package/dist/common/auth/server/index.d.ts +81 -2
  248. package/dist/common/auth/server/index.js +128 -37
  249. package/dist/common/auth/server/index.js.map +1 -1
  250. package/dist/common/auth/server/index.mjs +124 -1
  251. package/dist/common/auth/server/index.mjs.map +1 -1
  252. package/dist/common/auth/services/index.js +12 -9
  253. package/dist/common/auth/services/index.js.map +1 -1
  254. package/dist/common/auth/services/index.mjs +10 -1
  255. package/dist/common/auth/services/index.mjs.map +1 -1
  256. package/dist/common/components/index.d.mts +4 -0
  257. package/dist/common/components/index.d.ts +4 -0
  258. package/dist/common/components/index.js +414 -0
  259. package/dist/common/components/index.mjs +9 -0
  260. package/dist/common/config/index.d.mts +1 -0
  261. package/dist/common/config/index.d.ts +1 -0
  262. package/dist/common/config/index.js +21 -0
  263. package/dist/common/config/index.mjs +4 -0
  264. package/dist/common/config/server/index.js +1177 -0
  265. package/dist/common/config/server/index.js.map +1 -0
  266. package/dist/common/config/server/index.mjs +1138 -0
  267. package/dist/common/config/server/index.mjs.map +1 -0
  268. package/dist/common/export/index.d.mts +2 -2
  269. package/dist/common/export/index.d.ts +2 -2
  270. package/dist/common/export/index.js +67 -67
  271. package/dist/common/export/index.mjs +3 -3
  272. package/dist/common/export/server/index.d.mts +2 -2
  273. package/dist/common/export/server/index.d.ts +2 -2
  274. package/dist/common/export/server/index.js +76 -48
  275. package/dist/common/export/server/index.mjs +3 -3
  276. package/dist/common/file/index.d.mts +2 -2
  277. package/dist/common/file/index.d.ts +2 -2
  278. package/dist/common/file/index.js +27 -27
  279. package/dist/common/file/index.mjs +5 -5
  280. package/dist/common/file/server/index.d.mts +2 -2
  281. package/dist/common/file/server/index.d.ts +2 -2
  282. package/dist/common/file/server/index.js +58 -50
  283. package/dist/common/file/server/index.mjs +8 -8
  284. package/dist/common/i18n/index.d.mts +2 -0
  285. package/dist/common/i18n/index.d.ts +2 -0
  286. package/dist/common/i18n/index.js +73 -0
  287. package/dist/common/i18n/index.mjs +4 -0
  288. package/dist/common/imageCrop/index.d.mts +2 -0
  289. package/dist/common/imageCrop/index.d.ts +2 -0
  290. package/dist/common/imageCrop/index.js +61 -0
  291. package/dist/common/imageCrop/index.mjs +4 -0
  292. package/dist/common/index.d.mts +17 -20
  293. package/dist/common/index.d.ts +17 -20
  294. package/dist/common/index.js +76 -70
  295. package/dist/common/index.mjs +27 -29
  296. package/dist/common/logger/index.d.mts +1 -1
  297. package/dist/common/logger/index.d.ts +1 -1
  298. package/dist/common/logger/index.js +6 -7
  299. package/dist/common/logger/index.mjs +1 -2
  300. package/dist/common/ossFile/index.d.mts +61 -0
  301. package/dist/common/ossFile/index.d.ts +61 -0
  302. package/dist/common/ossFile/index.js +96 -0
  303. package/dist/common/ossFile/index.mjs +7 -0
  304. package/dist/common/ossFile/server/index.d.mts +94 -0
  305. package/dist/common/ossFile/server/index.d.ts +94 -0
  306. package/dist/common/ossFile/server/index.js +221 -0
  307. package/dist/common/ossFile/server/index.mjs +12 -0
  308. package/dist/common/platform/index.js +8 -8
  309. package/dist/common/platform/index.mjs +4 -4
  310. package/dist/common/request/index.d.mts +1 -1
  311. package/dist/common/request/index.d.ts +1 -1
  312. package/dist/common/request/index.js +5 -7
  313. package/dist/common/request/index.mjs +2 -4
  314. package/dist/common/storage/index.d.mts +1 -1
  315. package/dist/common/storage/index.d.ts +1 -1
  316. package/dist/common/storage/index.js +17 -17
  317. package/dist/common/storage/index.mjs +5 -5
  318. package/dist/common/universalExport/index.d.mts +232 -0
  319. package/dist/common/universalExport/index.d.ts +232 -0
  320. package/dist/common/universalExport/index.js +178 -0
  321. package/dist/common/universalExport/index.mjs +5 -0
  322. package/dist/common/universalExport/server/index.d.mts +1189 -0
  323. package/dist/common/universalExport/server/index.d.ts +1189 -0
  324. package/dist/common/universalExport/server/index.js +151 -0
  325. package/dist/common/universalExport/server/index.mjs +6 -0
  326. package/dist/common/universalFile/index.d.mts +409 -0
  327. package/dist/common/universalFile/index.d.ts +409 -0
  328. package/dist/common/universalFile/index.js +1742 -0
  329. package/dist/common/universalFile/index.js.map +1 -0
  330. package/dist/common/universalFile/index.mjs +1497 -0
  331. package/dist/common/universalFile/index.mjs.map +1 -0
  332. package/dist/common/universalFile/server/index.d.mts +1064 -0
  333. package/dist/common/universalFile/server/index.d.ts +1064 -0
  334. package/dist/common/universalFile/server/index.js +311 -0
  335. package/dist/common/universalFile/server/index.mjs +10 -0
  336. package/dist/common/utils/index.d.mts +1 -1
  337. package/dist/common/utils/index.d.ts +1 -1
  338. package/dist/common/utils/index.js +11 -12
  339. package/dist/common/utils/index.mjs +2 -3
  340. package/dist/index-BRLygK4h.d.ts +67 -0
  341. package/dist/index-BWNK5mH2.d.ts +76 -0
  342. package/dist/index-Bd7cKF1j.d.mts +50 -0
  343. package/dist/index-BiCK6gg6.d.mts +210 -0
  344. package/dist/index-BiCK6gg6.d.ts +210 -0
  345. package/dist/index-C-P2yBTH.d.mts +76 -0
  346. package/dist/index-CT4K2z-O.d.ts +81 -0
  347. package/dist/index-D6RJTGce.d.mts +81 -0
  348. package/dist/index-DA7L9JlE.d.mts +159 -0
  349. package/dist/index-DRQxtCDw.d.ts +50 -0
  350. package/dist/index-DXVph21C.d.mts +201 -0
  351. package/dist/index-DXVph21C.d.ts +201 -0
  352. package/dist/index-DzyK789B.d.mts +67 -0
  353. package/dist/index-FVJZCEtm.d.mts +145 -0
  354. package/dist/index-FVJZCEtm.d.ts +145 -0
  355. package/dist/index-nD9vPCZT.d.ts +159 -0
  356. package/dist/index-nOmIv2BG.d.mts +559 -0
  357. package/dist/index-nOmIv2BG.d.ts +559 -0
  358. package/dist/path-Bzc7hj1N.d.ts +45 -0
  359. package/dist/path-DN_65vhO.d.mts +45 -0
  360. package/dist/utils-Dm3O1rAa.d.mts +366 -0
  361. package/dist/utils-Dm3O1rAa.d.ts +366 -0
  362. package/package.json +293 -348
  363. package/dist/AliyunOSSProvider-4GRL2FJB.js +0 -15
  364. package/dist/AliyunOSSProvider-4GRL2FJB.js.map +0 -1
  365. package/dist/AliyunOSSProvider-QNVFIZ7Q.mjs +0 -6
  366. package/dist/AliyunOSSProvider-QNVFIZ7Q.mjs.map +0 -1
  367. package/dist/CollisionBalls-BpHufX3H.d.mts +0 -41
  368. package/dist/CollisionBalls-BpHufX3H.d.ts +0 -41
  369. package/dist/ConfigService-BxK06xP6.d.mts +0 -262
  370. package/dist/ConfigService-BxK06xP6.d.ts +0 -262
  371. package/dist/LocalStorageProvider-J5RHV37G.mjs +0 -6
  372. package/dist/LocalStorageProvider-J5RHV37G.mjs.map +0 -1
  373. package/dist/LocalStorageProvider-PFA2DMIJ.js +0 -15
  374. package/dist/LocalStorageProvider-PFA2DMIJ.js.map +0 -1
  375. package/dist/UniversalFileService-CC4d3wkc.d.ts +0 -139
  376. package/dist/UniversalFileService-CzAE_G4V.d.mts +0 -139
  377. package/dist/ai/llm/core/index.d.mts +0 -70
  378. package/dist/ai/llm/core/index.d.ts +0 -70
  379. package/dist/ai/llm/core/index.js +0 -54
  380. package/dist/ai/llm/core/index.mjs +0 -5
  381. package/dist/ai/llm/electron/index.d.mts +0 -6
  382. package/dist/ai/llm/electron/index.d.ts +0 -6
  383. package/dist/ai/llm/electron/index.js +0 -66
  384. package/dist/ai/llm/electron/index.mjs +0 -9
  385. package/dist/ai/llm/index.d.mts +0 -3
  386. package/dist/ai/llm/index.d.ts +0 -3
  387. package/dist/ai/llm/index.js +0 -54
  388. package/dist/ai/llm/index.mjs +0 -5
  389. package/dist/ai/llm/miniapp/index.d.mts +0 -6
  390. package/dist/ai/llm/miniapp/index.d.ts +0 -6
  391. package/dist/ai/llm/miniapp/index.js +0 -59
  392. package/dist/ai/llm/miniapp/index.mjs +0 -6
  393. package/dist/ai/llm/rn/index.d.mts +0 -6
  394. package/dist/ai/llm/rn/index.d.ts +0 -6
  395. package/dist/ai/llm/rn/index.js +0 -59
  396. package/dist/ai/llm/rn/index.mjs +0 -6
  397. package/dist/ai/llm/ui/electron/index.d.mts +0 -5
  398. package/dist/ai/llm/ui/electron/index.d.ts +0 -5
  399. package/dist/ai/llm/ui/electron/index.js +0 -21
  400. package/dist/ai/llm/ui/electron/index.mjs +0 -8
  401. package/dist/ai/llm/ui/miniapp/index.d.mts +0 -9
  402. package/dist/ai/llm/ui/miniapp/index.d.ts +0 -9
  403. package/dist/ai/llm/ui/miniapp/index.js +0 -14
  404. package/dist/ai/llm/ui/miniapp/index.mjs +0 -5
  405. package/dist/ai/llm/ui/rn/index.d.mts +0 -9
  406. package/dist/ai/llm/ui/rn/index.d.ts +0 -9
  407. package/dist/ai/llm/ui/rn/index.js +0 -14
  408. package/dist/ai/llm/ui/rn/index.mjs +0 -5
  409. package/dist/ai/llm/ui/web/index.d.mts +0 -15
  410. package/dist/ai/llm/ui/web/index.d.ts +0 -15
  411. package/dist/ai/llm/ui/web/index.js +0 -20
  412. package/dist/ai/llm/ui/web/index.mjs +0 -7
  413. package/dist/ai/llm/web/index.d.mts +0 -6
  414. package/dist/ai/llm/web/index.d.ts +0 -6
  415. package/dist/ai/llm/web/index.js +0 -65
  416. package/dist/ai/llm/web/index.mjs +0 -8
  417. package/dist/analytics/index.d.mts +0 -2
  418. package/dist/analytics/index.d.ts +0 -2
  419. package/dist/analytics/index.js +0 -314
  420. package/dist/analytics/index.mjs +0 -5
  421. package/dist/analytics/server/index.js +0 -529
  422. package/dist/analytics/server/index.js.map +0 -1
  423. package/dist/analytics/server/index.mjs +0 -525
  424. package/dist/analytics/server/index.mjs.map +0 -1
  425. package/dist/api/index.d.mts +0 -3
  426. package/dist/api/index.d.ts +0 -3
  427. package/dist/api/index.js +0 -21
  428. package/dist/api/index.mjs +0 -4
  429. package/dist/audioDetection/index.d.mts +0 -449
  430. package/dist/audioDetection/index.d.ts +0 -449
  431. package/dist/audioDetection/index.js +0 -1244
  432. package/dist/audioDetection/index.js.map +0 -1
  433. package/dist/audioDetection/index.mjs +0 -1227
  434. package/dist/audioDetection/index.mjs.map +0 -1
  435. package/dist/auth/client/index.d.mts +0 -13
  436. package/dist/auth/client/index.d.ts +0 -13
  437. package/dist/auth/client/index.js +0 -26
  438. package/dist/auth/client/index.mjs +0 -5
  439. package/dist/auth/components/index.d.mts +0 -10
  440. package/dist/auth/components/index.d.ts +0 -10
  441. package/dist/auth/components/index.js +0 -70
  442. package/dist/auth/components/index.mjs +0 -9
  443. package/dist/auth/hooks/index.d.mts +0 -13
  444. package/dist/auth/hooks/index.d.ts +0 -13
  445. package/dist/auth/hooks/index.js +0 -28
  446. package/dist/auth/hooks/index.mjs +0 -7
  447. package/dist/auth/index.d.mts +0 -21
  448. package/dist/auth/index.d.ts +0 -21
  449. package/dist/auth/index.js +0 -112
  450. package/dist/auth/index.mjs +0 -11
  451. package/dist/auth/rn/index.d.mts +0 -3133
  452. package/dist/auth/rn/index.d.ts +0 -3133
  453. package/dist/auth/rn/index.js +0 -684
  454. package/dist/auth/rn/index.js.map +0 -1
  455. package/dist/auth/rn/index.mjs +0 -663
  456. package/dist/auth/rn/index.mjs.map +0 -1
  457. package/dist/auth/schema/index.d.mts +0 -4
  458. package/dist/auth/schema/index.d.ts +0 -4
  459. package/dist/auth/schema/index.js +0 -49
  460. package/dist/auth/schema/index.mjs +0 -4
  461. package/dist/auth/services/index.d.mts +0 -1
  462. package/dist/auth/services/index.d.ts +0 -1
  463. package/dist/auth/services/index.js +0 -17
  464. package/dist/auth/services/index.mjs +0 -4
  465. package/dist/base-api-client-BpmcQt4Q.d.ts +0 -103
  466. package/dist/base-api-client-CFIhZK4C.d.mts +0 -277
  467. package/dist/base-api-client-CFIhZK4C.d.ts +0 -277
  468. package/dist/base-api-client-DXLsq2yz.d.mts +0 -103
  469. package/dist/boothVaultService-Cn4WPhjg.d.mts +0 -83
  470. package/dist/boothVaultService-Cn4WPhjg.d.ts +0 -83
  471. package/dist/business/index.d.mts +0 -2
  472. package/dist/business/index.d.ts +0 -2
  473. package/dist/business/index.js +0 -581
  474. package/dist/business/index.js.map +0 -1
  475. package/dist/business/index.mjs +0 -575
  476. package/dist/business/index.mjs.map +0 -1
  477. package/dist/calendar/index.d.mts +0 -1325
  478. package/dist/calendar/index.d.ts +0 -1325
  479. package/dist/calendar/index.js +0 -5964
  480. package/dist/calendar/index.js.map +0 -1
  481. package/dist/calendar/index.mjs +0 -5878
  482. package/dist/calendar/index.mjs.map +0 -1
  483. package/dist/calendar/routes/index.d.mts +0 -191
  484. package/dist/calendar/routes/index.d.ts +0 -191
  485. package/dist/calendar/routes/index.js +0 -844
  486. package/dist/calendar/routes/index.js.map +0 -1
  487. package/dist/calendar/routes/index.mjs +0 -826
  488. package/dist/calendar/routes/index.mjs.map +0 -1
  489. package/dist/chunk-25OFOKNF.js +0 -171
  490. package/dist/chunk-25OFOKNF.js.map +0 -1
  491. package/dist/chunk-2Y7BKFKZ.js +0 -37
  492. package/dist/chunk-2Y7BKFKZ.js.map +0 -1
  493. package/dist/chunk-3DXPQ4YV.mjs +0 -165
  494. package/dist/chunk-3DXPQ4YV.mjs.map +0 -1
  495. package/dist/chunk-3FRAIS4T.mjs +0 -35
  496. package/dist/chunk-3FRAIS4T.mjs.map +0 -1
  497. package/dist/chunk-3NHAT7D4.mjs +0 -361
  498. package/dist/chunk-3NHAT7D4.mjs.map +0 -1
  499. package/dist/chunk-3Z43XGA4.mjs +0 -54
  500. package/dist/chunk-3Z43XGA4.mjs.map +0 -1
  501. package/dist/chunk-4FDUURSD.js +0 -22
  502. package/dist/chunk-4FDUURSD.js.map +0 -1
  503. package/dist/chunk-4WBCWJSN.js +0 -836
  504. package/dist/chunk-4WBCWJSN.js.map +0 -1
  505. package/dist/chunk-5GBDDXYL.mjs +0 -23
  506. package/dist/chunk-5GBDDXYL.mjs.map +0 -1
  507. package/dist/chunk-5USIS3UM.js +0 -4
  508. package/dist/chunk-5USIS3UM.js.map +0 -1
  509. package/dist/chunk-7E3J7VAD.mjs +0 -3
  510. package/dist/chunk-7E3J7VAD.mjs.map +0 -1
  511. package/dist/chunk-ACUFEDVQ.js +0 -345
  512. package/dist/chunk-ACUFEDVQ.js.map +0 -1
  513. package/dist/chunk-AQPU2AXH.js +0 -756
  514. package/dist/chunk-AQPU2AXH.js.map +0 -1
  515. package/dist/chunk-ATUCZXJY.js +0 -80
  516. package/dist/chunk-ATUCZXJY.js.map +0 -1
  517. package/dist/chunk-B3CZ3HXJ.mjs +0 -126
  518. package/dist/chunk-B3CZ3HXJ.mjs.map +0 -1
  519. package/dist/chunk-BCE6RUZV.js +0 -2695
  520. package/dist/chunk-BCE6RUZV.js.map +0 -1
  521. package/dist/chunk-BIHYZA67.mjs +0 -2613
  522. package/dist/chunk-BIHYZA67.mjs.map +0 -1
  523. package/dist/chunk-C6KV7VTZ.mjs +0 -152
  524. package/dist/chunk-C6KV7VTZ.mjs.map +0 -1
  525. package/dist/chunk-CAYOQDBR.js +0 -78
  526. package/dist/chunk-CAYOQDBR.js.map +0 -1
  527. package/dist/chunk-CIVO4R6N.mjs +0 -37
  528. package/dist/chunk-CIVO4R6N.mjs.map +0 -1
  529. package/dist/chunk-CX2GHCAI.mjs +0 -217
  530. package/dist/chunk-CX2GHCAI.mjs.map +0 -1
  531. package/dist/chunk-DIF5VRL3.mjs +0 -73
  532. package/dist/chunk-DIF5VRL3.mjs.map +0 -1
  533. package/dist/chunk-FCEBAWN6.js +0 -18
  534. package/dist/chunk-FCEBAWN6.js.map +0 -1
  535. package/dist/chunk-FHIE5MTC.mjs +0 -541
  536. package/dist/chunk-FHIE5MTC.mjs.map +0 -1
  537. package/dist/chunk-FHLTPXAR.js +0 -56
  538. package/dist/chunk-FHLTPXAR.js.map +0 -1
  539. package/dist/chunk-FIUBFREP.mjs +0 -298
  540. package/dist/chunk-FIUBFREP.mjs.map +0 -1
  541. package/dist/chunk-FOQEQWX5.js +0 -4
  542. package/dist/chunk-FOQEQWX5.js.map +0 -1
  543. package/dist/chunk-FXQOXLDE.js +0 -120
  544. package/dist/chunk-FXQOXLDE.js.map +0 -1
  545. package/dist/chunk-G4NFB2QA.mjs +0 -212
  546. package/dist/chunk-G4NFB2QA.mjs.map +0 -1
  547. package/dist/chunk-G5HJGXGC.mjs +0 -39
  548. package/dist/chunk-G5HJGXGC.mjs.map +0 -1
  549. package/dist/chunk-G6HXNQ2U.mjs +0 -336
  550. package/dist/chunk-G6HXNQ2U.mjs.map +0 -1
  551. package/dist/chunk-G6NSKJMH.js +0 -106
  552. package/dist/chunk-G6NSKJMH.js.map +0 -1
  553. package/dist/chunk-G7UBMCUT.mjs +0 -41
  554. package/dist/chunk-G7UBMCUT.mjs.map +0 -1
  555. package/dist/chunk-GQZHGSRR.js +0 -44
  556. package/dist/chunk-GQZHGSRR.js.map +0 -1
  557. package/dist/chunk-GS7XLKET.js +0 -41
  558. package/dist/chunk-GS7XLKET.js.map +0 -1
  559. package/dist/chunk-GWNBVGDT.mjs +0 -1232
  560. package/dist/chunk-GWNBVGDT.mjs.map +0 -1
  561. package/dist/chunk-HDMIOOZY.mjs +0 -546
  562. package/dist/chunk-HDMIOOZY.mjs.map +0 -1
  563. package/dist/chunk-HJ6MH7J7.js +0 -552
  564. package/dist/chunk-HJ6MH7J7.js.map +0 -1
  565. package/dist/chunk-HJZHQW5R.mjs +0 -146
  566. package/dist/chunk-HJZHQW5R.mjs.map +0 -1
  567. package/dist/chunk-I5ZPEDNR.mjs +0 -734
  568. package/dist/chunk-I5ZPEDNR.mjs.map +0 -1
  569. package/dist/chunk-IBWDBBX5.mjs +0 -16
  570. package/dist/chunk-IBWDBBX5.mjs.map +0 -1
  571. package/dist/chunk-J77KR2EV.mjs +0 -193
  572. package/dist/chunk-J77KR2EV.mjs.map +0 -1
  573. package/dist/chunk-KH6RQ4J5.js +0 -28
  574. package/dist/chunk-KH6RQ4J5.js.map +0 -1
  575. package/dist/chunk-KQ643L7Z.js +0 -144
  576. package/dist/chunk-KQ643L7Z.js.map +0 -1
  577. package/dist/chunk-LFB5EIIM.mjs +0 -31
  578. package/dist/chunk-LFB5EIIM.mjs.map +0 -1
  579. package/dist/chunk-LHJKLUM7.mjs +0 -18
  580. package/dist/chunk-LHJKLUM7.mjs.map +0 -1
  581. package/dist/chunk-MBANGIG3.mjs +0 -781
  582. package/dist/chunk-MBANGIG3.mjs.map +0 -1
  583. package/dist/chunk-MWSAH7ZG.mjs +0 -42
  584. package/dist/chunk-MWSAH7ZG.mjs.map +0 -1
  585. package/dist/chunk-MZOGYD4N.mjs +0 -186
  586. package/dist/chunk-MZOGYD4N.mjs.map +0 -1
  587. package/dist/chunk-NCRP2YHY.mjs +0 -1598
  588. package/dist/chunk-NCRP2YHY.mjs.map +0 -1
  589. package/dist/chunk-NDGHXVGS.js +0 -25
  590. package/dist/chunk-NDGHXVGS.js.map +0 -1
  591. package/dist/chunk-NDPO5OMC.js +0 -563
  592. package/dist/chunk-NDPO5OMC.js.map +0 -1
  593. package/dist/chunk-PBI7FKMB.js +0 -43
  594. package/dist/chunk-PBI7FKMB.js.map +0 -1
  595. package/dist/chunk-Q5EDCKQA.js +0 -336
  596. package/dist/chunk-Q5EDCKQA.js.map +0 -1
  597. package/dist/chunk-Q5VFBPMG.mjs +0 -76
  598. package/dist/chunk-Q5VFBPMG.mjs.map +0 -1
  599. package/dist/chunk-QDUBO567.js +0 -1148
  600. package/dist/chunk-QDUBO567.js.map +0 -1
  601. package/dist/chunk-QP5N3ER6.js +0 -18
  602. package/dist/chunk-QP5N3ER6.js.map +0 -1
  603. package/dist/chunk-QXAOXBVB.mjs +0 -135
  604. package/dist/chunk-QXAOXBVB.mjs.map +0 -1
  605. package/dist/chunk-R2DXTE2L.js +0 -249
  606. package/dist/chunk-R2DXTE2L.js.map +0 -1
  607. package/dist/chunk-RJP2BRJD.mjs +0 -6077
  608. package/dist/chunk-RJP2BRJD.mjs.map +0 -1
  609. package/dist/chunk-RTD2WHQQ.mjs +0 -16
  610. package/dist/chunk-RTD2WHQQ.mjs.map +0 -1
  611. package/dist/chunk-RWCD2CAD.mjs +0 -1132
  612. package/dist/chunk-RWCD2CAD.mjs.map +0 -1
  613. package/dist/chunk-S37OK2QG.js +0 -216
  614. package/dist/chunk-S37OK2QG.js.map +0 -1
  615. package/dist/chunk-S3PUP7N4.js +0 -20
  616. package/dist/chunk-S3PUP7N4.js.map +0 -1
  617. package/dist/chunk-S6YSGVWD.js +0 -224
  618. package/dist/chunk-S6YSGVWD.js.map +0 -1
  619. package/dist/chunk-S732H246.js +0 -6154
  620. package/dist/chunk-S732H246.js.map +0 -1
  621. package/dist/chunk-SFDJNKWC.js +0 -22
  622. package/dist/chunk-SFDJNKWC.js.map +0 -1
  623. package/dist/chunk-SKFEJPMJ.mjs +0 -226
  624. package/dist/chunk-SKFEJPMJ.mjs.map +0 -1
  625. package/dist/chunk-SLKOEYFH.js +0 -303
  626. package/dist/chunk-SLKOEYFH.js.map +0 -1
  627. package/dist/chunk-TC5YU6A4.mjs +0 -243
  628. package/dist/chunk-TC5YU6A4.mjs.map +0 -1
  629. package/dist/chunk-TXMX6PZR.js +0 -190
  630. package/dist/chunk-TXMX6PZR.js.map +0 -1
  631. package/dist/chunk-UCOE6SET.js +0 -148
  632. package/dist/chunk-UCOE6SET.js.map +0 -1
  633. package/dist/chunk-UIYKZ73N.js +0 -36
  634. package/dist/chunk-UIYKZ73N.js.map +0 -1
  635. package/dist/chunk-V7EVKD5G.mjs +0 -116
  636. package/dist/chunk-V7EVKD5G.mjs.map +0 -1
  637. package/dist/chunk-VHN7PF5I.js +0 -20
  638. package/dist/chunk-VHN7PF5I.js.map +0 -1
  639. package/dist/chunk-VMTEDX5H.js +0 -1275
  640. package/dist/chunk-VMTEDX5H.js.map +0 -1
  641. package/dist/chunk-VRN76M56.mjs +0 -3
  642. package/dist/chunk-VRN76M56.mjs.map +0 -1
  643. package/dist/chunk-VXFUXZN5.mjs +0 -20
  644. package/dist/chunk-VXFUXZN5.mjs.map +0 -1
  645. package/dist/chunk-WEEXCPSE.mjs +0 -86
  646. package/dist/chunk-WEEXCPSE.mjs.map +0 -1
  647. package/dist/chunk-WW4GE6CZ.js +0 -1647
  648. package/dist/chunk-WW4GE6CZ.js.map +0 -1
  649. package/dist/chunk-WZDTNDYR.js +0 -207
  650. package/dist/chunk-WZDTNDYR.js.map +0 -1
  651. package/dist/chunk-XBZIS3MV.mjs +0 -13
  652. package/dist/chunk-XBZIS3MV.mjs.map +0 -1
  653. package/dist/chunk-XFOZ56FB.mjs +0 -20
  654. package/dist/chunk-XFOZ56FB.mjs.map +0 -1
  655. package/dist/chunk-XJ7ZAGC5.js +0 -88
  656. package/dist/chunk-XJ7ZAGC5.js.map +0 -1
  657. package/dist/chunk-XUS5ACKR.mjs +0 -100
  658. package/dist/chunk-XUS5ACKR.mjs.map +0 -1
  659. package/dist/chunk-YOTQG4NP.mjs +0 -314
  660. package/dist/chunk-YOTQG4NP.mjs.map +0 -1
  661. package/dist/chunk-Z23HAXHL.js +0 -136
  662. package/dist/chunk-Z23HAXHL.js.map +0 -1
  663. package/dist/chunk-ZGVB35L2.mjs +0 -25
  664. package/dist/chunk-ZGVB35L2.mjs.map +0 -1
  665. package/dist/chunk-ZLYPALF3.js +0 -242
  666. package/dist/chunk-ZLYPALF3.js.map +0 -1
  667. package/dist/chunk-ZM2SZJTZ.js +0 -158
  668. package/dist/chunk-ZM2SZJTZ.js.map +0 -1
  669. package/dist/chunk-ZRAW3HXA.js +0 -43
  670. package/dist/chunk-ZRAW3HXA.js.map +0 -1
  671. package/dist/chunk-ZWQJSZEY.js +0 -371
  672. package/dist/chunk-ZWQJSZEY.js.map +0 -1
  673. package/dist/components/index.d.mts +0 -405
  674. package/dist/components/index.d.ts +0 -405
  675. package/dist/components/index.js +0 -2516
  676. package/dist/components/index.js.map +0 -1
  677. package/dist/components/index.mjs +0 -2396
  678. package/dist/components/index.mjs.map +0 -1
  679. package/dist/config/index.d.mts +0 -1
  680. package/dist/config/index.d.ts +0 -1
  681. package/dist/config/index.js +0 -21
  682. package/dist/config/index.mjs +0 -4
  683. package/dist/config/server/index.js +0 -1177
  684. package/dist/config/server/index.js.map +0 -1
  685. package/dist/config/server/index.mjs +0 -1138
  686. package/dist/config/server/index.mjs.map +0 -1
  687. package/dist/drizzle-schema-BNhqj2AZ.d.mts +0 -1114
  688. package/dist/drizzle-schema-BNhqj2AZ.d.ts +0 -1114
  689. package/dist/festivalCard/index.d.mts +0 -76
  690. package/dist/festivalCard/index.d.ts +0 -76
  691. package/dist/festivalCard/index.js +0 -1492
  692. package/dist/festivalCard/index.js.map +0 -1
  693. package/dist/festivalCard/index.mjs +0 -1475
  694. package/dist/festivalCard/index.mjs.map +0 -1
  695. package/dist/festivalCard/routes/index.d.mts +0 -42
  696. package/dist/festivalCard/routes/index.d.ts +0 -42
  697. package/dist/festivalCard/routes/index.js +0 -361
  698. package/dist/festivalCard/routes/index.js.map +0 -1
  699. package/dist/festivalCard/routes/index.mjs +0 -356
  700. package/dist/festivalCard/routes/index.mjs.map +0 -1
  701. package/dist/festivalCard/server/index.d.mts +0 -120
  702. package/dist/festivalCard/server/index.d.ts +0 -120
  703. package/dist/festivalCard/server/index.js +0 -272
  704. package/dist/festivalCard/server/index.js.map +0 -1
  705. package/dist/festivalCard/server/index.mjs +0 -265
  706. package/dist/festivalCard/server/index.mjs.map +0 -1
  707. package/dist/festivalCardService-B3GsnNpV.d.ts +0 -13
  708. package/dist/festivalCardService-CWhrLNE9.d.mts +0 -13
  709. package/dist/i18n/index.d.mts +0 -2
  710. package/dist/i18n/index.d.ts +0 -2
  711. package/dist/i18n/index.js +0 -73
  712. package/dist/i18n/index.mjs +0 -4
  713. package/dist/imageCrop/index.d.mts +0 -165
  714. package/dist/imageCrop/index.d.ts +0 -165
  715. package/dist/imageCrop/index.js +0 -560
  716. package/dist/imageCrop/index.js.map +0 -1
  717. package/dist/imageCrop/index.mjs +0 -541
  718. package/dist/imageCrop/index.mjs.map +0 -1
  719. package/dist/index-2G9Dxjvt.d.ts +0 -81
  720. package/dist/index-BcjDRcKp.d.mts +0 -40
  721. package/dist/index-Bjem5rWn.d.mts +0 -17
  722. package/dist/index-BlpXrrTy.d.ts +0 -40
  723. package/dist/index-C5U-2hJq.d.ts +0 -23
  724. package/dist/index-CYuUB8aF.d.mts +0 -67
  725. package/dist/index-CifSBBP2.d.ts +0 -17
  726. package/dist/index-D0K4ehme.d.mts +0 -20
  727. package/dist/index-DLnfKN-a.d.mts +0 -23
  728. package/dist/index-DSel44Ke.d.mts +0 -93
  729. package/dist/index-DSel44Ke.d.ts +0 -93
  730. package/dist/index-DZ5iJtNO.d.mts +0 -102
  731. package/dist/index-DZ5iJtNO.d.ts +0 -102
  732. package/dist/index-Da7qdkgW.d.ts +0 -20
  733. package/dist/index-DrPcMJPc.d.mts +0 -250
  734. package/dist/index-DrPcMJPc.d.ts +0 -250
  735. package/dist/index-WrR57hKT.d.ts +0 -67
  736. package/dist/index-oLUvfqT8.d.ts +0 -20
  737. package/dist/index-pe38RDgC.d.mts +0 -20
  738. package/dist/index-qcOvRVuN.d.mts +0 -81
  739. package/dist/index.d.mts +0 -11590
  740. package/dist/index.d.ts +0 -11590
  741. package/dist/index.js +0 -17679
  742. package/dist/index.js.map +0 -1
  743. package/dist/index.mjs +0 -17403
  744. package/dist/index.mjs.map +0 -1
  745. package/dist/logger/index.d.mts +0 -125
  746. package/dist/logger/index.d.ts +0 -125
  747. package/dist/logger/index.js +0 -29
  748. package/dist/logger/index.mjs +0 -4
  749. package/dist/mikuContest/ui/web/index.d.mts +0 -2
  750. package/dist/mikuContest/ui/web/index.d.ts +0 -2
  751. package/dist/mikuContest/ui/web/index.js +0 -353
  752. package/dist/mikuContest/ui/web/index.js.map +0 -1
  753. package/dist/mikuContest/ui/web/index.mjs +0 -343
  754. package/dist/mikuContest/ui/web/index.mjs.map +0 -1
  755. package/dist/mikuFireworks3D/index.d.mts +0 -268
  756. package/dist/mikuFireworks3D/index.d.ts +0 -268
  757. package/dist/mikuFireworks3D/index.js +0 -1267
  758. package/dist/mikuFireworks3D/index.js.map +0 -1
  759. package/dist/mikuFireworks3D/index.mjs +0 -1228
  760. package/dist/mikuFireworks3D/index.mjs.map +0 -1
  761. package/dist/mikuFusionGame/index.d.mts +0 -117
  762. package/dist/mikuFusionGame/index.d.ts +0 -117
  763. package/dist/mikuFusionGame/index.js +0 -1208
  764. package/dist/mikuFusionGame/index.js.map +0 -1
  765. package/dist/mikuFusionGame/index.mjs +0 -1195
  766. package/dist/mikuFusionGame/index.mjs.map +0 -1
  767. package/dist/mmd/admin/index.d.mts +0 -487
  768. package/dist/mmd/admin/index.d.ts +0 -487
  769. package/dist/mmd/admin/index.js +0 -1058
  770. package/dist/mmd/admin/index.js.map +0 -1
  771. package/dist/mmd/admin/index.mjs +0 -1027
  772. package/dist/mmd/admin/index.mjs.map +0 -1
  773. package/dist/mmd/index.d.mts +0 -2467
  774. package/dist/mmd/index.d.ts +0 -2467
  775. package/dist/mmd/index.js +0 -10119
  776. package/dist/mmd/index.js.map +0 -1
  777. package/dist/mmd/index.mjs +0 -10028
  778. package/dist/mmd/index.mjs.map +0 -1
  779. package/dist/mmd/server/index.d.mts +0 -139
  780. package/dist/mmd/server/index.d.ts +0 -139
  781. package/dist/mmd/server/index.js +0 -424
  782. package/dist/mmd/server/index.js.map +0 -1
  783. package/dist/mmd/server/index.mjs +0 -404
  784. package/dist/mmd/server/index.mjs.map +0 -1
  785. package/dist/music/index.d.mts +0 -74
  786. package/dist/music/index.d.ts +0 -74
  787. package/dist/music/index.js +0 -830
  788. package/dist/music/index.js.map +0 -1
  789. package/dist/music/index.mjs +0 -809
  790. package/dist/music/index.mjs.map +0 -1
  791. package/dist/music/server/index.d.mts +0 -1
  792. package/dist/music/server/index.d.ts +0 -1
  793. package/dist/music/server/index.js +0 -194
  794. package/dist/music/server/index.js.map +0 -1
  795. package/dist/music/server/index.mjs +0 -182
  796. package/dist/music/server/index.mjs.map +0 -1
  797. package/dist/navigation/index.d.mts +0 -93
  798. package/dist/navigation/index.d.ts +0 -93
  799. package/dist/navigation/index.js +0 -453
  800. package/dist/navigation/index.js.map +0 -1
  801. package/dist/navigation/index.mjs +0 -443
  802. package/dist/navigation/index.mjs.map +0 -1
  803. package/dist/ossFile/index.d.mts +0 -61
  804. package/dist/ossFile/index.d.ts +0 -61
  805. package/dist/ossFile/index.js +0 -96
  806. package/dist/ossFile/index.js.map +0 -1
  807. package/dist/ossFile/index.mjs +0 -7
  808. package/dist/ossFile/index.mjs.map +0 -1
  809. package/dist/ossFile/server/index.d.mts +0 -94
  810. package/dist/ossFile/server/index.d.ts +0 -94
  811. package/dist/ossFile/server/index.js +0 -213
  812. package/dist/ossFile/server/index.js.map +0 -1
  813. package/dist/ossFile/server/index.mjs +0 -12
  814. package/dist/ossFile/server/index.mjs.map +0 -1
  815. package/dist/path-DkaHQSyW.d.mts +0 -41
  816. package/dist/path-qjVnH8qU.d.ts +0 -41
  817. package/dist/portfolio/index.d.mts +0 -66
  818. package/dist/portfolio/index.d.ts +0 -66
  819. package/dist/portfolio/index.js +0 -736
  820. package/dist/portfolio/index.js.map +0 -1
  821. package/dist/portfolio/index.mjs +0 -724
  822. package/dist/portfolio/index.mjs.map +0 -1
  823. package/dist/qqbot/server/index.d.mts +0 -216
  824. package/dist/qqbot/server/index.d.ts +0 -216
  825. package/dist/qqbot/server/index.js +0 -394
  826. package/dist/qqbot/server/index.js.map +0 -1
  827. package/dist/qqbot/server/index.mjs +0 -385
  828. package/dist/qqbot/server/index.mjs.map +0 -1
  829. package/dist/qqbot/ui/web/index.d.mts +0 -10
  830. package/dist/qqbot/ui/web/index.d.ts +0 -10
  831. package/dist/qqbot/ui/web/index.js +0 -105
  832. package/dist/qqbot/ui/web/index.js.map +0 -1
  833. package/dist/qqbot/ui/web/index.mjs +0 -99
  834. package/dist/qqbot/ui/web/index.mjs.map +0 -1
  835. package/dist/request/index.d.mts +0 -59
  836. package/dist/request/index.d.ts +0 -59
  837. package/dist/request/index.js +0 -23
  838. package/dist/request/index.js.map +0 -1
  839. package/dist/request/index.mjs +0 -6
  840. package/dist/request/index.mjs.map +0 -1
  841. package/dist/screenReceiver/index.d.mts +0 -86
  842. package/dist/screenReceiver/index.d.ts +0 -86
  843. package/dist/screenReceiver/index.js +0 -281
  844. package/dist/screenReceiver/index.js.map +0 -1
  845. package/dist/screenReceiver/index.mjs +0 -273
  846. package/dist/screenReceiver/index.mjs.map +0 -1
  847. package/dist/session-BCXvGCnm.d.mts +0 -81
  848. package/dist/session-BCXvGCnm.d.ts +0 -81
  849. package/dist/storage/index.d.mts +0 -136
  850. package/dist/storage/index.d.ts +0 -136
  851. package/dist/storage/index.js +0 -48
  852. package/dist/storage/index.js.map +0 -1
  853. package/dist/storage/index.mjs +0 -7
  854. package/dist/storage/index.mjs.map +0 -1
  855. package/dist/testYourself/admin/index.d.mts +0 -58
  856. package/dist/testYourself/admin/index.d.ts +0 -58
  857. package/dist/testYourself/admin/index.js +0 -1009
  858. package/dist/testYourself/admin/index.js.map +0 -1
  859. package/dist/testYourself/admin/index.mjs +0 -1002
  860. package/dist/testYourself/admin/index.mjs.map +0 -1
  861. package/dist/testYourself/index.d.mts +0 -53
  862. package/dist/testYourself/index.d.ts +0 -53
  863. package/dist/testYourself/index.js +0 -2551
  864. package/dist/testYourself/index.js.map +0 -1
  865. package/dist/testYourself/index.mjs +0 -2531
  866. package/dist/testYourself/index.mjs.map +0 -1
  867. package/dist/testYourself/server/index.d.mts +0 -1029
  868. package/dist/testYourself/server/index.d.ts +0 -1029
  869. package/dist/testYourself/server/index.js +0 -825
  870. package/dist/testYourself/server/index.js.map +0 -1
  871. package/dist/testYourself/server/index.mjs +0 -816
  872. package/dist/testYourself/server/index.mjs.map +0 -1
  873. package/dist/types-3ujSNAXb.d.mts +0 -286
  874. package/dist/types-3ujSNAXb.d.ts +0 -286
  875. package/dist/types-B6B210gX.d.mts +0 -270
  876. package/dist/types-B6B210gX.d.ts +0 -270
  877. package/dist/types-Bdnte5EN.d.mts +0 -292
  878. package/dist/types-C_W_CoUD.d.ts +0 -99
  879. package/dist/types-Cs0CLvrH.d.mts +0 -70
  880. package/dist/types-Cs0CLvrH.d.ts +0 -70
  881. package/dist/types-DCRvasyH.d.mts +0 -99
  882. package/dist/types-HorDyIRv.d.mts +0 -303
  883. package/dist/types-HorDyIRv.d.ts +0 -303
  884. package/dist/types-_rFX1atk.d.ts +0 -292
  885. package/dist/types.legacy-J-j-_ig_.d.mts +0 -25
  886. package/dist/types.legacy-J-j-_ig_.d.ts +0 -25
  887. package/dist/universalExport/index.d.mts +0 -312
  888. package/dist/universalExport/index.d.ts +0 -312
  889. package/dist/universalExport/index.js +0 -178
  890. package/dist/universalExport/index.js.map +0 -1
  891. package/dist/universalExport/index.mjs +0 -5
  892. package/dist/universalExport/index.mjs.map +0 -1
  893. package/dist/universalExport/server/index.d.mts +0 -1270
  894. package/dist/universalExport/server/index.d.ts +0 -1270
  895. package/dist/universalExport/server/index.js +0 -123
  896. package/dist/universalExport/server/index.js.map +0 -1
  897. package/dist/universalExport/server/index.mjs +0 -6
  898. package/dist/universalExport/server/index.mjs.map +0 -1
  899. package/dist/universalFile/index.d.mts +0 -409
  900. package/dist/universalFile/index.d.ts +0 -409
  901. package/dist/universalFile/index.js +0 -1742
  902. package/dist/universalFile/index.js.map +0 -1
  903. package/dist/universalFile/index.mjs +0 -1497
  904. package/dist/universalFile/index.mjs.map +0 -1
  905. package/dist/universalFile/server/index.d.mts +0 -1064
  906. package/dist/universalFile/server/index.d.ts +0 -1064
  907. package/dist/universalFile/server/index.js +0 -311
  908. package/dist/universalFile/server/index.js.map +0 -1
  909. package/dist/universalFile/server/index.mjs +0 -10
  910. package/dist/universalFile/server/index.mjs.map +0 -1
  911. package/dist/utils/index.d.mts +0 -192
  912. package/dist/utils/index.d.ts +0 -192
  913. package/dist/utils/index.js +0 -46
  914. package/dist/utils/index.js.map +0 -1
  915. package/dist/utils/index.mjs +0 -5
  916. package/dist/utils/index.mjs.map +0 -1
  917. package/dist/vocaloidBooth/index.d.mts +0 -64
  918. package/dist/vocaloidBooth/index.d.ts +0 -64
  919. package/dist/vocaloidBooth/index.js +0 -376
  920. package/dist/vocaloidBooth/index.js.map +0 -1
  921. package/dist/vocaloidBooth/index.mjs +0 -362
  922. package/dist/vocaloidBooth/index.mjs.map +0 -1
  923. package/dist/vocaloidBooth/server/index.d.mts +0 -111
  924. package/dist/vocaloidBooth/server/index.d.ts +0 -111
  925. package/dist/vocaloidBooth/server/index.js +0 -247
  926. package/dist/vocaloidBooth/server/index.js.map +0 -1
  927. package/dist/vocaloidBooth/server/index.mjs +0 -237
  928. package/dist/vocaloidBooth/server/index.mjs.map +0 -1
  929. package/dist/vocaloidBooth/web/index.d.mts +0 -3
  930. package/dist/vocaloidBooth/web/index.d.ts +0 -3
  931. package/dist/vocaloidBooth/web/index.js +0 -376
  932. package/dist/vocaloidBooth/web/index.js.map +0 -1
  933. package/dist/vocaloidBooth/web/index.mjs +0 -362
  934. package/dist/vocaloidBooth/web/index.mjs.map +0 -1
  935. /package/dist/{ai → common/ai}/llm/core/index.js.map +0 -0
  936. /package/dist/{ai → common/ai}/llm/core/index.mjs.map +0 -0
  937. /package/dist/{ai → common/ai}/llm/electron/index.js.map +0 -0
  938. /package/dist/{ai → common/ai}/llm/electron/index.mjs.map +0 -0
  939. /package/dist/{ai → common/ai}/llm/index.js.map +0 -0
  940. /package/dist/{ai → common/ai}/llm/index.mjs.map +0 -0
  941. /package/dist/{ai → common/ai}/llm/miniapp/index.js.map +0 -0
  942. /package/dist/{ai → common/ai}/llm/miniapp/index.mjs.map +0 -0
  943. /package/dist/{ai → common/ai}/llm/rn/index.js.map +0 -0
  944. /package/dist/{ai → common/ai}/llm/rn/index.mjs.map +0 -0
  945. /package/dist/{ai → common/ai}/llm/ui/electron/index.js.map +0 -0
  946. /package/dist/{ai → common/ai}/llm/ui/electron/index.mjs.map +0 -0
  947. /package/dist/{ai → common/ai}/llm/ui/miniapp/index.js.map +0 -0
  948. /package/dist/{ai → common/ai}/llm/ui/miniapp/index.mjs.map +0 -0
  949. /package/dist/{ai → common/ai}/llm/ui/rn/index.js.map +0 -0
  950. /package/dist/{ai → common/ai}/llm/ui/rn/index.mjs.map +0 -0
  951. /package/dist/{ai → common/ai}/llm/ui/web/index.js.map +0 -0
  952. /package/dist/{ai → common/ai}/llm/ui/web/index.mjs.map +0 -0
  953. /package/dist/{ai → common/ai}/llm/web/index.js.map +0 -0
  954. /package/dist/{ai → common/ai}/llm/web/index.mjs.map +0 -0
  955. /package/dist/{analytics → common/analytics}/index.js.map +0 -0
  956. /package/dist/{analytics → common/analytics}/index.mjs.map +0 -0
  957. /package/dist/{analytics → common/analytics}/server/index.d.mts +0 -0
  958. /package/dist/{analytics → common/analytics}/server/index.d.ts +0 -0
  959. /package/dist/{api → common/api}/index.js.map +0 -0
  960. /package/dist/{api → common/api}/index.mjs.map +0 -0
  961. /package/dist/{auth/client → common/components}/index.js.map +0 -0
  962. /package/dist/{auth/client → common/components}/index.mjs.map +0 -0
  963. /package/dist/{auth/components → common/config}/index.js.map +0 -0
  964. /package/dist/{auth/components → common/config}/index.mjs.map +0 -0
  965. /package/dist/{config → common/config}/server/index.d.mts +0 -0
  966. /package/dist/{config → common/config}/server/index.d.ts +0 -0
  967. /package/dist/{auth/hooks → common/i18n}/index.js.map +0 -0
  968. /package/dist/{auth/hooks → common/i18n}/index.mjs.map +0 -0
  969. /package/dist/{auth → common/imageCrop}/index.js.map +0 -0
  970. /package/dist/{auth → common/imageCrop}/index.mjs.map +0 -0
  971. /package/dist/{auth/schema → common/ossFile}/index.js.map +0 -0
  972. /package/dist/{auth/schema → common/ossFile}/index.mjs.map +0 -0
  973. /package/dist/{auth/services → common/ossFile/server}/index.js.map +0 -0
  974. /package/dist/{auth/services → common/ossFile/server}/index.mjs.map +0 -0
  975. /package/dist/{config → common/universalExport}/index.js.map +0 -0
  976. /package/dist/{config → common/universalExport}/index.mjs.map +0 -0
  977. /package/dist/{i18n → common/universalExport/server}/index.js.map +0 -0
  978. /package/dist/{i18n → common/universalExport/server}/index.mjs.map +0 -0
  979. /package/dist/{logger → common/universalFile/server}/index.js.map +0 -0
  980. /package/dist/{logger → common/universalFile/server}/index.mjs.map +0 -0
@@ -1,424 +0,0 @@
1
- 'use strict';
2
-
3
- var drizzleOrm = require('drizzle-orm');
4
- var pgCore = require('drizzle-orm/pg-core');
5
- var AdmZip = require('adm-zip');
6
- var crypto = require('crypto');
7
- var promises = require('fs/promises');
8
- var path = require('path');
9
-
10
- function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
11
-
12
- var AdmZip__default = /*#__PURE__*/_interopDefault(AdmZip);
13
- var path__default = /*#__PURE__*/_interopDefault(path);
14
-
15
- // src/mmd/server/drizzle-schema.ts
16
- var mmdPlaylists = pgCore.pgTable(
17
- "mmd_playlists",
18
- {
19
- /** 主键ID */
20
- id: pgCore.uuid("id").primaryKey().defaultRandom(),
21
- /** 播放列表名称 */
22
- name: pgCore.varchar("name", { length: 255 }).notNull(),
23
- /** 播放列表描述 */
24
- description: pgCore.text("description"),
25
- /** 是否启用列表循环 */
26
- loop: pgCore.boolean("loop").notNull().default(false),
27
- /** 预加载策略: none, next, all */
28
- preloadStrategy: pgCore.varchar("preload_strategy", { length: 20 }).notNull().default("none"),
29
- /** 是否自动播放 */
30
- autoPlay: pgCore.boolean("auto_play").notNull().default(false),
31
- /** 播放列表缩略图文件ID (关联 file_metadata.id) */
32
- thumbnailFileId: pgCore.uuid("thumbnail_file_id"),
33
- /** 播放列表状态: draft, published, archived */
34
- status: pgCore.varchar("status", { length: 20 }).notNull().default("draft"),
35
- /** 显示顺序 */
36
- sortOrder: pgCore.integer("sort_order").notNull().default(0),
37
- /** 额外配置(JSON格式,存储舞台配置等) */
38
- config: pgCore.json("config"),
39
- /** 创建者ID */
40
- createdBy: pgCore.varchar("created_by", { length: 255 }).notNull(),
41
- /** 创建时间 */
42
- createdAt: pgCore.timestamp("created_at").defaultNow().notNull(),
43
- /** 更新时间 */
44
- updatedAt: pgCore.timestamp("updated_at").defaultNow().notNull(),
45
- /** 删除时间(软删除) */
46
- deletedAt: pgCore.timestamp("deleted_at")
47
- },
48
- (table) => ({
49
- /** 按状态查询的索引 */
50
- statusIndex: pgCore.index("mmd_playlists_status_idx").on(table.status),
51
- /** 按创建者查询的索引 */
52
- createdByIndex: pgCore.index("mmd_playlists_created_by_idx").on(table.createdBy),
53
- /** 按删除状态查询的索引 */
54
- deletedAtIndex: pgCore.index("mmd_playlists_deleted_at_idx").on(table.deletedAt),
55
- /** 按排序查询的索引 */
56
- sortOrderIndex: pgCore.index("mmd_playlists_sort_order_idx").on(table.sortOrder)
57
- })
58
- );
59
- var mmdPlaylistNodes = pgCore.pgTable(
60
- "mmd_playlist_nodes",
61
- {
62
- /** 主键ID */
63
- id: pgCore.uuid("id").primaryKey().defaultRandom(),
64
- /** 所属播放列表ID */
65
- playlistId: pgCore.uuid("playlist_id").references(() => mmdPlaylists.id, { onDelete: "cascade" }).notNull(),
66
- /** 节点名称 */
67
- name: pgCore.varchar("name", { length: 255 }).notNull(),
68
- /** 节点描述 */
69
- description: pgCore.text("description"),
70
- /** 是否启用节点循环 */
71
- loop: pgCore.boolean("loop").notNull().default(false),
72
- /** 预计时长(秒) */
73
- duration: pgCore.integer("duration"),
74
- /** 节点缩略图文件ID */
75
- thumbnailFileId: pgCore.uuid("thumbnail_file_id"),
76
- /** 显示顺序 */
77
- sortOrder: pgCore.integer("sort_order").notNull().default(0),
78
- /** 模型文件ID (关联 file_metadata.id) */
79
- modelFileId: pgCore.uuid("model_file_id").notNull(),
80
- /** 动作文件ID */
81
- motionFileId: pgCore.uuid("motion_file_id"),
82
- /** 相机动画文件ID */
83
- cameraFileId: pgCore.uuid("camera_file_id"),
84
- /** 音频文件ID */
85
- audioFileId: pgCore.uuid("audio_file_id"),
86
- /** 舞台模型文件ID */
87
- stageModelFileId: pgCore.uuid("stage_model_file_id"),
88
- /** 附加动作文件ID列表(JSON数组) */
89
- additionalMotionFileIds: pgCore.json("additional_motion_file_ids").$type(),
90
- /** 额外配置(JSON格式) */
91
- config: pgCore.json("config"),
92
- /** 创建时间 */
93
- createdAt: pgCore.timestamp("created_at").defaultNow().notNull(),
94
- /** 更新时间 */
95
- updatedAt: pgCore.timestamp("updated_at").defaultNow().notNull()
96
- },
97
- (table) => ({
98
- /** 按播放列表查询的索引 */
99
- playlistIndex: pgCore.index("mmd_playlist_nodes_playlist_idx").on(table.playlistId),
100
- /** 按排序查询的索引 */
101
- sortOrderIndex: pgCore.index("mmd_playlist_nodes_sort_order_idx").on(table.sortOrder),
102
- /** 按模型文件查询的索引 */
103
- modelFileIndex: pgCore.index("mmd_playlist_nodes_model_file_idx").on(table.modelFileId),
104
- /** 组合索引:播放列表+排序 */
105
- playlistSortIndex: pgCore.index("mmd_playlist_nodes_playlist_sort_idx").on(
106
- table.playlistId,
107
- table.sortOrder
108
- )
109
- })
110
- );
111
- var mmdResourceOptions = pgCore.pgTable(
112
- "mmd_resource_options",
113
- {
114
- /** 主键ID */
115
- id: pgCore.uuid("id").primaryKey().defaultRandom(),
116
- /** 资源名称 */
117
- name: pgCore.varchar("name", { length: 255 }).notNull(),
118
- /** 资源描述 */
119
- description: pgCore.text("description"),
120
- /** 资源类型: model, motion, camera, audio, stage */
121
- resourceType: pgCore.varchar("resource_type", { length: 20 }).notNull(),
122
- /** 文件ID (关联 file_metadata.id) */
123
- fileId: pgCore.uuid("file_id").notNull(),
124
- /** 缩略图文件ID */
125
- thumbnailFileId: pgCore.uuid("thumbnail_file_id"),
126
- /** 资源标签(JSON数组,用于分类和筛选) */
127
- tags: pgCore.json("tags").$type(),
128
- /** 显示顺序 */
129
- sortOrder: pgCore.integer("sort_order").notNull().default(0),
130
- /** 是否启用 */
131
- isActive: pgCore.boolean("is_active").notNull().default(true),
132
- /** 创建者ID */
133
- createdBy: pgCore.varchar("created_by", { length: 255 }).notNull(),
134
- /** 创建时间 */
135
- createdAt: pgCore.timestamp("created_at").defaultNow().notNull(),
136
- /** 更新时间 */
137
- updatedAt: pgCore.timestamp("updated_at").defaultNow().notNull()
138
- },
139
- (table) => ({
140
- /** 按资源类型查询的索引 */
141
- resourceTypeIndex: pgCore.index("mmd_resource_options_resource_type_idx").on(table.resourceType),
142
- /** 按文件ID查询的索引 */
143
- fileIdIndex: pgCore.index("mmd_resource_options_file_id_idx").on(table.fileId),
144
- /** 按活跃状态查询的索引 */
145
- isActiveIndex: pgCore.index("mmd_resource_options_is_active_idx").on(table.isActive),
146
- /** 按创建者查询的索引 */
147
- createdByIndex: pgCore.index("mmd_resource_options_created_by_idx").on(table.createdBy),
148
- /** 组合索引:资源类型+活跃状态+排序 */
149
- typeActiveSortIndex: pgCore.index("mmd_resource_options_type_active_sort_idx").on(
150
- table.resourceType,
151
- table.isActive,
152
- table.sortOrder
153
- )
154
- })
155
- );
156
- var mmdPresetItems = pgCore.pgTable(
157
- "mmd_preset_items",
158
- {
159
- /** 主键ID */
160
- id: pgCore.uuid("id").primaryKey().defaultRandom(),
161
- /** 预设名称 */
162
- name: pgCore.varchar("name", { length: 255 }).notNull(),
163
- /** 预设描述 */
164
- description: pgCore.text("description"),
165
- /** 缩略图文件ID */
166
- thumbnailFileId: pgCore.uuid("thumbnail_file_id"),
167
- /** 模型文件ID */
168
- modelFileId: pgCore.uuid("model_file_id").notNull(),
169
- /** 动作文件ID */
170
- motionFileId: pgCore.uuid("motion_file_id"),
171
- /** 相机动画文件ID */
172
- cameraFileId: pgCore.uuid("camera_file_id"),
173
- /** 音频文件ID */
174
- audioFileId: pgCore.uuid("audio_file_id"),
175
- /** 舞台模型文件ID */
176
- stageModelFileId: pgCore.uuid("stage_model_file_id"),
177
- /** 附加动作文件ID列表(JSON数组) */
178
- additionalMotionFileIds: pgCore.json("additional_motion_file_ids").$type(),
179
- /** 显示顺序 */
180
- sortOrder: pgCore.integer("sort_order").notNull().default(0),
181
- /** 是否启用 */
182
- isActive: pgCore.boolean("is_active").notNull().default(true),
183
- /** 预设标签(JSON数组) */
184
- tags: pgCore.json("tags").$type(),
185
- /** 创建者ID */
186
- createdBy: pgCore.varchar("created_by", { length: 255 }).notNull(),
187
- /** 创建时间 */
188
- createdAt: pgCore.timestamp("created_at").defaultNow().notNull(),
189
- /** 更新时间 */
190
- updatedAt: pgCore.timestamp("updated_at").defaultNow().notNull()
191
- },
192
- (table) => ({
193
- /** 按活跃状态查询的索引 */
194
- isActiveIndex: pgCore.index("mmd_preset_items_is_active_idx").on(table.isActive),
195
- /** 按排序查询的索引 */
196
- sortOrderIndex: pgCore.index("mmd_preset_items_sort_order_idx").on(table.sortOrder),
197
- /** 按创建者查询的索引 */
198
- createdByIndex: pgCore.index("mmd_preset_items_created_by_idx").on(table.createdBy),
199
- /** 按模型文件查询的索引 */
200
- modelFileIndex: pgCore.index("mmd_preset_items_model_file_idx").on(table.modelFileId)
201
- })
202
- );
203
- var mmdPlaylistsRelations = drizzleOrm.relations(mmdPlaylists, ({ many }) => ({
204
- nodes: many(mmdPlaylistNodes)
205
- }));
206
- var mmdPlaylistNodesRelations = drizzleOrm.relations(mmdPlaylistNodes, ({ one }) => ({
207
- playlist: one(mmdPlaylists, {
208
- fields: [mmdPlaylistNodes.playlistId],
209
- references: [mmdPlaylists.id]
210
- })
211
- }));
212
- var MMD_MODEL_ARCHIVE_MIME_TYPES = [
213
- "application/zip",
214
- "application/x-zip-compressed",
215
- "multipart/x-zip"
216
- ];
217
- async function processMmdModelArchive(buffer, options) {
218
- const folderName = options.folderName ?? crypto.randomUUID();
219
- const targetDir = path__default.default.join(options.storageRoot, folderName);
220
- await promises.mkdir(targetDir, { recursive: true });
221
- const zip = new AdmZip__default.default(buffer);
222
- const entries = zip.getEntries();
223
- if (!entries.length) {
224
- await promises.rm(targetDir, { recursive: true, force: true });
225
- throw new Error("\u538B\u7F29\u5305\u4E3A\u7A7A\uFF0C\u8BF7\u68C0\u67E5\u4E0A\u4F20\u6587\u4EF6\u5185\u5BB9");
226
- }
227
- let modelRelativePath = null;
228
- let filesExtracted = 0;
229
- for (const entry of entries) {
230
- if (!entry.entryName || entry.entryName.startsWith("__MACOSX") || entry.entryName.endsWith(".DS_Store")) {
231
- continue;
232
- }
233
- const safeRelativePath = sanitizeEntryPath(entry.entryName);
234
- if (!safeRelativePath) {
235
- continue;
236
- }
237
- const destinationPath = path__default.default.join(targetDir, safeRelativePath);
238
- if (entry.isDirectory) {
239
- await promises.mkdir(destinationPath, { recursive: true });
240
- continue;
241
- }
242
- await promises.mkdir(path__default.default.dirname(destinationPath), { recursive: true });
243
- await promises.writeFile(destinationPath, entry.getData());
244
- filesExtracted += 1;
245
- const entryExt = path__default.default.extname(safeRelativePath).toLowerCase();
246
- if (!modelRelativePath && (entryExt === ".pmx" || entryExt === ".pmd")) {
247
- modelRelativePath = safeRelativePath.split(path__default.default.sep).join("/");
248
- }
249
- }
250
- if (!modelRelativePath) {
251
- await promises.rm(targetDir, { recursive: true, force: true });
252
- throw new Error("\u538B\u7F29\u5305\u4E2D\u672A\u627E\u5230 PMX/PMD \u6A21\u578B\u6587\u4EF6\uFF0C\u8BF7\u786E\u8BA4\u76EE\u5F55\u7ED3\u6784\u662F\u5426\u6B63\u786E");
253
- }
254
- const format = path__default.default.extname(modelRelativePath).slice(1).toLowerCase();
255
- const publicRoot = options.publicRoot ?? `/uploads/mmd/models`;
256
- const modelUrl = joinPublicPath(publicRoot, folderName, modelRelativePath);
257
- return {
258
- directory: targetDir,
259
- relativeDirectory: folderName,
260
- modelRelativePath,
261
- modelUrl,
262
- format,
263
- filesExtracted
264
- };
265
- }
266
- function sanitizeEntryPath(entryName) {
267
- const normalized = path__default.default.normalize(entryName).replace(/^(\.\.(\/|\\|$))+/, "");
268
- if (!normalized || normalized === "." || normalized.startsWith("..") || path__default.default.isAbsolute(normalized)) {
269
- return null;
270
- }
271
- return normalized;
272
- }
273
- function joinPublicPath(...segments) {
274
- return segments.map((segment) => segment.replace(/\/+/g, "/").replace(/^\//, "").replace(/\/$/, "")).filter(Boolean).join("/").replace(/\/{2,}/g, "/").replace(/^/, "/");
275
- }
276
-
277
- // src/mmd/server/playlistBuilder.ts
278
- var defaultNormalizer = (value) => {
279
- if (!value) return "";
280
- if (value.startsWith("http://") || value.startsWith("https://")) {
281
- return value;
282
- }
283
- return value.startsWith("/") ? value : "/" + value;
284
- };
285
- function buildMmdPlaylistFromSources(options) {
286
- if (!options.models.length) {
287
- throw new Error("\u6784\u5EFA MMD \u64AD\u653E\u5217\u8868\u5931\u8D25\uFF1Amodels \u4E3A\u7A7A");
288
- }
289
- const limit = Math.max(1, Math.min(options.limit ?? options.models.length, options.models.length));
290
- const normalizeUrl = options.normalizeUrl ?? defaultNormalizer;
291
- const motions = options.motions ?? [];
292
- const hasMotions = motions.length > 0;
293
- const duration = options.nodeDuration ?? 30;
294
- const nodes = options.models.slice(0, limit).map((model, index2) => {
295
- const motion = hasMotions ? motions[index2 % motions.length] : void 0;
296
- return {
297
- id: String(model.id ?? index2),
298
- name: model.name,
299
- loop: options.loop ?? true,
300
- duration,
301
- thumbnail: model.thumbnailPath ? normalizeUrl(model.thumbnailPath) : void 0,
302
- resources: {
303
- modelPath: normalizeUrl(model.filePath),
304
- motionPath: motion ? normalizeUrl(motion.filePath) : void 0,
305
- cameraPath: void 0,
306
- audioPath: void 0,
307
- stageModelPath: void 0,
308
- additionalMotions: void 0
309
- }
310
- };
311
- });
312
- return {
313
- id: options.playlistId,
314
- name: options.playlistName ?? "MMD \u64AD\u653E\u5217\u8868 - " + options.playlistId,
315
- nodes,
316
- loop: options.loop ?? true,
317
- preload: options.preload ?? "next",
318
- autoPlay: options.autoPlay ?? true
319
- };
320
- }
321
-
322
- // src/mmd/server/mmdUpload.ts
323
- var MMD_SUPPORTED_TYPES = {
324
- model: [...MMD_MODEL_ARCHIVE_MIME_TYPES],
325
- animation: ["application/octet-stream", "animation/vmd"],
326
- audio: ["audio/wav", "audio/mp3", "audio/mpeg", "audio/ogg"]
327
- };
328
- var MMD_FILE_EXTENSIONS = {
329
- model: [".zip"],
330
- animation: [".vmd"],
331
- audio: [".wav", ".mp3", ".ogg"]
332
- };
333
- async function uploadMmdResource(fileService, options) {
334
- const { file, resourceType, name, description, userId } = options;
335
- const ext = "." + file.name.split(".").pop()?.toLowerCase();
336
- const allowedExtensions = MMD_FILE_EXTENSIONS[resourceType];
337
- if (!allowedExtensions.includes(ext)) {
338
- throw new Error(
339
- "\u4E0D\u652F\u6301\u7684\u6587\u4EF6\u6269\u5C55\u540D: " + ext + "\u3002\u652F\u6301\u7684\u683C\u5F0F: " + allowedExtensions.join(", ")
340
- );
341
- }
342
- const moduleId = "mmd-" + resourceType + "s";
343
- const metadata = await fileService.uploadFile({
344
- file,
345
- moduleId,
346
- businessId: "default",
347
- permission: "public",
348
- metadata: {
349
- uploadedBy: userId,
350
- uploadedAt: (/* @__PURE__ */ new Date()).toISOString(),
351
- originalFileName: file.name,
352
- resourceType,
353
- name,
354
- description: description || ""
355
- },
356
- needsProcessing: false
357
- });
358
- const format = ext.slice(1).toUpperCase();
359
- const fileUrl = metadata.cdnUrl || metadata.storagePath;
360
- return {
361
- id: metadata.id,
362
- name,
363
- url: fileUrl,
364
- filePath: metadata.storagePath,
365
- fileSize: metadata.size,
366
- type: resourceType,
367
- format,
368
- uploadTime: metadata.uploadTime,
369
- metadata
370
- };
371
- }
372
- async function uploadMmdModel(fileService, options) {
373
- const { file, storageRoot, publicRoot } = options;
374
- const baseResult = await uploadMmdResource(fileService, options);
375
- try {
376
- const fileBuffer = Buffer.from(await file.arrayBuffer());
377
- const archiveResult = await processMmdModelArchive(fileBuffer, {
378
- storageRoot,
379
- publicRoot,
380
- folderName: baseResult.id
381
- });
382
- return {
383
- ...baseResult,
384
- url: archiveResult.modelUrl,
385
- filePath: archiveResult.modelUrl,
386
- format: archiveResult.format.toUpperCase(),
387
- extractedPath: archiveResult.modelUrl
388
- };
389
- } catch (extractError) {
390
- console.error("\u6A21\u578B\u538B\u7F29\u5305\u5904\u7406\u5931\u8D25:", extractError);
391
- throw new Error(
392
- extractError instanceof Error ? extractError.message : "\u6A21\u578B\u538B\u7F29\u5305\u5904\u7406\u5931\u8D25"
393
- );
394
- }
395
- }
396
- async function batchUploadMmdResources(fileService, uploads) {
397
- const results = [];
398
- for (const uploadOptions of uploads) {
399
- try {
400
- const result = await uploadMmdResource(fileService, uploadOptions);
401
- results.push(result);
402
- } catch (error) {
403
- console.error("\u4E0A\u4F20\u5931\u8D25: " + uploadOptions.file.name, error);
404
- }
405
- }
406
- return results;
407
- }
408
-
409
- exports.MMD_FILE_EXTENSIONS = MMD_FILE_EXTENSIONS;
410
- exports.MMD_MODEL_ARCHIVE_MIME_TYPES = MMD_MODEL_ARCHIVE_MIME_TYPES;
411
- exports.MMD_SUPPORTED_TYPES = MMD_SUPPORTED_TYPES;
412
- exports.batchUploadMmdResources = batchUploadMmdResources;
413
- exports.buildMmdPlaylistFromSources = buildMmdPlaylistFromSources;
414
- exports.mmdPlaylistNodes = mmdPlaylistNodes;
415
- exports.mmdPlaylistNodesRelations = mmdPlaylistNodesRelations;
416
- exports.mmdPlaylists = mmdPlaylists;
417
- exports.mmdPlaylistsRelations = mmdPlaylistsRelations;
418
- exports.mmdPresetItems = mmdPresetItems;
419
- exports.mmdResourceOptions = mmdResourceOptions;
420
- exports.processMmdModelArchive = processMmdModelArchive;
421
- exports.uploadMmdModel = uploadMmdModel;
422
- exports.uploadMmdResource = uploadMmdResource;
423
- //# sourceMappingURL=index.js.map
424
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/mmd/server/drizzle-schema.ts","../../../src/mmd/server/modelArchive.ts","../../../src/mmd/server/playlistBuilder.ts","../../../src/mmd/server/mmdUpload.ts"],"names":["pgTable","uuid","varchar","text","boolean","integer","json","timestamp","index","relations","randomUUID","path","mkdir","AdmZip","rm","writeFile"],"mappings":"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","file":"index.js","sourcesContent":["/**\n * MMD 后台管理数据库表结构定义 (PostgreSQL)\n * \n * 功能:\n * - 管理MMD播放列表配置\n * - 管理MMD播放节点\n * - 文件关联管理(与 universalFile 集成)\n * - 支持多种资源类型的映射\n * \n * 设计原则:\n * - 与 universalFile 的 file_metadata 表无缝集成\n * - 支持文件ID到OSS URL的映射\n * - 保持数据结构灵活性,便于扩展\n * \n * @package sa2kit/mmd/server\n */\n\nimport { relations } from 'drizzle-orm';\nimport {\n serial,\n text,\n timestamp,\n pgTable,\n json,\n integer,\n boolean,\n varchar,\n index,\n uuid,\n} from 'drizzle-orm/pg-core';\n\n/**\n * MMD播放列表表 (mmd_playlists)\n * \n * 管理MMD播放列表的基础信息\n */\nexport const mmdPlaylists = pgTable(\n 'mmd_playlists',\n {\n /** 主键ID */\n id: uuid('id').primaryKey().defaultRandom(),\n\n /** 播放列表名称 */\n name: varchar('name', { length: 255 }).notNull(),\n\n /** 播放列表描述 */\n description: text('description'),\n\n /** 是否启用列表循环 */\n loop: boolean('loop').notNull().default(false),\n\n /** 预加载策略: none, next, all */\n preloadStrategy: varchar('preload_strategy', { length: 20 }).notNull().default('none'),\n\n /** 是否自动播放 */\n autoPlay: boolean('auto_play').notNull().default(false),\n\n /** 播放列表缩略图文件ID (关联 file_metadata.id) */\n thumbnailFileId: uuid('thumbnail_file_id'),\n\n /** 播放列表状态: draft, published, archived */\n status: varchar('status', { length: 20 }).notNull().default('draft'),\n\n /** 显示顺序 */\n sortOrder: integer('sort_order').notNull().default(0),\n\n /** 额外配置(JSON格式,存储舞台配置等) */\n config: json('config'),\n\n /** 创建者ID */\n createdBy: varchar('created_by', { length: 255 }).notNull(),\n\n /** 创建时间 */\n createdAt: timestamp('created_at').defaultNow().notNull(),\n\n /** 更新时间 */\n updatedAt: timestamp('updated_at').defaultNow().notNull(),\n\n /** 删除时间(软删除) */\n deletedAt: timestamp('deleted_at'),\n },\n (table) => ({\n /** 按状态查询的索引 */\n statusIndex: index('mmd_playlists_status_idx').on(table.status),\n\n /** 按创建者查询的索引 */\n createdByIndex: index('mmd_playlists_created_by_idx').on(table.createdBy),\n\n /** 按删除状态查询的索引 */\n deletedAtIndex: index('mmd_playlists_deleted_at_idx').on(table.deletedAt),\n\n /** 按排序查询的索引 */\n sortOrderIndex: index('mmd_playlists_sort_order_idx').on(table.sortOrder),\n })\n);\n\n/**\n * MMD播放节点表 (mmd_playlist_nodes)\n * \n * 管理播放列表中的每个播放节点\n */\nexport const mmdPlaylistNodes = pgTable(\n 'mmd_playlist_nodes',\n {\n /** 主键ID */\n id: uuid('id').primaryKey().defaultRandom(),\n\n /** 所属播放列表ID */\n playlistId: uuid('playlist_id')\n .references(() => mmdPlaylists.id, { onDelete: 'cascade' })\n .notNull(),\n\n /** 节点名称 */\n name: varchar('name', { length: 255 }).notNull(),\n\n /** 节点描述 */\n description: text('description'),\n\n /** 是否启用节点循环 */\n loop: boolean('loop').notNull().default(false),\n\n /** 预计时长(秒) */\n duration: integer('duration'),\n\n /** 节点缩略图文件ID */\n thumbnailFileId: uuid('thumbnail_file_id'),\n\n /** 显示顺序 */\n sortOrder: integer('sort_order').notNull().default(0),\n\n /** 模型文件ID (关联 file_metadata.id) */\n modelFileId: uuid('model_file_id').notNull(),\n\n /** 动作文件ID */\n motionFileId: uuid('motion_file_id'),\n\n /** 相机动画文件ID */\n cameraFileId: uuid('camera_file_id'),\n\n /** 音频文件ID */\n audioFileId: uuid('audio_file_id'),\n\n /** 舞台模型文件ID */\n stageModelFileId: uuid('stage_model_file_id'),\n\n /** 附加动作文件ID列表(JSON数组) */\n additionalMotionFileIds: json('additional_motion_file_ids').$type<string[]>(),\n\n /** 额外配置(JSON格式) */\n config: json('config'),\n\n /** 创建时间 */\n createdAt: timestamp('created_at').defaultNow().notNull(),\n\n /** 更新时间 */\n updatedAt: timestamp('updated_at').defaultNow().notNull(),\n },\n (table) => ({\n /** 按播放列表查询的索引 */\n playlistIndex: index('mmd_playlist_nodes_playlist_idx').on(table.playlistId),\n\n /** 按排序查询的索引 */\n sortOrderIndex: index('mmd_playlist_nodes_sort_order_idx').on(table.sortOrder),\n\n /** 按模型文件查询的索引 */\n modelFileIndex: index('mmd_playlist_nodes_model_file_idx').on(table.modelFileId),\n\n /** 组合索引:播放列表+排序 */\n playlistSortIndex: index('mmd_playlist_nodes_playlist_sort_idx').on(\n table.playlistId,\n table.sortOrder\n ),\n })\n);\n\n/**\n * MMD资源选项表 (mmd_resource_options)\n * \n * 管理可选的MMD资源(用于自由组合模式)\n */\nexport const mmdResourceOptions = pgTable(\n 'mmd_resource_options',\n {\n /** 主键ID */\n id: uuid('id').primaryKey().defaultRandom(),\n\n /** 资源名称 */\n name: varchar('name', { length: 255 }).notNull(),\n\n /** 资源描述 */\n description: text('description'),\n\n /** 资源类型: model, motion, camera, audio, stage */\n resourceType: varchar('resource_type', { length: 20 }).notNull(),\n\n /** 文件ID (关联 file_metadata.id) */\n fileId: uuid('file_id').notNull(),\n\n /** 缩略图文件ID */\n thumbnailFileId: uuid('thumbnail_file_id'),\n\n /** 资源标签(JSON数组,用于分类和筛选) */\n tags: json('tags').$type<string[]>(),\n\n /** 显示顺序 */\n sortOrder: integer('sort_order').notNull().default(0),\n\n /** 是否启用 */\n isActive: boolean('is_active').notNull().default(true),\n\n /** 创建者ID */\n createdBy: varchar('created_by', { length: 255 }).notNull(),\n\n /** 创建时间 */\n createdAt: timestamp('created_at').defaultNow().notNull(),\n\n /** 更新时间 */\n updatedAt: timestamp('updated_at').defaultNow().notNull(),\n },\n (table) => ({\n /** 按资源类型查询的索引 */\n resourceTypeIndex: index('mmd_resource_options_resource_type_idx').on(table.resourceType),\n\n /** 按文件ID查询的索引 */\n fileIdIndex: index('mmd_resource_options_file_id_idx').on(table.fileId),\n\n /** 按活跃状态查询的索引 */\n isActiveIndex: index('mmd_resource_options_is_active_idx').on(table.isActive),\n\n /** 按创建者查询的索引 */\n createdByIndex: index('mmd_resource_options_created_by_idx').on(table.createdBy),\n\n /** 组合索引:资源类型+活跃状态+排序 */\n typeActiveSortIndex: index('mmd_resource_options_type_active_sort_idx').on(\n table.resourceType,\n table.isActive,\n table.sortOrder\n ),\n })\n);\n\n/**\n * MMD预设列表项表 (mmd_preset_items)\n * \n * 管理预设的MMD资源组合(用于列表模式)\n */\nexport const mmdPresetItems = pgTable(\n 'mmd_preset_items',\n {\n /** 主键ID */\n id: uuid('id').primaryKey().defaultRandom(),\n\n /** 预设名称 */\n name: varchar('name', { length: 255 }).notNull(),\n\n /** 预设描述 */\n description: text('description'),\n\n /** 缩略图文件ID */\n thumbnailFileId: uuid('thumbnail_file_id'),\n\n /** 模型文件ID */\n modelFileId: uuid('model_file_id').notNull(),\n\n /** 动作文件ID */\n motionFileId: uuid('motion_file_id'),\n\n /** 相机动画文件ID */\n cameraFileId: uuid('camera_file_id'),\n\n /** 音频文件ID */\n audioFileId: uuid('audio_file_id'),\n\n /** 舞台模型文件ID */\n stageModelFileId: uuid('stage_model_file_id'),\n\n /** 附加动作文件ID列表(JSON数组) */\n additionalMotionFileIds: json('additional_motion_file_ids').$type<string[]>(),\n\n /** 显示顺序 */\n sortOrder: integer('sort_order').notNull().default(0),\n\n /** 是否启用 */\n isActive: boolean('is_active').notNull().default(true),\n\n /** 预设标签(JSON数组) */\n tags: json('tags').$type<string[]>(),\n\n /** 创建者ID */\n createdBy: varchar('created_by', { length: 255 }).notNull(),\n\n /** 创建时间 */\n createdAt: timestamp('created_at').defaultNow().notNull(),\n\n /** 更新时间 */\n updatedAt: timestamp('updated_at').defaultNow().notNull(),\n },\n (table) => ({\n /** 按活跃状态查询的索引 */\n isActiveIndex: index('mmd_preset_items_is_active_idx').on(table.isActive),\n\n /** 按排序查询的索引 */\n sortOrderIndex: index('mmd_preset_items_sort_order_idx').on(table.sortOrder),\n\n /** 按创建者查询的索引 */\n createdByIndex: index('mmd_preset_items_created_by_idx').on(table.createdBy),\n\n /** 按模型文件查询的索引 */\n modelFileIndex: index('mmd_preset_items_model_file_idx').on(table.modelFileId),\n })\n);\n\n// ========== 关系定义 ==========\n\nexport const mmdPlaylistsRelations = relations(mmdPlaylists, ({ many }) => ({\n nodes: many(mmdPlaylistNodes),\n}));\n\nexport const mmdPlaylistNodesRelations = relations(mmdPlaylistNodes, ({ one }) => ({\n playlist: one(mmdPlaylists, {\n fields: [mmdPlaylistNodes.playlistId],\n references: [mmdPlaylists.id],\n }),\n}));\n\n// ========== 导出类型 ==========\n\nexport type MmdPlaylist = typeof mmdPlaylists.$inferSelect;\nexport type NewMmdPlaylist = typeof mmdPlaylists.$inferInsert;\n\nexport type MmdPlaylistNode = typeof mmdPlaylistNodes.$inferSelect;\nexport type NewMmdPlaylistNode = typeof mmdPlaylistNodes.$inferInsert;\n\nexport type MmdResourceOption = typeof mmdResourceOptions.$inferSelect;\nexport type NewMmdResourceOption = typeof mmdResourceOptions.$inferInsert;\n\nexport type MmdPresetItem = typeof mmdPresetItems.$inferSelect;\nexport type NewMmdPresetItem = typeof mmdPresetItems.$inferInsert;\n\n","import AdmZip from 'adm-zip';\nimport { randomUUID } from 'crypto';\nimport { mkdir, rm, writeFile } from 'fs/promises';\nimport path from 'path';\n\nexport type SupportedModelFormat = 'pmx' | 'pmd';\n\nexport interface ProcessMmdModelArchiveOptions {\n /**\n * 绝对路径,指向模型解压根目录,例如 /app/uploads/mmd/models\n */\n storageRoot: string;\n /**\n * 对外暴露的公共路径前缀,例如 /uploads/mmd/models\n * 默认与 storageRoot 中的叶子目录一致\n */\n publicRoot?: string;\n /**\n * 自定义文件夹名称,默认使用随机 UUID\n */\n folderName?: string;\n}\n\nexport interface ProcessMmdModelArchiveResult {\n /** 解压出来的目录(绝对路径) */\n directory: string;\n /** 与 storageRoot 相对的目录名 */\n relativeDirectory: string;\n /** 模型文件相对目录(包含子目录) */\n modelRelativePath: string;\n /** 可供前端使用的模型 URL */\n modelUrl: string;\n /** 模型格式 */\n format: SupportedModelFormat;\n /** 解压得到的文件数量 */\n filesExtracted: number;\n}\n\nexport const MMD_MODEL_ARCHIVE_MIME_TYPES = [\n 'application/zip',\n 'application/x-zip-compressed',\n 'multipart/x-zip',\n] as const;\n\n/**\n * 解析上传的 MMD 模型压缩包,保留目录结构并返回模型路径\n */\nexport async function processMmdModelArchive(\n buffer: Buffer,\n options: ProcessMmdModelArchiveOptions,\n): Promise<ProcessMmdModelArchiveResult> {\n const folderName = options.folderName ?? randomUUID();\n const targetDir = path.join(options.storageRoot, folderName);\n await mkdir(targetDir, { recursive: true });\n\n const zip = new AdmZip(buffer);\n const entries = zip.getEntries();\n if (!entries.length) {\n await rm(targetDir, { recursive: true, force: true });\n throw new Error('压缩包为空,请检查上传文件内容');\n }\n\n let modelRelativePath: string | null = null;\n let filesExtracted = 0;\n\n for (const entry of entries) {\n if (!entry.entryName || entry.entryName.startsWith('__MACOSX') || entry.entryName.endsWith('.DS_Store')) {\n continue;\n }\n\n const safeRelativePath = sanitizeEntryPath(entry.entryName);\n if (!safeRelativePath) {\n continue;\n }\n\n const destinationPath = path.join(targetDir, safeRelativePath);\n\n if (entry.isDirectory) {\n await mkdir(destinationPath, { recursive: true });\n continue;\n }\n\n await mkdir(path.dirname(destinationPath), { recursive: true });\n await writeFile(destinationPath, entry.getData());\n filesExtracted += 1;\n\n const entryExt = path.extname(safeRelativePath).toLowerCase();\n if (!modelRelativePath && (entryExt === '.pmx' || entryExt === '.pmd')) {\n modelRelativePath = safeRelativePath.split(path.sep).join('/');\n }\n }\n\n if (!modelRelativePath) {\n await rm(targetDir, { recursive: true, force: true });\n throw new Error('压缩包中未找到 PMX/PMD 模型文件,请确认目录结构是否正确');\n }\n\n const format = path.extname(modelRelativePath).slice(1).toLowerCase() as SupportedModelFormat;\n const publicRoot = options.publicRoot ?? `/uploads/mmd/models`;\n const modelUrl = joinPublicPath(publicRoot, folderName, modelRelativePath);\n\n return {\n directory: targetDir,\n relativeDirectory: folderName,\n modelRelativePath,\n modelUrl,\n format,\n filesExtracted,\n };\n}\n\nfunction sanitizeEntryPath(entryName: string): string | null {\n const normalized = path.normalize(entryName).replace(/^(\\.\\.(\\/|\\\\|$))+/, '');\n if (!normalized || normalized === '.' || normalized.startsWith('..') || path.isAbsolute(normalized)) {\n return null;\n }\n return normalized;\n}\n\nfunction joinPublicPath(...segments: string[]) {\n return segments\n .map((segment) => segment.replace(/\\/+/g, '/').replace(/^\\//, '').replace(/\\/$/, ''))\n .filter(Boolean)\n .join('/')\n .replace(/\\/{2,}/g, '/')\n .replace(/^/, '/');\n}\n\n","import type { MMDPlaylistConfig, MMDPlaylistNode } from '../types';\n\nexport interface PlaylistModelSource {\n id: string | number;\n name: string;\n filePath: string;\n thumbnailPath?: string | null;\n}\n\nexport interface PlaylistMotionSource {\n id: string | number;\n name?: string;\n filePath: string;\n}\n\nexport interface BuildMmdPlaylistOptions {\n playlistId: string;\n playlistName?: string;\n models: PlaylistModelSource[];\n motions?: PlaylistMotionSource[];\n limit?: number;\n loop?: boolean;\n preload?: 'none' | 'next' | 'all';\n autoPlay?: boolean;\n nodeDuration?: number;\n normalizeUrl?: (pathOrUrl: string) => string;\n}\n\nconst defaultNormalizer = (value: string) => {\n if (!value) return '';\n if (value.startsWith('http://') || value.startsWith('https://')) {\n return value;\n }\n return value.startsWith('/') ? value : '/' + (value);\n};\n\n/**\n * 根据数据库中的模型/动作记录快速构建 MMDPlaylistConfig\n */\nexport function buildMmdPlaylistFromSources(options: BuildMmdPlaylistOptions): MMDPlaylistConfig {\n if (!options.models.length) {\n throw new Error('构建 MMD 播放列表失败:models 为空');\n }\n\n const limit = Math.max(1, Math.min(options.limit ?? options.models.length, options.models.length));\n const normalizeUrl = options.normalizeUrl ?? defaultNormalizer;\n const motions = options.motions ?? [];\n const hasMotions = motions.length > 0;\n const duration = options.nodeDuration ?? 30;\n\n const nodes: MMDPlaylistNode[] = options.models.slice(0, limit).map((model, index) => {\n const motion = hasMotions ? motions[index % motions.length] : undefined;\n return {\n id: String(model.id ?? index),\n name: model.name,\n loop: options.loop ?? true,\n duration,\n thumbnail: model.thumbnailPath ? normalizeUrl(model.thumbnailPath) : undefined,\n resources: {\n modelPath: normalizeUrl(model.filePath),\n motionPath: motion ? normalizeUrl(motion.filePath) : undefined,\n cameraPath: undefined,\n audioPath: undefined,\n stageModelPath: undefined,\n additionalMotions: undefined,\n },\n };\n });\n\n return {\n id: options.playlistId,\n name: options.playlistName ?? 'MMD 播放列表 - ' + (options.playlistId),\n nodes,\n loop: options.loop ?? true,\n preload: options.preload ?? 'next',\n autoPlay: options.autoPlay ?? true,\n };\n}\n\n","/**\n * MMD 资源上传辅助函数\n * \n * 整合 UniversalFileService 用于 MMD 资源上传\n */\n\nimport type { UniversalFileService } from '../../universalFile/server/UniversalFileService';\nimport type { FileMetadata } from '../../universalFile/types';\nimport { processMmdModelArchive, MMD_MODEL_ARCHIVE_MIME_TYPES } from './modelArchive';\n\nexport const MMD_SUPPORTED_TYPES = {\n model: [...MMD_MODEL_ARCHIVE_MIME_TYPES],\n animation: ['application/octet-stream', 'animation/vmd'],\n audio: ['audio/wav', 'audio/mp3', 'audio/mpeg', 'audio/ogg'],\n};\n\nexport const MMD_FILE_EXTENSIONS = {\n model: ['.zip'],\n animation: ['.vmd'],\n audio: ['.wav', '.mp3', '.ogg'],\n};\n\nexport interface MmdUploadOptions {\n file: File;\n resourceType: 'model' | 'animation' | 'audio';\n name: string;\n description?: string;\n userId: string;\n}\n\nexport interface MmdUploadResult {\n id: string;\n name: string;\n url: string;\n filePath: string;\n fileSize: number;\n type: string;\n format: string;\n uploadTime: Date;\n metadata?: FileMetadata;\n}\n\n/**\n * 使用 UniversalFileService 上传 MMD 资源\n * \n * @param fileService - UniversalFileService 实例\n * @param options - 上传选项\n * @returns 上传结果\n */\nexport async function uploadMmdResource(\n fileService: UniversalFileService,\n options: MmdUploadOptions\n): Promise<MmdUploadResult> {\n const { file, resourceType, name, description, userId } = options;\n\n // 验证文件扩展名\n const ext = '.' + (file.name.split('.').pop()?.toLowerCase());\n const allowedExtensions = MMD_FILE_EXTENSIONS[resourceType];\n\n if (!allowedExtensions.includes(ext)) {\n throw new Error(\n '不支持的文件扩展名: ' + (ext) + '。支持的格式: ' + (allowedExtensions.join(', '))\n );\n }\n\n // 确定模块ID\n const moduleId = 'mmd-' + (resourceType) + 's';\n\n // 上传文件\n const metadata = await fileService.uploadFile({\n file,\n moduleId,\n businessId: 'default',\n permission: 'public',\n metadata: {\n uploadedBy: userId,\n uploadedAt: new Date().toISOString(),\n originalFileName: file.name,\n resourceType,\n name,\n description: description || '',\n },\n needsProcessing: false,\n });\n\n // 构建返回结果\n const format = ext.slice(1).toUpperCase();\n const fileUrl = metadata.cdnUrl || metadata.storagePath;\n\n return {\n id: metadata.id,\n name,\n url: fileUrl,\n filePath: metadata.storagePath,\n fileSize: metadata.size,\n type: resourceType,\n format,\n uploadTime: metadata.uploadTime,\n metadata,\n };\n}\n\n/**\n * 上传 MMD 模型 (ZIP 压缩包)\n * \n * @param fileService - UniversalFileService 实例\n * @param options - 上传选项\n * @returns 上传结果,包含解压后的模型路径\n */\nexport async function uploadMmdModel(\n fileService: UniversalFileService,\n options: MmdUploadOptions & { storageRoot: string; publicRoot: string }\n): Promise<MmdUploadResult & { extractedPath?: string }> {\n const { file, storageRoot, publicRoot } = options;\n\n // 首先上传 ZIP 文件\n const baseResult = await uploadMmdResource(fileService, options);\n\n // 处理 ZIP 压缩包\n try {\n const fileBuffer = Buffer.from(await file.arrayBuffer());\n const archiveResult = await processMmdModelArchive(fileBuffer, {\n storageRoot,\n publicRoot,\n folderName: baseResult.id,\n });\n\n return {\n ...baseResult,\n url: archiveResult.modelUrl,\n filePath: archiveResult.modelUrl,\n format: archiveResult.format.toUpperCase(),\n extractedPath: archiveResult.modelUrl,\n };\n } catch (extractError) {\n console.error('模型压缩包处理失败:', extractError);\n throw new Error(\n extractError instanceof Error ? extractError.message : '模型压缩包处理失败'\n );\n }\n}\n\n/**\n * 批量上传 MMD 资源\n * \n * @param fileService - UniversalFileService 实例\n * @param uploads - 上传选项数组\n * @returns 上传结果数组\n */\nexport async function batchUploadMmdResources(\n fileService: UniversalFileService,\n uploads: MmdUploadOptions[]\n): Promise<MmdUploadResult[]> {\n const results: MmdUploadResult[] = [];\n\n for (const uploadOptions of uploads) {\n try {\n const result = await uploadMmdResource(fileService, uploadOptions);\n results.push(result);\n } catch (error) {\n console.error('上传失败: ' + (uploadOptions.file.name), error);\n // 继续处理其他文件\n }\n }\n\n return results;\n}\n\n"]}