@cloudbase/js-sdk 3.3.14-beta.3 → 3.3.14-beta.5

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 (707) hide show
  1. package/ai/src/index.d.ts +1 -0
  2. package/ai/src/index.ts +1 -0
  3. package/analytics/src/index.d.ts +2 -0
  4. package/analytics/src/index.ts +4 -0
  5. package/apis/src/index.d.ts +1 -0
  6. package/apis/src/index.ts +1 -0
  7. package/app/src/index.d.ts +9 -0
  8. package/app/src/index.ts +17 -0
  9. package/auth/src/index.d.ts +2 -0
  10. package/auth/src/index.ts +8 -0
  11. package/cloudrun/src/index.d.ts +1 -0
  12. package/cloudrun/src/index.ts +1 -0
  13. package/container/src/index.d.ts +2 -0
  14. package/container/src/index.ts +8 -0
  15. package/database/src/index.d.ts +3 -0
  16. package/database/src/index.ts +486 -0
  17. package/dist/index.cjs.js +1 -1
  18. package/dist/index.esm.js +1 -1
  19. package/functions/src/index.d.ts +2 -0
  20. package/functions/src/index.ts +8 -0
  21. package/miniprogram_dist/index.js +1 -1
  22. package/model/src/index.d.ts +1 -0
  23. package/model/src/index.ts +1 -0
  24. package/mysql/src/index.d.ts +1 -0
  25. package/mysql/src/index.ts +1 -0
  26. package/node_modules/@cloudbase/ai/.eslintrc.js +15 -0
  27. package/node_modules/@cloudbase/ai/dist/cjs/AI.d.ts +27 -0
  28. package/node_modules/@cloudbase/ai/dist/cjs/AI.js +224 -0
  29. package/node_modules/@cloudbase/ai/dist/cjs/bot/index.d.ts +41 -0
  30. package/node_modules/@cloudbase/ai/dist/cjs/bot/index.js +376 -0
  31. package/node_modules/@cloudbase/ai/dist/cjs/bot/types.d.ts +144 -0
  32. package/node_modules/@cloudbase/ai/dist/cjs/bot/types.js +3 -0
  33. package/node_modules/@cloudbase/ai/dist/cjs/eventsource_parser/index.d.ts +2 -0
  34. package/node_modules/@cloudbase/ai/dist/cjs/eventsource_parser/index.js +6 -0
  35. package/node_modules/@cloudbase/ai/dist/cjs/eventsource_parser/parse.d.ts +2 -0
  36. package/node_modules/@cloudbase/ai/dist/cjs/eventsource_parser/parse.js +126 -0
  37. package/node_modules/@cloudbase/ai/dist/cjs/eventsource_parser/stream.d.ts +5 -0
  38. package/node_modules/@cloudbase/ai/dist/cjs/eventsource_parser/stream.js +40 -0
  39. package/node_modules/@cloudbase/ai/dist/cjs/eventsource_parser/types.d.ts +16 -0
  40. package/node_modules/@cloudbase/ai/dist/cjs/eventsource_parser/types.js +3 -0
  41. package/node_modules/@cloudbase/ai/dist/cjs/index.d.ts +40 -0
  42. package/node_modules/@cloudbase/ai/dist/cjs/index.js +187 -0
  43. package/node_modules/@cloudbase/ai/dist/cjs/models/Ark/index.d.ts +10 -0
  44. package/node_modules/@cloudbase/ai/dist/cjs/models/Ark/index.js +130 -0
  45. package/node_modules/@cloudbase/ai/dist/cjs/models/Ark/type.d.ts +71 -0
  46. package/node_modules/@cloudbase/ai/dist/cjs/models/Ark/type.js +3 -0
  47. package/node_modules/@cloudbase/ai/dist/cjs/models/DashScope/index.d.ts +10 -0
  48. package/node_modules/@cloudbase/ai/dist/cjs/models/DashScope/index.js +130 -0
  49. package/node_modules/@cloudbase/ai/dist/cjs/models/DashScope/type.d.ts +74 -0
  50. package/node_modules/@cloudbase/ai/dist/cjs/models/DashScope/type.js +3 -0
  51. package/node_modules/@cloudbase/ai/dist/cjs/models/DeepSeek/index.d.ts +10 -0
  52. package/node_modules/@cloudbase/ai/dist/cjs/models/DeepSeek/index.js +126 -0
  53. package/node_modules/@cloudbase/ai/dist/cjs/models/Default/index.d.ts +10 -0
  54. package/node_modules/@cloudbase/ai/dist/cjs/models/Default/index.js +122 -0
  55. package/node_modules/@cloudbase/ai/dist/cjs/models/HunYuan/index.d.ts +10 -0
  56. package/node_modules/@cloudbase/ai/dist/cjs/models/HunYuan/index.js +135 -0
  57. package/node_modules/@cloudbase/ai/dist/cjs/models/HunYuan/type.d.ts +74 -0
  58. package/node_modules/@cloudbase/ai/dist/cjs/models/HunYuan/type.js +3 -0
  59. package/node_modules/@cloudbase/ai/dist/cjs/models/HunYuan/util.d.ts +4 -0
  60. package/node_modules/@cloudbase/ai/dist/cjs/models/HunYuan/util.js +56 -0
  61. package/node_modules/@cloudbase/ai/dist/cjs/models/HunYuanBeta/index.d.ts +10 -0
  62. package/node_modules/@cloudbase/ai/dist/cjs/models/HunYuanBeta/index.js +127 -0
  63. package/node_modules/@cloudbase/ai/dist/cjs/models/HunYuanExp/index.d.ts +10 -0
  64. package/node_modules/@cloudbase/ai/dist/cjs/models/HunYuanExp/index.js +125 -0
  65. package/node_modules/@cloudbase/ai/dist/cjs/models/HunYuanOpen/index.d.ts +10 -0
  66. package/node_modules/@cloudbase/ai/dist/cjs/models/HunYuanOpen/index.js +127 -0
  67. package/node_modules/@cloudbase/ai/dist/cjs/models/Moonshot/index.d.ts +10 -0
  68. package/node_modules/@cloudbase/ai/dist/cjs/models/Moonshot/index.js +130 -0
  69. package/node_modules/@cloudbase/ai/dist/cjs/models/Moonshot/type.d.ts +85 -0
  70. package/node_modules/@cloudbase/ai/dist/cjs/models/Moonshot/type.js +3 -0
  71. package/node_modules/@cloudbase/ai/dist/cjs/models/Yi/index.d.ts +10 -0
  72. package/node_modules/@cloudbase/ai/dist/cjs/models/Yi/index.js +133 -0
  73. package/node_modules/@cloudbase/ai/dist/cjs/models/Yi/type.d.ts +75 -0
  74. package/node_modules/@cloudbase/ai/dist/cjs/models/Yi/type.js +3 -0
  75. package/node_modules/@cloudbase/ai/dist/cjs/models/ZhiPu/index.d.ts +10 -0
  76. package/node_modules/@cloudbase/ai/dist/cjs/models/ZhiPu/index.js +139 -0
  77. package/node_modules/@cloudbase/ai/dist/cjs/models/ZhiPu/type.d.ts +71 -0
  78. package/node_modules/@cloudbase/ai/dist/cjs/models/ZhiPu/type.js +3 -0
  79. package/node_modules/@cloudbase/ai/dist/cjs/models/image-model.d.ts +18 -0
  80. package/node_modules/@cloudbase/ai/dist/cjs/models/image-model.js +85 -0
  81. package/node_modules/@cloudbase/ai/dist/cjs/models/index.d.ts +26 -0
  82. package/node_modules/@cloudbase/ai/dist/cjs/models/index.js +42 -0
  83. package/node_modules/@cloudbase/ai/dist/cjs/models/model.d.ts +40 -0
  84. package/node_modules/@cloudbase/ai/dist/cjs/models/model.js +481 -0
  85. package/node_modules/@cloudbase/ai/dist/cjs/type.d.ts +190 -0
  86. package/node_modules/@cloudbase/ai/dist/cjs/type.js +10 -0
  87. package/node_modules/@cloudbase/ai/dist/cjs/utils.d.ts +38 -0
  88. package/node_modules/@cloudbase/ai/dist/cjs/utils.js +263 -0
  89. package/node_modules/@cloudbase/ai/dist/esm/AI.d.ts +27 -0
  90. package/node_modules/@cloudbase/ai/dist/esm/AI.js +198 -0
  91. package/node_modules/@cloudbase/ai/dist/esm/bot/index.d.ts +41 -0
  92. package/node_modules/@cloudbase/ai/dist/esm/bot/index.js +373 -0
  93. package/node_modules/@cloudbase/ai/dist/esm/bot/types.d.ts +144 -0
  94. package/node_modules/@cloudbase/ai/dist/esm/bot/types.js +2 -0
  95. package/node_modules/@cloudbase/ai/dist/esm/eventsource_parser/index.d.ts +2 -0
  96. package/node_modules/@cloudbase/ai/dist/esm/eventsource_parser/index.js +2 -0
  97. package/node_modules/@cloudbase/ai/dist/esm/eventsource_parser/parse.d.ts +2 -0
  98. package/node_modules/@cloudbase/ai/dist/esm/eventsource_parser/parse.js +122 -0
  99. package/node_modules/@cloudbase/ai/dist/esm/eventsource_parser/stream.d.ts +5 -0
  100. package/node_modules/@cloudbase/ai/dist/esm/eventsource_parser/stream.js +37 -0
  101. package/node_modules/@cloudbase/ai/dist/esm/eventsource_parser/types.d.ts +16 -0
  102. package/node_modules/@cloudbase/ai/dist/esm/eventsource_parser/types.js +2 -0
  103. package/node_modules/@cloudbase/ai/dist/esm/index.d.ts +40 -0
  104. package/node_modules/@cloudbase/ai/dist/esm/index.js +152 -0
  105. package/node_modules/@cloudbase/ai/dist/esm/models/Ark/index.d.ts +10 -0
  106. package/node_modules/@cloudbase/ai/dist/esm/models/Ark/index.js +127 -0
  107. package/node_modules/@cloudbase/ai/dist/esm/models/Ark/type.d.ts +71 -0
  108. package/node_modules/@cloudbase/ai/dist/esm/models/Ark/type.js +2 -0
  109. package/node_modules/@cloudbase/ai/dist/esm/models/DashScope/index.d.ts +10 -0
  110. package/node_modules/@cloudbase/ai/dist/esm/models/DashScope/index.js +127 -0
  111. package/node_modules/@cloudbase/ai/dist/esm/models/DashScope/type.d.ts +74 -0
  112. package/node_modules/@cloudbase/ai/dist/esm/models/DashScope/type.js +2 -0
  113. package/node_modules/@cloudbase/ai/dist/esm/models/DeepSeek/index.d.ts +10 -0
  114. package/node_modules/@cloudbase/ai/dist/esm/models/DeepSeek/index.js +123 -0
  115. package/node_modules/@cloudbase/ai/dist/esm/models/Default/index.d.ts +10 -0
  116. package/node_modules/@cloudbase/ai/dist/esm/models/Default/index.js +119 -0
  117. package/node_modules/@cloudbase/ai/dist/esm/models/HunYuan/index.d.ts +10 -0
  118. package/node_modules/@cloudbase/ai/dist/esm/models/HunYuan/index.js +132 -0
  119. package/node_modules/@cloudbase/ai/dist/esm/models/HunYuan/type.d.ts +74 -0
  120. package/node_modules/@cloudbase/ai/dist/esm/models/HunYuan/type.js +2 -0
  121. package/node_modules/@cloudbase/ai/dist/esm/models/HunYuan/util.d.ts +4 -0
  122. package/node_modules/@cloudbase/ai/dist/esm/models/HunYuan/util.js +51 -0
  123. package/node_modules/@cloudbase/ai/dist/esm/models/HunYuanBeta/index.d.ts +10 -0
  124. package/node_modules/@cloudbase/ai/dist/esm/models/HunYuanBeta/index.js +124 -0
  125. package/node_modules/@cloudbase/ai/dist/esm/models/HunYuanExp/index.d.ts +10 -0
  126. package/node_modules/@cloudbase/ai/dist/esm/models/HunYuanExp/index.js +122 -0
  127. package/node_modules/@cloudbase/ai/dist/esm/models/HunYuanOpen/index.d.ts +10 -0
  128. package/node_modules/@cloudbase/ai/dist/esm/models/HunYuanOpen/index.js +124 -0
  129. package/node_modules/@cloudbase/ai/dist/esm/models/Moonshot/index.d.ts +10 -0
  130. package/node_modules/@cloudbase/ai/dist/esm/models/Moonshot/index.js +127 -0
  131. package/node_modules/@cloudbase/ai/dist/esm/models/Moonshot/type.d.ts +85 -0
  132. package/node_modules/@cloudbase/ai/dist/esm/models/Moonshot/type.js +2 -0
  133. package/node_modules/@cloudbase/ai/dist/esm/models/Yi/index.d.ts +10 -0
  134. package/node_modules/@cloudbase/ai/dist/esm/models/Yi/index.js +130 -0
  135. package/node_modules/@cloudbase/ai/dist/esm/models/Yi/type.d.ts +75 -0
  136. package/node_modules/@cloudbase/ai/dist/esm/models/Yi/type.js +2 -0
  137. package/node_modules/@cloudbase/ai/dist/esm/models/ZhiPu/index.d.ts +10 -0
  138. package/node_modules/@cloudbase/ai/dist/esm/models/ZhiPu/index.js +136 -0
  139. package/node_modules/@cloudbase/ai/dist/esm/models/ZhiPu/type.d.ts +71 -0
  140. package/node_modules/@cloudbase/ai/dist/esm/models/ZhiPu/type.js +2 -0
  141. package/node_modules/@cloudbase/ai/dist/esm/models/image-model.d.ts +18 -0
  142. package/node_modules/@cloudbase/ai/dist/esm/models/image-model.js +82 -0
  143. package/node_modules/@cloudbase/ai/dist/esm/models/index.d.ts +26 -0
  144. package/node_modules/@cloudbase/ai/dist/esm/models/index.js +27 -0
  145. package/node_modules/@cloudbase/ai/dist/esm/models/model.d.ts +40 -0
  146. package/node_modules/@cloudbase/ai/dist/esm/models/model.js +478 -0
  147. package/node_modules/@cloudbase/ai/dist/esm/type.d.ts +190 -0
  148. package/node_modules/@cloudbase/ai/dist/esm/type.js +7 -0
  149. package/node_modules/@cloudbase/ai/dist/esm/utils.d.ts +38 -0
  150. package/node_modules/@cloudbase/ai/dist/esm/utils.js +252 -0
  151. package/node_modules/@cloudbase/ai/dist/miniprogram/index.js +2 -0
  152. package/node_modules/@cloudbase/ai/dist/miniprogram/index.js.LICENSE.txt +22 -0
  153. package/node_modules/@cloudbase/ai/package.json +32 -0
  154. package/node_modules/@cloudbase/analytics/.eslintrc.js +15 -0
  155. package/node_modules/@cloudbase/analytics/dist/cjs/index.d.ts +2 -0
  156. package/node_modules/@cloudbase/analytics/dist/cjs/index.js +144 -0
  157. package/node_modules/@cloudbase/analytics/dist/esm/index.d.ts +2 -0
  158. package/node_modules/@cloudbase/analytics/dist/esm/index.js +140 -0
  159. package/node_modules/@cloudbase/analytics/package.json +22 -0
  160. package/node_modules/@cloudbase/apis/.eslintrc.js +15 -0
  161. package/node_modules/@cloudbase/apis/dist/cjs/callApis.d.ts +20 -0
  162. package/node_modules/@cloudbase/apis/dist/cjs/callApis.js +154 -0
  163. package/node_modules/@cloudbase/apis/dist/cjs/index.d.ts +5 -0
  164. package/node_modules/@cloudbase/apis/dist/cjs/index.js +53 -0
  165. package/node_modules/@cloudbase/apis/dist/cjs/type.d.ts +14 -0
  166. package/node_modules/@cloudbase/apis/dist/cjs/type.js +3 -0
  167. package/node_modules/@cloudbase/apis/dist/esm/callApis.d.ts +20 -0
  168. package/node_modules/@cloudbase/apis/dist/esm/callApis.js +148 -0
  169. package/node_modules/@cloudbase/apis/dist/esm/index.d.ts +5 -0
  170. package/node_modules/@cloudbase/apis/dist/esm/index.js +35 -0
  171. package/node_modules/@cloudbase/apis/dist/esm/type.d.ts +14 -0
  172. package/node_modules/@cloudbase/apis/dist/esm/type.js +2 -0
  173. package/node_modules/@cloudbase/apis/dist/miniprogram/index.js +1 -0
  174. package/node_modules/@cloudbase/apis/package.json +28 -0
  175. package/node_modules/@cloudbase/app/.eslintrc.js +12 -0
  176. package/node_modules/@cloudbase/app/dist/cjs/constants/common.d.ts +38 -0
  177. package/node_modules/@cloudbase/app/dist/cjs/constants/common.js +103 -0
  178. package/node_modules/@cloudbase/app/dist/cjs/index.d.ts +65 -0
  179. package/node_modules/@cloudbase/app/dist/cjs/index.js +340 -0
  180. package/node_modules/@cloudbase/app/dist/cjs/index.node.d.ts +6 -0
  181. package/node_modules/@cloudbase/app/dist/cjs/index.node.js +20 -0
  182. package/node_modules/@cloudbase/app/dist/cjs/libs/adapter-node/constants.d.ts +33 -0
  183. package/node_modules/@cloudbase/app/dist/cjs/libs/adapter-node/constants.js +38 -0
  184. package/node_modules/@cloudbase/app/dist/cjs/libs/adapter-node/context.d.ts +13 -0
  185. package/node_modules/@cloudbase/app/dist/cjs/libs/adapter-node/context.js +162 -0
  186. package/node_modules/@cloudbase/app/dist/cjs/libs/adapter-node/index.d.ts +23 -0
  187. package/node_modules/@cloudbase/app/dist/cjs/libs/adapter-node/index.js +124 -0
  188. package/node_modules/@cloudbase/app/dist/cjs/libs/adapter-node/metadata.d.ts +14 -0
  189. package/node_modules/@cloudbase/app/dist/cjs/libs/adapter-node/metadata.js +130 -0
  190. package/node_modules/@cloudbase/app/dist/cjs/libs/adapter-node/request.d.ts +38 -0
  191. package/node_modules/@cloudbase/app/dist/cjs/libs/adapter-node/request.js +445 -0
  192. package/node_modules/@cloudbase/app/dist/cjs/libs/adapter-node/tool.d.ts +2 -0
  193. package/node_modules/@cloudbase/app/dist/cjs/libs/adapter-node/tool.js +228 -0
  194. package/node_modules/@cloudbase/app/dist/cjs/libs/adapter-node/types.d.ts +78 -0
  195. package/node_modules/@cloudbase/app/dist/cjs/libs/adapter-node/types.js +3 -0
  196. package/node_modules/@cloudbase/app/dist/cjs/libs/adapter-node/utils.d.ts +17 -0
  197. package/node_modules/@cloudbase/app/dist/cjs/libs/adapter-node/utils.js +221 -0
  198. package/node_modules/@cloudbase/app/dist/cjs/libs/adapter.d.ts +3 -0
  199. package/node_modules/@cloudbase/app/dist/cjs/libs/adapter.js +163 -0
  200. package/node_modules/@cloudbase/app/dist/cjs/libs/cache.d.ts +6 -0
  201. package/node_modules/@cloudbase/app/dist/cjs/libs/cache.js +38 -0
  202. package/node_modules/@cloudbase/app/dist/cjs/libs/component.d.ts +3 -0
  203. package/node_modules/@cloudbase/app/dist/cjs/libs/component.js +126 -0
  204. package/node_modules/@cloudbase/app/dist/cjs/libs/lang.d.ts +23 -0
  205. package/node_modules/@cloudbase/app/dist/cjs/libs/lang.js +59 -0
  206. package/node_modules/@cloudbase/app/dist/cjs/libs/request.d.ts +62 -0
  207. package/node_modules/@cloudbase/app/dist/cjs/libs/request.js +480 -0
  208. package/node_modules/@cloudbase/app/dist/esm/constants/common.d.ts +38 -0
  209. package/node_modules/@cloudbase/app/dist/esm/constants/common.js +91 -0
  210. package/node_modules/@cloudbase/app/dist/esm/index.d.ts +65 -0
  211. package/node_modules/@cloudbase/app/dist/esm/index.js +335 -0
  212. package/node_modules/@cloudbase/app/dist/esm/index.node.d.ts +6 -0
  213. package/node_modules/@cloudbase/app/dist/esm/index.node.js +12 -0
  214. package/node_modules/@cloudbase/app/dist/esm/libs/adapter-node/constants.d.ts +33 -0
  215. package/node_modules/@cloudbase/app/dist/esm/libs/adapter-node/constants.js +35 -0
  216. package/node_modules/@cloudbase/app/dist/esm/libs/adapter-node/context.d.ts +13 -0
  217. package/node_modules/@cloudbase/app/dist/esm/libs/adapter-node/context.js +156 -0
  218. package/node_modules/@cloudbase/app/dist/esm/libs/adapter-node/index.d.ts +23 -0
  219. package/node_modules/@cloudbase/app/dist/esm/libs/adapter-node/index.js +118 -0
  220. package/node_modules/@cloudbase/app/dist/esm/libs/adapter-node/metadata.d.ts +14 -0
  221. package/node_modules/@cloudbase/app/dist/esm/libs/adapter-node/metadata.js +123 -0
  222. package/node_modules/@cloudbase/app/dist/esm/libs/adapter-node/request.d.ts +38 -0
  223. package/node_modules/@cloudbase/app/dist/esm/libs/adapter-node/request.js +442 -0
  224. package/node_modules/@cloudbase/app/dist/esm/libs/adapter-node/tool.d.ts +2 -0
  225. package/node_modules/@cloudbase/app/dist/esm/libs/adapter-node/tool.js +224 -0
  226. package/node_modules/@cloudbase/app/dist/esm/libs/adapter-node/types.d.ts +78 -0
  227. package/node_modules/@cloudbase/app/dist/esm/libs/adapter-node/types.js +2 -0
  228. package/node_modules/@cloudbase/app/dist/esm/libs/adapter-node/utils.d.ts +17 -0
  229. package/node_modules/@cloudbase/app/dist/esm/libs/adapter-node/utils.js +205 -0
  230. package/node_modules/@cloudbase/app/dist/esm/libs/adapter.d.ts +3 -0
  231. package/node_modules/@cloudbase/app/dist/esm/libs/adapter.js +136 -0
  232. package/node_modules/@cloudbase/app/dist/esm/libs/cache.d.ts +6 -0
  233. package/node_modules/@cloudbase/app/dist/esm/libs/cache.js +32 -0
  234. package/node_modules/@cloudbase/app/dist/esm/libs/component.d.ts +3 -0
  235. package/node_modules/@cloudbase/app/dist/esm/libs/component.js +121 -0
  236. package/node_modules/@cloudbase/app/dist/esm/libs/lang.d.ts +23 -0
  237. package/node_modules/@cloudbase/app/dist/esm/libs/lang.js +54 -0
  238. package/node_modules/@cloudbase/app/dist/esm/libs/request.d.ts +62 -0
  239. package/node_modules/@cloudbase/app/dist/esm/libs/request.js +475 -0
  240. package/node_modules/@cloudbase/app/dist/miniprogram/index.js +2 -0
  241. package/node_modules/@cloudbase/app/dist/miniprogram/index.js.LICENSE.txt +7 -0
  242. package/node_modules/@cloudbase/app/package.json +59 -0
  243. package/node_modules/@cloudbase/auth/.eslintrc.js +15 -0
  244. package/node_modules/@cloudbase/auth/dist/cjs/adapter.d.ts +2 -0
  245. package/node_modules/@cloudbase/auth/dist/cjs/adapter.js +272 -0
  246. package/node_modules/@cloudbase/auth/dist/cjs/index.d.ts +283 -0
  247. package/node_modules/@cloudbase/auth/dist/cjs/index.js +3018 -0
  248. package/node_modules/@cloudbase/auth/dist/cjs/type.d.ts +258 -0
  249. package/node_modules/@cloudbase/auth/dist/cjs/type.js +6 -0
  250. package/node_modules/@cloudbase/auth/dist/cjs/utilities.d.ts +7 -0
  251. package/node_modules/@cloudbase/auth/dist/cjs/utilities.js +23 -0
  252. package/node_modules/@cloudbase/auth/dist/cjs/utils.d.ts +5 -0
  253. package/node_modules/@cloudbase/auth/dist/cjs/utils.js +60 -0
  254. package/node_modules/@cloudbase/auth/dist/cjs/v1-compat.d.ts +77 -0
  255. package/node_modules/@cloudbase/auth/dist/cjs/v1-compat.js +423 -0
  256. package/node_modules/@cloudbase/auth/dist/esm/adapter.d.ts +2 -0
  257. package/node_modules/@cloudbase/auth/dist/esm/adapter.js +268 -0
  258. package/node_modules/@cloudbase/auth/dist/esm/index.d.ts +283 -0
  259. package/node_modules/@cloudbase/auth/dist/esm/index.js +3008 -0
  260. package/node_modules/@cloudbase/auth/dist/esm/type.d.ts +258 -0
  261. package/node_modules/@cloudbase/auth/dist/esm/type.js +3 -0
  262. package/node_modules/@cloudbase/auth/dist/esm/utilities.d.ts +7 -0
  263. package/node_modules/@cloudbase/auth/dist/esm/utilities.js +8 -0
  264. package/node_modules/@cloudbase/auth/dist/esm/utils.d.ts +5 -0
  265. package/node_modules/@cloudbase/auth/dist/esm/utils.js +52 -0
  266. package/node_modules/@cloudbase/auth/dist/esm/v1-compat.d.ts +77 -0
  267. package/node_modules/@cloudbase/auth/dist/esm/v1-compat.js +419 -0
  268. package/node_modules/@cloudbase/auth/dist/miniprogram/index.js +1 -0
  269. package/node_modules/@cloudbase/auth/package.json +31 -0
  270. package/node_modules/@cloudbase/cloudrun/.eslintrc.js +15 -0
  271. package/node_modules/@cloudbase/cloudrun/dist/cjs/index.d.ts +4 -0
  272. package/node_modules/@cloudbase/cloudrun/dist/cjs/index.js +154 -0
  273. package/node_modules/@cloudbase/cloudrun/dist/esm/index.d.ts +4 -0
  274. package/node_modules/@cloudbase/cloudrun/dist/esm/index.js +149 -0
  275. package/node_modules/@cloudbase/cloudrun/package.json +30 -0
  276. package/node_modules/@cloudbase/container/.eslintrc.js +15 -0
  277. package/node_modules/@cloudbase/container/.prettierrc.js +41 -0
  278. package/node_modules/@cloudbase/container/dist/cjs/constants/index.d.ts +1 -0
  279. package/node_modules/@cloudbase/container/dist/cjs/constants/index.js +5 -0
  280. package/node_modules/@cloudbase/container/dist/cjs/go_wams_exec.d.ts +2 -0
  281. package/node_modules/@cloudbase/container/dist/cjs/go_wams_exec.js +538 -0
  282. package/node_modules/@cloudbase/container/dist/cjs/index.d.ts +13 -0
  283. package/node_modules/@cloudbase/container/dist/cjs/index.js +343 -0
  284. package/node_modules/@cloudbase/container/dist/cjs/utils/index.d.ts +3 -0
  285. package/node_modules/@cloudbase/container/dist/cjs/utils/index.js +83 -0
  286. package/node_modules/@cloudbase/container/dist/cjs/utils/loader.d.ts +8 -0
  287. package/node_modules/@cloudbase/container/dist/cjs/utils/loader.js +186 -0
  288. package/node_modules/@cloudbase/container/dist/cjs/utils/request.d.ts +12 -0
  289. package/node_modules/@cloudbase/container/dist/cjs/utils/request.js +106 -0
  290. package/node_modules/@cloudbase/container/dist/esm/constants/index.d.ts +1 -0
  291. package/node_modules/@cloudbase/container/dist/esm/constants/index.js +2 -0
  292. package/node_modules/@cloudbase/container/dist/esm/go_wams_exec.d.ts +2 -0
  293. package/node_modules/@cloudbase/container/dist/esm/go_wams_exec.js +536 -0
  294. package/node_modules/@cloudbase/container/dist/esm/index.d.ts +13 -0
  295. package/node_modules/@cloudbase/container/dist/esm/index.js +338 -0
  296. package/node_modules/@cloudbase/container/dist/esm/utils/index.d.ts +3 -0
  297. package/node_modules/@cloudbase/container/dist/esm/utils/index.js +77 -0
  298. package/node_modules/@cloudbase/container/dist/esm/utils/loader.d.ts +8 -0
  299. package/node_modules/@cloudbase/container/dist/esm/utils/loader.js +178 -0
  300. package/node_modules/@cloudbase/container/dist/esm/utils/request.d.ts +12 -0
  301. package/node_modules/@cloudbase/container/dist/esm/utils/request.js +102 -0
  302. package/node_modules/@cloudbase/container/package.json +30 -0
  303. package/node_modules/@cloudbase/database/README.md +119 -0
  304. package/node_modules/@cloudbase/database/dist/commonjs/aggregate.d.ts +29 -0
  305. package/node_modules/@cloudbase/database/dist/commonjs/aggregate.js +156 -0
  306. package/node_modules/@cloudbase/database/dist/commonjs/collection.d.ts +9 -0
  307. package/node_modules/@cloudbase/database/dist/commonjs/collection.js +49 -0
  308. package/node_modules/@cloudbase/database/dist/commonjs/command.d.ts +175 -0
  309. package/node_modules/@cloudbase/database/dist/commonjs/command.js +299 -0
  310. package/node_modules/@cloudbase/database/dist/commonjs/commands/logic.d.ts +24 -0
  311. package/node_modules/@cloudbase/database/dist/commonjs/commands/logic.js +89 -0
  312. package/node_modules/@cloudbase/database/dist/commonjs/commands/query.d.ts +68 -0
  313. package/node_modules/@cloudbase/database/dist/commonjs/commands/query.js +160 -0
  314. package/node_modules/@cloudbase/database/dist/commonjs/commands/update.d.ts +29 -0
  315. package/node_modules/@cloudbase/database/dist/commonjs/commands/update.js +51 -0
  316. package/node_modules/@cloudbase/database/dist/commonjs/config/app.config.d.ts +6 -0
  317. package/node_modules/@cloudbase/database/dist/commonjs/config/app.config.js +7 -0
  318. package/node_modules/@cloudbase/database/dist/commonjs/config/error.config.d.ts +3 -0
  319. package/node_modules/@cloudbase/database/dist/commonjs/config/error.config.js +16 -0
  320. package/node_modules/@cloudbase/database/dist/commonjs/const/code.d.ts +30 -0
  321. package/node_modules/@cloudbase/database/dist/commonjs/const/code.js +33 -0
  322. package/node_modules/@cloudbase/database/dist/commonjs/constant.d.ts +51 -0
  323. package/node_modules/@cloudbase/database/dist/commonjs/constant.js +75 -0
  324. package/node_modules/@cloudbase/database/dist/commonjs/document.d.ts +11 -0
  325. package/node_modules/@cloudbase/database/dist/commonjs/document.js +260 -0
  326. package/node_modules/@cloudbase/database/dist/commonjs/geo/index.d.ts +6 -0
  327. package/node_modules/@cloudbase/database/dist/commonjs/geo/index.js +22 -0
  328. package/node_modules/@cloudbase/database/dist/commonjs/geo/interface.d.ts +24 -0
  329. package/node_modules/@cloudbase/database/dist/commonjs/geo/interface.js +2 -0
  330. package/node_modules/@cloudbase/database/dist/commonjs/geo/lineString.d.ts +19 -0
  331. package/node_modules/@cloudbase/database/dist/commonjs/geo/lineString.js +86 -0
  332. package/node_modules/@cloudbase/database/dist/commonjs/geo/multiLineString.d.ts +18 -0
  333. package/node_modules/@cloudbase/database/dist/commonjs/geo/multiLineString.js +95 -0
  334. package/node_modules/@cloudbase/database/dist/commonjs/geo/multiPoint.d.ts +18 -0
  335. package/node_modules/@cloudbase/database/dist/commonjs/geo/multiPoint.js +79 -0
  336. package/node_modules/@cloudbase/database/dist/commonjs/geo/multiPolygon.d.ts +18 -0
  337. package/node_modules/@cloudbase/database/dist/commonjs/geo/multiPolygon.js +122 -0
  338. package/node_modules/@cloudbase/database/dist/commonjs/geo/point.d.ts +19 -0
  339. package/node_modules/@cloudbase/database/dist/commonjs/geo/point.js +50 -0
  340. package/node_modules/@cloudbase/database/dist/commonjs/geo/polygon.d.ts +19 -0
  341. package/node_modules/@cloudbase/database/dist/commonjs/geo/polygon.js +109 -0
  342. package/node_modules/@cloudbase/database/dist/commonjs/helper/symbol.d.ts +14 -0
  343. package/node_modules/@cloudbase/database/dist/commonjs/helper/symbol.js +31 -0
  344. package/node_modules/@cloudbase/database/dist/commonjs/index.d.ts +40 -0
  345. package/node_modules/@cloudbase/database/dist/commonjs/index.js +61 -0
  346. package/node_modules/@cloudbase/database/dist/commonjs/lib/util.d.ts +1 -0
  347. package/node_modules/@cloudbase/database/dist/commonjs/lib/util.js +26 -0
  348. package/node_modules/@cloudbase/database/dist/commonjs/operator-map.d.ts +4 -0
  349. package/node_modules/@cloudbase/database/dist/commonjs/operator-map.js +24 -0
  350. package/node_modules/@cloudbase/database/dist/commonjs/query.d.ts +22 -0
  351. package/node_modules/@cloudbase/database/dist/commonjs/query.js +252 -0
  352. package/node_modules/@cloudbase/database/dist/commonjs/regexp/index.d.ts +14 -0
  353. package/node_modules/@cloudbase/database/dist/commonjs/regexp/index.js +33 -0
  354. package/node_modules/@cloudbase/database/dist/commonjs/serializer/common.d.ts +11 -0
  355. package/node_modules/@cloudbase/database/dist/commonjs/serializer/common.js +127 -0
  356. package/node_modules/@cloudbase/database/dist/commonjs/serializer/datatype.d.ts +7 -0
  357. package/node_modules/@cloudbase/database/dist/commonjs/serializer/datatype.js +132 -0
  358. package/node_modules/@cloudbase/database/dist/commonjs/serializer/query.d.ts +7 -0
  359. package/node_modules/@cloudbase/database/dist/commonjs/serializer/query.js +232 -0
  360. package/node_modules/@cloudbase/database/dist/commonjs/serializer/update.d.ts +15 -0
  361. package/node_modules/@cloudbase/database/dist/commonjs/serializer/update.js +142 -0
  362. package/node_modules/@cloudbase/database/dist/commonjs/serverDate/index.d.ts +13 -0
  363. package/node_modules/@cloudbase/database/dist/commonjs/serverDate/index.js +30 -0
  364. package/node_modules/@cloudbase/database/dist/commonjs/transaction/collection.d.ts +7 -0
  365. package/node_modules/@cloudbase/database/dist/commonjs/transaction/collection.js +49 -0
  366. package/node_modules/@cloudbase/database/dist/commonjs/transaction/document.d.ts +27 -0
  367. package/node_modules/@cloudbase/database/dist/commonjs/transaction/document.js +205 -0
  368. package/node_modules/@cloudbase/database/dist/commonjs/transaction/index.d.ts +30 -0
  369. package/node_modules/@cloudbase/database/dist/commonjs/transaction/index.js +215 -0
  370. package/node_modules/@cloudbase/database/dist/commonjs/transaction/query.d.ts +43 -0
  371. package/node_modules/@cloudbase/database/dist/commonjs/transaction/query.js +261 -0
  372. package/node_modules/@cloudbase/database/dist/commonjs/typings/index.d.ts +40 -0
  373. package/node_modules/@cloudbase/database/dist/commonjs/typings/index.js +2 -0
  374. package/node_modules/@cloudbase/database/dist/commonjs/typings/realtime.d.ts +219 -0
  375. package/node_modules/@cloudbase/database/dist/commonjs/typings/realtime.js +2 -0
  376. package/node_modules/@cloudbase/database/dist/commonjs/util.d.ts +9 -0
  377. package/node_modules/@cloudbase/database/dist/commonjs/util.js +145 -0
  378. package/node_modules/@cloudbase/database/dist/commonjs/utils/error.d.ts +38 -0
  379. package/node_modules/@cloudbase/database/dist/commonjs/utils/error.js +91 -0
  380. package/node_modules/@cloudbase/database/dist/commonjs/utils/msg.d.ts +0 -0
  381. package/node_modules/@cloudbase/database/dist/commonjs/utils/msg.js +0 -0
  382. package/node_modules/@cloudbase/database/dist/commonjs/utils/symbol.d.ts +8 -0
  383. package/node_modules/@cloudbase/database/dist/commonjs/utils/symbol.js +58 -0
  384. package/node_modules/@cloudbase/database/dist/commonjs/utils/type.d.ts +13 -0
  385. package/node_modules/@cloudbase/database/dist/commonjs/utils/type.js +34 -0
  386. package/node_modules/@cloudbase/database/dist/commonjs/utils/utils.d.ts +4 -0
  387. package/node_modules/@cloudbase/database/dist/commonjs/utils/utils.js +39 -0
  388. package/node_modules/@cloudbase/database/dist/commonjs/validate.d.ts +1 -0
  389. package/node_modules/@cloudbase/database/dist/commonjs/validate.js +60 -0
  390. package/node_modules/@cloudbase/database/dist/esm/aggregate.d.ts +29 -0
  391. package/node_modules/@cloudbase/database/dist/esm/aggregate.js +154 -0
  392. package/node_modules/@cloudbase/database/dist/esm/collection.d.ts +9 -0
  393. package/node_modules/@cloudbase/database/dist/esm/collection.js +46 -0
  394. package/node_modules/@cloudbase/database/dist/esm/command.d.ts +175 -0
  395. package/node_modules/@cloudbase/database/dist/esm/command.js +296 -0
  396. package/node_modules/@cloudbase/database/dist/esm/commands/logic.d.ts +24 -0
  397. package/node_modules/@cloudbase/database/dist/esm/commands/logic.js +84 -0
  398. package/node_modules/@cloudbase/database/dist/esm/commands/query.d.ts +68 -0
  399. package/node_modules/@cloudbase/database/dist/esm/commands/query.js +154 -0
  400. package/node_modules/@cloudbase/database/dist/esm/commands/update.d.ts +29 -0
  401. package/node_modules/@cloudbase/database/dist/esm/commands/update.js +46 -0
  402. package/node_modules/@cloudbase/database/dist/esm/config/app.config.d.ts +6 -0
  403. package/node_modules/@cloudbase/database/dist/esm/config/app.config.js +5 -0
  404. package/node_modules/@cloudbase/database/dist/esm/config/error.config.d.ts +3 -0
  405. package/node_modules/@cloudbase/database/dist/esm/config/error.config.js +13 -0
  406. package/node_modules/@cloudbase/database/dist/esm/const/code.d.ts +30 -0
  407. package/node_modules/@cloudbase/database/dist/esm/const/code.js +30 -0
  408. package/node_modules/@cloudbase/database/dist/esm/constant.d.ts +51 -0
  409. package/node_modules/@cloudbase/database/dist/esm/constant.js +65 -0
  410. package/node_modules/@cloudbase/database/dist/esm/document.d.ts +11 -0
  411. package/node_modules/@cloudbase/database/dist/esm/document.js +257 -0
  412. package/node_modules/@cloudbase/database/dist/esm/geo/index.d.ts +6 -0
  413. package/node_modules/@cloudbase/database/dist/esm/geo/index.js +6 -0
  414. package/node_modules/@cloudbase/database/dist/esm/geo/interface.d.ts +24 -0
  415. package/node_modules/@cloudbase/database/dist/esm/geo/interface.js +1 -0
  416. package/node_modules/@cloudbase/database/dist/esm/geo/lineString.d.ts +19 -0
  417. package/node_modules/@cloudbase/database/dist/esm/geo/lineString.js +83 -0
  418. package/node_modules/@cloudbase/database/dist/esm/geo/multiLineString.d.ts +18 -0
  419. package/node_modules/@cloudbase/database/dist/esm/geo/multiLineString.js +92 -0
  420. package/node_modules/@cloudbase/database/dist/esm/geo/multiPoint.d.ts +18 -0
  421. package/node_modules/@cloudbase/database/dist/esm/geo/multiPoint.js +76 -0
  422. package/node_modules/@cloudbase/database/dist/esm/geo/multiPolygon.d.ts +18 -0
  423. package/node_modules/@cloudbase/database/dist/esm/geo/multiPolygon.js +119 -0
  424. package/node_modules/@cloudbase/database/dist/esm/geo/point.d.ts +19 -0
  425. package/node_modules/@cloudbase/database/dist/esm/geo/point.js +47 -0
  426. package/node_modules/@cloudbase/database/dist/esm/geo/polygon.d.ts +19 -0
  427. package/node_modules/@cloudbase/database/dist/esm/geo/polygon.js +106 -0
  428. package/node_modules/@cloudbase/database/dist/esm/helper/symbol.d.ts +14 -0
  429. package/node_modules/@cloudbase/database/dist/esm/helper/symbol.js +14 -0
  430. package/node_modules/@cloudbase/database/dist/esm/index.d.ts +40 -0
  431. package/node_modules/@cloudbase/database/dist/esm/index.js +55 -0
  432. package/node_modules/@cloudbase/database/dist/esm/lib/util.d.ts +1 -0
  433. package/node_modules/@cloudbase/database/dist/esm/lib/util.js +22 -0
  434. package/node_modules/@cloudbase/database/dist/esm/operator-map.d.ts +4 -0
  435. package/node_modules/@cloudbase/database/dist/esm/operator-map.js +20 -0
  436. package/node_modules/@cloudbase/database/dist/esm/query.d.ts +22 -0
  437. package/node_modules/@cloudbase/database/dist/esm/query.js +249 -0
  438. package/node_modules/@cloudbase/database/dist/esm/regexp/index.d.ts +14 -0
  439. package/node_modules/@cloudbase/database/dist/esm/regexp/index.js +29 -0
  440. package/node_modules/@cloudbase/database/dist/esm/serializer/common.d.ts +11 -0
  441. package/node_modules/@cloudbase/database/dist/esm/serializer/common.js +118 -0
  442. package/node_modules/@cloudbase/database/dist/esm/serializer/datatype.d.ts +7 -0
  443. package/node_modules/@cloudbase/database/dist/esm/serializer/datatype.js +127 -0
  444. package/node_modules/@cloudbase/database/dist/esm/serializer/query.d.ts +7 -0
  445. package/node_modules/@cloudbase/database/dist/esm/serializer/query.js +229 -0
  446. package/node_modules/@cloudbase/database/dist/esm/serializer/update.d.ts +15 -0
  447. package/node_modules/@cloudbase/database/dist/esm/serializer/update.js +139 -0
  448. package/node_modules/@cloudbase/database/dist/esm/serverDate/index.d.ts +13 -0
  449. package/node_modules/@cloudbase/database/dist/esm/serverDate/index.js +26 -0
  450. package/node_modules/@cloudbase/database/dist/esm/transaction/collection.d.ts +7 -0
  451. package/node_modules/@cloudbase/database/dist/esm/transaction/collection.js +46 -0
  452. package/node_modules/@cloudbase/database/dist/esm/transaction/document.d.ts +27 -0
  453. package/node_modules/@cloudbase/database/dist/esm/transaction/document.js +202 -0
  454. package/node_modules/@cloudbase/database/dist/esm/transaction/index.d.ts +30 -0
  455. package/node_modules/@cloudbase/database/dist/esm/transaction/index.js +210 -0
  456. package/node_modules/@cloudbase/database/dist/esm/transaction/query.d.ts +43 -0
  457. package/node_modules/@cloudbase/database/dist/esm/transaction/query.js +258 -0
  458. package/node_modules/@cloudbase/database/dist/esm/typings/index.d.ts +40 -0
  459. package/node_modules/@cloudbase/database/dist/esm/typings/index.js +1 -0
  460. package/node_modules/@cloudbase/database/dist/esm/typings/realtime.d.ts +219 -0
  461. package/node_modules/@cloudbase/database/dist/esm/typings/realtime.js +1 -0
  462. package/node_modules/@cloudbase/database/dist/esm/util.d.ts +9 -0
  463. package/node_modules/@cloudbase/database/dist/esm/util.js +142 -0
  464. package/node_modules/@cloudbase/database/dist/esm/utils/error.d.ts +38 -0
  465. package/node_modules/@cloudbase/database/dist/esm/utils/error.js +84 -0
  466. package/node_modules/@cloudbase/database/dist/esm/utils/msg.d.ts +0 -0
  467. package/node_modules/@cloudbase/database/dist/esm/utils/msg.js +0 -0
  468. package/node_modules/@cloudbase/database/dist/esm/utils/symbol.d.ts +8 -0
  469. package/node_modules/@cloudbase/database/dist/esm/utils/symbol.js +55 -0
  470. package/node_modules/@cloudbase/database/dist/esm/utils/type.d.ts +13 -0
  471. package/node_modules/@cloudbase/database/dist/esm/utils/type.js +20 -0
  472. package/node_modules/@cloudbase/database/dist/esm/utils/utils.d.ts +4 -0
  473. package/node_modules/@cloudbase/database/dist/esm/utils/utils.js +33 -0
  474. package/node_modules/@cloudbase/database/dist/esm/validate.d.ts +1 -0
  475. package/node_modules/@cloudbase/database/dist/esm/validate.js +57 -0
  476. package/node_modules/@cloudbase/database/package.json +36 -0
  477. package/node_modules/@cloudbase/database/tsconfig.test.json +15 -0
  478. package/node_modules/@cloudbase/functions/.eslintrc.js +15 -0
  479. package/node_modules/@cloudbase/functions/dist/cjs/index.d.ts +2 -0
  480. package/node_modules/@cloudbase/functions/dist/cjs/index.js +223 -0
  481. package/node_modules/@cloudbase/functions/dist/esm/index.d.ts +2 -0
  482. package/node_modules/@cloudbase/functions/dist/esm/index.js +219 -0
  483. package/node_modules/@cloudbase/functions/package.json +32 -0
  484. package/node_modules/@cloudbase/model/.eslintrc.js +15 -0
  485. package/node_modules/@cloudbase/model/dist/cjs/index.d.ts +5 -0
  486. package/node_modules/@cloudbase/model/dist/cjs/index.js +144 -0
  487. package/node_modules/@cloudbase/model/dist/esm/index.d.ts +5 -0
  488. package/node_modules/@cloudbase/model/dist/esm/index.js +125 -0
  489. package/node_modules/@cloudbase/model/package.json +29 -0
  490. package/node_modules/@cloudbase/mysql/.eslintrc.js +6 -0
  491. package/node_modules/@cloudbase/mysql/dist/cjs/index.d.ts +4 -0
  492. package/node_modules/@cloudbase/mysql/dist/cjs/index.d.ts.map +1 -0
  493. package/node_modules/@cloudbase/mysql/dist/cjs/index.js +173 -0
  494. package/node_modules/@cloudbase/mysql/dist/esm/index.d.ts +3 -0
  495. package/node_modules/@cloudbase/mysql/dist/esm/index.js +155 -0
  496. package/node_modules/@cloudbase/mysql/package.json +30 -0
  497. package/node_modules/@cloudbase/oauth/.eslintrc.js +15 -0
  498. package/node_modules/@cloudbase/oauth/dist/cjs/auth/apis.d.ts +142 -0
  499. package/node_modules/@cloudbase/oauth/dist/cjs/auth/apis.js +1280 -0
  500. package/node_modules/@cloudbase/oauth/dist/cjs/auth/auth-error.d.ts +22 -0
  501. package/node_modules/@cloudbase/oauth/dist/cjs/auth/auth-error.js +278 -0
  502. package/node_modules/@cloudbase/oauth/dist/cjs/auth/consts.d.ts +139 -0
  503. package/node_modules/@cloudbase/oauth/dist/cjs/auth/consts.js +147 -0
  504. package/node_modules/@cloudbase/oauth/dist/cjs/auth/models.d.ts +557 -0
  505. package/node_modules/@cloudbase/oauth/dist/cjs/auth/models.js +3 -0
  506. package/node_modules/@cloudbase/oauth/dist/cjs/captcha/captcha-dom.d.ts +3 -0
  507. package/node_modules/@cloudbase/oauth/dist/cjs/captcha/captcha-dom.js +223 -0
  508. package/node_modules/@cloudbase/oauth/dist/cjs/captcha/captcha.d.ts +42 -0
  509. package/node_modules/@cloudbase/oauth/dist/cjs/captcha/captcha.js +205 -0
  510. package/node_modules/@cloudbase/oauth/dist/cjs/index.d.ts +22 -0
  511. package/node_modules/@cloudbase/oauth/dist/cjs/index.js +107 -0
  512. package/node_modules/@cloudbase/oauth/dist/cjs/oauth2client/consts.d.ts +20 -0
  513. package/node_modules/@cloudbase/oauth/dist/cjs/oauth2client/consts.js +26 -0
  514. package/node_modules/@cloudbase/oauth/dist/cjs/oauth2client/interface.d.ts +15 -0
  515. package/node_modules/@cloudbase/oauth/dist/cjs/oauth2client/interface.js +10 -0
  516. package/node_modules/@cloudbase/oauth/dist/cjs/oauth2client/models.d.ts +74 -0
  517. package/node_modules/@cloudbase/oauth/dist/cjs/oauth2client/models.js +3 -0
  518. package/node_modules/@cloudbase/oauth/dist/cjs/oauth2client/oauth2client.d.ts +129 -0
  519. package/node_modules/@cloudbase/oauth/dist/cjs/oauth2client/oauth2client.js +1174 -0
  520. package/node_modules/@cloudbase/oauth/dist/cjs/utils/base64.d.ts +9 -0
  521. package/node_modules/@cloudbase/oauth/dist/cjs/utils/base64.js +112 -0
  522. package/node_modules/@cloudbase/oauth/dist/cjs/utils/encrypt.d.ts +4 -0
  523. package/node_modules/@cloudbase/oauth/dist/cjs/utils/encrypt.js +26 -0
  524. package/node_modules/@cloudbase/oauth/dist/cjs/utils/encryptlong/index.d.ts +546 -0
  525. package/node_modules/@cloudbase/oauth/dist/cjs/utils/encryptlong/index.js +2982 -0
  526. package/node_modules/@cloudbase/oauth/dist/cjs/utils/function/single-promise.d.ts +6 -0
  527. package/node_modules/@cloudbase/oauth/dist/cjs/utils/function/single-promise.js +94 -0
  528. package/node_modules/@cloudbase/oauth/dist/cjs/utils/index.d.ts +2 -0
  529. package/node_modules/@cloudbase/oauth/dist/cjs/utils/index.js +56 -0
  530. package/node_modules/@cloudbase/oauth/dist/cjs/utils/mp.d.ts +2 -0
  531. package/node_modules/@cloudbase/oauth/dist/cjs/utils/mp.js +66 -0
  532. package/node_modules/@cloudbase/oauth/dist/cjs/utils/urlSearchParams.d.ts +13 -0
  533. package/node_modules/@cloudbase/oauth/dist/cjs/utils/urlSearchParams.js +66 -0
  534. package/node_modules/@cloudbase/oauth/dist/cjs/utils/uuid.d.ts +1 -0
  535. package/node_modules/@cloudbase/oauth/dist/cjs/utils/uuid.js +12 -0
  536. package/node_modules/@cloudbase/oauth/dist/esm/auth/apis.d.ts +142 -0
  537. package/node_modules/@cloudbase/oauth/dist/esm/auth/apis.js +768 -0
  538. package/node_modules/@cloudbase/oauth/dist/esm/auth/auth-error.d.ts +22 -0
  539. package/node_modules/@cloudbase/oauth/dist/esm/auth/auth-error.js +255 -0
  540. package/node_modules/@cloudbase/oauth/dist/esm/auth/consts.d.ts +139 -0
  541. package/node_modules/@cloudbase/oauth/dist/esm/auth/consts.js +144 -0
  542. package/node_modules/@cloudbase/oauth/dist/esm/auth/models.d.ts +557 -0
  543. package/node_modules/@cloudbase/oauth/dist/esm/auth/models.js +2 -0
  544. package/node_modules/@cloudbase/oauth/dist/esm/captcha/captcha-dom.d.ts +3 -0
  545. package/node_modules/@cloudbase/oauth/dist/esm/captcha/captcha-dom.js +130 -0
  546. package/node_modules/@cloudbase/oauth/dist/esm/captcha/captcha.d.ts +42 -0
  547. package/node_modules/@cloudbase/oauth/dist/esm/captcha/captcha.js +104 -0
  548. package/node_modules/@cloudbase/oauth/dist/esm/index.d.ts +22 -0
  549. package/node_modules/@cloudbase/oauth/dist/esm/index.js +64 -0
  550. package/node_modules/@cloudbase/oauth/dist/esm/oauth2client/consts.d.ts +20 -0
  551. package/node_modules/@cloudbase/oauth/dist/esm/oauth2client/consts.js +22 -0
  552. package/node_modules/@cloudbase/oauth/dist/esm/oauth2client/interface.d.ts +15 -0
  553. package/node_modules/@cloudbase/oauth/dist/esm/oauth2client/interface.js +3 -0
  554. package/node_modules/@cloudbase/oauth/dist/esm/oauth2client/models.d.ts +74 -0
  555. package/node_modules/@cloudbase/oauth/dist/esm/oauth2client/models.js +2 -0
  556. package/node_modules/@cloudbase/oauth/dist/esm/oauth2client/oauth2client.d.ts +129 -0
  557. package/node_modules/@cloudbase/oauth/dist/esm/oauth2client/oauth2client.js +711 -0
  558. package/node_modules/@cloudbase/oauth/dist/esm/utils/base64.d.ts +9 -0
  559. package/node_modules/@cloudbase/oauth/dist/esm/utils/base64.js +104 -0
  560. package/node_modules/@cloudbase/oauth/dist/esm/utils/encrypt.d.ts +4 -0
  561. package/node_modules/@cloudbase/oauth/dist/esm/utils/encrypt.js +18 -0
  562. package/node_modules/@cloudbase/oauth/dist/esm/utils/encryptlong/index.d.ts +546 -0
  563. package/node_modules/@cloudbase/oauth/dist/esm/utils/encryptlong/index.js +2953 -0
  564. package/node_modules/@cloudbase/oauth/dist/esm/utils/function/single-promise.d.ts +6 -0
  565. package/node_modules/@cloudbase/oauth/dist/esm/utils/function/single-promise.js +34 -0
  566. package/node_modules/@cloudbase/oauth/dist/esm/utils/index.d.ts +2 -0
  567. package/node_modules/@cloudbase/oauth/dist/esm/utils/index.js +51 -0
  568. package/node_modules/@cloudbase/oauth/dist/esm/utils/mp.d.ts +2 -0
  569. package/node_modules/@cloudbase/oauth/dist/esm/utils/mp.js +61 -0
  570. package/node_modules/@cloudbase/oauth/dist/esm/utils/urlSearchParams.d.ts +13 -0
  571. package/node_modules/@cloudbase/oauth/dist/esm/utils/urlSearchParams.js +58 -0
  572. package/node_modules/@cloudbase/oauth/dist/esm/utils/uuid.d.ts +1 -0
  573. package/node_modules/@cloudbase/oauth/dist/esm/utils/uuid.js +8 -0
  574. package/node_modules/@cloudbase/oauth/dist/miniprogram/index.js +1 -0
  575. package/node_modules/@cloudbase/oauth/package.json +20 -0
  576. package/node_modules/@cloudbase/realtime/.eslintrc.js +15 -0
  577. package/node_modules/@cloudbase/realtime/dist/cjs/common.d.ts +4 -0
  578. package/node_modules/@cloudbase/realtime/dist/cjs/common.js +22 -0
  579. package/node_modules/@cloudbase/realtime/dist/cjs/error.d.ts +36 -0
  580. package/node_modules/@cloudbase/realtime/dist/cjs/error.js +106 -0
  581. package/node_modules/@cloudbase/realtime/dist/cjs/index.d.ts +2 -0
  582. package/node_modules/@cloudbase/realtime/dist/cjs/index.js +36 -0
  583. package/node_modules/@cloudbase/realtime/dist/cjs/listener.d.ts +14 -0
  584. package/node_modules/@cloudbase/realtime/dist/cjs/listener.js +18 -0
  585. package/node_modules/@cloudbase/realtime/dist/cjs/message.d.ts +3 -0
  586. package/node_modules/@cloudbase/realtime/dist/cjs/message.js +13 -0
  587. package/node_modules/@cloudbase/realtime/dist/cjs/snapshot.d.ts +17 -0
  588. package/node_modules/@cloudbase/realtime/dist/cjs/snapshot.js +45 -0
  589. package/node_modules/@cloudbase/realtime/dist/cjs/utils.d.ts +1 -0
  590. package/node_modules/@cloudbase/realtime/dist/cjs/utils.js +9 -0
  591. package/node_modules/@cloudbase/realtime/dist/cjs/virtual-websocket-client.d.ts +62 -0
  592. package/node_modules/@cloudbase/realtime/dist/cjs/virtual-websocket-client.js +960 -0
  593. package/node_modules/@cloudbase/realtime/dist/cjs/websocket-client.d.ts +78 -0
  594. package/node_modules/@cloudbase/realtime/dist/cjs/websocket-client.js +750 -0
  595. package/node_modules/@cloudbase/realtime/dist/cjs/ws-event.d.ts +126 -0
  596. package/node_modules/@cloudbase/realtime/dist/cjs/ws-event.js +141 -0
  597. package/node_modules/@cloudbase/realtime/dist/esm/common.d.ts +4 -0
  598. package/node_modules/@cloudbase/realtime/dist/esm/common.js +15 -0
  599. package/node_modules/@cloudbase/realtime/dist/esm/error.d.ts +36 -0
  600. package/node_modules/@cloudbase/realtime/dist/esm/error.js +100 -0
  601. package/node_modules/@cloudbase/realtime/dist/esm/index.d.ts +2 -0
  602. package/node_modules/@cloudbase/realtime/dist/esm/index.js +32 -0
  603. package/node_modules/@cloudbase/realtime/dist/esm/listener.d.ts +14 -0
  604. package/node_modules/@cloudbase/realtime/dist/esm/listener.js +15 -0
  605. package/node_modules/@cloudbase/realtime/dist/esm/message.d.ts +3 -0
  606. package/node_modules/@cloudbase/realtime/dist/esm/message.js +8 -0
  607. package/node_modules/@cloudbase/realtime/dist/esm/snapshot.d.ts +17 -0
  608. package/node_modules/@cloudbase/realtime/dist/esm/snapshot.js +42 -0
  609. package/node_modules/@cloudbase/realtime/dist/esm/utils.d.ts +1 -0
  610. package/node_modules/@cloudbase/realtime/dist/esm/utils.js +5 -0
  611. package/node_modules/@cloudbase/realtime/dist/esm/virtual-websocket-client.d.ts +62 -0
  612. package/node_modules/@cloudbase/realtime/dist/esm/virtual-websocket-client.js +954 -0
  613. package/node_modules/@cloudbase/realtime/dist/esm/websocket-client.d.ts +78 -0
  614. package/node_modules/@cloudbase/realtime/dist/esm/websocket-client.js +747 -0
  615. package/node_modules/@cloudbase/realtime/dist/esm/ws-event.d.ts +126 -0
  616. package/node_modules/@cloudbase/realtime/dist/esm/ws-event.js +137 -0
  617. package/node_modules/@cloudbase/realtime/package.json +29 -0
  618. package/node_modules/@cloudbase/storage/.eslintrc.js +15 -0
  619. package/node_modules/@cloudbase/storage/dist/cjs/index.d.ts +195 -0
  620. package/node_modules/@cloudbase/storage/dist/cjs/index.js +1426 -0
  621. package/node_modules/@cloudbase/storage/dist/cjs/supabase/errors.d.ts +20 -0
  622. package/node_modules/@cloudbase/storage/dist/cjs/supabase/errors.js +65 -0
  623. package/node_modules/@cloudbase/storage/dist/cjs/supabase/types.d.ts +64 -0
  624. package/node_modules/@cloudbase/storage/dist/cjs/supabase/types.js +3 -0
  625. package/node_modules/@cloudbase/storage/dist/esm/index.d.ts +195 -0
  626. package/node_modules/@cloudbase/storage/dist/esm/index.js +1422 -0
  627. package/node_modules/@cloudbase/storage/dist/esm/supabase/errors.d.ts +20 -0
  628. package/node_modules/@cloudbase/storage/dist/esm/supabase/errors.js +61 -0
  629. package/node_modules/@cloudbase/storage/dist/esm/supabase/types.d.ts +64 -0
  630. package/node_modules/@cloudbase/storage/dist/esm/supabase/types.js +2 -0
  631. package/node_modules/@cloudbase/storage/package.json +28 -0
  632. package/node_modules/@cloudbase/types/auth.d.ts +99 -0
  633. package/node_modules/@cloudbase/types/cache.d.ts +26 -0
  634. package/node_modules/@cloudbase/types/cloudrun.d.ts +9 -0
  635. package/node_modules/@cloudbase/types/component.d.ts +17 -0
  636. package/node_modules/@cloudbase/types/database.d.ts +31 -0
  637. package/node_modules/@cloudbase/types/events.d.ts +13 -0
  638. package/node_modules/@cloudbase/types/functions.d.ts +40 -0
  639. package/node_modules/@cloudbase/types/index.d.ts +211 -0
  640. package/node_modules/@cloudbase/types/index.js +1 -0
  641. package/node_modules/@cloudbase/types/package.json +43 -0
  642. package/node_modules/@cloudbase/types/realtime.d.ts +350 -0
  643. package/node_modules/@cloudbase/types/request.d.ts +30 -0
  644. package/node_modules/@cloudbase/types/storage.d.ts +126 -0
  645. package/node_modules/@cloudbase/utilities/.eslintrc.js +15 -0
  646. package/node_modules/@cloudbase/utilities/dist/cjs/adapters/index.d.ts +45 -0
  647. package/node_modules/@cloudbase/utilities/dist/cjs/adapters/index.js +68 -0
  648. package/node_modules/@cloudbase/utilities/dist/cjs/adapters/platforms/web.d.ts +20 -0
  649. package/node_modules/@cloudbase/utilities/dist/cjs/adapters/platforms/web.js +278 -0
  650. package/node_modules/@cloudbase/utilities/dist/cjs/constants/common.d.ts +6 -0
  651. package/node_modules/@cloudbase/utilities/dist/cjs/constants/common.js +24 -0
  652. package/node_modules/@cloudbase/utilities/dist/cjs/constants/errors.d.ts +8 -0
  653. package/node_modules/@cloudbase/utilities/dist/cjs/constants/errors.js +12 -0
  654. package/node_modules/@cloudbase/utilities/dist/cjs/constants/index.d.ts +3 -0
  655. package/node_modules/@cloudbase/utilities/dist/cjs/constants/index.js +21 -0
  656. package/node_modules/@cloudbase/utilities/dist/cjs/helpers/decorators.d.ts +11 -0
  657. package/node_modules/@cloudbase/utilities/dist/cjs/helpers/decorators.js +238 -0
  658. package/node_modules/@cloudbase/utilities/dist/cjs/helpers/index.d.ts +1 -0
  659. package/node_modules/@cloudbase/utilities/dist/cjs/helpers/index.js +18 -0
  660. package/node_modules/@cloudbase/utilities/dist/cjs/index.d.ts +13 -0
  661. package/node_modules/@cloudbase/utilities/dist/cjs/index.js +51 -0
  662. package/node_modules/@cloudbase/utilities/dist/cjs/libs/abortController.d.ts +9 -0
  663. package/node_modules/@cloudbase/utilities/dist/cjs/libs/abortController.js +25 -0
  664. package/node_modules/@cloudbase/utilities/dist/cjs/libs/cache.d.ts +17 -0
  665. package/node_modules/@cloudbase/utilities/dist/cjs/libs/cache.js +261 -0
  666. package/node_modules/@cloudbase/utilities/dist/cjs/libs/events.d.ts +27 -0
  667. package/node_modules/@cloudbase/utilities/dist/cjs/libs/events.js +108 -0
  668. package/node_modules/@cloudbase/utilities/dist/cjs/libs/langEvent.d.ts +3 -0
  669. package/node_modules/@cloudbase/utilities/dist/cjs/libs/langEvent.js +7 -0
  670. package/node_modules/@cloudbase/utilities/dist/cjs/libs/util.d.ts +49 -0
  671. package/node_modules/@cloudbase/utilities/dist/cjs/libs/util.js +282 -0
  672. package/node_modules/@cloudbase/utilities/dist/esm/adapters/index.d.ts +45 -0
  673. package/node_modules/@cloudbase/utilities/dist/esm/adapters/index.js +40 -0
  674. package/node_modules/@cloudbase/utilities/dist/esm/adapters/platforms/web.d.ts +20 -0
  675. package/node_modules/@cloudbase/utilities/dist/esm/adapters/platforms/web.js +274 -0
  676. package/node_modules/@cloudbase/utilities/dist/esm/constants/common.d.ts +6 -0
  677. package/node_modules/@cloudbase/utilities/dist/esm/constants/common.js +17 -0
  678. package/node_modules/@cloudbase/utilities/dist/esm/constants/errors.d.ts +8 -0
  679. package/node_modules/@cloudbase/utilities/dist/esm/constants/errors.js +9 -0
  680. package/node_modules/@cloudbase/utilities/dist/esm/constants/index.d.ts +3 -0
  681. package/node_modules/@cloudbase/utilities/dist/esm/constants/index.js +4 -0
  682. package/node_modules/@cloudbase/utilities/dist/esm/helpers/decorators.d.ts +11 -0
  683. package/node_modules/@cloudbase/utilities/dist/esm/helpers/decorators.js +234 -0
  684. package/node_modules/@cloudbase/utilities/dist/esm/helpers/index.d.ts +1 -0
  685. package/node_modules/@cloudbase/utilities/dist/esm/helpers/index.js +2 -0
  686. package/node_modules/@cloudbase/utilities/dist/esm/index.d.ts +13 -0
  687. package/node_modules/@cloudbase/utilities/dist/esm/index.js +14 -0
  688. package/node_modules/@cloudbase/utilities/dist/esm/libs/abortController.d.ts +9 -0
  689. package/node_modules/@cloudbase/utilities/dist/esm/libs/abortController.js +23 -0
  690. package/node_modules/@cloudbase/utilities/dist/esm/libs/cache.d.ts +17 -0
  691. package/node_modules/@cloudbase/utilities/dist/esm/libs/cache.js +258 -0
  692. package/node_modules/@cloudbase/utilities/dist/esm/libs/events.d.ts +27 -0
  693. package/node_modules/@cloudbase/utilities/dist/esm/libs/events.js +102 -0
  694. package/node_modules/@cloudbase/utilities/dist/esm/libs/langEvent.d.ts +3 -0
  695. package/node_modules/@cloudbase/utilities/dist/esm/libs/langEvent.js +4 -0
  696. package/node_modules/@cloudbase/utilities/dist/esm/libs/util.d.ts +49 -0
  697. package/node_modules/@cloudbase/utilities/dist/esm/libs/util.js +254 -0
  698. package/node_modules/@cloudbase/utilities/dist/miniprogram/index.js +1 -0
  699. package/node_modules/@cloudbase/utilities/package.json +26 -0
  700. package/oauth/src/index.d.ts +1 -0
  701. package/oauth/src/index.ts +1 -0
  702. package/package.json +20 -6
  703. package/realtime/src/index.d.ts +2 -0
  704. package/realtime/src/index.ts +8 -0
  705. package/storage/src/index.d.ts +2 -0
  706. package/storage/src/index.js +5 -0
  707. package/storage/src/index.ts +4 -0
