sa2kit 1.6.59 → 1.6.62

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 (335) hide show
  1. package/dist/UniversalFileService-C3WQAFOV.js +15 -0
  2. package/dist/{UniversalFileService-J6ET6KZK.js.map → UniversalFileService-C3WQAFOV.js.map} +1 -1
  3. package/dist/UniversalFileService-O3IEROBN.mjs +6 -0
  4. package/dist/{UniversalFileService-336GFY6N.mjs.map → UniversalFileService-O3IEROBN.mjs.map} +1 -1
  5. package/dist/ai/llm/index.d.mts +70 -0
  6. package/dist/ai/llm/index.d.ts +70 -0
  7. package/dist/ai/llm/index.js +54 -0
  8. package/dist/ai/llm/index.js.map +1 -0
  9. package/dist/ai/llm/index.mjs +5 -0
  10. package/dist/ai/llm/index.mjs.map +1 -0
  11. package/dist/ai/llm/ui/electron/index.d.mts +5 -0
  12. package/dist/ai/llm/ui/electron/index.d.ts +5 -0
  13. package/dist/ai/llm/ui/electron/index.js +21 -0
  14. package/dist/ai/llm/ui/electron/index.js.map +1 -0
  15. package/dist/ai/llm/ui/electron/index.mjs +8 -0
  16. package/dist/ai/llm/ui/electron/index.mjs.map +1 -0
  17. package/dist/ai/llm/ui/miniapp/index.d.mts +9 -0
  18. package/dist/ai/llm/ui/miniapp/index.d.ts +9 -0
  19. package/dist/ai/llm/ui/miniapp/index.js +107 -0
  20. package/dist/ai/llm/ui/miniapp/index.js.map +1 -0
  21. package/dist/ai/llm/ui/miniapp/index.mjs +101 -0
  22. package/dist/ai/llm/ui/miniapp/index.mjs.map +1 -0
  23. package/dist/ai/llm/ui/rn/index.d.mts +9 -0
  24. package/dist/ai/llm/ui/rn/index.d.ts +9 -0
  25. package/dist/ai/llm/ui/rn/index.js +249 -0
  26. package/dist/ai/llm/ui/rn/index.js.map +1 -0
  27. package/dist/ai/llm/ui/rn/index.mjs +243 -0
  28. package/dist/ai/llm/ui/rn/index.mjs.map +1 -0
  29. package/dist/ai/llm/ui/web/index.d.mts +15 -0
  30. package/dist/ai/llm/ui/web/index.d.ts +15 -0
  31. package/dist/ai/llm/ui/web/index.js +21 -0
  32. package/dist/ai/llm/ui/web/index.js.map +1 -0
  33. package/dist/ai/llm/ui/web/index.mjs +8 -0
  34. package/dist/ai/llm/ui/web/index.mjs.map +1 -0
  35. package/dist/ar/index.d.mts +7 -0
  36. package/dist/ar/index.d.ts +7 -0
  37. package/dist/ar/index.js +17 -0
  38. package/dist/ar/index.js.map +1 -0
  39. package/dist/ar/index.mjs +4 -0
  40. package/dist/ar/index.mjs.map +1 -0
  41. package/dist/auth/index.js +22 -22
  42. package/dist/auth/index.mjs +2 -2
  43. package/dist/auth/legacy/db/index.d.mts +5 -0
  44. package/dist/auth/legacy/db/index.d.ts +5 -0
  45. package/dist/auth/legacy/db/index.js +34 -0
  46. package/dist/auth/legacy/db/index.js.map +1 -0
  47. package/dist/auth/legacy/db/index.mjs +5 -0
  48. package/dist/auth/legacy/db/index.mjs.map +1 -0
  49. package/dist/auth/legacy/index.d.mts +51 -0
  50. package/dist/auth/legacy/index.d.ts +51 -0
  51. package/dist/auth/legacy/index.js +146 -0
  52. package/dist/auth/legacy/index.js.map +1 -0
  53. package/dist/auth/legacy/index.mjs +13 -0
  54. package/dist/auth/legacy/index.mjs.map +1 -0
  55. package/dist/auth/legacy/logic/index.d.mts +9 -0
  56. package/dist/auth/legacy/logic/index.d.ts +9 -0
  57. package/dist/auth/legacy/logic/index.js +18 -0
  58. package/dist/auth/legacy/logic/index.js.map +1 -0
  59. package/dist/auth/legacy/logic/index.mjs +5 -0
  60. package/dist/auth/legacy/logic/index.mjs.map +1 -0
  61. package/dist/auth/legacy/routes/index.d.mts +50 -0
  62. package/dist/auth/legacy/routes/index.d.ts +50 -0
  63. package/dist/auth/legacy/routes/index.js +34 -0
  64. package/dist/auth/legacy/routes/index.js.map +1 -0
  65. package/dist/auth/legacy/routes/index.mjs +5 -0
  66. package/dist/auth/legacy/routes/index.mjs.map +1 -0
  67. package/dist/auth/legacy/schema/index.d.mts +401 -0
  68. package/dist/auth/legacy/schema/index.d.ts +401 -0
  69. package/dist/auth/legacy/schema/index.js +29 -0
  70. package/dist/auth/legacy/schema/index.js.map +1 -0
  71. package/dist/auth/legacy/schema/index.mjs +4 -0
  72. package/dist/auth/legacy/schema/index.mjs.map +1 -0
  73. package/dist/auth/legacy/server/index.d.mts +15 -0
  74. package/dist/auth/legacy/server/index.d.ts +15 -0
  75. package/dist/auth/legacy/server/index.js +65 -0
  76. package/dist/auth/legacy/server/index.js.map +1 -0
  77. package/dist/auth/legacy/server/index.mjs +8 -0
  78. package/dist/auth/legacy/server/index.mjs.map +1 -0
  79. package/dist/auth/legacy/services/index.d.mts +40 -0
  80. package/dist/auth/legacy/services/index.d.ts +40 -0
  81. package/dist/auth/legacy/services/index.js +14 -0
  82. package/dist/auth/legacy/services/index.js.map +1 -0
  83. package/dist/auth/legacy/services/index.mjs +5 -0
  84. package/dist/auth/legacy/services/index.mjs.map +1 -0
  85. package/dist/auth/legacy/ui/miniapp/index.d.mts +10 -0
  86. package/dist/auth/legacy/ui/miniapp/index.d.ts +10 -0
  87. package/dist/auth/legacy/ui/miniapp/index.js +23 -0
  88. package/dist/auth/legacy/ui/miniapp/index.js.map +1 -0
  89. package/dist/auth/legacy/ui/miniapp/index.mjs +6 -0
  90. package/dist/auth/legacy/ui/miniapp/index.mjs.map +1 -0
  91. package/dist/auth/legacy/ui/web/index.d.mts +22 -0
  92. package/dist/auth/legacy/ui/web/index.d.ts +22 -0
  93. package/dist/auth/legacy/ui/web/index.js +31 -0
  94. package/dist/auth/legacy/ui/web/index.js.map +1 -0
  95. package/dist/auth/legacy/ui/web/index.mjs +6 -0
  96. package/dist/auth/legacy/ui/web/index.mjs.map +1 -0
  97. package/dist/booking-B0BM8grt.d.mts +141 -0
  98. package/dist/booking-CUy8u7Za.d.ts +141 -0
  99. package/dist/{bookingAdminService-Dmg7dC6V.d.mts → bookingAdminService-BNEDyw7U.d.mts} +1 -1
  100. package/dist/{bookingAdminService-B2QDjSHJ.d.ts → bookingAdminService-BtOtG96L.d.ts} +1 -1
  101. package/dist/calendar/index.d.mts +390 -237
  102. package/dist/calendar/index.d.ts +390 -237
  103. package/dist/calendar/index.js +3825 -3785
  104. package/dist/calendar/index.js.map +1 -1
  105. package/dist/calendar/index.mjs +3730 -3696
  106. package/dist/calendar/index.mjs.map +1 -1
  107. package/dist/calendar/routes/index.js +30 -327
  108. package/dist/calendar/routes/index.js.map +1 -1
  109. package/dist/calendar/routes/index.mjs +1 -323
  110. package/dist/calendar/routes/index.mjs.map +1 -1
  111. package/dist/calendar/server.d.mts +6 -0
  112. package/dist/calendar/server.d.ts +6 -0
  113. package/dist/calendar/server.js +41 -13
  114. package/dist/calendar/server.js.map +1 -1
  115. package/dist/calendar/server.mjs +2 -2
  116. package/dist/calendar/server.mjs.map +1 -1
  117. package/dist/{cart-D3o67Q3H.d.ts → cart-Cw3i0Dy6.d.ts} +1 -1
  118. package/dist/{cart-CcZ7rQyG.d.mts → cart-DLSbsihH.d.mts} +1 -1
  119. package/dist/chunk-24F7KUED.js +263 -0
  120. package/dist/chunk-24F7KUED.js.map +1 -0
  121. package/dist/{chunk-YMS6BPXS.js → chunk-27IUMDDK.js} +3 -3
  122. package/dist/{chunk-YMS6BPXS.js.map → chunk-27IUMDDK.js.map} +1 -1
  123. package/dist/chunk-37M6NZIF.js +279 -0
  124. package/dist/chunk-37M6NZIF.js.map +1 -0
  125. package/dist/chunk-3JMUNOUT.js +144 -0
  126. package/dist/chunk-3JMUNOUT.js.map +1 -0
  127. package/dist/chunk-3PFCOTJP.mjs +256 -0
  128. package/dist/chunk-3PFCOTJP.mjs.map +1 -0
  129. package/dist/{chunk-SKCMZYSQ.js → chunk-3YSRTVIY.js} +31 -15
  130. package/dist/chunk-3YSRTVIY.js.map +1 -0
  131. package/dist/{chunk-NZZZUMMX.mjs → chunk-57MVE5LL.mjs} +3 -3
  132. package/dist/{chunk-NZZZUMMX.mjs.map → chunk-57MVE5LL.mjs.map} +1 -1
  133. package/dist/{chunk-622Y6LTH.mjs → chunk-5BLZEVWK.mjs} +196 -468
  134. package/dist/chunk-5BLZEVWK.mjs.map +1 -0
  135. package/dist/{chunk-UVHPCLP6.js → chunk-5LCGOCKG.js} +5 -5
  136. package/dist/{chunk-UVHPCLP6.js.map → chunk-5LCGOCKG.js.map} +1 -1
  137. package/dist/chunk-6XUQ2B4K.js +219 -0
  138. package/dist/chunk-6XUQ2B4K.js.map +1 -0
  139. package/dist/{chunk-NCOXT7SK.js → chunk-77UEPWVQ.js} +4 -4
  140. package/dist/{chunk-NCOXT7SK.js.map → chunk-77UEPWVQ.js.map} +1 -1
  141. package/dist/chunk-C76U5FF4.mjs +10 -0
  142. package/dist/chunk-C76U5FF4.mjs.map +1 -0
  143. package/dist/chunk-CFM56MGO.mjs +35 -0
  144. package/dist/chunk-CFM56MGO.mjs.map +1 -0
  145. package/dist/{chunk-LJGJPAQ4.js → chunk-COOI6MT3.js} +2 -11
  146. package/dist/chunk-COOI6MT3.js.map +1 -0
  147. package/dist/chunk-CPSFYP34.mjs +140 -0
  148. package/dist/chunk-CPSFYP34.mjs.map +1 -0
  149. package/dist/chunk-D22QBOCM.mjs +336 -0
  150. package/dist/chunk-D22QBOCM.mjs.map +1 -0
  151. package/dist/chunk-DA4QV64P.mjs +35 -0
  152. package/dist/chunk-DA4QV64P.mjs.map +1 -0
  153. package/dist/{chunk-FVDPGX6A.mjs → chunk-DWJLOHAE.mjs} +2 -11
  154. package/dist/chunk-DWJLOHAE.mjs.map +1 -0
  155. package/dist/chunk-EKDLZND6.js +275 -0
  156. package/dist/chunk-EKDLZND6.js.map +1 -0
  157. package/dist/chunk-EKQPFZXQ.js +12 -0
  158. package/dist/chunk-EKQPFZXQ.js.map +1 -0
  159. package/dist/chunk-ERAAB5VG.js +324 -0
  160. package/dist/chunk-ERAAB5VG.js.map +1 -0
  161. package/dist/chunk-ESLY72VI.mjs +175 -0
  162. package/dist/chunk-ESLY72VI.mjs.map +1 -0
  163. package/dist/chunk-FGQGWW73.js +38 -0
  164. package/dist/chunk-FGQGWW73.js.map +1 -0
  165. package/dist/chunk-FXQOXLDE.js +120 -0
  166. package/dist/chunk-FXQOXLDE.js.map +1 -0
  167. package/dist/chunk-FZELCJR7.mjs +19 -0
  168. package/dist/chunk-FZELCJR7.mjs.map +1 -0
  169. package/dist/{chunk-HHVDOIPV.js → chunk-H3P2PGZL.js} +3 -3
  170. package/dist/{chunk-HHVDOIPV.js.map → chunk-H3P2PGZL.js.map} +1 -1
  171. package/dist/chunk-HBQMN5QM.mjs +10 -0
  172. package/dist/chunk-HBQMN5QM.mjs.map +1 -0
  173. package/dist/chunk-ITRIXMXF.mjs +862 -0
  174. package/dist/chunk-ITRIXMXF.mjs.map +1 -0
  175. package/dist/chunk-IUWSCUDC.js +4 -0
  176. package/dist/chunk-IUWSCUDC.js.map +1 -0
  177. package/dist/chunk-JCKCKRC2.js +50 -0
  178. package/dist/chunk-JCKCKRC2.js.map +1 -0
  179. package/dist/chunk-L7GQNY54.mjs +286 -0
  180. package/dist/chunk-L7GQNY54.mjs.map +1 -0
  181. package/dist/{chunk-ZRWED7Q6.js → chunk-LDVJ7URJ.js} +235 -520
  182. package/dist/chunk-LDVJ7URJ.js.map +1 -0
  183. package/dist/{chunk-WK3HTUID.js → chunk-MLP74E3O.js} +609 -1643
  184. package/dist/chunk-MLP74E3O.js.map +1 -0
  185. package/dist/chunk-NAX4TUT7.js +182 -0
  186. package/dist/chunk-NAX4TUT7.js.map +1 -0
  187. package/dist/chunk-NW4EN4YI.mjs +213 -0
  188. package/dist/chunk-NW4EN4YI.mjs.map +1 -0
  189. package/dist/{chunk-7CMGQX3S.mjs → chunk-OX6VMQDU.mjs} +14 -13
  190. package/dist/chunk-OX6VMQDU.mjs.map +1 -0
  191. package/dist/chunk-P3QMT3AY.mjs +44 -0
  192. package/dist/chunk-P3QMT3AY.mjs.map +1 -0
  193. package/dist/chunk-PJ4KYAQZ.mjs +631 -0
  194. package/dist/chunk-PJ4KYAQZ.mjs.map +1 -0
  195. package/dist/chunk-PLSEAREM.js +345 -0
  196. package/dist/chunk-PLSEAREM.js.map +1 -0
  197. package/dist/{chunk-EGJPS7OL.mjs → chunk-QZU4UJZG.mjs} +3 -3
  198. package/dist/{chunk-EGJPS7OL.mjs.map → chunk-QZU4UJZG.mjs.map} +1 -1
  199. package/dist/chunk-RJVR33ME.mjs +3 -0
  200. package/dist/chunk-RJVR33ME.mjs.map +1 -0
  201. package/dist/chunk-SYBHDB2D.js +650 -0
  202. package/dist/chunk-SYBHDB2D.js.map +1 -0
  203. package/dist/chunk-TVKVM7JT.js +21 -0
  204. package/dist/chunk-TVKVM7JT.js.map +1 -0
  205. package/dist/{chunk-UZB4IO3T.mjs → chunk-UTB72ZJ7.mjs} +415 -1449
  206. package/dist/chunk-UTB72ZJ7.mjs.map +1 -0
  207. package/dist/chunk-V5HE6IYN.js +12 -0
  208. package/dist/chunk-V5HE6IYN.js.map +1 -0
  209. package/dist/chunk-V7EVKD5G.mjs +116 -0
  210. package/dist/chunk-V7EVKD5G.mjs.map +1 -0
  211. package/dist/chunk-VGPR3KLR.js +872 -0
  212. package/dist/chunk-VGPR3KLR.js.map +1 -0
  213. package/dist/chunk-VS7WATQD.js +255 -0
  214. package/dist/chunk-VS7WATQD.js.map +1 -0
  215. package/dist/chunk-VSP7XJT5.mjs +272 -0
  216. package/dist/chunk-VSP7XJT5.mjs.map +1 -0
  217. package/dist/{chunk-SNBILYSH.mjs → chunk-VTKAIOP5.mjs} +5 -5
  218. package/dist/{chunk-SNBILYSH.mjs.map → chunk-VTKAIOP5.mjs.map} +1 -1
  219. package/dist/chunk-VULJUXTF.mjs +267 -0
  220. package/dist/chunk-VULJUXTF.mjs.map +1 -0
  221. package/dist/chunk-XAHM6B3V.js +44 -0
  222. package/dist/chunk-XAHM6B3V.js.map +1 -0
  223. package/dist/chunk-YSF5YISM.mjs +248 -0
  224. package/dist/chunk-YSF5YISM.mjs.map +1 -0
  225. package/dist/{chunk-OFYBMMWT.mjs → chunk-YYJEVAJI.mjs} +3 -3
  226. package/dist/{chunk-OFYBMMWT.mjs.map → chunk-YYJEVAJI.mjs.map} +1 -1
  227. package/dist/components/index.d.mts +1 -0
  228. package/dist/components/index.d.ts +1 -0
  229. package/dist/components/index.js +182 -181
  230. package/dist/components/index.mjs +4 -3
  231. package/dist/{booking-BXtkG2ns.d.mts → index-Bi666jIm.d.mts} +1 -139
  232. package/dist/{booking-BXtkG2ns.d.ts → index-Bi666jIm.d.ts} +1 -139
  233. package/dist/index-DNKZ7-R_.d.mts +184 -0
  234. package/dist/index-DNKZ7-R_.d.ts +184 -0
  235. package/dist/index.d.mts +4 -1
  236. package/dist/index.d.ts +4 -1
  237. package/dist/index.js +285 -229
  238. package/dist/index.js.map +1 -1
  239. package/dist/index.mjs +15 -10
  240. package/dist/index.mjs.map +1 -1
  241. package/dist/mikuFusionGame/index.js +3 -3
  242. package/dist/mikuFusionGame/index.mjs +2 -2
  243. package/dist/mmd/index.d.mts +67 -9
  244. package/dist/mmd/index.d.ts +67 -9
  245. package/dist/mmd/index.js +969 -625
  246. package/dist/mmd/index.js.map +1 -1
  247. package/dist/mmd/index.mjs +969 -628
  248. package/dist/mmd/index.mjs.map +1 -1
  249. package/dist/portfolio/index.js +10 -9
  250. package/dist/portfolio/index.mjs +5 -4
  251. package/dist/qqbot/index.d.mts +2 -0
  252. package/dist/qqbot/index.d.ts +2 -0
  253. package/dist/qqbot/index.js +21 -0
  254. package/dist/qqbot/index.js.map +1 -0
  255. package/dist/qqbot/index.mjs +4 -0
  256. package/dist/qqbot/index.mjs.map +1 -0
  257. package/dist/qqbot/server/index.d.mts +91 -0
  258. package/dist/qqbot/server/index.d.ts +91 -0
  259. package/dist/qqbot/server/index.js +21 -0
  260. package/dist/qqbot/server/index.js.map +1 -0
  261. package/dist/qqbot/server/index.mjs +4 -0
  262. package/dist/qqbot/server/index.mjs.map +1 -0
  263. package/dist/qqbot/ui/web/index.d.mts +10 -0
  264. package/dist/qqbot/ui/web/index.d.ts +10 -0
  265. package/dist/qqbot/ui/web/index.js +105 -0
  266. package/dist/qqbot/ui/web/index.js.map +1 -0
  267. package/dist/qqbot/ui/web/index.mjs +99 -0
  268. package/dist/qqbot/ui/web/index.mjs.map +1 -0
  269. package/dist/screenReceiver/index.d.mts +78 -0
  270. package/dist/screenReceiver/index.d.ts +78 -0
  271. package/dist/screenReceiver/index.js +17 -0
  272. package/dist/screenReceiver/index.js.map +1 -0
  273. package/dist/screenReceiver/index.mjs +4 -0
  274. package/dist/screenReceiver/index.mjs.map +1 -0
  275. package/dist/screenReceiver/server/index.d.mts +36 -0
  276. package/dist/screenReceiver/server/index.d.ts +36 -0
  277. package/dist/screenReceiver/server/index.js +160 -0
  278. package/dist/screenReceiver/server/index.js.map +1 -0
  279. package/dist/screenReceiver/server/index.mjs +157 -0
  280. package/dist/screenReceiver/server/index.mjs.map +1 -0
  281. package/dist/showmasterpiece/db/index.js +42 -42
  282. package/dist/showmasterpiece/db/index.mjs +1 -1
  283. package/dist/showmasterpiece/index.d.mts +8 -6
  284. package/dist/showmasterpiece/index.d.ts +8 -6
  285. package/dist/showmasterpiece/index.js +142 -130
  286. package/dist/showmasterpiece/index.js.map +1 -1
  287. package/dist/showmasterpiece/index.mjs +18 -6
  288. package/dist/showmasterpiece/index.mjs.map +1 -1
  289. package/dist/showmasterpiece/logic/index.d.mts +9 -17
  290. package/dist/showmasterpiece/logic/index.d.ts +9 -17
  291. package/dist/showmasterpiece/logic/index.js +35 -34
  292. package/dist/showmasterpiece/logic/index.mjs +3 -2
  293. package/dist/showmasterpiece/logic/miniapp/index.d.mts +15 -0
  294. package/dist/showmasterpiece/logic/miniapp/index.d.ts +15 -0
  295. package/dist/showmasterpiece/logic/miniapp/index.js +42 -0
  296. package/dist/showmasterpiece/logic/miniapp/index.js.map +1 -0
  297. package/dist/showmasterpiece/logic/miniapp/index.mjs +5 -0
  298. package/dist/showmasterpiece/logic/miniapp/index.mjs.map +1 -0
  299. package/dist/showmasterpiece/server/index.js +42 -42
  300. package/dist/showmasterpiece/server/index.mjs +1 -1
  301. package/dist/showmasterpiece/ui/miniapp/index.d.mts +5 -2
  302. package/dist/showmasterpiece/ui/miniapp/index.d.ts +5 -2
  303. package/dist/showmasterpiece/ui/miniapp/index.js +83 -55
  304. package/dist/showmasterpiece/ui/miniapp/index.js.map +1 -1
  305. package/dist/showmasterpiece/ui/miniapp/index.mjs +83 -55
  306. package/dist/showmasterpiece/ui/miniapp/index.mjs.map +1 -1
  307. package/dist/showmasterpiece/ui/web/index.d.mts +3 -2
  308. package/dist/showmasterpiece/ui/web/index.d.ts +3 -2
  309. package/dist/showmasterpiece/ui/web/index.js +44 -33
  310. package/dist/showmasterpiece/ui/web/index.mjs +16 -5
  311. package/dist/testYourself/index.js +13 -13
  312. package/dist/testYourself/index.mjs +2 -2
  313. package/dist/types-B-hOccQw.d.mts +122 -0
  314. package/dist/types-B8rGXc4e.d.mts +38 -0
  315. package/dist/types-Cg89HGz2.d.ts +38 -0
  316. package/dist/types-CvKvpyN8.d.mts +48 -0
  317. package/dist/types-CvKvpyN8.d.ts +48 -0
  318. package/dist/types-Dy6x2gJW.d.ts +122 -0
  319. package/dist/universalFile/server/index.js +11 -11
  320. package/dist/universalFile/server/index.mjs +4 -4
  321. package/package.json +106 -1
  322. package/dist/UniversalFileService-336GFY6N.mjs +0 -6
  323. package/dist/UniversalFileService-J6ET6KZK.js +0 -15
  324. package/dist/chunk-622Y6LTH.mjs.map +0 -1
  325. package/dist/chunk-7CMGQX3S.mjs.map +0 -1
  326. package/dist/chunk-FVDPGX6A.mjs.map +0 -1
  327. package/dist/chunk-GVVS4IMM.mjs +0 -302
  328. package/dist/chunk-GVVS4IMM.mjs.map +0 -1
  329. package/dist/chunk-LJGJPAQ4.js.map +0 -1
  330. package/dist/chunk-SKCMZYSQ.js.map +0 -1
  331. package/dist/chunk-UZB4IO3T.mjs.map +0 -1
  332. package/dist/chunk-WC5QFO3T.js +0 -314
  333. package/dist/chunk-WC5QFO3T.js.map +0 -1
  334. package/dist/chunk-WK3HTUID.js.map +0 -1
  335. package/dist/chunk-ZRWED7Q6.js.map +0 -1
