sa2kit 2.0.4 → 3.1.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 (354) hide show
  1. package/dist/{UniversalFileService-GsP6D3Rc.d.ts → UniversalFileService-CC4d3wkc.d.ts} +2 -2
  2. package/dist/{UniversalFileService-BpvbZitV.d.mts → UniversalFileService-CzAE_G4V.d.mts} +2 -2
  3. package/dist/ai/llm/ui/miniapp/index.d.mts +2 -2
  4. package/dist/ai/llm/ui/miniapp/index.d.ts +2 -2
  5. package/dist/ai/llm/ui/rn/index.d.mts +2 -2
  6. package/dist/ai/llm/ui/rn/index.d.ts +2 -2
  7. package/dist/ai/llm/ui/web/index.d.mts +3 -3
  8. package/dist/ai/llm/ui/web/index.d.ts +3 -3
  9. package/dist/analytics/index.d.mts +1 -1
  10. package/dist/analytics/index.d.ts +1 -1
  11. package/dist/business/index.d.mts +1 -5
  12. package/dist/business/index.d.ts +1 -5
  13. package/dist/business/index.js +34 -1135
  14. package/dist/business/index.js.map +1 -1
  15. package/dist/business/index.mjs +5 -1105
  16. package/dist/business/index.mjs.map +1 -1
  17. package/dist/calendar/routes/index.d.mts +74 -1
  18. package/dist/calendar/routes/index.d.ts +74 -1
  19. package/dist/calendar/routes/index.js +186 -97
  20. package/dist/calendar/routes/index.js.map +1 -1
  21. package/dist/calendar/routes/index.mjs +178 -99
  22. package/dist/calendar/routes/index.mjs.map +1 -1
  23. package/dist/{chunk-RJP2BRJD.mjs → chunk-4OOANEJV.mjs} +2 -2
  24. package/dist/{chunk-RJP2BRJD.mjs.map → chunk-4OOANEJV.mjs.map} +1 -1
  25. package/dist/chunk-5FUAQLGC.mjs +14 -0
  26. package/dist/chunk-5FUAQLGC.mjs.map +1 -0
  27. package/dist/{chunk-IIVNHQEI.mjs → chunk-5GBDDXYL.mjs} +4 -3
  28. package/dist/chunk-5GBDDXYL.mjs.map +1 -0
  29. package/dist/{chunk-S732H246.js → chunk-6PMXAK7F.js} +2 -2
  30. package/dist/{chunk-S732H246.js.map → chunk-6PMXAK7F.js.map} +1 -1
  31. package/dist/chunk-6YLCRWKM.mjs +8 -0
  32. package/dist/chunk-6YLCRWKM.mjs.map +1 -0
  33. package/dist/chunk-CAYOQDBR.js +78 -0
  34. package/dist/chunk-CAYOQDBR.js.map +1 -0
  35. package/dist/{chunk-PTMSDNGO.mjs → chunk-CX2GHCAI.mjs} +4 -75
  36. package/dist/chunk-CX2GHCAI.mjs.map +1 -0
  37. package/dist/chunk-EBHPTFG6.mjs +82 -0
  38. package/dist/chunk-EBHPTFG6.mjs.map +1 -0
  39. package/dist/chunk-HQLKOXG7.js +16 -0
  40. package/dist/chunk-HQLKOXG7.js.map +1 -0
  41. package/dist/chunk-IS7O4LPI.js +146 -0
  42. package/dist/chunk-IS7O4LPI.js.map +1 -0
  43. package/dist/chunk-LGHUCQIU.js +93 -0
  44. package/dist/chunk-LGHUCQIU.js.map +1 -0
  45. package/dist/chunk-LKBIVQBT.mjs +34 -0
  46. package/dist/chunk-LKBIVQBT.mjs.map +1 -0
  47. package/dist/chunk-MIDXG6LS.js +32 -0
  48. package/dist/chunk-MIDXG6LS.js.map +1 -0
  49. package/dist/chunk-NDGHXVGS.js +25 -0
  50. package/dist/chunk-NDGHXVGS.js.map +1 -0
  51. package/dist/chunk-PA4ELVGI.js +20 -0
  52. package/dist/chunk-PA4ELVGI.js.map +1 -0
  53. package/dist/chunk-Q5VFBPMG.mjs +76 -0
  54. package/dist/chunk-Q5VFBPMG.mjs.map +1 -0
  55. package/dist/{chunk-WZDTNDYR.js → chunk-QSKLQX6H.js} +11 -11
  56. package/dist/{chunk-WZDTNDYR.js.map → chunk-QSKLQX6H.js.map} +1 -1
  57. package/dist/{chunk-QQ2WFYOD.js → chunk-S6YSGVWD.js} +4 -76
  58. package/dist/chunk-S6YSGVWD.js.map +1 -0
  59. package/dist/chunk-TNJ6LYX7.mjs +18 -0
  60. package/dist/chunk-TNJ6LYX7.mjs.map +1 -0
  61. package/dist/chunk-TTYCVBIQ.mjs +144 -0
  62. package/dist/chunk-TTYCVBIQ.mjs.map +1 -0
  63. package/dist/chunk-VJNDOYEC.js +41 -0
  64. package/dist/chunk-VJNDOYEC.js.map +1 -0
  65. package/dist/{chunk-J77KR2EV.mjs → chunk-WJ7IMUEJ.mjs} +3 -3
  66. package/dist/{chunk-J77KR2EV.mjs.map → chunk-WJ7IMUEJ.mjs.map} +1 -1
  67. package/dist/chunk-YTGUIRRH.js +10 -0
  68. package/dist/chunk-YTGUIRRH.js.map +1 -0
  69. package/dist/chunk-ZF7DKR5A.mjs +26 -0
  70. package/dist/chunk-ZF7DKR5A.mjs.map +1 -0
  71. package/dist/common/auth/client/index.d.mts +3209 -0
  72. package/dist/common/auth/client/index.d.ts +3209 -0
  73. package/dist/common/auth/client/index.js +13 -0
  74. package/dist/common/auth/client/index.mjs +4 -0
  75. package/dist/common/auth/components/index.d.mts +140 -0
  76. package/dist/common/auth/components/index.d.ts +140 -0
  77. package/dist/common/auth/components/index.js +899 -0
  78. package/dist/common/auth/components/index.js.map +1 -0
  79. package/dist/common/auth/components/index.mjs +875 -0
  80. package/dist/common/auth/components/index.mjs.map +1 -0
  81. package/dist/common/auth/hooks/index.d.mts +48 -0
  82. package/dist/common/auth/hooks/index.d.ts +48 -0
  83. package/dist/common/auth/hooks/index.js +19 -0
  84. package/dist/common/auth/hooks/index.mjs +6 -0
  85. package/dist/common/auth/index.d.mts +11 -7
  86. package/dist/common/auth/index.d.ts +11 -7
  87. package/dist/common/auth/index.js +7 -19
  88. package/dist/common/auth/index.mjs +3 -3
  89. package/dist/common/auth/react/index.d.mts +3056 -0
  90. package/dist/common/auth/react/index.d.ts +3056 -0
  91. package/dist/common/auth/react/index.js +31 -0
  92. package/dist/common/auth/react/index.js.map +1 -0
  93. package/dist/common/auth/react/index.mjs +21 -0
  94. package/dist/common/auth/react/index.mjs.map +1 -0
  95. package/dist/common/auth/rn/index.d.mts +3122 -0
  96. package/dist/common/auth/rn/index.d.ts +3122 -0
  97. package/dist/common/auth/rn/index.js +316 -0
  98. package/dist/common/auth/rn/index.js.map +1 -0
  99. package/dist/common/auth/rn/index.mjs +298 -0
  100. package/dist/common/auth/rn/index.mjs.map +1 -0
  101. package/dist/common/auth/schema/index.d.mts +1479 -0
  102. package/dist/common/auth/schema/index.d.ts +1479 -0
  103. package/dist/common/auth/schema/index.js +49 -0
  104. package/dist/common/auth/schema/index.mjs +4 -0
  105. package/dist/common/auth/server/index.d.mts +81 -25
  106. package/dist/common/auth/server/index.d.ts +81 -25
  107. package/dist/common/auth/server/index.js +146 -98
  108. package/dist/common/auth/server/index.js.map +1 -1
  109. package/dist/common/auth/server/index.mjs +125 -5
  110. package/dist/common/auth/server/index.mjs.map +1 -1
  111. package/dist/common/auth/services/index.d.mts +14 -0
  112. package/dist/common/auth/services/index.d.ts +14 -0
  113. package/dist/common/auth/services/index.js +20 -0
  114. package/dist/common/auth/services/index.js.map +1 -0
  115. package/dist/common/auth/services/index.mjs +13 -0
  116. package/dist/common/auth/services/index.mjs.map +1 -0
  117. package/dist/common/file/server/index.js +32 -32
  118. package/dist/common/file/server/index.mjs +3 -3
  119. package/dist/common/index.d.mts +13 -8
  120. package/dist/common/index.d.ts +13 -8
  121. package/dist/common/index.js +19 -18
  122. package/dist/common/index.mjs +8 -7
  123. package/dist/common/storage/index.js +13 -12
  124. package/dist/common/storage/index.mjs +3 -2
  125. package/dist/festivalCard/index.d.mts +3 -3
  126. package/dist/festivalCard/index.d.ts +3 -3
  127. package/dist/festivalCard/routes/index.d.mts +1 -1
  128. package/dist/festivalCard/routes/index.d.ts +1 -1
  129. package/dist/festivalCard/server/index.d.mts +2 -2
  130. package/dist/festivalCard/server/index.d.ts +2 -2
  131. package/dist/{festivalCardService-BFCRhJrq.d.ts → festivalCardService-B3GsnNpV.d.ts} +1 -1
  132. package/dist/{festivalCardService-GriR2VMc.d.mts → festivalCardService-CWhrLNE9.d.mts} +1 -1
  133. package/dist/i18n/index.d.mts +1 -1
  134. package/dist/i18n/index.d.ts +1 -1
  135. package/dist/imageCrop/index.d.mts +3 -3
  136. package/dist/imageCrop/index.d.ts +3 -3
  137. package/dist/index-Bd7cKF1j.d.mts +50 -0
  138. package/dist/{index-CLB80GCP.d.mts → index-D0cqaQEH.d.mts} +5 -5
  139. package/dist/{index-CLB80GCP.d.ts → index-D0cqaQEH.d.ts} +5 -5
  140. package/dist/index-DRQxtCDw.d.ts +50 -0
  141. package/dist/{index-1Ag7IBXN.d.ts → index-DZ5iJtNO.d.mts} +2 -44
  142. package/dist/{index-DdeZSeTJ.d.mts → index-DZ5iJtNO.d.ts} +2 -44
  143. package/dist/{index-BxZauNN_.d.ts → index-DoUo8IrU.d.mts} +8 -8
  144. package/dist/{index-BxZauNN_.d.mts → index-DoUo8IrU.d.ts} +8 -8
  145. package/dist/index.d.mts +6382 -105
  146. package/dist/index.d.ts +6382 -105
  147. package/dist/index.js +1037 -2616
  148. package/dist/index.js.map +1 -1
  149. package/dist/index.mjs +976 -2555
  150. package/dist/index.mjs.map +1 -1
  151. package/dist/mmd/admin/index.d.mts +1 -1
  152. package/dist/mmd/admin/index.d.ts +1 -1
  153. package/dist/mmd/index.d.mts +1 -1
  154. package/dist/mmd/index.d.ts +1 -1
  155. package/dist/mmd/server/index.d.mts +3 -3
  156. package/dist/mmd/server/index.d.ts +3 -3
  157. package/dist/ossFile/server/index.js +32 -32
  158. package/dist/ossFile/server/index.mjs +3 -3
  159. package/dist/storage/index.js +12 -11
  160. package/dist/storage/index.mjs +2 -1
  161. package/dist/{types-DyG3ZV9V.d.mts → types-B6B210gX.d.mts} +1 -1
  162. package/dist/{types-DyG3ZV9V.d.ts → types-B6B210gX.d.ts} +1 -1
  163. package/dist/{types-BTiaMsBz.d.mts → types-Bdnte5EN.d.mts} +1 -1
  164. package/dist/{types-tQfupO6d.d.ts → types-Cs0CLvrH.d.mts} +1 -1
  165. package/dist/{types-tQfupO6d.d.mts → types-Cs0CLvrH.d.ts} +1 -1
  166. package/dist/{types-ERmJyjx8.d.ts → types-_rFX1atk.d.ts} +1 -1
  167. package/dist/universalExport/index.d.mts +3 -3
  168. package/dist/universalExport/index.d.ts +3 -3
  169. package/dist/universalFile/index.d.mts +5 -5
  170. package/dist/universalFile/index.d.ts +5 -5
  171. package/dist/universalFile/server/index.js +62 -62
  172. package/dist/universalFile/server/index.mjs +2 -2
  173. package/dist/useAuthActions-7S5dL7Oh.d.mts +77 -0
  174. package/dist/useAuthActions-7S5dL7Oh.d.ts +77 -0
  175. package/dist/vocaloidBooth/server/index.d.mts +3 -3
  176. package/dist/vocaloidBooth/server/index.d.ts +3 -3
  177. package/package.json +44 -111
  178. package/dist/auth/client/index.d.mts +0 -32
  179. package/dist/auth/client/index.d.ts +0 -32
  180. package/dist/auth/client/index.js +0 -21
  181. package/dist/auth/client/index.mjs +0 -4
  182. package/dist/auth/components/index.d.mts +0 -227
  183. package/dist/auth/components/index.d.ts +0 -227
  184. package/dist/auth/components/index.js +0 -327
  185. package/dist/auth/components/index.js.map +0 -1
  186. package/dist/auth/components/index.mjs +0 -319
  187. package/dist/auth/components/index.mjs.map +0 -1
  188. package/dist/auth/hooks/index.d.mts +0 -31
  189. package/dist/auth/hooks/index.d.ts +0 -31
  190. package/dist/auth/hooks/index.js +0 -17
  191. package/dist/auth/hooks/index.mjs +0 -4
  192. package/dist/auth/index.d.mts +0 -18
  193. package/dist/auth/index.d.ts +0 -18
  194. package/dist/auth/index.js +0 -151
  195. package/dist/auth/index.mjs +0 -10
  196. package/dist/auth/legacy/core/index.d.mts +0 -42
  197. package/dist/auth/legacy/core/index.d.ts +0 -42
  198. package/dist/auth/legacy/core/index.js +0 -242
  199. package/dist/auth/legacy/core/index.js.map +0 -1
  200. package/dist/auth/legacy/core/index.mjs +0 -226
  201. package/dist/auth/legacy/core/index.mjs.map +0 -1
  202. package/dist/auth/legacy/db/index.d.mts +0 -5
  203. package/dist/auth/legacy/db/index.d.ts +0 -5
  204. package/dist/auth/legacy/db/index.js +0 -261
  205. package/dist/auth/legacy/db/index.js.map +0 -1
  206. package/dist/auth/legacy/db/index.mjs +0 -250
  207. package/dist/auth/legacy/db/index.mjs.map +0 -1
  208. package/dist/auth/legacy/index.d.mts +0 -5
  209. package/dist/auth/legacy/index.d.ts +0 -5
  210. package/dist/auth/legacy/index.js +0 -1107
  211. package/dist/auth/legacy/index.js.map +0 -1
  212. package/dist/auth/legacy/index.mjs +0 -1086
  213. package/dist/auth/legacy/index.mjs.map +0 -1
  214. package/dist/auth/legacy/logic/index.d.mts +0 -9
  215. package/dist/auth/legacy/logic/index.d.ts +0 -9
  216. package/dist/auth/legacy/logic/index.js +0 -194
  217. package/dist/auth/legacy/logic/index.js.map +0 -1
  218. package/dist/auth/legacy/logic/index.mjs +0 -187
  219. package/dist/auth/legacy/logic/index.mjs.map +0 -1
  220. package/dist/auth/legacy/miniapp/index.d.mts +0 -5
  221. package/dist/auth/legacy/miniapp/index.d.ts +0 -5
  222. package/dist/auth/legacy/miniapp/index.js +0 -506
  223. package/dist/auth/legacy/miniapp/index.js.map +0 -1
  224. package/dist/auth/legacy/miniapp/index.mjs +0 -487
  225. package/dist/auth/legacy/miniapp/index.mjs.map +0 -1
  226. package/dist/auth/legacy/routes/index.d.mts +0 -53
  227. package/dist/auth/legacy/routes/index.d.ts +0 -53
  228. package/dist/auth/legacy/routes/index.js +0 -278
  229. package/dist/auth/legacy/routes/index.js.map +0 -1
  230. package/dist/auth/legacy/routes/index.mjs +0 -271
  231. package/dist/auth/legacy/routes/index.mjs.map +0 -1
  232. package/dist/auth/legacy/schema/index.d.mts +0 -401
  233. package/dist/auth/legacy/schema/index.d.ts +0 -401
  234. package/dist/auth/legacy/schema/index.js +0 -50
  235. package/dist/auth/legacy/schema/index.js.map +0 -1
  236. package/dist/auth/legacy/schema/index.mjs +0 -44
  237. package/dist/auth/legacy/schema/index.mjs.map +0 -1
  238. package/dist/auth/legacy/server/index.d.mts +0 -13
  239. package/dist/auth/legacy/server/index.d.ts +0 -13
  240. package/dist/auth/legacy/server/index.js +0 -21
  241. package/dist/auth/legacy/server/index.js.map +0 -1
  242. package/dist/auth/legacy/server/index.mjs +0 -19
  243. package/dist/auth/legacy/server/index.mjs.map +0 -1
  244. package/dist/auth/legacy/services/index.d.mts +0 -40
  245. package/dist/auth/legacy/services/index.d.ts +0 -40
  246. package/dist/auth/legacy/services/index.js +0 -258
  247. package/dist/auth/legacy/services/index.js.map +0 -1
  248. package/dist/auth/legacy/services/index.mjs +0 -252
  249. package/dist/auth/legacy/services/index.mjs.map +0 -1
  250. package/dist/auth/legacy/ui/miniapp/index.d.mts +0 -10
  251. package/dist/auth/legacy/ui/miniapp/index.d.ts +0 -10
  252. package/dist/auth/legacy/ui/miniapp/index.js +0 -298
  253. package/dist/auth/legacy/ui/miniapp/index.js.map +0 -1
  254. package/dist/auth/legacy/ui/miniapp/index.mjs +0 -290
  255. package/dist/auth/legacy/ui/miniapp/index.mjs.map +0 -1
  256. package/dist/auth/legacy/ui/web/index.d.mts +0 -22
  257. package/dist/auth/legacy/ui/web/index.d.ts +0 -22
  258. package/dist/auth/legacy/ui/web/index.js +0 -899
  259. package/dist/auth/legacy/ui/web/index.js.map +0 -1
  260. package/dist/auth/legacy/ui/web/index.mjs +0 -889
  261. package/dist/auth/legacy/ui/web/index.mjs.map +0 -1
  262. package/dist/auth/legacy/web/index.d.mts +0 -5
  263. package/dist/auth/legacy/web/index.d.ts +0 -5
  264. package/dist/auth/legacy/web/index.js +0 -1107
  265. package/dist/auth/legacy/web/index.js.map +0 -1
  266. package/dist/auth/legacy/web/index.mjs +0 -1086
  267. package/dist/auth/legacy/web/index.mjs.map +0 -1
  268. package/dist/auth/middleware/index.d.mts +0 -75
  269. package/dist/auth/middleware/index.d.ts +0 -75
  270. package/dist/auth/middleware/index.js +0 -15
  271. package/dist/auth/middleware/index.js.map +0 -1
  272. package/dist/auth/middleware/index.mjs +0 -6
  273. package/dist/auth/middleware/index.mjs.map +0 -1
  274. package/dist/auth/rn/index.d.mts +0 -64
  275. package/dist/auth/rn/index.d.ts +0 -64
  276. package/dist/auth/rn/index.js +0 -765
  277. package/dist/auth/rn/index.js.map +0 -1
  278. package/dist/auth/rn/index.mjs +0 -754
  279. package/dist/auth/rn/index.mjs.map +0 -1
  280. package/dist/auth/routes/index.d.mts +0 -261
  281. package/dist/auth/routes/index.d.ts +0 -261
  282. package/dist/auth/routes/index.js +0 -59
  283. package/dist/auth/routes/index.js.map +0 -1
  284. package/dist/auth/routes/index.mjs +0 -6
  285. package/dist/auth/routes/index.mjs.map +0 -1
  286. package/dist/auth/schema/index.d.mts +0 -789
  287. package/dist/auth/schema/index.d.ts +0 -789
  288. package/dist/auth/schema/index.js +0 -41
  289. package/dist/auth/schema/index.js.map +0 -1
  290. package/dist/auth/schema/index.mjs +0 -4
  291. package/dist/auth/schema/index.mjs.map +0 -1
  292. package/dist/auth/services/index.d.mts +0 -48
  293. package/dist/auth/services/index.d.ts +0 -48
  294. package/dist/auth/services/index.js +0 -34
  295. package/dist/auth/services/index.js.map +0 -1
  296. package/dist/auth/services/index.mjs +0 -5
  297. package/dist/auth/services/index.mjs.map +0 -1
  298. package/dist/base-api-client-ACKKt13v.d.mts +0 -277
  299. package/dist/base-api-client-ACKKt13v.d.ts +0 -277
  300. package/dist/base-api-client-B3wZZoaH.d.ts +0 -103
  301. package/dist/base-api-client-DrL35Ea2.d.mts +0 -103
  302. package/dist/chunk-37HYTHEC.mjs +0 -90
  303. package/dist/chunk-37HYTHEC.mjs.map +0 -1
  304. package/dist/chunk-5WV35FPV.js +0 -131
  305. package/dist/chunk-5WV35FPV.js.map +0 -1
  306. package/dist/chunk-DCRD5CZB.js +0 -573
  307. package/dist/chunk-DCRD5CZB.js.map +0 -1
  308. package/dist/chunk-DDX4JKFS.js +0 -19
  309. package/dist/chunk-DDX4JKFS.js.map +0 -1
  310. package/dist/chunk-DV6M7MFP.js +0 -283
  311. package/dist/chunk-DV6M7MFP.js.map +0 -1
  312. package/dist/chunk-HBF4HPRK.js +0 -186
  313. package/dist/chunk-HBF4HPRK.js.map +0 -1
  314. package/dist/chunk-HCI6JQOU.mjs +0 -183
  315. package/dist/chunk-HCI6JQOU.mjs.map +0 -1
  316. package/dist/chunk-I44HXJ3X.mjs +0 -17
  317. package/dist/chunk-I44HXJ3X.mjs.map +0 -1
  318. package/dist/chunk-IIVNHQEI.mjs.map +0 -1
  319. package/dist/chunk-IJ4YYWE3.mjs +0 -122
  320. package/dist/chunk-IJ4YYWE3.mjs.map +0 -1
  321. package/dist/chunk-J4BEIZUC.js +0 -92
  322. package/dist/chunk-J4BEIZUC.js.map +0 -1
  323. package/dist/chunk-OKPWFVXC.js +0 -24
  324. package/dist/chunk-OKPWFVXC.js.map +0 -1
  325. package/dist/chunk-PNOTQAYK.mjs +0 -560
  326. package/dist/chunk-PNOTQAYK.mjs.map +0 -1
  327. package/dist/chunk-PTMSDNGO.mjs.map +0 -1
  328. package/dist/chunk-Q2IAL7YV.js +0 -36
  329. package/dist/chunk-Q2IAL7YV.js.map +0 -1
  330. package/dist/chunk-QQ2WFYOD.js.map +0 -1
  331. package/dist/chunk-VQ54PUQV.js +0 -216
  332. package/dist/chunk-VQ54PUQV.js.map +0 -1
  333. package/dist/chunk-W5JEGA76.mjs +0 -33
  334. package/dist/chunk-W5JEGA76.mjs.map +0 -1
  335. package/dist/chunk-YGI7UU2D.mjs +0 -212
  336. package/dist/chunk-YGI7UU2D.mjs.map +0 -1
  337. package/dist/chunk-ZCLQSI5F.mjs +0 -271
  338. package/dist/chunk-ZCLQSI5F.mjs.map +0 -1
  339. package/dist/drizzle-auth-service-D-pljzCD.d.mts +0 -145
  340. package/dist/drizzle-auth-service-D3qryE_I.d.ts +0 -145
  341. package/dist/index-Bnh6VqFv.d.ts +0 -35
  342. package/dist/index-DNKZ7-R_.d.mts +0 -184
  343. package/dist/index-DNKZ7-R_.d.ts +0 -184
  344. package/dist/index-DPYkrKZf.d.mts +0 -35
  345. package/dist/types-C5vUWf9u.d.ts +0 -70
  346. package/dist/types-C_W_CoUD.d.ts +0 -99
  347. package/dist/types-DCRvasyH.d.mts +0 -99
  348. package/dist/types-IYCqCk2g.d.mts +0 -70
  349. /package/dist/{auth → common/auth}/client/index.js.map +0 -0
  350. /package/dist/{auth → common/auth}/client/index.mjs.map +0 -0
  351. /package/dist/{auth → common/auth}/hooks/index.js.map +0 -0
  352. /package/dist/{auth → common/auth}/hooks/index.mjs.map +0 -0
  353. /package/dist/{auth → common/auth/schema}/index.js.map +0 -0
  354. /package/dist/{auth → common/auth/schema}/index.mjs.map +0 -0
