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,1244 +0,0 @@
1
- 'use strict';
2
-
3
- var React = require('react');
4
- var clsx = require('clsx');
5
-
6
- function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
7
-
8
- var React__default = /*#__PURE__*/_interopDefault(React);
9
-
10
- // src/audioDetection/core/AudioInputService.ts
11
- var AudioInputService = class {
12
- constructor(config = {}) {
13
- this.audioContext = null;
14
- this.mediaStream = null;
15
- this.sourceNode = null;
16
- this.analyserNode = null;
17
- this.state = "idle";
18
- this.config = {
19
- sampleRate: config.sampleRate ?? 44100,
20
- fftSize: config.fftSize ?? 4096,
21
- minVolume: config.minVolume ?? 1e-3,
22
- // 降低默认阈值,使其更敏感
23
- minConfidence: config.minConfidence ?? 0.5,
24
- // 降低默认置信度,更容易检测
25
- smoothing: config.smoothing ?? 0.8,
26
- frequencyRange: config.frequencyRange ?? { min: 27.5, max: 4186 }
27
- // A0 到 C8
28
- };
29
- }
30
- /**
31
- * 初始化音频输入
32
- * Initialize audio input
33
- */
34
- async initialize() {
35
- if (this.state === "active") {
36
- console.warn("AudioInputService \u5DF2\u7ECF\u5904\u4E8E\u6D3B\u52A8\u72B6\u6001");
37
- return;
38
- }
39
- try {
40
- this.setState("initializing");
41
- this.mediaStream = await navigator.mediaDevices.getUserMedia({
42
- audio: {
43
- echoCancellation: false,
44
- noiseSuppression: false,
45
- autoGainControl: false,
46
- sampleRate: this.config.sampleRate
47
- }
48
- });
49
- this.audioContext = new AudioContext({
50
- sampleRate: this.config.sampleRate
51
- });
52
- this.sourceNode = this.audioContext.createMediaStreamSource(this.mediaStream);
53
- this.analyserNode = this.audioContext.createAnalyser();
54
- this.analyserNode.fftSize = this.config.fftSize;
55
- this.analyserNode.smoothingTimeConstant = this.config.smoothing;
56
- this.sourceNode.connect(this.analyserNode);
57
- this.setState("active");
58
- console.log("AudioInputService \u521D\u59CB\u5316\u6210\u529F");
59
- } catch (error) {
60
- this.setState("error");
61
- console.error("AudioInputService \u521D\u59CB\u5316\u5931\u8D25:", error);
62
- throw new Error("\u9EA6\u514B\u98CE\u521D\u59CB\u5316\u5931\u8D25: " + (error instanceof Error ? error.message : "\u672A\u77E5\u9519\u8BEF"));
63
- }
64
- }
65
- /**
66
- * 获取时域数据
67
- * Get time domain data
68
- */
69
- getTimeDomainData() {
70
- if (!this.analyserNode) {
71
- throw new Error("AnalyserNode \u672A\u521D\u59CB\u5316");
72
- }
73
- const bufferLength = this.analyserNode.fftSize;
74
- const dataArray = new Float32Array(bufferLength);
75
- this.analyserNode.getFloatTimeDomainData(dataArray);
76
- return dataArray;
77
- }
78
- /**
79
- * 获取频域数据
80
- * Get frequency domain data
81
- */
82
- getFrequencyData() {
83
- if (!this.analyserNode) {
84
- throw new Error("AnalyserNode \u672A\u521D\u59CB\u5316");
85
- }
86
- const bufferLength = this.analyserNode.frequencyBinCount;
87
- const dataArray = new Float32Array(bufferLength);
88
- this.analyserNode.getFloatFrequencyData(dataArray);
89
- return dataArray;
90
- }
91
- /**
92
- * 获取当前音量
93
- * Get current volume
94
- */
95
- getCurrentVolume() {
96
- const timeDomainData = this.getTimeDomainData();
97
- let sum = 0;
98
- for (let i = 0; i < timeDomainData.length; i++) {
99
- const val = timeDomainData[i];
100
- if (val !== void 0) {
101
- sum += val * val;
102
- }
103
- }
104
- return Math.sqrt(sum / timeDomainData.length);
105
- }
106
- /**
107
- * 停止音频输入
108
- * Stop audio input
109
- */
110
- stop() {
111
- if (this.mediaStream) {
112
- this.mediaStream.getTracks().forEach((track) => track.stop());
113
- this.mediaStream = null;
114
- }
115
- if (this.sourceNode) {
116
- this.sourceNode.disconnect();
117
- this.sourceNode = null;
118
- }
119
- if (this.analyserNode) {
120
- this.analyserNode.disconnect();
121
- this.analyserNode = null;
122
- }
123
- if (this.audioContext) {
124
- this.audioContext.close();
125
- this.audioContext = null;
126
- }
127
- this.setState("stopped");
128
- console.log("AudioInputService \u5DF2\u505C\u6B62");
129
- }
130
- /**
131
- * 获取当前状态
132
- * Get current state
133
- */
134
- getState() {
135
- return this.state;
136
- }
137
- /**
138
- * 获取配置
139
- * Get configuration
140
- */
141
- getConfig() {
142
- return { ...this.config };
143
- }
144
- /**
145
- * 获取音频上下文
146
- * Get audio context
147
- */
148
- getAudioContext() {
149
- return this.audioContext;
150
- }
151
- /**
152
- * 获取分析器节点
153
- * Get analyser node
154
- */
155
- getAnalyserNode() {
156
- return this.analyserNode;
157
- }
158
- /**
159
- * 设置状态
160
- * Set state
161
- */
162
- setState(state) {
163
- this.state = state;
164
- }
165
- /**
166
- * 检查是否正在运行
167
- * Check if running
168
- */
169
- isRunning() {
170
- return this.state === "active";
171
- }
172
- };
173
-
174
- // src/audioDetection/core/PitchDetector.ts
175
- var _PitchDetector = class _PitchDetector {
176
- constructor(sampleRate = 44100, minFrequency = 27.5, maxFrequency = 4186) {
177
- this.sampleRate = sampleRate;
178
- this.minFrequency = minFrequency;
179
- this.maxFrequency = maxFrequency;
180
- }
181
- /**
182
- * 检测音高
183
- * Detect pitch using autocorrelation
184
- */
185
- detectPitch(audioBuffer, minVolume = 0.01) {
186
- const volume = this.calculateRMS(audioBuffer);
187
- if (volume < minVolume) {
188
- return null;
189
- }
190
- const frequency = this.autoCorrelate(audioBuffer);
191
- if (frequency === -1 || frequency < this.minFrequency || frequency > this.maxFrequency) {
192
- return null;
193
- }
194
- return frequency;
195
- }
196
- /**
197
- * 自相关算法
198
- * Autocorrelation algorithm
199
- */
200
- autoCorrelate(buffer) {
201
- const SIZE = buffer.length;
202
- const MAX_SAMPLES = Math.floor(SIZE / 2);
203
- let best_offset = -1;
204
- let best_correlation = 0;
205
- let rms = 0;
206
- for (let i = 0; i < SIZE; i++) {
207
- const val = buffer[i];
208
- if (val !== void 0) {
209
- rms += val * val;
210
- }
211
- }
212
- rms = Math.sqrt(rms / SIZE);
213
- if (rms < 0.01) {
214
- return -1;
215
- }
216
- let lastCorrelation = 1;
217
- for (let offset = 0; offset < MAX_SAMPLES; offset++) {
218
- let correlation = 0;
219
- for (let i = 0; i < MAX_SAMPLES; i++) {
220
- const val1 = buffer[i];
221
- const val2 = buffer[i + offset];
222
- if (val1 !== void 0 && val2 !== void 0) {
223
- correlation += Math.abs(val1 - val2);
224
- }
225
- }
226
- correlation = 1 - correlation / MAX_SAMPLES;
227
- if (correlation > 0.9 && correlation > lastCorrelation) {
228
- const foundGoodCorrelation = correlation > best_correlation;
229
- if (foundGoodCorrelation) {
230
- best_correlation = correlation;
231
- best_offset = offset;
232
- }
233
- }
234
- lastCorrelation = correlation;
235
- }
236
- if (best_correlation > 0.01 && best_offset !== -1) {
237
- const frequency = this.sampleRate / best_offset;
238
- return frequency;
239
- }
240
- return -1;
241
- }
242
- /**
243
- * 计算RMS音量
244
- * Calculate RMS volume
245
- */
246
- calculateRMS(buffer) {
247
- let sum = 0;
248
- for (let i = 0; i < buffer.length; i++) {
249
- const val = buffer[i];
250
- if (val !== void 0) {
251
- sum += val * val;
252
- }
253
- }
254
- return Math.sqrt(sum / buffer.length);
255
- }
256
- /**
257
- * 将频率转换为音符信息
258
- * Convert frequency to note information
259
- */
260
- frequencyToNote(frequency, volume = 1) {
261
- if (frequency <= 0) {
262
- return null;
263
- }
264
- const midi = Math.round(12 * Math.log2(frequency / 440) + 69);
265
- if (midi < 0 || midi > 127) {
266
- return null;
267
- }
268
- const noteIndex = midi % 12;
269
- const octave = Math.floor(midi / 12) - 1;
270
- const noteName = _PitchDetector.NOTE_NAMES[noteIndex] || "C";
271
- const name = noteName + octave;
272
- const standardFrequency = 440 * Math.pow(2, (midi - 69) / 12);
273
- const cents = 1200 * Math.log2(frequency / standardFrequency);
274
- const confidence = Math.max(0, 1 - Math.abs(cents) / 50);
275
- return {
276
- name,
277
- frequency,
278
- noteName,
279
- octave,
280
- midi,
281
- volume,
282
- confidence
283
- };
284
- }
285
- /**
286
- * 使用FFT检测主频率
287
- * Detect dominant frequency using FFT
288
- */
289
- detectDominantFrequency(frequencyData, minVolume = -60) {
290
- const nyquist = this.sampleRate / 2;
291
- const binWidth = nyquist / frequencyData.length;
292
- let maxIndex = -1;
293
- let maxValue = -Infinity;
294
- const minBin = Math.floor(this.minFrequency / binWidth);
295
- const maxBin = Math.ceil(this.maxFrequency / binWidth);
296
- for (let i = minBin; i < Math.min(maxBin, frequencyData.length); i++) {
297
- const value = frequencyData[i];
298
- if (value !== void 0 && value > maxValue && value > minVolume) {
299
- maxValue = value;
300
- maxIndex = i;
301
- }
302
- }
303
- if (maxIndex === -1) {
304
- return null;
305
- }
306
- const frequency = this.parabolicInterpolation(frequencyData, maxIndex, binWidth);
307
- return frequency;
308
- }
309
- /**
310
- * 抛物线插值
311
- * Parabolic interpolation for better frequency estimation
312
- */
313
- parabolicInterpolation(data, index, binWidth) {
314
- if (index <= 0 || index >= data.length - 1) {
315
- return index * binWidth;
316
- }
317
- const y1 = data[index - 1];
318
- const y2 = data[index];
319
- const y3 = data[index + 1];
320
- if (y1 === void 0 || y2 === void 0 || y3 === void 0) {
321
- return index * binWidth;
322
- }
323
- const delta = 0.5 * (y3 - y1) / (2 * y2 - y1 - y3);
324
- const interpolatedIndex = index + delta;
325
- return interpolatedIndex * binWidth;
326
- }
327
- /**
328
- * 检测多个音高(和弦)
329
- * Detect multiple pitches (chords)
330
- */
331
- detectMultiplePitches(frequencyData, minVolume = -60) {
332
- const notes = [];
333
- const nyquist = this.sampleRate / 2;
334
- const binWidth = nyquist / frequencyData.length;
335
- const peaks = [];
336
- for (let i = 1; i < frequencyData.length - 1; i++) {
337
- const freq = i * binWidth;
338
- if (freq < this.minFrequency || freq > this.maxFrequency) {
339
- continue;
340
- }
341
- const value = frequencyData[i];
342
- if (value !== void 0 && value > minVolume && value > (frequencyData[i - 1] ?? -Infinity) && value > (frequencyData[i + 1] ?? -Infinity)) {
343
- peaks.push({ index: i, value });
344
- }
345
- }
346
- peaks.sort((a, b) => b.value - a.value);
347
- const topPeaks = peaks.slice(0, 5);
348
- for (const peak of topPeaks) {
349
- const frequency = this.parabolicInterpolation(frequencyData, peak.index, binWidth);
350
- const volume = Math.pow(10, peak.value / 20);
351
- const note = this.frequencyToNote(frequency, volume);
352
- if (note) {
353
- notes.push(note);
354
- }
355
- }
356
- return notes;
357
- }
358
- };
359
- // 音符名称映射
360
- _PitchDetector.NOTE_NAMES = ["C", "C#", "D", "D#", "E", "F", "F#", "G", "G#", "A", "A#", "B"];
361
- var PitchDetector = _PitchDetector;
362
-
363
- // src/audioDetection/core/ChordRecognizer.ts
364
- var _ChordRecognizer = class _ChordRecognizer {
365
- /**
366
- * 识别和弦
367
- * Recognize chord from notes
368
- */
369
- recognizeChord(notes) {
370
- if (notes.length < 2) {
371
- return null;
372
- }
373
- const sortedNotes = [...notes].sort((a, b) => a.midi - b.midi);
374
- const uniqueNoteClasses = this.getUniqueNoteClasses(sortedNotes);
375
- if (uniqueNoteClasses.length < 2) {
376
- return null;
377
- }
378
- let bestMatch = null;
379
- for (let i = 0; i < uniqueNoteClasses.length; i++) {
380
- const root = uniqueNoteClasses[i];
381
- if (!root) continue;
382
- const intervals = this.calculateIntervals(root, uniqueNoteClasses);
383
- for (const pattern of _ChordRecognizer.CHORD_PATTERNS) {
384
- const confidence = this.matchPattern(intervals, pattern.intervals);
385
- if (confidence > 0.8 && (!bestMatch || confidence > bestMatch.confidence)) {
386
- bestMatch = { root, pattern, confidence };
387
- }
388
- }
389
- }
390
- if (!bestMatch) {
391
- return null;
392
- }
393
- const chordName = bestMatch.root + this.getChordSuffix(bestMatch.pattern);
394
- return {
395
- name: chordName,
396
- root: bestMatch.root,
397
- type: bestMatch.pattern.name,
398
- notes: sortedNotes,
399
- confidence: bestMatch.confidence
400
- };
401
- }
402
- /**
403
- * 获取唯一的音符类别(不考虑八度)
404
- * Get unique note classes (ignoring octave)
405
- */
406
- getUniqueNoteClasses(notes) {
407
- const noteSet = /* @__PURE__ */ new Set();
408
- for (const note of notes) {
409
- noteSet.add(note.noteName);
410
- }
411
- return Array.from(noteSet);
412
- }
413
- /**
414
- * 计算音程
415
- * Calculate intervals from root
416
- */
417
- calculateIntervals(root, noteClasses) {
418
- const rootIndex = _ChordRecognizer.NOTE_NAMES.indexOf(root);
419
- const intervals = [];
420
- for (const noteClass of noteClasses) {
421
- const noteIndex = _ChordRecognizer.NOTE_NAMES.indexOf(noteClass);
422
- let interval = (noteIndex - rootIndex + 12) % 12;
423
- intervals.push(interval);
424
- }
425
- return intervals.sort((a, b) => a - b);
426
- }
427
- /**
428
- * 匹配和弦模式
429
- * Match chord pattern
430
- */
431
- matchPattern(intervals, pattern) {
432
- if (intervals.length < pattern.length) {
433
- return 0;
434
- }
435
- let matches = 0;
436
- for (const patternInterval of pattern) {
437
- if (intervals.includes(patternInterval)) {
438
- matches++;
439
- }
440
- }
441
- const precision = matches / pattern.length;
442
- const recall = matches / intervals.length;
443
- if (precision + recall === 0) {
444
- return 0;
445
- }
446
- return 2 * precision * recall / (precision + recall);
447
- }
448
- /**
449
- * 获取和弦后缀
450
- * Get chord suffix for display
451
- */
452
- getChordSuffix(pattern) {
453
- if (pattern.aliases && pattern.aliases.length > 0) {
454
- return pattern.aliases[0] || "";
455
- }
456
- const suffixMap = {
457
- "major": "",
458
- "minor": "m",
459
- "diminished": "dim",
460
- "augmented": "aug",
461
- "dominant7": "7"
462
- };
463
- return suffixMap[pattern.name] ?? pattern.name;
464
- }
465
- /**
466
- * 识别八度内的音程(用于简单的音程识别)
467
- * Recognize interval within an octave
468
- */
469
- recognizeInterval(note1, note2) {
470
- const semitones = Math.abs(note1.midi - note2.midi) % 12;
471
- const intervalNames = {
472
- 0: "\u7EAF\u4E00\u5EA6 (Unison)",
473
- 1: "\u5C0F\u4E8C\u5EA6 (Minor 2nd)",
474
- 2: "\u5927\u4E8C\u5EA6 (Major 2nd)",
475
- 3: "\u5C0F\u4E09\u5EA6 (Minor 3rd)",
476
- 4: "\u5927\u4E09\u5EA6 (Major 3rd)",
477
- 5: "\u7EAF\u56DB\u5EA6 (Perfect 4th)",
478
- 6: "\u589E\u56DB\u5EA6/\u51CF\u4E94\u5EA6 (Tritone)",
479
- 7: "\u7EAF\u4E94\u5EA6 (Perfect 5th)",
480
- 8: "\u5C0F\u516D\u5EA6 (Minor 6th)",
481
- 9: "\u5927\u516D\u5EA6 (Major 6th)",
482
- 10: "\u5C0F\u4E03\u5EA6 (Minor 7th)",
483
- 11: "\u5927\u4E03\u5EA6 (Major 7th)"
484
- };
485
- return intervalNames[semitones] || "\u672A\u77E5\u97F3\u7A0B";
486
- }
487
- /**
488
- * 分析和弦质量
489
- * Analyze chord quality
490
- */
491
- analyzeChordQuality(chord) {
492
- const qualities = [];
493
- if (chord.type.includes("major")) {
494
- qualities.push("\u5927\u8C03");
495
- } else if (chord.type.includes("minor")) {
496
- qualities.push("\u5C0F\u8C03");
497
- }
498
- if (chord.type.includes("diminished")) {
499
- qualities.push("\u51CF");
500
- } else if (chord.type.includes("augmented")) {
501
- qualities.push("\u589E");
502
- }
503
- if (chord.type.includes("7")) {
504
- qualities.push("\u4E03\u548C\u5F26");
505
- } else if (chord.type.includes("9")) {
506
- qualities.push("\u4E5D\u548C\u5F26");
507
- }
508
- if (chord.type.includes("sus")) {
509
- qualities.push("\u6302\u7559");
510
- }
511
- return qualities.join(" ") || "\u57FA\u7840\u548C\u5F26";
512
- }
513
- };
514
- // 和弦模式定义
515
- _ChordRecognizer.CHORD_PATTERNS = [
516
- // 三和弦
517
- { name: "major", intervals: [0, 4, 7], aliases: ["maj", "M"] },
518
- { name: "minor", intervals: [0, 3, 7], aliases: ["min", "m"] },
519
- { name: "diminished", intervals: [0, 3, 6], aliases: ["dim", "\xB0"] },
520
- { name: "augmented", intervals: [0, 4, 8], aliases: ["aug", "+"] },
521
- { name: "sus2", intervals: [0, 2, 7] },
522
- { name: "sus4", intervals: [0, 5, 7] },
523
- // 七和弦
524
- { name: "major7", intervals: [0, 4, 7, 11], aliases: ["maj7", "M7"] },
525
- { name: "minor7", intervals: [0, 3, 7, 10], aliases: ["min7", "m7"] },
526
- { name: "dominant7", intervals: [0, 4, 7, 10], aliases: ["7"] },
527
- { name: "diminished7", intervals: [0, 3, 6, 9], aliases: ["dim7", "\xB07"] },
528
- { name: "half-diminished7", intervals: [0, 3, 6, 10], aliases: ["m7b5", "\xF87"] },
529
- { name: "minor-major7", intervals: [0, 3, 7, 11], aliases: ["mM7", "m(maj7)"] },
530
- { name: "augmented7", intervals: [0, 4, 8, 10], aliases: ["aug7", "+7"] },
531
- // 扩展和弦
532
- { name: "major9", intervals: [0, 4, 7, 11, 14], aliases: ["maj9", "M9"] },
533
- { name: "minor9", intervals: [0, 3, 7, 10, 14], aliases: ["min9", "m9"] },
534
- { name: "dominant9", intervals: [0, 4, 7, 10, 14], aliases: ["9"] },
535
- { name: "add9", intervals: [0, 4, 7, 14] },
536
- { name: "madd9", intervals: [0, 3, 7, 14], aliases: ["m(add9)"] }
537
- ];
538
- _ChordRecognizer.NOTE_NAMES = ["C", "C#", "D", "D#", "E", "F", "F#", "G", "G#", "A", "A#", "B"];
539
- var ChordRecognizer = _ChordRecognizer;
540
-
541
- // src/audioDetection/core/AudioDetector.ts
542
- var AudioDetector = class {
543
- constructor(config = {}, events = {}) {
544
- this.isDetecting = false;
545
- this.animationFrameId = null;
546
- this.lastResult = null;
547
- /**
548
- * 检测循环
549
- * Detection loop
550
- */
551
- this.detectLoop = () => {
552
- if (!this.isDetecting) {
553
- return;
554
- }
555
- try {
556
- const result = this.detect();
557
- if (result) {
558
- this.lastResult = result;
559
- this.events.onDetection?.(result);
560
- }
561
- } catch (error) {
562
- console.error("\u68C0\u6D4B\u8FC7\u7A0B\u4E2D\u51FA\u9519:", error);
563
- this.events.onError?.(error instanceof Error ? error : new Error(String(error)));
564
- }
565
- this.animationFrameId = requestAnimationFrame(this.detectLoop);
566
- };
567
- this.audioInput = new AudioInputService(config);
568
- const audioConfig = this.audioInput.getConfig();
569
- this.pitchDetector = new PitchDetector(
570
- audioConfig.sampleRate,
571
- audioConfig.frequencyRange.min,
572
- audioConfig.frequencyRange.max
573
- );
574
- this.chordRecognizer = new ChordRecognizer();
575
- this.events = events;
576
- }
577
- /**
578
- * 启动音频检测
579
- * Start audio detection
580
- */
581
- async start() {
582
- if (this.isDetecting) {
583
- console.warn("AudioDetector \u5DF2\u7ECF\u5728\u8FD0\u884C");
584
- return;
585
- }
586
- try {
587
- await this.audioInput.initialize();
588
- this.events.onStateChange?.("active");
589
- this.isDetecting = true;
590
- this.detectLoop();
591
- console.log("AudioDetector \u5DF2\u542F\u52A8");
592
- } catch (error) {
593
- this.events.onStateChange?.("error");
594
- this.events.onError?.(error instanceof Error ? error : new Error(String(error)));
595
- throw error;
596
- }
597
- }
598
- /**
599
- * 停止音频检测
600
- * Stop audio detection
601
- */
602
- stop() {
603
- if (!this.isDetecting) {
604
- return;
605
- }
606
- this.isDetecting = false;
607
- if (this.animationFrameId !== null) {
608
- cancelAnimationFrame(this.animationFrameId);
609
- this.animationFrameId = null;
610
- }
611
- this.audioInput.stop();
612
- this.events.onStateChange?.("stopped");
613
- console.log("AudioDetector \u5DF2\u505C\u6B62");
614
- }
615
- /**
616
- * 执行一次检测
617
- * Perform single detection
618
- */
619
- detect() {
620
- const config = this.audioInput.getConfig();
621
- const timeDomainData = this.audioInput.getTimeDomainData();
622
- const frequencyData = this.audioInput.getFrequencyData();
623
- const volume = this.audioInput.getCurrentVolume();
624
- if (Date.now() % 2e3 < 100) {
625
- console.log("[AudioDetector] \u5F53\u524D\u97F3\u91CF: " + volume.toFixed(6) + ", \u9608\u503C: " + config.minVolume + ", \u72B6\u6001: " + (volume >= config.minVolume ? "\u2705 \u6709\u58F0\u97F3" : "\u274C \u97F3\u91CF\u592A\u4F4E"));
626
- }
627
- if (volume < config.minVolume) {
628
- return {
629
- notes: [],
630
- timestamp: Date.now(),
631
- isDetecting: false
632
- };
633
- }
634
- const dominantFrequency = this.pitchDetector.detectPitch(timeDomainData, config.minVolume);
635
- const detectedNotes = this.pitchDetector.detectMultiplePitches(frequencyData, -60);
636
- if (dominantFrequency && dominantFrequency > 0) {
637
- const dominantNote = this.pitchDetector.frequencyToNote(dominantFrequency, volume);
638
- if (dominantNote) {
639
- const exists = detectedNotes.some((n) => Math.abs(n.midi - dominantNote.midi) < 1);
640
- if (!exists) {
641
- detectedNotes.unshift(dominantNote);
642
- }
643
- }
644
- }
645
- const filteredNotes = detectedNotes.filter((note) => note.confidence >= config.minConfidence);
646
- let chord;
647
- if (filteredNotes.length >= 2) {
648
- chord = this.chordRecognizer.recognizeChord(filteredNotes) ?? void 0;
649
- }
650
- return {
651
- notes: filteredNotes,
652
- chord,
653
- timestamp: Date.now(),
654
- isDetecting: filteredNotes.length > 0
655
- };
656
- }
657
- /**
658
- * 获取当前状态
659
- * Get current state
660
- */
661
- getState() {
662
- return this.audioInput.getState();
663
- }
664
- /**
665
- * 获取最后的检测结果
666
- * Get last detection result
667
- */
668
- getLastResult() {
669
- return this.lastResult;
670
- }
671
- /**
672
- * 检查是否正在运行
673
- * Check if running
674
- */
675
- isRunning() {
676
- return this.isDetecting && this.audioInput.isRunning();
677
- }
678
- /**
679
- * 获取音频输入服务
680
- * Get audio input service
681
- */
682
- getAudioInput() {
683
- return this.audioInput;
684
- }
685
- };
686
-
687
- // src/audioDetection/core/AudioDetectorDebugger.ts
688
- var AudioDetectorDebugger = class {
689
- constructor(config = {}) {
690
- this.debugInterval = null;
691
- this.detector = new AudioDetector(config, {
692
- onDetection: (result) => {
693
- if (result.isDetecting) {
694
- console.log("\u{1F3B5} \u68C0\u6D4B\u5230\u97F3\u7B26:", result.notes.map((n) => n.name + "(" + n.frequency.toFixed(1) + "Hz)").join(", "));
695
- if (result.chord) {
696
- console.log("\u{1F3B9} \u68C0\u6D4B\u5230\u548C\u5F26:", result.chord.name);
697
- }
698
- }
699
- },
700
- onStateChange: (state) => {
701
- console.log("\u{1F4CA} \u72B6\u6001\u53D8\u5316:", state);
702
- },
703
- onError: (error) => {
704
- console.error("\u274C \u9519\u8BEF:", error);
705
- }
706
- });
707
- }
708
- async start() {
709
- await this.detector.start();
710
- this.debugInterval = window.setInterval(() => {
711
- const audioInput = this.detector.getAudioInput();
712
- const volume = audioInput.getCurrentVolume();
713
- const config = audioInput.getConfig();
714
- const analyser = audioInput.getAnalyserNode();
715
- if (analyser) {
716
- const freqData = new Float32Array(analyser.frequencyBinCount);
717
- analyser.getFloatFrequencyData(freqData);
718
- let maxFreqValue = -Infinity;
719
- for (let i = 0; i < freqData.length; i++) {
720
- const val = freqData[i];
721
- if (val !== void 0 && val > maxFreqValue) {
722
- maxFreqValue = val;
723
- }
724
- }
725
- console.log(`
726
- \u{1F3A4} \u97F3\u9891\u8C03\u8BD5\u4FE1\u606F:
727
- - \u97F3\u91CF (RMS): ${volume.toFixed(6)}
728
- - \u97F3\u91CF\u9608\u503C: ${config.minVolume}
729
- - \u97F3\u91CF\u72B6\u6001: ${volume >= config.minVolume ? "\u2705 \u8D85\u8FC7\u9608\u503C" : "\u274C \u4F4E\u4E8E\u9608\u503C"}
730
- - \u6700\u5927\u9891\u7387\u5F3A\u5EA6: ${maxFreqValue.toFixed(2)} dB
731
- - \u91C7\u6837\u7387: ${config.sampleRate} Hz
732
- - FFT\u5927\u5C0F: ${config.fftSize}
733
- - \u5E73\u6ED1\u7CFB\u6570: ${config.smoothing}
734
- `);
735
- }
736
- }, 2e3);
737
- }
738
- stop() {
739
- if (this.debugInterval !== null) {
740
- clearInterval(this.debugInterval);
741
- this.debugInterval = null;
742
- }
743
- this.detector.stop();
744
- }
745
- getDetector() {
746
- return this.detector;
747
- }
748
- /**
749
- * 测试麦克风是否正常工作
750
- */
751
- async testMicrophone() {
752
- console.log("\u{1F50D} \u5F00\u59CB\u6D4B\u8BD5\u9EA6\u514B\u98CE...");
753
- await this.detector.start();
754
- const volumes = [];
755
- const audioInput = this.detector.getAudioInput();
756
- return new Promise((resolve) => {
757
- const sampleInterval = setInterval(() => {
758
- volumes.push(audioInput.getCurrentVolume());
759
- }, 100);
760
- setTimeout(() => {
761
- clearInterval(sampleInterval);
762
- const averageVolume = volumes.reduce((a, b) => a + b, 0) / volumes.length;
763
- const peakVolume = Math.max(...volumes);
764
- const isReceivingAudio = peakVolume > 1e-4;
765
- console.log(`
766
- \u2705 \u9EA6\u514B\u98CE\u6D4B\u8BD5\u5B8C\u6210:
767
- - \u6743\u9650\u72B6\u6001: \u2705 \u5DF2\u6388\u6743
768
- - \u63A5\u6536\u97F3\u9891: ${isReceivingAudio ? "\u2705 \u662F" : "\u274C \u5426"}
769
- - \u5E73\u5747\u97F3\u91CF: ${averageVolume.toFixed(6)}
770
- - \u5CF0\u503C\u97F3\u91CF: ${peakVolume.toFixed(6)}
771
- - \u5EFA\u8BAE\u9608\u503C: ${(peakVolume * 0.1).toFixed(6)}
772
- `);
773
- resolve({
774
- hasPermission: true,
775
- isReceivingAudio,
776
- averageVolume,
777
- peakVolume
778
- });
779
- }, 5e3);
780
- });
781
- }
782
- };
783
- async function debugAudioDetection(config) {
784
- const dbg = new AudioDetectorDebugger(config);
785
- await dbg.start();
786
- return dbg;
787
- }
788
- async function testMicrophone() {
789
- const dbg = new AudioDetectorDebugger();
790
- await dbg.testMicrophone();
791
- dbg.stop();
792
- }
793
- function useAudioDetection(options = {}) {
794
- const { autoStart = false, updateInterval = 100, ...config } = options;
795
- const [result, setResult] = React.useState(null);
796
- const [state, setState] = React.useState("idle");
797
- const [error, setError] = React.useState(null);
798
- const [isDetecting, setIsDetecting] = React.useState(false);
799
- const detectorRef = React.useRef(null);
800
- const lastUpdateRef = React.useRef(0);
801
- React.useEffect(() => {
802
- const detector = new AudioDetector(config, {
803
- onDetection: (detectionResult) => {
804
- const now = Date.now();
805
- if (now - lastUpdateRef.current >= updateInterval) {
806
- setResult(detectionResult);
807
- lastUpdateRef.current = now;
808
- }
809
- },
810
- onStateChange: (newState) => {
811
- setState(newState);
812
- },
813
- onError: (err) => {
814
- setError(err);
815
- setIsDetecting(false);
816
- }
817
- });
818
- detectorRef.current = detector;
819
- if (autoStart) {
820
- detector.start().catch((err) => {
821
- setError(err);
822
- });
823
- setIsDetecting(true);
824
- }
825
- return () => {
826
- if (detector.isRunning()) {
827
- detector.stop();
828
- }
829
- };
830
- }, []);
831
- const start = React.useCallback(async () => {
832
- if (!detectorRef.current) {
833
- const err = new Error("\u68C0\u6D4B\u5668\u672A\u521D\u59CB\u5316");
834
- setError(err);
835
- throw err;
836
- }
837
- try {
838
- setError(null);
839
- await detectorRef.current.start();
840
- setIsDetecting(true);
841
- } catch (err) {
842
- const error2 = err instanceof Error ? err : new Error(String(err));
843
- setError(error2);
844
- setIsDetecting(false);
845
- throw error2;
846
- }
847
- }, []);
848
- const stop = React.useCallback(() => {
849
- if (detectorRef.current) {
850
- detectorRef.current.stop();
851
- setIsDetecting(false);
852
- setResult(null);
853
- }
854
- }, []);
855
- const getDetector = React.useCallback(() => {
856
- return detectorRef.current;
857
- }, []);
858
- return {
859
- result,
860
- state,
861
- isDetecting,
862
- error,
863
- start,
864
- stop,
865
- getDetector
866
- };
867
- }
868
- var AudioDetectionDisplay = ({
869
- className = "",
870
- showDebugInfo = false,
871
- renderNote,
872
- renderChord,
873
- startButtonText = "\u5F00\u59CB\u68C0\u6D4B",
874
- stopButtonText = "\u505C\u6B62\u68C0\u6D4B",
875
- ...options
876
- }) => {
877
- const { result, state, isDetecting, error, start, stop } = useAudioDetection(options);
878
- const handleToggle = async () => {
879
- if (isDetecting) {
880
- stop();
881
- } else {
882
- try {
883
- await start();
884
- } catch (err) {
885
- console.error("\u542F\u52A8\u5931\u8D25:", err);
886
- }
887
- }
888
- };
889
- return /* @__PURE__ */ React__default.default.createElement("div", { className: clsx.clsx("audio-detection-display", className) }, /* @__PURE__ */ React__default.default.createElement("div", { className: "audio-detection-controls" }, /* @__PURE__ */ React__default.default.createElement(
890
- "button",
891
- {
892
- onClick: handleToggle,
893
- disabled: state === "initializing",
894
- className: clsx.clsx("audio-detection-button", isDetecting ? "active" : "")
895
- },
896
- state === "initializing" ? "\u521D\u59CB\u5316\u4E2D..." : isDetecting ? stopButtonText : startButtonText
897
- ), /* @__PURE__ */ React__default.default.createElement("div", { className: clsx.clsx("audio-detection-status status-", state) }, "\u72B6\u6001: ", getStateLabel(state))), error && /* @__PURE__ */ React__default.default.createElement("div", { className: "audio-detection-error" }, /* @__PURE__ */ React__default.default.createElement("strong", null, "\u9519\u8BEF:"), " ", error.message), result && result.isDetecting && /* @__PURE__ */ React__default.default.createElement("div", { className: "audio-detection-result" }, result.notes.length > 0 && /* @__PURE__ */ React__default.default.createElement("div", { className: "audio-detection-notes" }, /* @__PURE__ */ React__default.default.createElement("h3", null, "\u68C0\u6D4B\u5230\u7684\u97F3\u7B26:"), /* @__PURE__ */ React__default.default.createElement("div", { className: "notes-grid" }, result.notes.map((note, index) => /* @__PURE__ */ React__default.default.createElement("div", { key: index, className: "note-item" }, renderNote ? renderNote(note) : /* @__PURE__ */ React__default.default.createElement(DefaultNoteDisplay, { note }))))), result.chord && /* @__PURE__ */ React__default.default.createElement("div", { className: "audio-detection-chord" }, /* @__PURE__ */ React__default.default.createElement("h3", null, "\u8BC6\u522B\u7684\u548C\u5F26:"), renderChord ? renderChord(result.chord) : /* @__PURE__ */ React__default.default.createElement(DefaultChordDisplay, { chord: result.chord })), showDebugInfo && /* @__PURE__ */ React__default.default.createElement("div", { className: "audio-detection-debug" }, /* @__PURE__ */ React__default.default.createElement("h4", null, "\u8C03\u8BD5\u4FE1\u606F:"), /* @__PURE__ */ React__default.default.createElement("pre", null, JSON.stringify(result, null, 2)))), isDetecting && (!result || !result.isDetecting) && /* @__PURE__ */ React__default.default.createElement("div", { className: "audio-detection-waiting" }, "\u6B63\u5728\u76D1\u542C... \u8BF7\u5F39\u594F\u7535\u5B50\u7434"));
898
- };
899
- var DefaultNoteDisplay = ({ note }) => /* @__PURE__ */ React__default.default.createElement("div", { className: "default-note-display" }, /* @__PURE__ */ React__default.default.createElement("div", { className: "note-name" }, note.name), /* @__PURE__ */ React__default.default.createElement("div", { className: "note-frequency" }, note.frequency.toFixed(2), " Hz"), /* @__PURE__ */ React__default.default.createElement("div", { className: "note-confidence" }, "\u7F6E\u4FE1\u5EA6: ", (note.confidence * 100).toFixed(0), "%"));
900
- var DefaultChordDisplay = ({ chord }) => /* @__PURE__ */ React__default.default.createElement("div", { className: "default-chord-display" }, /* @__PURE__ */ React__default.default.createElement("div", { className: "chord-name" }, chord.name), /* @__PURE__ */ React__default.default.createElement("div", { className: "chord-type" }, "\u7C7B\u578B: ", chord.type), /* @__PURE__ */ React__default.default.createElement("div", { className: "chord-notes" }, "\u97F3\u7B26: ", chord.notes.map((n) => n.name).join(", ")), /* @__PURE__ */ React__default.default.createElement("div", { className: "chord-confidence" }, "\u7F6E\u4FE1\u5EA6: ", (chord.confidence * 100).toFixed(0), "%"));
901
- function getStateLabel(state) {
902
- const labels = {
903
- idle: "\u7A7A\u95F2",
904
- initializing: "\u521D\u59CB\u5316\u4E2D",
905
- active: "\u8FD0\u884C\u4E2D",
906
- error: "\u9519\u8BEF",
907
- stopped: "\u5DF2\u505C\u6B62"
908
- };
909
- return labels[state] || state;
910
- }
911
- var audioDetectionStyles = `
912
- .audio-detection-display {
913
- padding: 20px;
914
- border: 1px solid #ddd;
915
- border-radius: 8px;
916
- font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
917
- }
918
-
919
- .audio-detection-controls {
920
- display: flex;
921
- gap: 12px;
922
- align-items: center;
923
- margin-bottom: 20px;
924
- }
925
-
926
- .audio-detection-button {
927
- padding: 10px 20px;
928
- font-size: 16px;
929
- border: none;
930
- border-radius: 6px;
931
- background-color: #007bff;
932
- color: white;
933
- cursor: pointer;
934
- transition: background-color 0.3s;
935
- }
936
-
937
- .audio-detection-button:hover {
938
- background-color: #0056b3;
939
- }
940
-
941
- .audio-detection-button:disabled {
942
- background-color: #ccc;
943
- cursor: not-allowed;
944
- }
945
-
946
- .audio-detection-button.active {
947
- background-color: #dc3545;
948
- }
949
-
950
- .audio-detection-button.active:hover {
951
- background-color: #c82333;
952
- }
953
-
954
- .audio-detection-status {
955
- padding: 8px 16px;
956
- border-radius: 4px;
957
- font-size: 14px;
958
- }
959
-
960
- .status-idle { background-color: #e7f3ff; color: #004085; }
961
- .status-initializing { background-color: #fff3cd; color: #856404; }
962
- .status-active { background-color: #d4edda; color: #155724; }
963
- .status-error { background-color: #f8d7da; color: #721c24; }
964
- .status-stopped { background-color: #e2e3e5; color: #383d41; }
965
-
966
- .audio-detection-error {
967
- padding: 12px;
968
- background-color: #f8d7da;
969
- border: 1px solid #f5c6cb;
970
- border-radius: 4px;
971
- color: #721c24;
972
- margin-bottom: 16px;
973
- }
974
-
975
- .audio-detection-result {
976
- margin-top: 20px;
977
- }
978
-
979
- .audio-detection-notes h3,
980
- .audio-detection-chord h3 {
981
- margin-bottom: 12px;
982
- font-size: 18px;
983
- }
984
-
985
- .notes-grid {
986
- display: grid;
987
- grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
988
- gap: 12px;
989
- }
990
-
991
- .note-item {
992
- padding: 12px;
993
- border: 2px solid #007bff;
994
- border-radius: 6px;
995
- background-color: #f8f9fa;
996
- }
997
-
998
- .default-note-display {
999
- text-align: center;
1000
- }
1001
-
1002
- .note-name {
1003
- font-size: 24px;
1004
- font-weight: bold;
1005
- color: #007bff;
1006
- margin-bottom: 4px;
1007
- }
1008
-
1009
- .note-frequency {
1010
- font-size: 14px;
1011
- color: #666;
1012
- margin-bottom: 4px;
1013
- }
1014
-
1015
- .note-confidence {
1016
- font-size: 12px;
1017
- color: #999;
1018
- }
1019
-
1020
- .audio-detection-chord {
1021
- margin-top: 20px;
1022
- padding: 16px;
1023
- border: 2px solid #28a745;
1024
- border-radius: 8px;
1025
- background-color: #f8f9fa;
1026
- }
1027
-
1028
- .default-chord-display {
1029
- text-align: center;
1030
- }
1031
-
1032
- .chord-name {
1033
- font-size: 32px;
1034
- font-weight: bold;
1035
- color: #28a745;
1036
- margin-bottom: 8px;
1037
- }
1038
-
1039
- .chord-type,
1040
- .chord-notes,
1041
- .chord-confidence {
1042
- margin-bottom: 4px;
1043
- color: #666;
1044
- }
1045
-
1046
- .audio-detection-waiting {
1047
- text-align: center;
1048
- padding: 40px;
1049
- color: #666;
1050
- font-size: 18px;
1051
- }
1052
-
1053
- .audio-detection-debug {
1054
- margin-top: 20px;
1055
- padding: 12px;
1056
- background-color: #f4f4f4;
1057
- border-radius: 4px;
1058
- }
1059
-
1060
- .audio-detection-debug pre {
1061
- margin: 8px 0 0 0;
1062
- font-size: 12px;
1063
- overflow-x: auto;
1064
- }
1065
- `;
1066
- var PianoKeyboard = ({
1067
- activeNotes = [],
1068
- startOctave = 2,
1069
- endOctave = 6,
1070
- className = "",
1071
- showNoteNames = true
1072
- }) => {
1073
- const keys = React.useMemo(() => {
1074
- const noteNames = ["C", "C#", "D", "D#", "E", "F", "F#", "G", "G#", "A", "A#", "B"];
1075
- const blackKeys2 = /* @__PURE__ */ new Set(["C#", "D#", "F#", "G#", "A#"]);
1076
- const allKeys = [];
1077
- for (let octave = startOctave; octave <= endOctave; octave++) {
1078
- for (const noteName of noteNames) {
1079
- const midi = (octave + 1) * 12 + noteNames.indexOf(noteName);
1080
- const isActive = activeNotes.some((note) => note.midi === midi);
1081
- allKeys.push({
1082
- noteName,
1083
- octave,
1084
- midi,
1085
- isBlack: blackKeys2.has(noteName),
1086
- isActive
1087
- });
1088
- }
1089
- }
1090
- return allKeys;
1091
- }, [startOctave, endOctave, activeNotes]);
1092
- const whiteKeys = keys.filter((k) => !k.isBlack);
1093
- const blackKeys = keys.filter((k) => k.isBlack);
1094
- return /* @__PURE__ */ React__default.default.createElement("div", { className: clsx.clsx("piano-keyboard", className) }, /* @__PURE__ */ React__default.default.createElement("div", { className: "piano-keys-container" }, /* @__PURE__ */ React__default.default.createElement("div", { className: "white-keys" }, whiteKeys.map((key, index) => /* @__PURE__ */ React__default.default.createElement(
1095
- "div",
1096
- {
1097
- key: "white-" + key.midi,
1098
- className: clsx.clsx("piano-key white-key", key.isActive ? "active" : ""),
1099
- title: key.noteName + key.octave
1100
- },
1101
- showNoteNames && /* @__PURE__ */ React__default.default.createElement("span", { className: "key-label" }, key.noteName, key.octave)
1102
- ))), /* @__PURE__ */ React__default.default.createElement("div", { className: "black-keys" }, blackKeys.map((key) => {
1103
- const whiteKeyIndex = getWhiteKeyIndexBeforeBlack(key.noteName);
1104
- const octaveOffset = (key.octave - startOctave) * 7;
1105
- const position = whiteKeyIndex + octaveOffset;
1106
- return /* @__PURE__ */ React__default.default.createElement(
1107
- "div",
1108
- {
1109
- key: "black-" + key.midi,
1110
- className: clsx.clsx("piano-key black-key", key.isActive ? "active" : ""),
1111
- style: { left: (position + 0.7) * (100 / whiteKeys.length) + "%" },
1112
- title: key.noteName + key.octave
1113
- },
1114
- showNoteNames && /* @__PURE__ */ React__default.default.createElement("span", { className: "key-label" }, key.noteName, key.octave)
1115
- );
1116
- }))));
1117
- };
1118
- function getWhiteKeyIndexBeforeBlack(noteName) {
1119
- const map = {
1120
- "C#": 0,
1121
- "D#": 1,
1122
- "F#": 3,
1123
- "G#": 4,
1124
- "A#": 5
1125
- };
1126
- return map[noteName] || 0;
1127
- }
1128
- var pianoKeyboardStyles = `
1129
- .piano-keyboard {
1130
- width: 100%;
1131
- padding: 20px;
1132
- background-color: #2c3e50;
1133
- border-radius: 8px;
1134
- box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);
1135
- }
1136
-
1137
- .piano-keys-container {
1138
- position: relative;
1139
- width: 100%;
1140
- height: 200px;
1141
- }
1142
-
1143
- .white-keys {
1144
- display: flex;
1145
- height: 100%;
1146
- gap: 2px;
1147
- }
1148
-
1149
- .piano-key {
1150
- position: relative;
1151
- border: 1px solid #000;
1152
- cursor: pointer;
1153
- transition: all 0.15s ease;
1154
- }
1155
-
1156
- .white-key {
1157
- flex: 1;
1158
- background: linear-gradient(to bottom, #ffffff 0%, #f0f0f0 100%);
1159
- border-radius: 0 0 4px 4px;
1160
- display: flex;
1161
- align-items: flex-end;
1162
- justify-content: center;
1163
- padding-bottom: 8px;
1164
- }
1165
-
1166
- .white-key:hover {
1167
- background: linear-gradient(to bottom, #f8f8f8 0%, #e8e8e8 100%);
1168
- }
1169
-
1170
- .white-key.active {
1171
- background: linear-gradient(to bottom, #4CAF50 0%, #45a049 100%) !important;
1172
- box-shadow: 0 0 20px rgba(76, 175, 80, 0.8);
1173
- }
1174
-
1175
- .black-keys {
1176
- position: absolute;
1177
- top: 0;
1178
- left: 0;
1179
- width: 100%;
1180
- height: 60%;
1181
- pointer-events: none;
1182
- }
1183
-
1184
- .black-key {
1185
- position: absolute;
1186
- width: calc(100% / 52 * 0.6); /* \u5047\u8BBE\u670952\u4E2A\u767D\u952E\u7684\u5BBD\u5EA6 */
1187
- height: 100%;
1188
- background: linear-gradient(to bottom, #2c3e50 0%, #1a252f 100%);
1189
- border-radius: 0 0 3px 3px;
1190
- pointer-events: all;
1191
- transform: translateX(-50%);
1192
- display: flex;
1193
- align-items: flex-end;
1194
- justify-content: center;
1195
- padding-bottom: 6px;
1196
- z-index: 10;
1197
- }
1198
-
1199
- .black-key:hover {
1200
- background: linear-gradient(to bottom, #34495e 0%, #2c3e50 100%);
1201
- }
1202
-
1203
- .black-key.active {
1204
- background: linear-gradient(to bottom, #4CAF50 0%, #388E3C 100%) !important;
1205
- box-shadow: 0 0 20px rgba(76, 175, 80, 0.8);
1206
- }
1207
-
1208
- .key-label {
1209
- font-size: 11px;
1210
- font-weight: bold;
1211
- user-select: none;
1212
- }
1213
-
1214
- .white-key .key-label {
1215
- color: #666;
1216
- }
1217
-
1218
- .white-key.active .key-label {
1219
- color: white;
1220
- }
1221
-
1222
- .black-key .key-label {
1223
- color: #ddd;
1224
- }
1225
-
1226
- .black-key.active .key-label {
1227
- color: white;
1228
- }
1229
- `;
1230
-
1231
- exports.AudioDetectionDisplay = AudioDetectionDisplay;
1232
- exports.AudioDetector = AudioDetector;
1233
- exports.AudioDetectorDebugger = AudioDetectorDebugger;
1234
- exports.AudioInputService = AudioInputService;
1235
- exports.ChordRecognizer = ChordRecognizer;
1236
- exports.PianoKeyboard = PianoKeyboard;
1237
- exports.PitchDetector = PitchDetector;
1238
- exports.audioDetectionStyles = audioDetectionStyles;
1239
- exports.debugAudioDetection = debugAudioDetection;
1240
- exports.pianoKeyboardStyles = pianoKeyboardStyles;
1241
- exports.testMicrophone = testMicrophone;
1242
- exports.useAudioDetection = useAudioDetection;
1243
- //# sourceMappingURL=index.js.map
1244
- //# sourceMappingURL=index.js.map