@@ -0,0 +1,711 @@
1
+ import { ErrorType } from './consts';
2
+ import { ApiUrls, ApiUrlsV2, AUTH_API_PREFIX, AUTH_STATE_CHANGED_TYPE, DEFAULT_NODE_ACCESS_SCOPE, EVENTS, } from '../auth/consts';
3
+ import { uuidv4 } from '../utils/uuid';
4
+ import { getPathName } from '../utils/index';
5
+ import { SinglePromise } from '../utils/function/single-promise';
6
+ import { weBtoa } from '../utils/base64';
7
+ import { isMp } from '../utils/mp';
8
+ import { langEvent } from '@cloudbase/utilities';
9
+ const RequestIdHeaderName = 'x-request-id';
10
+ const DeviceIdHeaderName = 'x-device-id';
11
+ const DeviceIdSectionName = 'device_id';
12
+ export const defaultRequest = async function (url, options) {
13
+ let result = null;
14
+ let responseError = null;
15
+ try {
16
+ const copyOptions = Object.assign({}, options);
17
+ if (!copyOptions.method) {
18
+ copyOptions.method = 'GET';
19
+ }
20
+ if (copyOptions.body && typeof copyOptions.body !== 'string') {
21
+ copyOptions.body = JSON.stringify(copyOptions.body);
22
+ }
23
+ const responseResult = await fetch(url, copyOptions);
24
+ const jsonResponse = await responseResult.json();
25
+ if (jsonResponse?.error) {
26
+ responseError = jsonResponse;
27
+ responseError.error_uri = new URL(url).pathname;
28
+ }
29
+ else {
30
+ result = jsonResponse;
31
+ }
32
+ }
33
+ catch (error) {
34
+ responseError = {
35
+ error: ErrorType.UNREACHABLE,
36
+ error_description: error.message,
37
+ error_uri: new URL(url).pathname,
38
+ };
39
+ }
40
+ if (responseError) {
41
+ throw responseError;
42
+ }
43
+ else {
44
+ return result;
45
+ }
46
+ };
47
+ export const toResponseError = (error, options) => {
48
+ let responseError;
49
+ const formatOptions = options || {};
50
+ if (error instanceof Error) {
51
+ responseError = {
52
+ error: formatOptions.error || ErrorType.LOCAL,
53
+ error_description: formatOptions.error_description || error.message,
54
+ error_uri: formatOptions.error_uri,
55
+ details: formatOptions.details || error.stack,
56
+ };
57
+ }
58
+ else {
59
+ const formatError = error || {};
60
+ responseError = {
61
+ error: formatOptions.error || formatError.error || ErrorType.LOCAL,
62
+ error_description: formatOptions.error_description || formatError.error_description,
63
+ error_uri: formatOptions.error_uri || formatError.error_uri,
64
+ details: formatOptions.details || formatError.details,
65
+ };
66
+ }
67
+ return responseError;
68
+ };
69
+ export function generateRequestId() {
70
+ return uuidv4();
71
+ }
72
+ class DefaultStorage {
73
+ constructor(opts) {
74
+ this._env = opts?.env || '';
75
+ }
76
+ async getItem(key) {
77
+ return window.localStorage.getItem(`${key}${this._env}`);
78
+ }
79
+ async removeItem(key) {
80
+ window.localStorage.removeItem(`${key}${this._env}`);
81
+ }
82
+ async setItem(key, value) {
83
+ window.localStorage.setItem(`${key}${this._env}`, value);
84
+ }
85
+ getItemSync(key) {
86
+ return window.localStorage.getItem(`${key}${this._env}`);
87
+ }
88
+ removeItemSync(key) {
89
+ window.localStorage.removeItem(`${key}${this._env}`);
90
+ }
91
+ setItemSync(key, value) {
92
+ window.localStorage.setItem(`${key}${this._env}`, value);
93
+ }
94
+ }
95
+ export const defaultStorage = new DefaultStorage();
96
+ function isCredentialsExpired(credentials) {
97
+ let isExpired = true;
98
+ if (credentials?.expires_at && credentials?.access_token) {
99
+ isExpired = credentials.expires_at < new Date();
100
+ }
101
+ return isExpired;
102
+ }
103
+ class LocalCredentials {
104
+ constructor(options) {
105
+ this.credentials = null;
106
+ this.accessKeyCredentials = null;
107
+ this.singlePromise = null;
108
+ this.tokenSectionName = options.tokenSectionName;
109
+ this.storage = options.storage;
110
+ this.clientId = options.clientId;
111
+ this.singlePromise = new SinglePromise({ clientId: this.clientId });
112
+ this.credentials = options.credentials || null;
113
+ }
114
+ getStorageCredentialsSync() {
115
+ let credentials = null;
116
+ const tokenStr = this.storage.getItemSync(this.tokenSectionName);
117
+ if (tokenStr !== undefined && tokenStr !== null) {
118
+ try {
119
+ credentials = JSON.parse(tokenStr);
120
+ if (credentials?.expires_at) {
121
+ credentials.expires_at = new Date(credentials.expires_at);
122
+ }
123
+ }
124
+ catch (error) {
125
+ this.storage.removeItem(this.tokenSectionName);
126
+ credentials = null;
127
+ }
128
+ }
129
+ return credentials;
130
+ }
131
+ async setCredentials(credentials) {
132
+ if (credentials?.expires_in) {
133
+ if (!credentials?.expires_at) {
134
+ credentials.expires_at = new Date(Date.now() + (credentials.expires_in - 30) * 1000);
135
+ }
136
+ if (this.storage) {
137
+ const tokenStr = JSON.stringify(credentials);
138
+ await this.storage.setItem(this.tokenSectionName, tokenStr);
139
+ }
140
+ this.credentials = credentials;
141
+ }
142
+ else {
143
+ if (this.storage) {
144
+ await this.storage.removeItem(this.tokenSectionName);
145
+ }
146
+ this.credentials = null;
147
+ }
148
+ }
149
+ setAccessKeyCredentials(credentials) {
150
+ this.accessKeyCredentials = credentials;
151
+ if (credentials.scope === DEFAULT_NODE_ACCESS_SCOPE) {
152
+ this.credentials = credentials;
153
+ }
154
+ }
155
+ async getCredentials() {
156
+ return this.singlePromise.run('getCredentials', async () => {
157
+ if (isCredentialsExpired(this.credentials)) {
158
+ const { credentials, isAccessKeyCredentials } = await this.getStorageCredentials();
159
+ if (isAccessKeyCredentials) {
160
+ return credentials;
161
+ }
162
+ this.credentials = credentials;
163
+ }
164
+ return this.credentials;
165
+ });
166
+ }
167
+ async getStorageCredentials() {
168
+ return this.singlePromise.run('_getStorageCredentials', async () => {
169
+ let credentials = null;
170
+ let isAccessKeyCredentials = false;
171
+ const tokenStr = await this.storage.getItem(this.tokenSectionName);
172
+ if (!!tokenStr) {
173
+ try {
174
+ credentials = JSON.parse(tokenStr);
175
+ if (credentials?.expires_at) {
176
+ credentials.expires_at = new Date(credentials.expires_at);
177
+ }
178
+ }
179
+ catch (error) {
180
+ await this.storage.removeItem(this.tokenSectionName);
181
+ credentials = null;
182
+ }
183
+ }
184
+ else {
185
+ credentials = this.accessKeyCredentials || null;
186
+ isAccessKeyCredentials = true;
187
+ }
188
+ return { credentials, isAccessKeyCredentials };
189
+ });
190
+ }
191
+ }
192
+ class OAuth2Client {
193
+ constructor(options) {
194
+ this.initializePromise = null;
195
+ this.lockAcquired = false;
196
+ this.pendingInLock = [];
197
+ this.singlePromise = null;
198
+ if (!options.clientSecret) {
199
+ options.clientSecret = '';
200
+ }
201
+ if (!options.clientId && options.env) {
202
+ options.clientId = options.env;
203
+ }
204
+ this.apiOrigin = options.apiOrigin;
205
+ this.apiPath = options.apiPath || AUTH_API_PREFIX;
206
+ this.clientId = options.clientId;
207
+ this.i18n = options.i18n;
208
+ this.eventBus = options.eventBus;
209
+ this.singlePromise = new SinglePromise({ clientId: this.clientId });
210
+ this.retry = this.formatRetry(options.retry, OAuth2Client.defaultRetry);
211
+ if (options.baseRequest) {
212
+ this.baseRequest = options.baseRequest;
213
+ }
214
+ else {
215
+ this.baseRequest = defaultRequest;
216
+ }
217
+ this.tokenInURL = options.tokenInURL;
218
+ this.headers = options.headers;
219
+ this.storage = options.storage || defaultStorage;
220
+ this.localCredentials = new LocalCredentials({
221
+ tokenSectionName: `credentials_${options.clientId}`,
222
+ storage: this.storage,
223
+ clientId: options.clientId,
224
+ });
225
+ this.clientSecret = options.clientSecret;
226
+ if (options.clientId) {
227
+ this.basicAuth = `Basic ${weBtoa(`${options.clientId}:${this.clientSecret}`)}`;
228
+ }
229
+ this.wxCloud = options.wxCloud;
230
+ try {
231
+ if (isMp()) {
232
+ this.useWxCloud = options.useWxCloud;
233
+ if (this.wxCloud === undefined && options.env) {
234
+ wx.cloud.init({ env: options.env });
235
+ this.wxCloud = wx.cloud;
236
+ }
237
+ }
238
+ }
239
+ catch (error) {
240
+ }
241
+ this.refreshTokenFunc = options.refreshTokenFunc || this.defaultRefreshTokenFunc;
242
+ this.anonymousSignInFunc = options.anonymousSignInFunc;
243
+ this.onCredentialsError = options.onCredentialsError;
244
+ this.getInitialSession = options.getInitialSession;
245
+ this.onInitialSessionObtained = options.onInitialSessionObtained;
246
+ this.logDebugMessages = options.debug ?? false;
247
+ langEvent.bus.on(langEvent.LANG_CHANGE_EVENT, (params) => {
248
+ this.i18n = params.data?.i18n || this.i18n;
249
+ });
250
+ }
251
+ setGetInitialSession(callback) {
252
+ this.getInitialSession = callback;
253
+ }
254
+ setOnInitialSessionObtained(callback) {
255
+ this.onInitialSessionObtained = callback;
256
+ }
257
+ async initialize(func) {
258
+ if (this.initializePromise) {
259
+ return await this.initializePromise;
260
+ }
261
+ if (func !== undefined) {
262
+ this.initializePromise = func;
263
+ return await this.initializePromise;
264
+ }
265
+ this.initializePromise = (async () => await this._acquireLock(-1, async () => await this._initialize()))();
266
+ return await this.initializePromise;
267
+ }
268
+ async setCredentials(credentials) {
269
+ await this.initializePromise;
270
+ return this._acquireLock(-1, async () => this.localCredentials.setCredentials(credentials));
271
+ }
272
+ setAccessKeyCredentials(credentials) {
273
+ return this.localCredentials.setAccessKeyCredentials(credentials);
274
+ }
275
+ async getAccessToken() {
276
+ await this.initializePromise;
277
+ const credentials = await this.getCredentials();
278
+ if (credentials?.scope === DEFAULT_NODE_ACCESS_SCOPE) {
279
+ return Promise.resolve(credentials.access_token);
280
+ }
281
+ if (credentials?.access_token) {
282
+ return Promise.resolve(credentials.access_token);
283
+ }
284
+ const respErr = { error: ErrorType.UNAUTHENTICATED };
285
+ return Promise.reject(respErr);
286
+ }
287
+ async request(url, options) {
288
+ if (!options) {
289
+ options = {};
290
+ }
291
+ const retry = this.formatRetry(options.retry, this.retry);
292
+ options.headers = { ...options.headers, [this.i18n?.LANG_HEADER_KEY]: this.i18n?.lang };
293
+ if (this.headers) {
294
+ options.headers = {
295
+ ...this.headers,
296
+ ...options.headers,
297
+ };
298
+ }
299
+ if (!options.headers[RequestIdHeaderName]) {
300
+ options.headers[RequestIdHeaderName] = generateRequestId();
301
+ }
302
+ if (!options.headers[DeviceIdHeaderName]) {
303
+ const deviceId = await this.getDeviceId();
304
+ options.headers[DeviceIdHeaderName] = deviceId;
305
+ }
306
+ if (options?.withBasicAuth && this.basicAuth) {
307
+ options.headers.Authorization = this.basicAuth;
308
+ }
309
+ if (options?.withCredentials) {
310
+ const credentials = options.getCredentials ? await options.getCredentials() : await this.getCredentials();
311
+ if (credentials) {
312
+ if (this.tokenInURL) {
313
+ if (url.indexOf('?') < 0) {
314
+ url += '?';
315
+ }
316
+ url += `access_token=${credentials.access_token}`;
317
+ }
318
+ else {
319
+ options.headers.Authorization = `${credentials.token_type} ${credentials.access_token}`;
320
+ }
321
+ }
322
+ }
323
+ else {
324
+ if (this.clientId && url.indexOf('client_id') < 0) {
325
+ url += url.indexOf('?') < 0 ? '?' : '&';
326
+ url += `client_id=${this.clientId}`;
327
+ }
328
+ }
329
+ if (url.startsWith('/')) {
330
+ url = `${this.apiOrigin}${this.apiPath}${url}`;
331
+ }
332
+ let response = null;
333
+ const maxRequestTimes = retry + 1;
334
+ for (let requestTime = 0; requestTime < maxRequestTimes; requestTime++) {
335
+ try {
336
+ if (options.useWxCloud || this.useWxCloud) {
337
+ response = await this.wxCloudCallFunction(url, options);
338
+ }
339
+ else {
340
+ response = await this.baseRequest(url, options);
341
+ }
342
+ if (!!response?.code) {
343
+ throw {
344
+ error: response.code,
345
+ error_description: response.message,
346
+ error_uri: new URL(url).pathname,
347
+ };
348
+ }
349
+ break;
350
+ }
351
+ catch (responseError) {
352
+ try {
353
+ responseError.requestId = responseError.requestId || options.headers[RequestIdHeaderName] || '';
354
+ }
355
+ catch (error) { }
356
+ if (options.withCredentials && responseError && responseError.error === ErrorType.UNAUTHENTICATED) {
357
+ await this.setCredentials(null);
358
+ return Promise.reject(responseError);
359
+ }
360
+ if (requestTime === retry || !responseError || responseError.error !== 'unreachable') {
361
+ return Promise.reject(responseError);
362
+ }
363
+ }
364
+ await this.sleep(OAuth2Client.retryInterval);
365
+ }
366
+ return response;
367
+ }
368
+ async wxCloudCallFunction(url, options) {
369
+ let result = null;
370
+ let responseError = null;
371
+ try {
372
+ let userAgent = '';
373
+ try {
374
+ userAgent = await wx.getRendererUserAgent();
375
+ }
376
+ catch (error) { }
377
+ const { result: responseResult } = await this.wxCloud.callFunction({
378
+ name: 'httpOverCallFunction',
379
+ data: {
380
+ url,
381
+ method: options.method,
382
+ headers: {
383
+ origin: 'https://servicewechat.com',
384
+ 'User-Agent': userAgent,
385
+ ...options.headers,
386
+ },
387
+ body: options.body,
388
+ },
389
+ });
390
+ if (responseResult?.body?.error_code) {
391
+ responseError = responseResult?.body;
392
+ responseError.error_uri = getPathName(url);
393
+ }
394
+ else {
395
+ result = responseResult?.body;
396
+ }
397
+ }
398
+ catch (error) {
399
+ responseError = {
400
+ error: ErrorType.UNREACHABLE,
401
+ error_description: error.message,
402
+ error_uri: getPathName(url),
403
+ };
404
+ }
405
+ if (responseError) {
406
+ throw responseError;
407
+ }
408
+ else {
409
+ return result;
410
+ }
411
+ }
412
+ async getCredentials() {
413
+ await this.initializePromise;
414
+ return this._acquireLock(-1, async () => this._getCredentials());
415
+ }
416
+ getCredentialsSync() {
417
+ const credentials = this.localCredentials.getStorageCredentialsSync();
418
+ return credentials;
419
+ }
420
+ getCredentialsAsync() {
421
+ return this.getCredentials();
422
+ }
423
+ async getScope() {
424
+ const credentials = await this.localCredentials.getCredentials();
425
+ if (!credentials) {
426
+ const msg = 'credentials not found';
427
+ this.onCredentialsError?.({ msg });
428
+ return this.unAuthenticatedError(msg);
429
+ }
430
+ return credentials.scope;
431
+ }
432
+ async getGroups() {
433
+ const credentials = await this.localCredentials.getCredentials();
434
+ if (!credentials) {
435
+ const msg = 'credentials not found';
436
+ this.onCredentialsError?.({ msg });
437
+ return this.unAuthenticatedError(msg);
438
+ }
439
+ return credentials.groups;
440
+ }
441
+ async refreshToken(credentials, options) {
442
+ await this.initializePromise;
443
+ return this._acquireLock(-1, async () => this._refreshToken(credentials, options));
444
+ }
445
+ async _refreshToken(credentials, options) {
446
+ return this.singlePromise.run('_refreshToken', async () => {
447
+ if (credentials?.scope === DEFAULT_NODE_ACCESS_SCOPE) {
448
+ return credentials;
449
+ }
450
+ if (!credentials || !credentials.refresh_token) {
451
+ const msg = 'no refresh token found in credentials';
452
+ this.onCredentialsError?.({ msg });
453
+ return this.unAuthenticatedError(msg);
454
+ }
455
+ try {
456
+ const newCredentials = await this.refreshTokenFunc(credentials.refresh_token, credentials);
457
+ await this.localCredentials.setCredentials(newCredentials);
458
+ this.eventBus?.fire(EVENTS.AUTH_STATE_CHANGED, { event: AUTH_STATE_CHANGED_TYPE.TOKEN_REFRESHED });
459
+ return newCredentials;
460
+ }
461
+ catch (error) {
462
+ if (options?.throwError) {
463
+ throw error;
464
+ }
465
+ if (error.error === ErrorType.INVALID_GRANT) {
466
+ await this.localCredentials.setCredentials(null);
467
+ const msg = error.error_description;
468
+ this.onCredentialsError?.({ msg });
469
+ return this.unAuthenticatedError(msg);
470
+ }
471
+ this.onCredentialsError?.({ msg: error.error_description });
472
+ return Promise.reject(error);
473
+ }
474
+ });
475
+ }
476
+ async anonymousLogin(credentials) {
477
+ return this.singlePromise.run('_anonymousLogin', async () => {
478
+ if (this.anonymousSignInFunc) {
479
+ const c = await this.anonymousSignInFunc(credentials);
480
+ credentials = c || (await this.localCredentials.getCredentials());
481
+ }
482
+ else {
483
+ credentials = await this.anonymousSignIn(credentials);
484
+ }
485
+ return credentials;
486
+ });
487
+ }
488
+ checkRetry(retry) {
489
+ let responseError = null;
490
+ if (typeof retry !== 'number' || retry < OAuth2Client.minRetry || retry > OAuth2Client.maxRetry) {
491
+ responseError = {
492
+ error: ErrorType.UNREACHABLE,
493
+ error_description: 'wrong options param: retry',
494
+ };
495
+ }
496
+ if (responseError) {
497
+ throw responseError;
498
+ }
499
+ return retry;
500
+ }
501
+ formatRetry(retry, defaultVale) {
502
+ if (typeof retry === 'undefined') {
503
+ return defaultVale;
504
+ }
505
+ return this.checkRetry(retry);
506
+ }
507
+ async sleep(ms) {
508
+ return new Promise((resolve) => {
509
+ setTimeout(() => {
510
+ resolve();
511
+ }, ms);
512
+ });
513
+ }
514
+ async anonymousSignIn(credentials) {
515
+ return this.singlePromise.run('_anonymous', async () => {
516
+ if (!credentials || credentials.scope !== 'anonymous') {
517
+ return this.unAuthenticatedError('no anonymous in credentials');
518
+ }
519
+ try {
520
+ const newCredentials = await this.request(ApiUrls.AUTH_SIGN_IN_ANONYMOUSLY_URL, {
521
+ method: 'POST',
522
+ withBasicAuth: true,
523
+ body: {},
524
+ });
525
+ await this.localCredentials.setCredentials(newCredentials);
526
+ return newCredentials;
527
+ }
528
+ catch (error) {
529
+ if (error.error === ErrorType.INVALID_GRANT) {
530
+ await this.localCredentials.setCredentials(null);
531
+ return this.unAuthenticatedError(error.error_description);
532
+ }
533
+ return Promise.reject(error);
534
+ }
535
+ });
536
+ }
537
+ async defaultRefreshTokenFunc(refreshToken, credentials) {
538
+ if (refreshToken === undefined || refreshToken === '') {
539
+ const msg = 'refresh token not found';
540
+ this.onCredentialsError?.({ msg });
541
+ return this.unAuthenticatedError(msg);
542
+ }
543
+ let url = ApiUrls.AUTH_TOKEN_URL;
544
+ if (credentials?.version === 'v2') {
545
+ url = ApiUrlsV2.AUTH_TOKEN_URL;
546
+ }
547
+ const newCredentials = await this.request(url, {
548
+ method: 'POST',
549
+ body: {
550
+ client_id: this.clientId,
551
+ client_secret: this.clientSecret,
552
+ grant_type: 'refresh_token',
553
+ refresh_token: refreshToken,
554
+ },
555
+ });
556
+ return { ...newCredentials, version: credentials?.version || 'v1' };
557
+ }
558
+ async getDeviceId() {
559
+ if (this.deviceID) {
560
+ return this.deviceID;
561
+ }
562
+ let deviceId = await this.storage.getItem(DeviceIdSectionName);
563
+ if (!(typeof deviceId === 'string' && deviceId.length >= 16 && deviceId.length <= 48)) {
564
+ deviceId = uuidv4();
565
+ await this.storage.setItem(DeviceIdSectionName, deviceId);
566
+ }
567
+ this.deviceID = deviceId;
568
+ return deviceId;
569
+ }
570
+ unAuthenticatedError(err) {
571
+ const respErr = {
572
+ error: ErrorType.UNAUTHENTICATED,
573
+ error_description: err,
574
+ };
575
+ return Promise.reject(respErr);
576
+ }
577
+ _debug(...args) {
578
+ if (this.logDebugMessages) {
579
+ console.log('[OAuth2Client]', ...args);
580
+ }
581
+ }
582
+ async _initialize() {
583
+ try {
584
+ if (!this.getInitialSession) {
585
+ this._debug('#_initialize()', 'no getInitialSession callback set, skipping');
586
+ return { error: null };
587
+ }
588
+ this._debug('#_initialize()', 'calling getInitialSession callback');
589
+ try {
590
+ const { data, error } = await this.getInitialSession();
591
+ if (data?.session) {
592
+ this._debug('#_initialize()', 'session obtained from getInitialSession', data.session);
593
+ await this.localCredentials.setCredentials(data?.session);
594
+ }
595
+ if (this.onInitialSessionObtained) {
596
+ this._debug('#_initialize()', 'calling onInitialSessionObtained callback');
597
+ try {
598
+ await this.onInitialSessionObtained(data, error);
599
+ }
600
+ catch (callbackError) {
601
+ this._debug('#_initialize()', 'error in onInitialSessionObtained', callbackError);
602
+ }
603
+ }
604
+ if (error) {
605
+ this._debug('#_initialize()', 'error from getInitialSession', error);
606
+ return { error };
607
+ }
608
+ return { error: null };
609
+ }
610
+ catch (err) {
611
+ this._debug('#_initialize()', 'exception during getInitialSession', err);
612
+ return { error: err instanceof Error ? err : new Error(String(err)) };
613
+ }
614
+ }
615
+ catch (error) {
616
+ this._debug('#_initialize()', 'unexpected error', error);
617
+ return { error: error instanceof Error ? error : new Error(String(error)) };
618
+ }
619
+ finally {
620
+ this._debug('#_initialize()', 'end');
621
+ }
622
+ }
623
+ async _acquireLock(acquireTimeout, fn) {
624
+ this._debug('#_acquireLock', 'begin', acquireTimeout);
625
+ try {
626
+ if (this.lockAcquired) {
627
+ const last = this.pendingInLock.length ? this.pendingInLock[this.pendingInLock.length - 1] : Promise.resolve();
628
+ const result = (async () => {
629
+ await last;
630
+ return await fn();
631
+ })();
632
+ this.pendingInLock.push((async () => {
633
+ try {
634
+ await result;
635
+ }
636
+ catch (_e) {
637
+ }
638
+ })());
639
+ return result;
640
+ }
641
+ this._debug('#_acquireLock', 'acquiring lock for client', this.clientId);
642
+ try {
643
+ this.lockAcquired = true;
644
+ const result = fn();
645
+ this.pendingInLock.push((async () => {
646
+ try {
647
+ await result;
648
+ }
649
+ catch (_e) {
650
+ }
651
+ })());
652
+ await result;
653
+ while (this.pendingInLock.length) {
654
+ const waitOn = [...this.pendingInLock];
655
+ await Promise.all(waitOn);
656
+ this.pendingInLock.splice(0, waitOn.length);
657
+ }
658
+ return await result;
659
+ }
660
+ finally {
661
+ this._debug('#_acquireLock', 'releasing lock for client', this.clientId);
662
+ this.lockAcquired = false;
663
+ }
664
+ }
665
+ finally {
666
+ this._debug('#_acquireLock', 'end');
667
+ }
668
+ }
669
+ async _getCredentials() {
670
+ let credentials = await this.localCredentials.getCredentials();
671
+ if (credentials?.scope === DEFAULT_NODE_ACCESS_SCOPE) {
672
+ return credentials;
673
+ }
674
+ if (!credentials) {
675
+ const msg = 'credentials not found';
676
+ this.onCredentialsError?.({ msg });
677
+ return this.unAuthenticatedError(msg);
678
+ }
679
+ if (isCredentialsExpired(credentials)) {
680
+ if (credentials.refresh_token) {
681
+ try {
682
+ credentials = await this._refreshToken(credentials);
683
+ }
684
+ catch (error) {
685
+ if (credentials.scope === 'anonymous') {
686
+ credentials = await this.anonymousLogin(credentials);
687
+ }
688
+ else {
689
+ this.onCredentialsError?.({ msg: error.error_description });
690
+ return Promise.reject(error);
691
+ }
692
+ }
693
+ }
694
+ else if (credentials.scope === 'anonymous') {
695
+ credentials = await this.anonymousLogin(credentials);
696
+ }
697
+ else {
698
+ const msg = 'no refresh token found in credentials';
699
+ this.onCredentialsError?.({ msg });
700
+ return this.unAuthenticatedError(msg);
701
+ }
702
+ }
703
+ return credentials;
704
+ }
705
+ }
706
+ OAuth2Client.defaultRetry = 2;
707
+ OAuth2Client.minRetry = 0;
708
+ OAuth2Client.maxRetry = 5;
709
+ OAuth2Client.retryInterval = 1000;
710
+ export { OAuth2Client };
711
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2F1dGgyY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL29hdXRoMmNsaWVudC9vYXV0aDJjbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUNwQyxPQUFPLEVBQ0wsT0FBTyxFQUNQLFNBQVMsRUFDVCxlQUFlLEVBQ2YsdUJBQXVCLEVBQ3ZCLHlCQUF5QixFQUN6QixNQUFNLEdBQ1AsTUFBTSxnQkFBZ0IsQ0FBQTtBQWF2QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3RDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUU1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUE7QUFDaEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQ3hDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFHbEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBRWhELE1BQU0sbUJBQW1CLEdBQUcsY0FBYyxDQUFBO0FBQzFDLE1BQU0sa0JBQWtCLEdBQUcsYUFBYSxDQUFBO0FBQ3hDLE1BQU0sbUJBQW1CLEdBQUcsV0FBVyxDQUFBO0FBV3ZDLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBb0IsS0FBSyxXQUFjLEdBQVcsRUFBRSxPQUF3QjtJQUNyRyxJQUFJLE1BQU0sR0FBYSxJQUFJLENBQUE7SUFDM0IsSUFBSSxhQUFhLEdBQXlCLElBQUksQ0FBQTtJQUM5QyxJQUFJO1FBRUYsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUE7UUFDOUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUU7WUFDdkIsV0FBVyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUE7U0FDM0I7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