@@ -1,277 +0,0 @@
1
- /**
2
- * 请求配置接口
3
- */
4
- interface RequestConfig {
5
- /** 请求 URL */
6
- url: string;
7
- /** HTTP 方法 */
8
- method?: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';
9
- /** 请求头 */
10
- headers?: Record<string, string>;
11
- /** 请求体 */
12
- body?: any;
13
- /** 查询参数 */
14
- params?: Record<string, any>;
15
- }
16
- /**
17
- * 请求适配器接口
18
- * 用于抽象不同平台的网络请求实现
19
- * - Mobile/Desktop: fetch API
20
- * - Miniapp: Taro.request
21
- */
22
- interface RequestAdapter {
23
- /**
24
- * 发送 HTTP 请求
25
- * @param config 请求配置
26
- * @returns 响应数据
27
- */
28
- request<T = any>(config: RequestConfig): Promise<T>;
29
- }
30
-
31
- /**
32
- * 存储适配器类型定义
33
- */
34
- /**
35
- * 存储适配器接口
36
- * 用于抽象不同平台的本地存储实现
37
- */
38
- interface StorageAdapter {
39
- /**
40
- * 获取存储的值
41
- * @param key 存储键
42
- * @returns 存储的值,不存在则返回 null
43
- */
44
- getItem(key: string): Promise<string | null>;
45
- /**
46
- * 设置存储的值
47
- * @param key 存储键
48
- * @param value 要存储的值
49
- */
50
- setItem(key: string, value: string): Promise<void>;
51
- /**
52
- * 删除存储的值
53
- * @param key 存储键
54
- */
55
- removeItem(key: string): Promise<void>;
56
- /**
57
- * 清空所有存储(可选)
58
- */
59
- clear?(): Promise<void>;
60
- /**
61
- * 监听存储变化(可选,部分平台支持)
62
- */
63
- addChangeListener?(callback: (key: string, value: string | null) => void): () => void;
64
- /**
65
- * 移除存储变化监听器(可选)
66
- */
67
- removeChangeListener?(callback: (key: string, value: string | null) => void): void;
68
- }
69
- /**
70
- * 存储事件
71
- */
72
- interface StorageChangeEvent {
73
- key: string;
74
- value: any;
75
- oldValue?: any;
76
- }
77
-
78
- /**
79
- * 类型定义
80
- */
81
- type UserRole = 'USER' | 'ADMIN' | 'SUPER_ADMIN';
82
-
83
- /**
84
- * Auth 模块类型定义
85
- * Auth Module Types
86
- */
87
-
88
- /**
89
- * 用户基础信息(核心字段)
90
- * Base User Information
91
- */
92
- interface BaseUser {
93
- id: string;
94
- email: string;
95
- username: string;
96
- role: UserRole;
97
- }
98
- /**
99
- * 扩展用户信息(可选字段)
100
- * Extended User Information
101
- */
102
- interface User extends BaseUser {
103
- nickname?: string;
104
- avatar?: string;
105
- createdAt?: string;
106
- updatedAt?: string;
107
- [key: string]: any;
108
- }
109
- /**
110
- * 登录表单数据
111
- * Login Form Data
112
- */
113
- interface LoginForm {
114
- email: string;
115
- password: string;
116
- rememberMe?: boolean;
117
- }
118
- /**
119
- * 注册表单数据
120
- * Register Form Data
121
- */
122
- interface RegisterForm {
123
- email: string;
124
- username: string;
125
- password: string;
126
- confirmPassword?: string;
127
- nickname?: string;
128
- }
129
- /**
130
- * API 响应类型
131
- */
132
- interface ApiResponse<T = any> {
133
- success: boolean;
134
- data?: T;
135
- error?: string;
136
- message?: string;
137
- }
138
- /**
139
- * 认证响应类型
140
- */
141
- interface AuthResponse {
142
- user: User;
143
- token: string;
144
- }
145
- /**
146
- * API 客户端基础接口
147
- */
148
- interface IAuthClient {
149
- isAuthenticated(): Promise<boolean>;
150
- getCurrentUser(): Promise<ApiResponse<User>>;
151
- login(email: string, password: string): Promise<ApiResponse<AuthResponse>>;
152
- register(email: string, password: string, username: string): Promise<ApiResponse<AuthResponse>>;
153
- logout(): Promise<void>;
154
- clearUserData(): Promise<void>;
155
- }
156
- /**
157
- * 认证操作结果接口
158
- */
159
- interface AuthResult {
160
- success: boolean;
161
- error?: string;
162
- }
163
- /**
164
- * useAuth Hook 返回值接口
165
- */
166
- interface UseAuthReturn {
167
- user: User | null;
168
- isLoggedIn: boolean;
169
- loading: boolean;
170
- checkingAuth: boolean;
171
- error: string | null;
172
- login: (email: string, password: string) => Promise<AuthResult>;
173
- register: (email: string, password: string, username: string) => Promise<AuthResult>;
174
- logout: () => Promise<void>;
175
- refresh: () => Promise<void>;
176
- clearError: () => void;
177
- }
178
-
179
- /**
180
- * Auth Client - Base API Client
181
- * 基础 API 客户端
182
- */
183
-
184
- /**
185
- * 基础 API 客户端
186
- * 提供统一的 API 调用逻辑,通过适配器模式支持多平台
187
- *
188
- * @example
189
- * ```typescript
190
- * import { BaseApiClient } from '@qhr123/sa2kit/auth/client';
191
- * import { WebStorageAdapter } from '@qhr123/sa2kit/storage';
192
- * import { WebRequestAdapter } from '@qhr123/sa2kit/request';
193
- *
194
- * const apiClient = new BaseApiClient(
195
- * new WebStorageAdapter(),
196
- * new WebRequestAdapter(),
197
- * '/api'
198
- * );
199
- *
200
- * await apiClient.init();
201
- * const result = await apiClient.login('user@example.com', 'password');
202
- * ```
203
- */
204
- declare class BaseApiClient implements IAuthClient {
205
- private storage;
206
- private request;
207
- private baseUrl;
208
- private token;
209
- private user;
210
- constructor(storage: StorageAdapter, request: RequestAdapter, baseUrl: string);
211
- /**
212
- * 初始化 - 从存储中加载 token 和用户信息
213
- */
214
- init(): Promise<void>;
215
- /**
216
- * 设置认证 token
217
- */
218
- setToken(token: string | null): Promise<void>;
219
- /**
220
- * 设置用户信息
221
- */
222
- setUser(user: User | null): Promise<void>;
223
- /**
224
- * 获取当前 token
225
- */
226
- getToken(): string | null;
227
- /**
228
- * 获取当前用户
229
- */
230
- getUser(): User | null;
231
- /**
232
- * 检查是否已登录
233
- */
234
- isAuthenticated(): Promise<boolean>;
235
- /**
236
- * 清除用户数据
237
- */
238
- clearUserData(): Promise<void>;
239
- /**
240
- * 发送请求的通用方法
241
- */
242
- private sendRequest;
243
- /**
244
- * 用户注册
245
- */
246
- register(email: string, password: string, username: string): Promise<ApiResponse<AuthResponse>>;
247
- /**
248
- * 用户登录
249
- */
250
- login(email: string, password: string): Promise<ApiResponse<AuthResponse>>;
251
- /**
252
- * 用户退出登录
253
- */
254
- logout(): Promise<void>;
255
- /**
256
- * 获取当前用户信息
257
- */
258
- getCurrentUser(): Promise<ApiResponse<User>>;
259
- /**
260
- * 发送 GET 请求
261
- */
262
- get<T = any>(url: string, params?: Record<string, any>): Promise<ApiResponse<T>>;
263
- /**
264
- * 发送 POST 请求
265
- */
266
- post<T = any>(url: string, body?: any): Promise<ApiResponse<T>>;
267
- /**
268
- * 发送 PUT 请求
269
- */
270
- put<T = any>(url: string, body?: any): Promise<ApiResponse<T>>;
271
- /**
272
- * 发送 DELETE 请求
273
- */
274
- delete<T = any>(url: string): Promise<ApiResponse<T>>;
275
- }
276
-
277
- export { type ApiResponse as A, BaseApiClient as B, type IAuthClient as I, type LoginForm as L, type RequestAdapter as R, type StorageAdapter as S, type UseAuthReturn as U, type RequestConfig as a, type StorageChangeEvent as b, type AuthResponse as c, type AuthResult as d, type BaseUser as e, type RegisterForm as f, type User as g, type UserRole as h };
@@ -1,103 +0,0 @@
1
- import { S as StorageAdapter } from './types-BaZccpvk.js';
2
- import { R as RequestAdapter } from './types-CbTsi9CZ.js';
3
- import { I as IAuthClient, U as User, b as ApiResponse, c as AuthResponse } from './types-C_W_CoUD.js';
4
-
5
- /**
6
- * Auth Client - Base API Client
7
- * 基础 API 客户端
8
- */
9
-
10
- /**
11
- * 基础 API 客户端
12
- * 提供统一的 API 调用逻辑,通过适配器模式支持多平台
13
- *
14
- * @example
15
- * ```typescript
16
- * import { BaseApiClient } from '@qhr123/sa2kit/auth/client';
17
- * import { WebStorageAdapter } from '@qhr123/sa2kit/storage';
18
- * import { WebRequestAdapter } from '@qhr123/sa2kit/request';
19
- *
20
- * const apiClient = new BaseApiClient(
21
- * new WebStorageAdapter(),
22
- * new WebRequestAdapter(),
23
- * '/api'
24
- * );
25
- *
26
- * await apiClient.init();
27
- * const result = await apiClient.login('user@example.com', 'password');
28
- * ```
29
- */
30
- declare class BaseApiClient implements IAuthClient {
31
- private storage;
32
- private request;
33
- private baseUrl;
34
- private token;
35
- private user;
36
- constructor(storage: StorageAdapter, request: RequestAdapter, baseUrl: string);
37
- /**
38
- * 初始化 - 从存储中加载 token 和用户信息
39
- */
40
- init(): Promise<void>;
41
- /**
42
- * 设置认证 token
43
- */
44
- setToken(token: string | null): Promise<void>;
45
- /**
46
- * 设置用户信息
47
- */
48
- setUser(user: User | null): Promise<void>;
49
- /**
50
- * 获取当前 token
51
- */
52
- getToken(): string | null;
53
- /**
54
- * 获取当前用户
55
- */
56
- getUser(): User | null;
57
- /**
58
- * 检查是否已登录
59
- */
60
- isAuthenticated(): Promise<boolean>;
61
- /**
62
- * 清除用户数据
63
- */
64
- clearUserData(): Promise<void>;
65
- /**
66
- * 发送请求的通用方法
67
- */
68
- private sendRequest;
69
- /**
70
- * 用户注册
71
- */
72
- register(email: string, password: string, username: string): Promise<ApiResponse<AuthResponse>>;
73
- /**
74
- * 用户登录
75
- */
76
- login(email: string, password: string): Promise<ApiResponse<AuthResponse>>;
77
- /**
78
- * 用户退出登录
79
- */
80
- logout(): Promise<void>;
81
- /**
82
- * 获取当前用户信息
83
- */
84
- getCurrentUser(): Promise<ApiResponse<User>>;
85
- /**
86
- * 发送 GET 请求
87
- */
88
- get<T = any>(url: string, params?: Record<string, any>): Promise<ApiResponse<T>>;
89
- /**
90
- * 发送 POST 请求
91
- */
92
- post<T = any>(url: string, body?: any): Promise<ApiResponse<T>>;
93
- /**
94
- * 发送 PUT 请求
95
- */
96
- put<T = any>(url: string, body?: any): Promise<ApiResponse<T>>;
97
- /**
98
- * 发送 DELETE 请求
99
- */
100
- delete<T = any>(url: string): Promise<ApiResponse<T>>;
101
- }
102
-
103
- export { BaseApiClient as B };
@@ -1,103 +0,0 @@
1
- import { S as StorageAdapter } from './types-BaZccpvk.mjs';
2
- import { R as RequestAdapter } from './types-CbTsi9CZ.mjs';
3
- import { I as IAuthClient, U as User, b as ApiResponse, c as AuthResponse } from './types-DCRvasyH.mjs';
4
-
5
- /**
6
- * Auth Client - Base API Client
7
- * 基础 API 客户端
8
- */
9
-
10
- /**
11
- * 基础 API 客户端
12
- * 提供统一的 API 调用逻辑,通过适配器模式支持多平台
13
- *
14
- * @example
15
- * ```typescript
16
- * import { BaseApiClient } from '@qhr123/sa2kit/auth/client';
17
- * import { WebStorageAdapter } from '@qhr123/sa2kit/storage';
18
- * import { WebRequestAdapter } from '@qhr123/sa2kit/request';
19
- *
20
- * const apiClient = new BaseApiClient(
21
- * new WebStorageAdapter(),
22
- * new WebRequestAdapter(),
23
- * '/api'
24
- * );
25
- *
26
- * await apiClient.init();
27
- * const result = await apiClient.login('user@example.com', 'password');
28
- * ```
29
- */
30
- declare class BaseApiClient implements IAuthClient {
31
- private storage;
32
- private request;
33
- private baseUrl;
34
- private token;
35
- private user;
36
- constructor(storage: StorageAdapter, request: RequestAdapter, baseUrl: string);
37
- /**
38
- * 初始化 - 从存储中加载 token 和用户信息
39
- */
40
- init(): Promise<void>;
41
- /**
42
- * 设置认证 token
43
- */
44
- setToken(token: string | null): Promise<void>;
45
- /**
46
- * 设置用户信息
47
- */
48
- setUser(user: User | null): Promise<void>;
49
- /**
50
- * 获取当前 token
51
- */
52
- getToken(): string | null;
53
- /**
54
- * 获取当前用户
55
- */
56
- getUser(): User | null;
57
- /**
58
- * 检查是否已登录
59
- */
60
- isAuthenticated(): Promise<boolean>;
61
- /**
62
- * 清除用户数据
63
- */
64
- clearUserData(): Promise<void>;
65
- /**
66
- * 发送请求的通用方法
67
- */
68
- private sendRequest;
69
- /**
70
- * 用户注册
71
- */
72
- register(email: string, password: string, username: string): Promise<ApiResponse<AuthResponse>>;
73
- /**
74
- * 用户登录
75
- */
76
- login(email: string, password: string): Promise<ApiResponse<AuthResponse>>;
77
- /**
78
- * 用户退出登录
79
- */
80
- logout(): Promise<void>;
81
- /**
82
- * 获取当前用户信息
83
- */
84
- getCurrentUser(): Promise<ApiResponse<User>>;
85
- /**
86
- * 发送 GET 请求
87
- */
88
- get<T = any>(url: string, params?: Record<string, any>): Promise<ApiResponse<T>>;
89
- /**
90
- * 发送 POST 请求
91
- */
92
- post<T = any>(url: string, body?: any): Promise<ApiResponse<T>>;
93
- /**
94
- * 发送 PUT 请求
95
- */
96
- put<T = any>(url: string, body?: any): Promise<ApiResponse<T>>;
97
- /**
98
- * 发送 DELETE 请求
99
- */
100
- delete<T = any>(url: string): Promise<ApiResponse<T>>;
101
- }
102
-
103
- export { BaseApiClient as B };
@@ -1,90 +0,0 @@
1
- import { getTokenFromRequest } from './chunk-ZCLQSI5F.mjs';
2
-
3
- // src/common/auth/middleware/with-auth.ts
4
- function createAuthMiddleware(config) {
5
- function withAuth(handler, level = "user") {
6
- return async (request, context = {}) => {
7
- if (level === "none") {
8
- return await handler(request, context);
9
- }
10
- try {
11
- const token = getTokenFromRequest(request);
12
- if (!token) {
13
- return new Response(
14
- JSON.stringify({
15
- success: false,
16
- error: "\u672A\u63D0\u4F9B\u8BA4\u8BC1\u4EE4\u724C"
17
- }),
18
- {
19
- status: 401,
20
- headers: { "Content-Type": "application/json" }
21
- }
22
- );
23
- }
24
- const result = await config.authService.verifyToken(token);
25
- if (level === "admin" || level === "super_admin") {
26
- if (!["ADMIN", "SUPER_ADMIN"].includes(result.user.role)) {
27
- return new Response(
28
- JSON.stringify({
29
- success: false,
30
- error: "\u9700\u8981\u7BA1\u7406\u5458\u6743\u9650"
31
- }),
32
- {
33
- status: 403,
34
- headers: { "Content-Type": "application/json" }
35
- }
36
- );
37
- }
38
- }
39
- if (level === "super_admin") {
40
- if (result.user.role !== "SUPER_ADMIN") {
41
- return new Response(
42
- JSON.stringify({
43
- success: false,
44
- error: "\u9700\u8981\u8D85\u7EA7\u7BA1\u7406\u5458\u6743\u9650"
45
- }),
46
- {
47
- status: 403,
48
- headers: { "Content-Type": "application/json" }
49
- }
50
- );
51
- }
52
- }
53
- context.user = result.user;
54
- context.session = result.session;
55
- return await handler(request, context);
56
- } catch (error) {
57
- console.error("Auth middleware error:", error);
58
- return new Response(
59
- JSON.stringify({
60
- success: false,
61
- error: "\u8BA4\u8BC1\u5931\u8D25"
62
- }),
63
- {
64
- status: 401,
65
- headers: { "Content-Type": "application/json" }
66
- }
67
- );
68
- }
69
- };
70
- }
71
- function requireAuth(handler) {
72
- return withAuth(handler, "user");
73
- }
74
- function requireAdmin(handler) {
75
- return withAuth(handler, "admin");
76
- }
77
- function requireSuperAdmin(handler) {
78
- return withAuth(handler, "super_admin");
79
- }
80
- return {
81
- withAuth,
82
- requireAuth,
83
- requireAdmin,
84
- requireSuperAdmin
85
- };
86
- }
87
-
88
- export { createAuthMiddleware };
89
- //# sourceMappingURL=chunk-37HYTHEC.mjs.map
90
- //# sourceMappingURL=chunk-37HYTHEC.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/common/auth/middleware/with-auth.ts"],"names":[],"mappings":"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","file":"chunk-37HYTHEC.mjs","sourcesContent":["/**\n * Auth Middleware - withAuth\n * 认证中间件\n */\n\nimport { getTokenFromRequest } from '../services';\nimport type {\n AuthMiddlewareConfig,\n AuthLevel,\n RouteHandler,\n RouteContext,\n} from './types';\n\n/**\n * 创建认证中间件\n *\n * @example\n * ```typescript\n * import { createAuthMiddleware } from '@qhr123/sa2kit/auth/middleware';\n *\n * const { withAuth, requireAdmin } = createAuthMiddleware({\n * authService: myAuthService,\n * });\n *\n * // 使用中间件\n * export const GET = requireAdmin(async (request, context) => {\n * const { user } = context; // 自动注入用户信息\n * // ... 业务逻辑\n * });\n * ```\n */\nexport function createAuthMiddleware(config: AuthMiddlewareConfig) {\n /**\n * 认证中间件核心函数\n */\n function withAuth(\n handler: RouteHandler,\n level: AuthLevel = 'user'\n ): RouteHandler {\n return async (request: Request, context: RouteContext = {}) => {\n // 不需要认证,直接执行\n if (level === 'none') {\n return await handler(request, context);\n }\n\n try {\n // 获取 token\n const token = getTokenFromRequest(request);\n\n if (!token) {\n return new Response(\n JSON.stringify({\n success: false,\n error: '未提供认证令牌',\n }),\n {\n status: 401,\n headers: { 'Content-Type': 'application/json' },\n }\n );\n }\n\n // 验证 token 并获取用户信息\n const result = await config.authService.verifyToken(token);\n\n // 检查权限级别\n if (level === 'admin' || level === 'super_admin') {\n if (!['ADMIN', 'SUPER_ADMIN'].includes(result.user.role)) {\n return new Response(\n JSON.stringify({\n success: false,\n error: '需要管理员权限',\n }),\n {\n status: 403,\n headers: { 'Content-Type': 'application/json' },\n }\n );\n }\n }\n\n if (level === 'super_admin') {\n if (result.user.role !== 'SUPER_ADMIN') {\n return new Response(\n JSON.stringify({\n success: false,\n error: '需要超级管理员权限',\n }),\n {\n status: 403,\n headers: { 'Content-Type': 'application/json' },\n }\n );\n }\n }\n\n // 注入用户信息到 context\n context.user = result.user;\n context.session = result.session;\n\n // 执行业务逻辑\n return await handler(request, context);\n } catch (error) {\n console.error('Auth middleware error:', error);\n return new Response(\n JSON.stringify({\n success: false,\n error: '认证失败',\n }),\n {\n status: 401,\n headers: { 'Content-Type': 'application/json' },\n }\n );\n }\n };\n }\n\n /**\n * 快捷方法:需要用户登录\n */\n function requireAuth(handler: RouteHandler): RouteHandler {\n return withAuth(handler, 'user');\n }\n\n /**\n * 快捷方法:需要管理员权限\n */\n function requireAdmin(handler: RouteHandler): RouteHandler {\n return withAuth(handler, 'admin');\n }\n\n /**\n * 快捷方法:需要超级管理员权限\n */\n function requireSuperAdmin(handler: RouteHandler): RouteHandler {\n return withAuth(handler, 'super_admin');\n }\n\n return {\n withAuth,\n requireAuth,\n requireAdmin,\n requireSuperAdmin,\n };\n}\n\n"]}