@@ -0,0 +1,249 @@
1
+ 'use strict';
2
+
3
+ var chunkFXQOXLDE_js = require('../../../../chunk-FXQOXLDE.js');
4
+ var chunkZ6ZWNWWR_js = require('../../../../chunk-Z6ZWNWWR.js');
5
+ var React = require('react');
6
+
7
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
8
+
9
+ var React__default = /*#__PURE__*/_interopDefault(React);
10
+
11
+ var ReactNative = chunkZ6ZWNWWR_js.__require("react-native");
12
+ var {
13
+ Modal,
14
+ View,
15
+ Text,
16
+ TextInput,
17
+ Pressable,
18
+ ScrollView,
19
+ SafeAreaView,
20
+ KeyboardAvoidingView,
21
+ Platform,
22
+ StyleSheet
23
+ } = ReactNative;
24
+ var styles = StyleSheet.create({
25
+ overlay: {
26
+ flex: 1,
27
+ backgroundColor: "rgba(15, 23, 42, 0.45)",
28
+ justifyContent: "center",
29
+ padding: 16
30
+ },
31
+ container: {
32
+ backgroundColor: "#ffffff",
33
+ borderRadius: 16,
34
+ maxHeight: "90%",
35
+ overflow: "hidden"
36
+ },
37
+ header: {
38
+ paddingHorizontal: 16,
39
+ paddingVertical: 12,
40
+ borderBottomWidth: 1,
41
+ borderBottomColor: "#e2e8f0",
42
+ flexDirection: "row",
43
+ justifyContent: "space-between",
44
+ alignItems: "center"
45
+ },
46
+ title: {
47
+ fontSize: 16,
48
+ fontWeight: "600",
49
+ color: "#0f172a"
50
+ },
51
+ closeText: {
52
+ fontSize: 12,
53
+ color: "#64748b"
54
+ },
55
+ list: {
56
+ paddingHorizontal: 16,
57
+ paddingVertical: 12
58
+ },
59
+ placeholder: {
60
+ alignItems: "center",
61
+ paddingVertical: 24
62
+ },
63
+ placeholderText: {
64
+ fontSize: 12,
65
+ color: "#94a3b8"
66
+ },
67
+ bubbleUser: {
68
+ alignSelf: "flex-end",
69
+ backgroundColor: "#0f172a",
70
+ borderRadius: 16,
71
+ paddingHorizontal: 12,
72
+ paddingVertical: 8,
73
+ marginBottom: 8
74
+ },
75
+ bubbleAssistant: {
76
+ alignSelf: "flex-start",
77
+ backgroundColor: "#ffffff",
78
+ borderWidth: 1,
79
+ borderColor: "#e2e8f0",
80
+ borderRadius: 16,
81
+ paddingHorizontal: 12,
82
+ paddingVertical: 8,
83
+ marginBottom: 8
84
+ },
85
+ bubbleTextUser: {
86
+ color: "#ffffff",
87
+ fontSize: 12
88
+ },
89
+ bubbleText: {
90
+ color: "#1f2937",
91
+ fontSize: 12
92
+ },
93
+ loadingText: {
94
+ color: "#64748b",
95
+ fontSize: 12
96
+ },
97
+ inputContainer: {
98
+ padding: 12,
99
+ borderTopWidth: 1,
100
+ borderTopColor: "#e2e8f0"
101
+ },
102
+ textInput: {
103
+ minHeight: 96,
104
+ borderWidth: 1,
105
+ borderColor: "#e2e8f0",
106
+ borderRadius: 12,
107
+ padding: 10,
108
+ textAlignVertical: "top",
109
+ fontSize: 12,
110
+ color: "#0f172a"
111
+ },
112
+ helperRow: {
113
+ flexDirection: "row",
114
+ alignItems: "center",
115
+ justifyContent: "space-between",
116
+ marginTop: 8
117
+ },
118
+ helperText: {
119
+ flex: 1,
120
+ fontSize: 10,
121
+ color: "#94a3b8",
122
+ paddingRight: 8
123
+ },
124
+ sendButton: {
125
+ backgroundColor: "#0f172a",
126
+ paddingHorizontal: 14,
127
+ paddingVertical: 8,
128
+ borderRadius: 12
129
+ },
130
+ sendButtonDisabled: {
131
+ backgroundColor: "#94a3b8"
132
+ },
133
+ sendButtonText: {
134
+ color: "#ffffff",
135
+ fontSize: 12,
136
+ fontWeight: "600"
137
+ },
138
+ error: {
139
+ marginTop: 8,
140
+ borderWidth: 1,
141
+ borderColor: "#fecdd3",
142
+ backgroundColor: "#fff1f2",
143
+ padding: 8,
144
+ borderRadius: 8
145
+ },
146
+ errorText: {
147
+ color: "#e11d48",
148
+ fontSize: 10
149
+ }
150
+ });
151
+ var AiChatDialog = ({
152
+ open,
153
+ onOpenChange,
154
+ client,
155
+ title = "AI \u5BF9\u8BDD",
156
+ placeholder = "\u8F93\u5165\u4F60\u60F3\u54A8\u8BE2\u7684\u95EE\u9898...",
157
+ systemPrompt,
158
+ template,
159
+ templateVariables,
160
+ initialMessages,
161
+ requestOptions,
162
+ onResponse,
163
+ onError
164
+ }) => {
165
+ const { messages, sendMessage, isLoading, error } = chunkFXQOXLDE_js.useAiChat({
166
+ client,
167
+ systemPrompt,
168
+ template,
169
+ initialMessages
170
+ });
171
+ const [input, setInput] = React.useState("");
172
+ const helperText = React.useMemo(() => {
173
+ return template ? "\u6A21\u677F\u5DF2\u542F\u7528\uFF0C\u652F\u6301 {{input}} \u53D8\u91CF\u3002" : "\u76F4\u63A5\u8F93\u5165\u5373\u53EF\u5F00\u59CB\u5BF9\u8BDD\u3002";
174
+ }, [template]);
175
+ React.useEffect(() => {
176
+ if (!open) {
177
+ setInput("");
178
+ }
179
+ }, [open]);
180
+ const handleSend = async () => {
181
+ const content = input.trim();
182
+ if (!content || isLoading) return;
183
+ setInput("");
184
+ try {
185
+ const response = await sendMessage(content, {
186
+ ...requestOptions,
187
+ template,
188
+ variables: templateVariables
189
+ });
190
+ onResponse?.(response);
191
+ } catch (err) {
192
+ const nextError = err instanceof Error ? err : new Error(String(err));
193
+ onError?.(nextError);
194
+ }
195
+ };
196
+ return /* @__PURE__ */ React__default.default.createElement(
197
+ Modal,
198
+ {
199
+ visible: open,
200
+ transparent: true,
201
+ animationType: "fade",
202
+ onRequestClose: () => onOpenChange?.(false)
203
+ },
204
+ /* @__PURE__ */ React__default.default.createElement(SafeAreaView, { style: styles.overlay }, /* @__PURE__ */ React__default.default.createElement(
205
+ KeyboardAvoidingView,
206
+ {
207
+ behavior: Platform.OS === "ios" ? "padding" : void 0,
208
+ style: styles.container
209
+ },
210
+ /* @__PURE__ */ React__default.default.createElement(View, { style: styles.header }, /* @__PURE__ */ React__default.default.createElement(Text, { style: styles.title }, title), /* @__PURE__ */ React__default.default.createElement(Pressable, { onPress: () => onOpenChange?.(false) }, /* @__PURE__ */ React__default.default.createElement(Text, { style: styles.closeText }, "\u5173\u95ED"))),
211
+ /* @__PURE__ */ React__default.default.createElement(ScrollView, { contentContainerStyle: styles.list }, messages.length === 0 && /* @__PURE__ */ React__default.default.createElement(View, { style: styles.placeholder }, /* @__PURE__ */ React__default.default.createElement(Text, { style: styles.placeholderText }, "\u6682\u65E0\u5BF9\u8BDD\u5185\u5BB9"), /* @__PURE__ */ React__default.default.createElement(Text, { style: styles.placeholderText }, "\u8F93\u5165\u6D88\u606F\u5F00\u59CB\u4F53\u9A8C AI \u5BF9\u8BDD\u3002")), messages.map((message, index) => {
212
+ const isUser = message.role === "user";
213
+ return /* @__PURE__ */ React__default.default.createElement(
214
+ View,
215
+ {
216
+ key: `${message.role}-${index}`,
217
+ style: isUser ? styles.bubbleUser : styles.bubbleAssistant
218
+ },
219
+ /* @__PURE__ */ React__default.default.createElement(Text, { style: isUser ? styles.bubbleTextUser : styles.bubbleText }, message.content)
220
+ );
221
+ }), isLoading && /* @__PURE__ */ React__default.default.createElement(View, { style: styles.bubbleAssistant }, /* @__PURE__ */ React__default.default.createElement(Text, { style: styles.loadingText }, "AI \u6B63\u5728\u601D\u8003..."))),
222
+ /* @__PURE__ */ React__default.default.createElement(View, { style: styles.inputContainer }, /* @__PURE__ */ React__default.default.createElement(
223
+ TextInput,
224
+ {
225
+ value: input,
226
+ onChangeText: setInput,
227
+ placeholder,
228
+ multiline: true,
229
+ style: styles.textInput
230
+ }
231
+ ), /* @__PURE__ */ React__default.default.createElement(View, { style: styles.helperRow }, /* @__PURE__ */ React__default.default.createElement(Text, { style: styles.helperText }, helperText), /* @__PURE__ */ React__default.default.createElement(
232
+ Pressable,
233
+ {
234
+ onPress: handleSend,
235
+ disabled: !input.trim() || isLoading,
236
+ style: [
237
+ styles.sendButton,
238
+ (!input.trim() || isLoading) && styles.sendButtonDisabled
239
+ ]
240
+ },
241
+ /* @__PURE__ */ React__default.default.createElement(Text, { style: styles.sendButtonText }, isLoading ? "\u53D1\u9001\u4E2D..." : "\u53D1\u9001")
242
+ )), error && /* @__PURE__ */ React__default.default.createElement(View, { style: styles.error }, /* @__PURE__ */ React__default.default.createElement(Text, { style: styles.errorText }, error.message || "\u5BF9\u8BDD\u51FA\u9519\uFF0C\u8BF7\u91CD\u8BD5\u3002")))
243
+ ))
244
+ );
245
+ };
246
+
247
+ exports.AiChatDialog = AiChatDialog;
248
+ //# sourceMappingURL=index.js.map
249
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/ai/llm/ui/rn/components/AiChatDialog.tsx"],"names":["__require","useAiChat","useState","useMemo","useEffect","React"],"mappings":"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","file":"index.js","sourcesContent":["import React, { useEffect, useMemo, useState } from 'react';\nimport { useAiChat } from '../../../hooks/useAiChat';\nimport type { AiChatDialogProps } from '../../types';\n\n// @ts-ignore - react-native will be provided at runtime in RN environment\nconst ReactNative = require('react-native') as any;\nconst {\n Modal,\n View,\n Text,\n TextInput,\n Pressable,\n ScrollView,\n SafeAreaView,\n KeyboardAvoidingView,\n Platform,\n StyleSheet,\n} = ReactNative;\n\nconst styles = StyleSheet.create({\n overlay: {\n flex: 1,\n backgroundColor: 'rgba(15, 23, 42, 0.45)',\n justifyContent: 'center',\n padding: 16,\n },\n container: {\n backgroundColor: '#ffffff',\n borderRadius: 16,\n maxHeight: '90%',\n overflow: 'hidden',\n },\n header: {\n paddingHorizontal: 16,\n paddingVertical: 12,\n borderBottomWidth: 1,\n borderBottomColor: '#e2e8f0',\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignItems: 'center',\n },\n title: {\n fontSize: 16,\n fontWeight: '600',\n color: '#0f172a',\n },\n closeText: {\n fontSize: 12,\n color: '#64748b',\n },\n list: {\n paddingHorizontal: 16,\n paddingVertical: 12,\n },\n placeholder: {\n alignItems: 'center',\n paddingVertical: 24,\n },\n placeholderText: {\n fontSize: 12,\n color: '#94a3b8',\n },\n bubbleUser: {\n alignSelf: 'flex-end',\n backgroundColor: '#0f172a',\n borderRadius: 16,\n paddingHorizontal: 12,\n paddingVertical: 8,\n marginBottom: 8,\n },\n bubbleAssistant: {\n alignSelf: 'flex-start',\n backgroundColor: '#ffffff',\n borderWidth: 1,\n borderColor: '#e2e8f0',\n borderRadius: 16,\n paddingHorizontal: 12,\n paddingVertical: 8,\n marginBottom: 8,\n },\n bubbleTextUser: {\n color: '#ffffff',\n fontSize: 12,\n },\n bubbleText: {\n color: '#1f2937',\n fontSize: 12,\n },\n loadingText: {\n color: '#64748b',\n fontSize: 12,\n },\n inputContainer: {\n padding: 12,\n borderTopWidth: 1,\n borderTopColor: '#e2e8f0',\n },\n textInput: {\n minHeight: 96,\n borderWidth: 1,\n borderColor: '#e2e8f0',\n borderRadius: 12,\n padding: 10,\n textAlignVertical: 'top',\n fontSize: 12,\n color: '#0f172a',\n },\n helperRow: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n marginTop: 8,\n },\n helperText: {\n flex: 1,\n fontSize: 10,\n color: '#94a3b8',\n paddingRight: 8,\n },\n sendButton: {\n backgroundColor: '#0f172a',\n paddingHorizontal: 14,\n paddingVertical: 8,\n borderRadius: 12,\n },\n sendButtonDisabled: {\n backgroundColor: '#94a3b8',\n },\n sendButtonText: {\n color: '#ffffff',\n fontSize: 12,\n fontWeight: '600',\n },\n error: {\n marginTop: 8,\n borderWidth: 1,\n borderColor: '#fecdd3',\n backgroundColor: '#fff1f2',\n padding: 8,\n borderRadius: 8,\n },\n errorText: {\n color: '#e11d48',\n fontSize: 10,\n },\n});\n\nexport const AiChatDialog: React.FC<AiChatDialogProps> = ({\n open,\n onOpenChange,\n client,\n title = 'AI 对话',\n placeholder = '输入你想咨询的问题...',\n systemPrompt,\n template,\n templateVariables,\n initialMessages,\n requestOptions,\n onResponse,\n onError,\n}) => {\n const { messages, sendMessage, isLoading, error } = useAiChat({\n client,\n systemPrompt,\n template,\n initialMessages,\n });\n const [input, setInput] = useState('');\n\n const helperText = useMemo(() => {\n return template ? '模板已启用,支持 {{input}} 变量。' : '直接输入即可开始对话。';\n }, [template]);\n\n useEffect(() => {\n if (!open) {\n setInput('');\n }\n }, [open]);\n\n const handleSend = async () => {\n const content = input.trim();\n if (!content || isLoading) return;\n setInput('');\n try {\n const response = await sendMessage(content, {\n ...requestOptions,\n template,\n variables: templateVariables,\n });\n onResponse?.(response);\n } catch (err) {\n const nextError = err instanceof Error ? err : new Error(String(err));\n onError?.(nextError);\n }\n };\n\n return (\n <Modal\n visible={open}\n transparent\n animationType=\"fade\"\n onRequestClose={() => onOpenChange?.(false)}\n >\n <SafeAreaView style={styles.overlay}>\n <KeyboardAvoidingView\n behavior={Platform.OS === 'ios' ? 'padding' : undefined}\n style={styles.container}\n >\n <View style={styles.header}>\n <Text style={styles.title}>{title}</Text>\n <Pressable onPress={() => onOpenChange?.(false)}>\n <Text style={styles.closeText}>关闭</Text>\n </Pressable>\n </View>\n\n <ScrollView contentContainerStyle={styles.list}>\n {messages.length === 0 && (\n <View style={styles.placeholder}>\n <Text style={styles.placeholderText}>暂无对话内容</Text>\n <Text style={styles.placeholderText}>输入消息开始体验 AI 对话。</Text>\n </View>\n )}\n {messages.map((message, index) => {\n const isUser = message.role === 'user';\n return (\n <View\n key={`${message.role}-${index}`}\n style={isUser ? styles.bubbleUser : styles.bubbleAssistant}\n >\n <Text style={isUser ? styles.bubbleTextUser : styles.bubbleText}>\n {message.content}\n </Text>\n </View>\n );\n })}\n {isLoading && (\n <View style={styles.bubbleAssistant}>\n <Text style={styles.loadingText}>AI 正在思考...</Text>\n </View>\n )}\n </ScrollView>\n\n <View style={styles.inputContainer}>\n <TextInput\n value={input}\n onChangeText={setInput}\n placeholder={placeholder}\n multiline\n style={styles.textInput}\n />\n <View style={styles.helperRow}>\n <Text style={styles.helperText}>{helperText}</Text>\n <Pressable\n onPress={handleSend}\n disabled={!input.trim() || isLoading}\n style={[\n styles.sendButton,\n (!input.trim() || isLoading) && styles.sendButtonDisabled,\n ]}\n >\n <Text style={styles.sendButtonText}>{isLoading ? '发送中...' : '发送'}</Text>\n </Pressable>\n </View>\n {error && (\n <View style={styles.error}>\n <Text style={styles.errorText}>{error.message || '对话出错,请重试。'}</Text>\n </View>\n )}\n </View>\n </KeyboardAvoidingView>\n </SafeAreaView>\n </Modal>\n );\n};\n"]}
@@ -0,0 +1,243 @@
1
+ import { useAiChat } from '../../../../chunk-V7EVKD5G.mjs';
2
+ import { __require } from '../../../../chunk-WMJKH4XE.mjs';
3
+ import React, { useState, useMemo, useEffect } from 'react';
4
+
5
+ var ReactNative = __require("react-native");
6
+ var {
7
+ Modal,
8
+ View,
9
+ Text,
10
+ TextInput,
11
+ Pressable,
12
+ ScrollView,
13
+ SafeAreaView,
14
+ KeyboardAvoidingView,
15
+ Platform,
16
+ StyleSheet
17
+ } = ReactNative;
18
+ var styles = StyleSheet.create({
19
+ overlay: {
20
+ flex: 1,
21
+ backgroundColor: "rgba(15, 23, 42, 0.45)",
22
+ justifyContent: "center",
23
+ padding: 16
24
+ },
25
+ container: {
26
+ backgroundColor: "#ffffff",
27
+ borderRadius: 16,
28
+ maxHeight: "90%",
29
+ overflow: "hidden"
30
+ },
31
+ header: {
32
+ paddingHorizontal: 16,
33
+ paddingVertical: 12,
34
+ borderBottomWidth: 1,
35
+ borderBottomColor: "#e2e8f0",
36
+ flexDirection: "row",
37
+ justifyContent: "space-between",
38
+ alignItems: "center"
39
+ },
40
+ title: {
41
+ fontSize: 16,
42
+ fontWeight: "600",
43
+ color: "#0f172a"
44
+ },
45
+ closeText: {
46
+ fontSize: 12,
47
+ color: "#64748b"
48
+ },
49
+ list: {
50
+ paddingHorizontal: 16,
51
+ paddingVertical: 12
52
+ },
53
+ placeholder: {
54
+ alignItems: "center",
55
+ paddingVertical: 24
56
+ },
57
+ placeholderText: {
58
+ fontSize: 12,
59
+ color: "#94a3b8"
60
+ },
61
+ bubbleUser: {
62
+ alignSelf: "flex-end",
63
+ backgroundColor: "#0f172a",
64
+ borderRadius: 16,
65
+ paddingHorizontal: 12,
66
+ paddingVertical: 8,
67
+ marginBottom: 8
68
+ },
69
+ bubbleAssistant: {
70
+ alignSelf: "flex-start",
71
+ backgroundColor: "#ffffff",
72
+ borderWidth: 1,
73
+ borderColor: "#e2e8f0",
74
+ borderRadius: 16,
75
+ paddingHorizontal: 12,
76
+ paddingVertical: 8,
77
+ marginBottom: 8
78
+ },
79
+ bubbleTextUser: {
80
+ color: "#ffffff",
81
+ fontSize: 12
82
+ },
83
+ bubbleText: {
84
+ color: "#1f2937",
85
+ fontSize: 12
86
+ },
87
+ loadingText: {
88
+ color: "#64748b",
89
+ fontSize: 12
90
+ },
91
+ inputContainer: {
92
+ padding: 12,
93
+ borderTopWidth: 1,
94
+ borderTopColor: "#e2e8f0"
95
+ },
96
+ textInput: {
97
+ minHeight: 96,
98
+ borderWidth: 1,
99
+ borderColor: "#e2e8f0",
100
+ borderRadius: 12,
101
+ padding: 10,
102
+ textAlignVertical: "top",
103
+ fontSize: 12,
104
+ color: "#0f172a"
105
+ },
106
+ helperRow: {
107
+ flexDirection: "row",
108
+ alignItems: "center",
109
+ justifyContent: "space-between",
110
+ marginTop: 8
111
+ },
112
+ helperText: {
113
+ flex: 1,
114
+ fontSize: 10,
115
+ color: "#94a3b8",
116
+ paddingRight: 8
117
+ },
118
+ sendButton: {
119
+ backgroundColor: "#0f172a",
120
+ paddingHorizontal: 14,
121
+ paddingVertical: 8,
122
+ borderRadius: 12
123
+ },
124
+ sendButtonDisabled: {
125
+ backgroundColor: "#94a3b8"
126
+ },
127
+ sendButtonText: {
128
+ color: "#ffffff",
129
+ fontSize: 12,
130
+ fontWeight: "600"
131
+ },
132
+ error: {
133
+ marginTop: 8,
134
+ borderWidth: 1,
135
+ borderColor: "#fecdd3",
136
+ backgroundColor: "#fff1f2",
137
+ padding: 8,
138
+ borderRadius: 8
139
+ },
140
+ errorText: {
141
+ color: "#e11d48",
142
+ fontSize: 10
143
+ }
144
+ });
145
+ var AiChatDialog = ({
146
+ open,
147
+ onOpenChange,
148
+ client,
149
+ title = "AI \u5BF9\u8BDD",
150
+ placeholder = "\u8F93\u5165\u4F60\u60F3\u54A8\u8BE2\u7684\u95EE\u9898...",
151
+ systemPrompt,
152
+ template,
153
+ templateVariables,
154
+ initialMessages,
155
+ requestOptions,
156
+ onResponse,
157
+ onError
158
+ }) => {
159
+ const { messages, sendMessage, isLoading, error } = useAiChat({
160
+ client,
161
+ systemPrompt,
162
+ template,
163
+ initialMessages
164
+ });
165
+ const [input, setInput] = useState("");
166
+ const helperText = useMemo(() => {
167
+ return template ? "\u6A21\u677F\u5DF2\u542F\u7528\uFF0C\u652F\u6301 {{input}} \u53D8\u91CF\u3002" : "\u76F4\u63A5\u8F93\u5165\u5373\u53EF\u5F00\u59CB\u5BF9\u8BDD\u3002";
168
+ }, [template]);
169
+ useEffect(() => {
170
+ if (!open) {
171
+ setInput("");
172
+ }
173
+ }, [open]);
174
+ const handleSend = async () => {
175
+ const content = input.trim();
176
+ if (!content || isLoading) return;
177
+ setInput("");
178
+ try {
179
+ const response = await sendMessage(content, {
180
+ ...requestOptions,
181
+ template,
182
+ variables: templateVariables
183
+ });
184
+ onResponse?.(response);
185
+ } catch (err) {
186
+ const nextError = err instanceof Error ? err : new Error(String(err));
187
+ onError?.(nextError);
188
+ }
189
+ };
190
+ return /* @__PURE__ */ React.createElement(
191
+ Modal,
192
+ {
193
+ visible: open,
194
+ transparent: true,
195
+ animationType: "fade",
196
+ onRequestClose: () => onOpenChange?.(false)
197
+ },
198
+ /* @__PURE__ */ React.createElement(SafeAreaView, { style: styles.overlay }, /* @__PURE__ */ React.createElement(
199
+ KeyboardAvoidingView,
200
+ {
201
+ behavior: Platform.OS === "ios" ? "padding" : void 0,
202
+ style: styles.container
203
+ },
204
+ /* @__PURE__ */ React.createElement(View, { style: styles.header }, /* @__PURE__ */ React.createElement(Text, { style: styles.title }, title), /* @__PURE__ */ React.createElement(Pressable, { onPress: () => onOpenChange?.(false) }, /* @__PURE__ */ React.createElement(Text, { style: styles.closeText }, "\u5173\u95ED"))),
205
+ /* @__PURE__ */ React.createElement(ScrollView, { contentContainerStyle: styles.list }, messages.length === 0 && /* @__PURE__ */ React.createElement(View, { style: styles.placeholder }, /* @__PURE__ */ React.createElement(Text, { style: styles.placeholderText }, "\u6682\u65E0\u5BF9\u8BDD\u5185\u5BB9"), /* @__PURE__ */ React.createElement(Text, { style: styles.placeholderText }, "\u8F93\u5165\u6D88\u606F\u5F00\u59CB\u4F53\u9A8C AI \u5BF9\u8BDD\u3002")), messages.map((message, index) => {
206
+ const isUser = message.role === "user";
207
+ return /* @__PURE__ */ React.createElement(
208
+ View,
209
+ {
210
+ key: `${message.role}-${index}`,
211
+ style: isUser ? styles.bubbleUser : styles.bubbleAssistant
212
+ },
213
+ /* @__PURE__ */ React.createElement(Text, { style: isUser ? styles.bubbleTextUser : styles.bubbleText }, message.content)
214
+ );
215
+ }), isLoading && /* @__PURE__ */ React.createElement(View, { style: styles.bubbleAssistant }, /* @__PURE__ */ React.createElement(Text, { style: styles.loadingText }, "AI \u6B63\u5728\u601D\u8003..."))),
216
+ /* @__PURE__ */ React.createElement(View, { style: styles.inputContainer }, /* @__PURE__ */ React.createElement(
217
+ TextInput,
218
+ {
219
+ value: input,
220
+ onChangeText: setInput,
221
+ placeholder,
222
+ multiline: true,
223
+ style: styles.textInput
224
+ }
225
+ ), /* @__PURE__ */ React.createElement(View, { style: styles.helperRow }, /* @__PURE__ */ React.createElement(Text, { style: styles.helperText }, helperText), /* @__PURE__ */ React.createElement(
226
+ Pressable,
227
+ {
228
+ onPress: handleSend,
229
+ disabled: !input.trim() || isLoading,
230
+ style: [
231
+ styles.sendButton,
232
+ (!input.trim() || isLoading) && styles.sendButtonDisabled
233
+ ]
234
+ },
235
+ /* @__PURE__ */ React.createElement(Text, { style: styles.sendButtonText }, isLoading ? "\u53D1\u9001\u4E2D..." : "\u53D1\u9001")
236
+ )), error && /* @__PURE__ */ React.createElement(View, { style: styles.error }, /* @__PURE__ */ React.createElement(Text, { style: styles.errorText }, error.message || "\u5BF9\u8BDD\u51FA\u9519\uFF0C\u8BF7\u91CD\u8BD5\u3002")))
237
+ ))
238
+ );
239
+ };
240
+
241
+ export { AiChatDialog };
242
+ //# sourceMappingURL=index.mjs.map
243
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/ai/llm/ui/rn/components/AiChatDialog.tsx"],"names":[],"mappings":"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","file":"index.mjs","sourcesContent":["import React, { useEffect, useMemo, useState } from 'react';\nimport { useAiChat } from '../../../hooks/useAiChat';\nimport type { AiChatDialogProps } from '../../types';\n\n// @ts-ignore - react-native will be provided at runtime in RN environment\nconst ReactNative = require('react-native') as any;\nconst {\n Modal,\n View,\n Text,\n TextInput,\n Pressable,\n ScrollView,\n SafeAreaView,\n KeyboardAvoidingView,\n Platform,\n StyleSheet,\n} = ReactNative;\n\nconst styles = StyleSheet.create({\n overlay: {\n flex: 1,\n backgroundColor: 'rgba(15, 23, 42, 0.45)',\n justifyContent: 'center',\n padding: 16,\n },\n container: {\n backgroundColor: '#ffffff',\n borderRadius: 16,\n maxHeight: '90%',\n overflow: 'hidden',\n },\n header: {\n paddingHorizontal: 16,\n paddingVertical: 12,\n borderBottomWidth: 1,\n borderBottomColor: '#e2e8f0',\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignItems: 'center',\n },\n title: {\n fontSize: 16,\n fontWeight: '600',\n color: '#0f172a',\n },\n closeText: {\n fontSize: 12,\n color: '#64748b',\n },\n list: {\n paddingHorizontal: 16,\n paddingVertical: 12,\n },\n placeholder: {\n alignItems: 'center',\n paddingVertical: 24,\n },\n placeholderText: {\n fontSize: 12,\n color: '#94a3b8',\n },\n bubbleUser: {\n alignSelf: 'flex-end',\n backgroundColor: '#0f172a',\n borderRadius: 16,\n paddingHorizontal: 12,\n paddingVertical: 8,\n marginBottom: 8,\n },\n bubbleAssistant: {\n alignSelf: 'flex-start',\n backgroundColor: '#ffffff',\n borderWidth: 1,\n borderColor: '#e2e8f0',\n borderRadius: 16,\n paddingHorizontal: 12,\n paddingVertical: 8,\n marginBottom: 8,\n },\n bubbleTextUser: {\n color: '#ffffff',\n fontSize: 12,\n },\n bubbleText: {\n color: '#1f2937',\n fontSize: 12,\n },\n loadingText: {\n color: '#64748b',\n fontSize: 12,\n },\n inputContainer: {\n padding: 12,\n borderTopWidth: 1,\n borderTopColor: '#e2e8f0',\n },\n textInput: {\n minHeight: 96,\n borderWidth: 1,\n borderColor: '#e2e8f0',\n borderRadius: 12,\n padding: 10,\n textAlignVertical: 'top',\n fontSize: 12,\n color: '#0f172a',\n },\n helperRow: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n marginTop: 8,\n },\n helperText: {\n flex: 1,\n fontSize: 10,\n color: '#94a3b8',\n paddingRight: 8,\n },\n sendButton: {\n backgroundColor: '#0f172a',\n paddingHorizontal: 14,\n paddingVertical: 8,\n borderRadius: 12,\n },\n sendButtonDisabled: {\n backgroundColor: '#94a3b8',\n },\n sendButtonText: {\n color: '#ffffff',\n fontSize: 12,\n fontWeight: '600',\n },\n error: {\n marginTop: 8,\n borderWidth: 1,\n borderColor: '#fecdd3',\n backgroundColor: '#fff1f2',\n padding: 8,\n borderRadius: 8,\n },\n errorText: {\n color: '#e11d48',\n fontSize: 10,\n },\n});\n\nexport const AiChatDialog: React.FC<AiChatDialogProps> = ({\n open,\n onOpenChange,\n client,\n title = 'AI 对话',\n placeholder = '输入你想咨询的问题...',\n systemPrompt,\n template,\n templateVariables,\n initialMessages,\n requestOptions,\n onResponse,\n onError,\n}) => {\n const { messages, sendMessage, isLoading, error } = useAiChat({\n client,\n systemPrompt,\n template,\n initialMessages,\n });\n const [input, setInput] = useState('');\n\n const helperText = useMemo(() => {\n return template ? '模板已启用,支持 {{input}} 变量。' : '直接输入即可开始对话。';\n }, [template]);\n\n useEffect(() => {\n if (!open) {\n setInput('');\n }\n }, [open]);\n\n const handleSend = async () => {\n const content = input.trim();\n if (!content || isLoading) return;\n setInput('');\n try {\n const response = await sendMessage(content, {\n ...requestOptions,\n template,\n variables: templateVariables,\n });\n onResponse?.(response);\n } catch (err) {\n const nextError = err instanceof Error ? err : new Error(String(err));\n onError?.(nextError);\n }\n };\n\n return (\n <Modal\n visible={open}\n transparent\n animationType=\"fade\"\n onRequestClose={() => onOpenChange?.(false)}\n >\n <SafeAreaView style={styles.overlay}>\n <KeyboardAvoidingView\n behavior={Platform.OS === 'ios' ? 'padding' : undefined}\n style={styles.container}\n >\n <View style={styles.header}>\n <Text style={styles.title}>{title}</Text>\n <Pressable onPress={() => onOpenChange?.(false)}>\n <Text style={styles.closeText}>关闭</Text>\n </Pressable>\n </View>\n\n <ScrollView contentContainerStyle={styles.list}>\n {messages.length === 0 && (\n <View style={styles.placeholder}>\n <Text style={styles.placeholderText}>暂无对话内容</Text>\n <Text style={styles.placeholderText}>输入消息开始体验 AI 对话。</Text>\n </View>\n )}\n {messages.map((message, index) => {\n const isUser = message.role === 'user';\n return (\n <View\n key={`${message.role}-${index}`}\n style={isUser ? styles.bubbleUser : styles.bubbleAssistant}\n >\n <Text style={isUser ? styles.bubbleTextUser : styles.bubbleText}>\n {message.content}\n </Text>\n </View>\n );\n })}\n {isLoading && (\n <View style={styles.bubbleAssistant}>\n <Text style={styles.loadingText}>AI 正在思考...</Text>\n </View>\n )}\n </ScrollView>\n\n <View style={styles.inputContainer}>\n <TextInput\n value={input}\n onChangeText={setInput}\n placeholder={placeholder}\n multiline\n style={styles.textInput}\n />\n <View style={styles.helperRow}>\n <Text style={styles.helperText}>{helperText}</Text>\n <Pressable\n onPress={handleSend}\n disabled={!input.trim() || isLoading}\n style={[\n styles.sendButton,\n (!input.trim() || isLoading) && styles.sendButtonDisabled,\n ]}\n >\n <Text style={styles.sendButtonText}>{isLoading ? '发送中...' : '发送'}</Text>\n </Pressable>\n </View>\n {error && (\n <View style={styles.error}>\n <Text style={styles.errorText}>{error.message || '对话出错,请重试。'}</Text>\n </View>\n )}\n </View>\n </KeyboardAvoidingView>\n </SafeAreaView>\n </Modal>\n );\n};\n"]}
@@ -0,0 +1,15 @@
1
+ import { A as AiChatDialogProps, c as AiConfigPageProps } from '../../../../types-B8rGXc4e.mjs';
2
+ export { a as AiChatDialogBaseProps, b as AiUiConfig } from '../../../../types-B8rGXc4e.mjs';
3
+ import React__default from 'react';
4
+ import '../../../../types-B-hOccQw.mjs';
5
+ import '../../../../types-CbTsi9CZ.mjs';
6
+
7
+ type WebAiChatDialogProps = AiChatDialogProps & {
8
+ className?: string;
9
+ contentClassName?: string;
10
+ };
11
+ declare const AiChatDialog: React__default.FC<WebAiChatDialogProps>;
12
+
13
+ declare const AiConfigPage: React__default.FC<AiConfigPageProps>;
14
+
15
+ export { AiChatDialog, AiChatDialogProps, AiConfigPage, AiConfigPageProps };
@@ -0,0 +1,15 @@
1
+ import { A as AiChatDialogProps, c as AiConfigPageProps } from '../../../../types-Cg89HGz2.js';
2
+ export { a as AiChatDialogBaseProps, b as AiUiConfig } from '../../../../types-Cg89HGz2.js';
3
+ import React__default from 'react';
4
+ import '../../../../types-Dy6x2gJW.js';
5
+ import '../../../../types-CbTsi9CZ.js';
6
+
7
+ type WebAiChatDialogProps = AiChatDialogProps & {
8
+ className?: string;
9
+ contentClassName?: string;
10
+ };
11
+ declare const AiChatDialog: React__default.FC<WebAiChatDialogProps>;
12
+
13
+ declare const AiConfigPage: React__default.FC<AiConfigPageProps>;
14
+
15
+ export { AiChatDialog, AiChatDialogProps, AiConfigPage, AiConfigPageProps };
@@ -0,0 +1,21 @@
1
+ 'use strict';
2
+
3
+ var chunk37M6NZIF_js = require('../../../../chunk-37M6NZIF.js');
4
+ require('../../../../chunk-ERAAB5VG.js');
5
+ require('../../../../chunk-FXQOXLDE.js');
6
+ require('../../../../chunk-ZWQJSZEY.js');
7
+ require('../../../../chunk-25OFOKNF.js');
8
+ require('../../../../chunk-Z6ZWNWWR.js');
9
+
10
+
11
+
12
+ Object.defineProperty(exports, "AiChatDialog", {
13
+ enumerable: true,
14
+ get: function () { return chunk37M6NZIF_js.AiChatDialog; }
15
+ });
16
+ Object.defineProperty(exports, "AiConfigPage", {
17
+ enumerable: true,
18
+ get: function () { return chunk37M6NZIF_js.AiConfigPage; }
19
+ });
20
+ //# sourceMappingURL=index.js.map
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"index.js"}
@@ -0,0 +1,8 @@
1
+ export { AiChatDialog, AiConfigPage } from '../../../../chunk-VSP7XJT5.mjs';
2
+ import '../../../../chunk-L7GQNY54.mjs';
3
+ import '../../../../chunk-V7EVKD5G.mjs';
4
+ import '../../../../chunk-3NHAT7D4.mjs';
5
+ import '../../../../chunk-3DXPQ4YV.mjs';
6
+ import '../../../../chunk-WMJKH4XE.mjs';
7
+ //# sourceMappingURL=index.mjs.map
8
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"index.mjs"}
@@ -0,0 +1,7 @@
1
+ import { A as ARJSLoadOptions, T as THREExNamespace } from '../types-CvKvpyN8.mjs';
2
+ export { d as ARMarkerConfig, c as ARMarkerControls, b as ARToolkitContext, e as ARToolkitContextConfig, a as ARToolkitSource, D as DEFAULT_AR_ASSETS } from '../types-CvKvpyN8.mjs';
3
+ import 'three';
4
+
5
+ declare function loadARJS(options?: ARJSLoadOptions): Promise<THREExNamespace>;
6
+
7
+ export { ARJSLoadOptions, THREExNamespace, loadARJS };
@@ -0,0 +1,7 @@
1
+ import { A as ARJSLoadOptions, T as THREExNamespace } from '../types-CvKvpyN8.js';
2
+ export { d as ARMarkerConfig, c as ARMarkerControls, b as ARToolkitContext, e as ARToolkitContextConfig, a as ARToolkitSource, D as DEFAULT_AR_ASSETS } from '../types-CvKvpyN8.js';
3
+ import 'three';
4
+
5
+ declare function loadARJS(options?: ARJSLoadOptions): Promise<THREExNamespace>;
6
+
7
+ export { ARJSLoadOptions, THREExNamespace, loadARJS };
@@ -0,0 +1,17 @@
1
+ 'use strict';
2
+
3
+ var chunkFGQGWW73_js = require('../chunk-FGQGWW73.js');
4
+ require('../chunk-Z6ZWNWWR.js');
5
+
6
+
7
+
8
+ Object.defineProperty(exports, "DEFAULT_AR_ASSETS", {
9
+ enumerable: true,
10
+ get: function () { return chunkFGQGWW73_js.DEFAULT_AR_ASSETS; }
11
+ });
12
+ Object.defineProperty(exports, "loadARJS", {
13
+ enumerable: true,
14
+ get: function () { return chunkFGQGWW73_js.loadARJS; }
15
+ });
16
+ //# sourceMappingURL=index.js.map
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"index.js"}