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

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 (715) hide show
  1. package/node_modules/@cloudbase/ai/.eslintrc.js +15 -0
  2. package/node_modules/@cloudbase/ai/dist/cjs/AI.d.ts +27 -0
  3. package/node_modules/@cloudbase/ai/dist/cjs/AI.js +224 -0
  4. package/node_modules/@cloudbase/ai/dist/cjs/bot/index.d.ts +41 -0
  5. package/node_modules/@cloudbase/ai/dist/cjs/bot/index.js +376 -0
  6. package/node_modules/@cloudbase/ai/dist/cjs/bot/types.d.ts +144 -0
  7. package/node_modules/@cloudbase/ai/dist/cjs/bot/types.js +3 -0
  8. package/node_modules/@cloudbase/ai/dist/cjs/eventsource_parser/index.d.ts +2 -0
  9. package/node_modules/@cloudbase/ai/dist/cjs/eventsource_parser/index.js +6 -0
  10. package/node_modules/@cloudbase/ai/dist/cjs/eventsource_parser/parse.d.ts +2 -0
  11. package/node_modules/@cloudbase/ai/dist/cjs/eventsource_parser/parse.js +126 -0
  12. package/node_modules/@cloudbase/ai/dist/cjs/eventsource_parser/stream.d.ts +5 -0
  13. package/node_modules/@cloudbase/ai/dist/cjs/eventsource_parser/stream.js +40 -0
  14. package/node_modules/@cloudbase/ai/dist/cjs/eventsource_parser/types.d.ts +16 -0
  15. package/node_modules/@cloudbase/ai/dist/cjs/eventsource_parser/types.js +3 -0
  16. package/node_modules/@cloudbase/ai/dist/cjs/index.d.ts +40 -0
  17. package/node_modules/@cloudbase/ai/dist/cjs/index.js +187 -0
  18. package/node_modules/@cloudbase/ai/dist/cjs/models/Ark/index.d.ts +10 -0
  19. package/node_modules/@cloudbase/ai/dist/cjs/models/Ark/index.js +130 -0
  20. package/node_modules/@cloudbase/ai/dist/cjs/models/Ark/type.d.ts +71 -0
  21. package/node_modules/@cloudbase/ai/dist/cjs/models/Ark/type.js +3 -0
  22. package/node_modules/@cloudbase/ai/dist/cjs/models/DashScope/index.d.ts +10 -0
  23. package/node_modules/@cloudbase/ai/dist/cjs/models/DashScope/index.js +130 -0
  24. package/node_modules/@cloudbase/ai/dist/cjs/models/DashScope/type.d.ts +74 -0
  25. package/node_modules/@cloudbase/ai/dist/cjs/models/DashScope/type.js +3 -0
  26. package/node_modules/@cloudbase/ai/dist/cjs/models/DeepSeek/index.d.ts +10 -0
  27. package/node_modules/@cloudbase/ai/dist/cjs/models/DeepSeek/index.js +126 -0
  28. package/node_modules/@cloudbase/ai/dist/cjs/models/Default/index.d.ts +10 -0
  29. package/node_modules/@cloudbase/ai/dist/cjs/models/Default/index.js +122 -0
  30. package/node_modules/@cloudbase/ai/dist/cjs/models/HunYuan/index.d.ts +10 -0
  31. package/node_modules/@cloudbase/ai/dist/cjs/models/HunYuan/index.js +135 -0
  32. package/node_modules/@cloudbase/ai/dist/cjs/models/HunYuan/type.d.ts +74 -0
  33. package/node_modules/@cloudbase/ai/dist/cjs/models/HunYuan/type.js +3 -0
  34. package/node_modules/@cloudbase/ai/dist/cjs/models/HunYuan/util.d.ts +4 -0
  35. package/node_modules/@cloudbase/ai/dist/cjs/models/HunYuan/util.js +56 -0
  36. package/node_modules/@cloudbase/ai/dist/cjs/models/HunYuanBeta/index.d.ts +10 -0
  37. package/node_modules/@cloudbase/ai/dist/cjs/models/HunYuanBeta/index.js +127 -0
  38. package/node_modules/@cloudbase/ai/dist/cjs/models/HunYuanExp/index.d.ts +10 -0
  39. package/node_modules/@cloudbase/ai/dist/cjs/models/HunYuanExp/index.js +125 -0
  40. package/node_modules/@cloudbase/ai/dist/cjs/models/HunYuanOpen/index.d.ts +10 -0
  41. package/node_modules/@cloudbase/ai/dist/cjs/models/HunYuanOpen/index.js +127 -0
  42. package/node_modules/@cloudbase/ai/dist/cjs/models/Moonshot/index.d.ts +10 -0
  43. package/node_modules/@cloudbase/ai/dist/cjs/models/Moonshot/index.js +130 -0
  44. package/node_modules/@cloudbase/ai/dist/cjs/models/Moonshot/type.d.ts +85 -0
  45. package/node_modules/@cloudbase/ai/dist/cjs/models/Moonshot/type.js +3 -0
  46. package/node_modules/@cloudbase/ai/dist/cjs/models/Yi/index.d.ts +10 -0
  47. package/node_modules/@cloudbase/ai/dist/cjs/models/Yi/index.js +133 -0
  48. package/node_modules/@cloudbase/ai/dist/cjs/models/Yi/type.d.ts +75 -0
  49. package/node_modules/@cloudbase/ai/dist/cjs/models/Yi/type.js +3 -0
  50. package/node_modules/@cloudbase/ai/dist/cjs/models/ZhiPu/index.d.ts +10 -0
  51. package/node_modules/@cloudbase/ai/dist/cjs/models/ZhiPu/index.js +139 -0
  52. package/node_modules/@cloudbase/ai/dist/cjs/models/ZhiPu/type.d.ts +71 -0
  53. package/node_modules/@cloudbase/ai/dist/cjs/models/ZhiPu/type.js +3 -0
  54. package/node_modules/@cloudbase/ai/dist/cjs/models/image-model.d.ts +18 -0
  55. package/node_modules/@cloudbase/ai/dist/cjs/models/image-model.js +85 -0
  56. package/node_modules/@cloudbase/ai/dist/cjs/models/index.d.ts +26 -0
  57. package/node_modules/@cloudbase/ai/dist/cjs/models/index.js +42 -0
  58. package/node_modules/@cloudbase/ai/dist/cjs/models/model.d.ts +40 -0
  59. package/node_modules/@cloudbase/ai/dist/cjs/models/model.js +481 -0
  60. package/node_modules/@cloudbase/ai/dist/cjs/type.d.ts +190 -0
  61. package/node_modules/@cloudbase/ai/dist/cjs/type.js +10 -0
  62. package/node_modules/@cloudbase/ai/dist/cjs/utils.d.ts +38 -0
  63. package/node_modules/@cloudbase/ai/dist/cjs/utils.js +263 -0
  64. package/node_modules/@cloudbase/ai/dist/esm/AI.d.ts +27 -0
  65. package/node_modules/@cloudbase/ai/dist/esm/AI.js +198 -0
  66. package/node_modules/@cloudbase/ai/dist/esm/bot/index.d.ts +41 -0
  67. package/node_modules/@cloudbase/ai/dist/esm/bot/index.js +373 -0
  68. package/node_modules/@cloudbase/ai/dist/esm/bot/types.d.ts +144 -0
  69. package/node_modules/@cloudbase/ai/dist/esm/bot/types.js +2 -0
  70. package/node_modules/@cloudbase/ai/dist/esm/eventsource_parser/index.d.ts +2 -0
  71. package/node_modules/@cloudbase/ai/dist/esm/eventsource_parser/index.js +2 -0
  72. package/node_modules/@cloudbase/ai/dist/esm/eventsource_parser/parse.d.ts +2 -0
  73. package/node_modules/@cloudbase/ai/dist/esm/eventsource_parser/parse.js +122 -0
  74. package/node_modules/@cloudbase/ai/dist/esm/eventsource_parser/stream.d.ts +5 -0
  75. package/node_modules/@cloudbase/ai/dist/esm/eventsource_parser/stream.js +37 -0
  76. package/node_modules/@cloudbase/ai/dist/esm/eventsource_parser/types.d.ts +16 -0
  77. package/node_modules/@cloudbase/ai/dist/esm/eventsource_parser/types.js +2 -0
  78. package/node_modules/@cloudbase/ai/dist/esm/index.d.ts +40 -0
  79. package/node_modules/@cloudbase/ai/dist/esm/index.js +152 -0
  80. package/node_modules/@cloudbase/ai/dist/esm/models/Ark/index.d.ts +10 -0
  81. package/node_modules/@cloudbase/ai/dist/esm/models/Ark/index.js +127 -0
  82. package/node_modules/@cloudbase/ai/dist/esm/models/Ark/type.d.ts +71 -0
  83. package/node_modules/@cloudbase/ai/dist/esm/models/Ark/type.js +2 -0
  84. package/node_modules/@cloudbase/ai/dist/esm/models/DashScope/index.d.ts +10 -0
  85. package/node_modules/@cloudbase/ai/dist/esm/models/DashScope/index.js +127 -0
  86. package/node_modules/@cloudbase/ai/dist/esm/models/DashScope/type.d.ts +74 -0
  87. package/node_modules/@cloudbase/ai/dist/esm/models/DashScope/type.js +2 -0
  88. package/node_modules/@cloudbase/ai/dist/esm/models/DeepSeek/index.d.ts +10 -0
  89. package/node_modules/@cloudbase/ai/dist/esm/models/DeepSeek/index.js +123 -0
  90. package/node_modules/@cloudbase/ai/dist/esm/models/Default/index.d.ts +10 -0
  91. package/node_modules/@cloudbase/ai/dist/esm/models/Default/index.js +119 -0
  92. package/node_modules/@cloudbase/ai/dist/esm/models/HunYuan/index.d.ts +10 -0
  93. package/node_modules/@cloudbase/ai/dist/esm/models/HunYuan/index.js +132 -0
  94. package/node_modules/@cloudbase/ai/dist/esm/models/HunYuan/type.d.ts +74 -0
  95. package/node_modules/@cloudbase/ai/dist/esm/models/HunYuan/type.js +2 -0
  96. package/node_modules/@cloudbase/ai/dist/esm/models/HunYuan/util.d.ts +4 -0
  97. package/node_modules/@cloudbase/ai/dist/esm/models/HunYuan/util.js +51 -0
  98. package/node_modules/@cloudbase/ai/dist/esm/models/HunYuanBeta/index.d.ts +10 -0
  99. package/node_modules/@cloudbase/ai/dist/esm/models/HunYuanBeta/index.js +124 -0
  100. package/node_modules/@cloudbase/ai/dist/esm/models/HunYuanExp/index.d.ts +10 -0
  101. package/node_modules/@cloudbase/ai/dist/esm/models/HunYuanExp/index.js +122 -0
  102. package/node_modules/@cloudbase/ai/dist/esm/models/HunYuanOpen/index.d.ts +10 -0
  103. package/node_modules/@cloudbase/ai/dist/esm/models/HunYuanOpen/index.js +124 -0
  104. package/node_modules/@cloudbase/ai/dist/esm/models/Moonshot/index.d.ts +10 -0
  105. package/node_modules/@cloudbase/ai/dist/esm/models/Moonshot/index.js +127 -0
  106. package/node_modules/@cloudbase/ai/dist/esm/models/Moonshot/type.d.ts +85 -0
  107. package/node_modules/@cloudbase/ai/dist/esm/models/Moonshot/type.js +2 -0
  108. package/node_modules/@cloudbase/ai/dist/esm/models/Yi/index.d.ts +10 -0
  109. package/node_modules/@cloudbase/ai/dist/esm/models/Yi/index.js +130 -0
  110. package/node_modules/@cloudbase/ai/dist/esm/models/Yi/type.d.ts +75 -0
  111. package/node_modules/@cloudbase/ai/dist/esm/models/Yi/type.js +2 -0
  112. package/node_modules/@cloudbase/ai/dist/esm/models/ZhiPu/index.d.ts +10 -0
  113. package/node_modules/@cloudbase/ai/dist/esm/models/ZhiPu/index.js +136 -0
  114. package/node_modules/@cloudbase/ai/dist/esm/models/ZhiPu/type.d.ts +71 -0
  115. package/node_modules/@cloudbase/ai/dist/esm/models/ZhiPu/type.js +2 -0
  116. package/node_modules/@cloudbase/ai/dist/esm/models/image-model.d.ts +18 -0
  117. package/node_modules/@cloudbase/ai/dist/esm/models/image-model.js +82 -0
  118. package/node_modules/@cloudbase/ai/dist/esm/models/index.d.ts +26 -0
  119. package/node_modules/@cloudbase/ai/dist/esm/models/index.js +27 -0
  120. package/node_modules/@cloudbase/ai/dist/esm/models/model.d.ts +40 -0
  121. package/node_modules/@cloudbase/ai/dist/esm/models/model.js +478 -0
  122. package/node_modules/@cloudbase/ai/dist/esm/type.d.ts +190 -0
  123. package/node_modules/@cloudbase/ai/dist/esm/type.js +7 -0
  124. package/node_modules/@cloudbase/ai/dist/esm/utils.d.ts +38 -0
  125. package/node_modules/@cloudbase/ai/dist/esm/utils.js +252 -0
  126. package/node_modules/@cloudbase/ai/dist/miniprogram/index.js +2 -0
  127. package/node_modules/@cloudbase/ai/dist/miniprogram/index.js.LICENSE.txt +22 -0
  128. package/node_modules/@cloudbase/ai/package.json +32 -0
  129. package/node_modules/@cloudbase/analytics/.eslintrc.js +15 -0
  130. package/node_modules/@cloudbase/analytics/dist/cjs/index.d.ts +2 -0
  131. package/node_modules/@cloudbase/analytics/dist/cjs/index.js +144 -0
  132. package/node_modules/@cloudbase/analytics/dist/esm/index.d.ts +2 -0
  133. package/node_modules/@cloudbase/analytics/dist/esm/index.js +140 -0
  134. package/node_modules/@cloudbase/analytics/package.json +22 -0
  135. package/node_modules/@cloudbase/apis/.eslintrc.js +15 -0
  136. package/node_modules/@cloudbase/apis/dist/cjs/callApis.d.ts +20 -0
  137. package/node_modules/@cloudbase/apis/dist/cjs/callApis.js +154 -0
  138. package/node_modules/@cloudbase/apis/dist/cjs/index.d.ts +5 -0
  139. package/node_modules/@cloudbase/apis/dist/cjs/index.js +53 -0
  140. package/node_modules/@cloudbase/apis/dist/cjs/type.d.ts +14 -0
  141. package/node_modules/@cloudbase/apis/dist/cjs/type.js +3 -0
  142. package/node_modules/@cloudbase/apis/dist/esm/callApis.d.ts +20 -0
  143. package/node_modules/@cloudbase/apis/dist/esm/callApis.js +148 -0
  144. package/node_modules/@cloudbase/apis/dist/esm/index.d.ts +5 -0
  145. package/node_modules/@cloudbase/apis/dist/esm/index.js +35 -0
  146. package/node_modules/@cloudbase/apis/dist/esm/type.d.ts +14 -0
  147. package/node_modules/@cloudbase/apis/dist/esm/type.js +2 -0
  148. package/node_modules/@cloudbase/apis/dist/miniprogram/index.js +1 -0
  149. package/node_modules/@cloudbase/apis/package.json +28 -0
  150. package/node_modules/@cloudbase/app/.eslintrc.js +12 -0
  151. package/node_modules/@cloudbase/app/dist/cjs/constants/common.d.ts +38 -0
  152. package/node_modules/@cloudbase/app/dist/cjs/constants/common.js +103 -0
  153. package/node_modules/@cloudbase/app/dist/cjs/index.d.ts +65 -0
  154. package/node_modules/@cloudbase/app/dist/cjs/index.js +340 -0
  155. package/node_modules/@cloudbase/app/dist/cjs/index.node.d.ts +6 -0
  156. package/node_modules/@cloudbase/app/dist/cjs/index.node.js +20 -0
  157. package/node_modules/@cloudbase/app/dist/cjs/libs/adapter-node/constants.d.ts +33 -0
  158. package/node_modules/@cloudbase/app/dist/cjs/libs/adapter-node/constants.js +38 -0
  159. package/node_modules/@cloudbase/app/dist/cjs/libs/adapter-node/context.d.ts +13 -0
  160. package/node_modules/@cloudbase/app/dist/cjs/libs/adapter-node/context.js +162 -0
  161. package/node_modules/@cloudbase/app/dist/cjs/libs/adapter-node/index.d.ts +23 -0
  162. package/node_modules/@cloudbase/app/dist/cjs/libs/adapter-node/index.js +124 -0
  163. package/node_modules/@cloudbase/app/dist/cjs/libs/adapter-node/metadata.d.ts +14 -0
  164. package/node_modules/@cloudbase/app/dist/cjs/libs/adapter-node/metadata.js +130 -0
  165. package/node_modules/@cloudbase/app/dist/cjs/libs/adapter-node/request.d.ts +38 -0
  166. package/node_modules/@cloudbase/app/dist/cjs/libs/adapter-node/request.js +445 -0
  167. package/node_modules/@cloudbase/app/dist/cjs/libs/adapter-node/tool.d.ts +2 -0
  168. package/node_modules/@cloudbase/app/dist/cjs/libs/adapter-node/tool.js +228 -0
  169. package/node_modules/@cloudbase/app/dist/cjs/libs/adapter-node/types.d.ts +78 -0
  170. package/node_modules/@cloudbase/app/dist/cjs/libs/adapter-node/types.js +3 -0
  171. package/node_modules/@cloudbase/app/dist/cjs/libs/adapter-node/utils.d.ts +17 -0
  172. package/node_modules/@cloudbase/app/dist/cjs/libs/adapter-node/utils.js +221 -0
  173. package/node_modules/@cloudbase/app/dist/cjs/libs/adapter.d.ts +3 -0
  174. package/node_modules/@cloudbase/app/dist/cjs/libs/adapter.js +163 -0
  175. package/node_modules/@cloudbase/app/dist/cjs/libs/cache.d.ts +6 -0
  176. package/node_modules/@cloudbase/app/dist/cjs/libs/cache.js +38 -0
  177. package/node_modules/@cloudbase/app/dist/cjs/libs/component.d.ts +3 -0
  178. package/node_modules/@cloudbase/app/dist/cjs/libs/component.js +126 -0
  179. package/node_modules/@cloudbase/app/dist/cjs/libs/lang.d.ts +23 -0
  180. package/node_modules/@cloudbase/app/dist/cjs/libs/lang.js +59 -0
  181. package/node_modules/@cloudbase/app/dist/cjs/libs/request.d.ts +62 -0
  182. package/node_modules/@cloudbase/app/dist/cjs/libs/request.js +480 -0
  183. package/node_modules/@cloudbase/app/dist/esm/constants/common.d.ts +38 -0
  184. package/node_modules/@cloudbase/app/dist/esm/constants/common.js +91 -0
  185. package/node_modules/@cloudbase/app/dist/esm/index.d.ts +65 -0
  186. package/node_modules/@cloudbase/app/dist/esm/index.js +335 -0
  187. package/node_modules/@cloudbase/app/dist/esm/index.node.d.ts +6 -0
  188. package/node_modules/@cloudbase/app/dist/esm/index.node.js +12 -0
  189. package/node_modules/@cloudbase/app/dist/esm/libs/adapter-node/constants.d.ts +33 -0
  190. package/node_modules/@cloudbase/app/dist/esm/libs/adapter-node/constants.js +35 -0
  191. package/node_modules/@cloudbase/app/dist/esm/libs/adapter-node/context.d.ts +13 -0
  192. package/node_modules/@cloudbase/app/dist/esm/libs/adapter-node/context.js +156 -0
  193. package/node_modules/@cloudbase/app/dist/esm/libs/adapter-node/index.d.ts +23 -0
  194. package/node_modules/@cloudbase/app/dist/esm/libs/adapter-node/index.js +118 -0
  195. package/node_modules/@cloudbase/app/dist/esm/libs/adapter-node/metadata.d.ts +14 -0
  196. package/node_modules/@cloudbase/app/dist/esm/libs/adapter-node/metadata.js +123 -0
  197. package/node_modules/@cloudbase/app/dist/esm/libs/adapter-node/request.d.ts +38 -0
  198. package/node_modules/@cloudbase/app/dist/esm/libs/adapter-node/request.js +442 -0
  199. package/node_modules/@cloudbase/app/dist/esm/libs/adapter-node/tool.d.ts +2 -0
  200. package/node_modules/@cloudbase/app/dist/esm/libs/adapter-node/tool.js +224 -0
  201. package/node_modules/@cloudbase/app/dist/esm/libs/adapter-node/types.d.ts +78 -0
  202. package/node_modules/@cloudbase/app/dist/esm/libs/adapter-node/types.js +2 -0
  203. package/node_modules/@cloudbase/app/dist/esm/libs/adapter-node/utils.d.ts +17 -0
  204. package/node_modules/@cloudbase/app/dist/esm/libs/adapter-node/utils.js +205 -0
  205. package/node_modules/@cloudbase/app/dist/esm/libs/adapter.d.ts +3 -0
  206. package/node_modules/@cloudbase/app/dist/esm/libs/adapter.js +136 -0
  207. package/node_modules/@cloudbase/app/dist/esm/libs/cache.d.ts +6 -0
  208. package/node_modules/@cloudbase/app/dist/esm/libs/cache.js +32 -0
  209. package/node_modules/@cloudbase/app/dist/esm/libs/component.d.ts +3 -0
  210. package/node_modules/@cloudbase/app/dist/esm/libs/component.js +121 -0
  211. package/node_modules/@cloudbase/app/dist/esm/libs/lang.d.ts +23 -0
  212. package/node_modules/@cloudbase/app/dist/esm/libs/lang.js +54 -0
  213. package/node_modules/@cloudbase/app/dist/esm/libs/request.d.ts +62 -0
  214. package/node_modules/@cloudbase/app/dist/esm/libs/request.js +475 -0
  215. package/node_modules/@cloudbase/app/dist/miniprogram/index.js +2 -0
  216. package/node_modules/@cloudbase/app/dist/miniprogram/index.js.LICENSE.txt +7 -0
  217. package/node_modules/@cloudbase/app/package.json +59 -0
  218. package/node_modules/@cloudbase/auth/.eslintrc.js +15 -0
  219. package/node_modules/@cloudbase/auth/dist/cjs/adapter.d.ts +2 -0
  220. package/node_modules/@cloudbase/auth/dist/cjs/adapter.js +272 -0
  221. package/node_modules/@cloudbase/auth/dist/cjs/index.d.ts +283 -0
  222. package/node_modules/@cloudbase/auth/dist/cjs/index.js +3018 -0
  223. package/node_modules/@cloudbase/auth/dist/cjs/type.d.ts +258 -0
  224. package/node_modules/@cloudbase/auth/dist/cjs/type.js +6 -0
  225. package/node_modules/@cloudbase/auth/dist/cjs/utilities.d.ts +7 -0
  226. package/node_modules/@cloudbase/auth/dist/cjs/utilities.js +23 -0
  227. package/node_modules/@cloudbase/auth/dist/cjs/utils.d.ts +5 -0
  228. package/node_modules/@cloudbase/auth/dist/cjs/utils.js +60 -0
  229. package/node_modules/@cloudbase/auth/dist/cjs/v1-compat.d.ts +77 -0
  230. package/node_modules/@cloudbase/auth/dist/cjs/v1-compat.js +423 -0
  231. package/node_modules/@cloudbase/auth/dist/esm/adapter.d.ts +2 -0
  232. package/node_modules/@cloudbase/auth/dist/esm/adapter.js +268 -0
  233. package/node_modules/@cloudbase/auth/dist/esm/index.d.ts +283 -0
  234. package/node_modules/@cloudbase/auth/dist/esm/index.js +3008 -0
  235. package/node_modules/@cloudbase/auth/dist/esm/type.d.ts +258 -0
  236. package/node_modules/@cloudbase/auth/dist/esm/type.js +3 -0
  237. package/node_modules/@cloudbase/auth/dist/esm/utilities.d.ts +7 -0
  238. package/node_modules/@cloudbase/auth/dist/esm/utilities.js +8 -0
  239. package/node_modules/@cloudbase/auth/dist/esm/utils.d.ts +5 -0
  240. package/node_modules/@cloudbase/auth/dist/esm/utils.js +52 -0
  241. package/node_modules/@cloudbase/auth/dist/esm/v1-compat.d.ts +77 -0
  242. package/node_modules/@cloudbase/auth/dist/esm/v1-compat.js +419 -0
  243. package/node_modules/@cloudbase/auth/dist/miniprogram/index.js +1 -0
  244. package/node_modules/@cloudbase/auth/package.json +31 -0
  245. package/node_modules/@cloudbase/cloudrun/.eslintrc.js +15 -0
  246. package/node_modules/@cloudbase/cloudrun/dist/cjs/index.d.ts +4 -0
  247. package/node_modules/@cloudbase/cloudrun/dist/cjs/index.js +154 -0
  248. package/node_modules/@cloudbase/cloudrun/dist/esm/index.d.ts +4 -0
  249. package/node_modules/@cloudbase/cloudrun/dist/esm/index.js +149 -0
  250. package/node_modules/@cloudbase/cloudrun/package.json +30 -0
  251. package/node_modules/@cloudbase/container/.eslintrc.js +15 -0
  252. package/node_modules/@cloudbase/container/.prettierrc.js +41 -0
  253. package/node_modules/@cloudbase/container/dist/cjs/constants/index.d.ts +1 -0
  254. package/node_modules/@cloudbase/container/dist/cjs/constants/index.js +5 -0
  255. package/node_modules/@cloudbase/container/dist/cjs/go_wams_exec.d.ts +2 -0
  256. package/node_modules/@cloudbase/container/dist/cjs/go_wams_exec.js +538 -0
  257. package/node_modules/@cloudbase/container/dist/cjs/index.d.ts +13 -0
  258. package/node_modules/@cloudbase/container/dist/cjs/index.js +343 -0
  259. package/node_modules/@cloudbase/container/dist/cjs/utils/index.d.ts +3 -0
  260. package/node_modules/@cloudbase/container/dist/cjs/utils/index.js +83 -0
  261. package/node_modules/@cloudbase/container/dist/cjs/utils/loader.d.ts +8 -0
  262. package/node_modules/@cloudbase/container/dist/cjs/utils/loader.js +186 -0
  263. package/node_modules/@cloudbase/container/dist/cjs/utils/request.d.ts +12 -0
  264. package/node_modules/@cloudbase/container/dist/cjs/utils/request.js +106 -0
  265. package/node_modules/@cloudbase/container/dist/esm/constants/index.d.ts +1 -0
  266. package/node_modules/@cloudbase/container/dist/esm/constants/index.js +2 -0
  267. package/node_modules/@cloudbase/container/dist/esm/go_wams_exec.d.ts +2 -0
  268. package/node_modules/@cloudbase/container/dist/esm/go_wams_exec.js +536 -0
  269. package/node_modules/@cloudbase/container/dist/esm/index.d.ts +13 -0
  270. package/node_modules/@cloudbase/container/dist/esm/index.js +338 -0
  271. package/node_modules/@cloudbase/container/dist/esm/utils/index.d.ts +3 -0
  272. package/node_modules/@cloudbase/container/dist/esm/utils/index.js +77 -0
  273. package/node_modules/@cloudbase/container/dist/esm/utils/loader.d.ts +8 -0
  274. package/node_modules/@cloudbase/container/dist/esm/utils/loader.js +178 -0
  275. package/node_modules/@cloudbase/container/dist/esm/utils/request.d.ts +12 -0
  276. package/node_modules/@cloudbase/container/dist/esm/utils/request.js +102 -0
  277. package/node_modules/@cloudbase/container/package.json +30 -0
  278. package/node_modules/@cloudbase/database/README.md +119 -0
  279. package/node_modules/@cloudbase/database/dist/commonjs/aggregate.d.ts +29 -0
  280. package/node_modules/@cloudbase/database/dist/commonjs/aggregate.js +156 -0
  281. package/node_modules/@cloudbase/database/dist/commonjs/collection.d.ts +9 -0
  282. package/node_modules/@cloudbase/database/dist/commonjs/collection.js +49 -0
  283. package/node_modules/@cloudbase/database/dist/commonjs/command.d.ts +175 -0
  284. package/node_modules/@cloudbase/database/dist/commonjs/command.js +299 -0
  285. package/node_modules/@cloudbase/database/dist/commonjs/commands/logic.d.ts +24 -0
  286. package/node_modules/@cloudbase/database/dist/commonjs/commands/logic.js +89 -0
  287. package/node_modules/@cloudbase/database/dist/commonjs/commands/query.d.ts +68 -0
  288. package/node_modules/@cloudbase/database/dist/commonjs/commands/query.js +160 -0
  289. package/node_modules/@cloudbase/database/dist/commonjs/commands/update.d.ts +29 -0
  290. package/node_modules/@cloudbase/database/dist/commonjs/commands/update.js +51 -0
  291. package/node_modules/@cloudbase/database/dist/commonjs/config/app.config.d.ts +6 -0
  292. package/node_modules/@cloudbase/database/dist/commonjs/config/app.config.js +7 -0
  293. package/node_modules/@cloudbase/database/dist/commonjs/config/error.config.d.ts +3 -0
  294. package/node_modules/@cloudbase/database/dist/commonjs/config/error.config.js +16 -0
  295. package/node_modules/@cloudbase/database/dist/commonjs/const/code.d.ts +30 -0
  296. package/node_modules/@cloudbase/database/dist/commonjs/const/code.js +33 -0
  297. package/node_modules/@cloudbase/database/dist/commonjs/constant.d.ts +51 -0
  298. package/node_modules/@cloudbase/database/dist/commonjs/constant.js +75 -0
  299. package/node_modules/@cloudbase/database/dist/commonjs/document.d.ts +11 -0
  300. package/node_modules/@cloudbase/database/dist/commonjs/document.js +260 -0
  301. package/node_modules/@cloudbase/database/dist/commonjs/geo/index.d.ts +6 -0
  302. package/{ai/dist → node_modules/@cloudbase/database/dist/commonjs/geo}/index.js +6 -5
  303. package/node_modules/@cloudbase/database/dist/commonjs/geo/interface.d.ts +24 -0
  304. package/node_modules/@cloudbase/database/dist/commonjs/geo/interface.js +2 -0
  305. package/node_modules/@cloudbase/database/dist/commonjs/geo/lineString.d.ts +19 -0
  306. package/node_modules/@cloudbase/database/dist/commonjs/geo/lineString.js +86 -0
  307. package/node_modules/@cloudbase/database/dist/commonjs/geo/multiLineString.d.ts +18 -0
  308. package/node_modules/@cloudbase/database/dist/commonjs/geo/multiLineString.js +95 -0
  309. package/node_modules/@cloudbase/database/dist/commonjs/geo/multiPoint.d.ts +18 -0
  310. package/node_modules/@cloudbase/database/dist/commonjs/geo/multiPoint.js +79 -0
  311. package/node_modules/@cloudbase/database/dist/commonjs/geo/multiPolygon.d.ts +18 -0
  312. package/node_modules/@cloudbase/database/dist/commonjs/geo/multiPolygon.js +122 -0
  313. package/node_modules/@cloudbase/database/dist/commonjs/geo/point.d.ts +19 -0
  314. package/node_modules/@cloudbase/database/dist/commonjs/geo/point.js +50 -0
  315. package/node_modules/@cloudbase/database/dist/commonjs/geo/polygon.d.ts +19 -0
  316. package/node_modules/@cloudbase/database/dist/commonjs/geo/polygon.js +109 -0
  317. package/node_modules/@cloudbase/database/dist/commonjs/helper/symbol.d.ts +14 -0
  318. package/node_modules/@cloudbase/database/dist/commonjs/helper/symbol.js +31 -0
  319. package/node_modules/@cloudbase/database/dist/commonjs/index.d.ts +40 -0
  320. package/node_modules/@cloudbase/database/dist/commonjs/index.js +61 -0
  321. package/node_modules/@cloudbase/database/dist/commonjs/lib/util.d.ts +1 -0
  322. package/node_modules/@cloudbase/database/dist/commonjs/lib/util.js +26 -0
  323. package/node_modules/@cloudbase/database/dist/commonjs/operator-map.d.ts +4 -0
  324. package/node_modules/@cloudbase/database/dist/commonjs/operator-map.js +24 -0
  325. package/node_modules/@cloudbase/database/dist/commonjs/query.d.ts +22 -0
  326. package/node_modules/@cloudbase/database/dist/commonjs/query.js +252 -0
  327. package/node_modules/@cloudbase/database/dist/commonjs/regexp/index.d.ts +14 -0
  328. package/node_modules/@cloudbase/database/dist/commonjs/regexp/index.js +33 -0
  329. package/node_modules/@cloudbase/database/dist/commonjs/serializer/common.d.ts +11 -0
  330. package/node_modules/@cloudbase/database/dist/commonjs/serializer/common.js +127 -0
  331. package/node_modules/@cloudbase/database/dist/commonjs/serializer/datatype.d.ts +7 -0
  332. package/node_modules/@cloudbase/database/dist/commonjs/serializer/datatype.js +132 -0
  333. package/node_modules/@cloudbase/database/dist/commonjs/serializer/query.d.ts +7 -0
  334. package/node_modules/@cloudbase/database/dist/commonjs/serializer/query.js +232 -0
  335. package/node_modules/@cloudbase/database/dist/commonjs/serializer/update.d.ts +15 -0
  336. package/node_modules/@cloudbase/database/dist/commonjs/serializer/update.js +142 -0
  337. package/node_modules/@cloudbase/database/dist/commonjs/serverDate/index.d.ts +13 -0
  338. package/node_modules/@cloudbase/database/dist/commonjs/serverDate/index.js +30 -0
  339. package/node_modules/@cloudbase/database/dist/commonjs/transaction/collection.d.ts +7 -0
  340. package/node_modules/@cloudbase/database/dist/commonjs/transaction/collection.js +49 -0
  341. package/node_modules/@cloudbase/database/dist/commonjs/transaction/document.d.ts +27 -0
  342. package/node_modules/@cloudbase/database/dist/commonjs/transaction/document.js +205 -0
  343. package/node_modules/@cloudbase/database/dist/commonjs/transaction/index.d.ts +30 -0
  344. package/node_modules/@cloudbase/database/dist/commonjs/transaction/index.js +215 -0
  345. package/node_modules/@cloudbase/database/dist/commonjs/transaction/query.d.ts +43 -0
  346. package/node_modules/@cloudbase/database/dist/commonjs/transaction/query.js +261 -0
  347. package/node_modules/@cloudbase/database/dist/commonjs/typings/index.d.ts +40 -0
  348. package/node_modules/@cloudbase/database/dist/commonjs/typings/index.js +2 -0
  349. package/node_modules/@cloudbase/database/dist/commonjs/typings/realtime.d.ts +219 -0
  350. package/node_modules/@cloudbase/database/dist/commonjs/typings/realtime.js +2 -0
  351. package/node_modules/@cloudbase/database/dist/commonjs/util.d.ts +9 -0
  352. package/node_modules/@cloudbase/database/dist/commonjs/util.js +145 -0
  353. package/node_modules/@cloudbase/database/dist/commonjs/utils/error.d.ts +38 -0
  354. package/node_modules/@cloudbase/database/dist/commonjs/utils/error.js +91 -0
  355. package/node_modules/@cloudbase/database/dist/commonjs/utils/msg.d.ts +0 -0
  356. package/node_modules/@cloudbase/database/dist/commonjs/utils/msg.js +0 -0
  357. package/node_modules/@cloudbase/database/dist/commonjs/utils/symbol.d.ts +8 -0
  358. package/node_modules/@cloudbase/database/dist/commonjs/utils/symbol.js +58 -0
  359. package/node_modules/@cloudbase/database/dist/commonjs/utils/type.d.ts +13 -0
  360. package/node_modules/@cloudbase/database/dist/commonjs/utils/type.js +34 -0
  361. package/node_modules/@cloudbase/database/dist/commonjs/utils/utils.d.ts +4 -0
  362. package/node_modules/@cloudbase/database/dist/commonjs/utils/utils.js +39 -0
  363. package/node_modules/@cloudbase/database/dist/commonjs/validate.d.ts +1 -0
  364. package/node_modules/@cloudbase/database/dist/commonjs/validate.js +60 -0
  365. package/node_modules/@cloudbase/database/dist/esm/aggregate.d.ts +29 -0
  366. package/node_modules/@cloudbase/database/dist/esm/aggregate.js +154 -0
  367. package/node_modules/@cloudbase/database/dist/esm/collection.d.ts +9 -0
  368. package/node_modules/@cloudbase/database/dist/esm/collection.js +46 -0
  369. package/node_modules/@cloudbase/database/dist/esm/command.d.ts +175 -0
  370. package/node_modules/@cloudbase/database/dist/esm/command.js +296 -0
  371. package/node_modules/@cloudbase/database/dist/esm/commands/logic.d.ts +24 -0
  372. package/node_modules/@cloudbase/database/dist/esm/commands/logic.js +84 -0
  373. package/node_modules/@cloudbase/database/dist/esm/commands/query.d.ts +68 -0
  374. package/node_modules/@cloudbase/database/dist/esm/commands/query.js +154 -0
  375. package/node_modules/@cloudbase/database/dist/esm/commands/update.d.ts +29 -0
  376. package/node_modules/@cloudbase/database/dist/esm/commands/update.js +46 -0
  377. package/node_modules/@cloudbase/database/dist/esm/config/app.config.d.ts +6 -0
  378. package/node_modules/@cloudbase/database/dist/esm/config/app.config.js +5 -0
  379. package/node_modules/@cloudbase/database/dist/esm/config/error.config.d.ts +3 -0
  380. package/node_modules/@cloudbase/database/dist/esm/config/error.config.js +13 -0
  381. package/node_modules/@cloudbase/database/dist/esm/const/code.d.ts +30 -0
  382. package/node_modules/@cloudbase/database/dist/esm/const/code.js +30 -0
  383. package/node_modules/@cloudbase/database/dist/esm/constant.d.ts +51 -0
  384. package/node_modules/@cloudbase/database/dist/esm/constant.js +65 -0
  385. package/node_modules/@cloudbase/database/dist/esm/document.d.ts +11 -0
  386. package/node_modules/@cloudbase/database/dist/esm/document.js +257 -0
  387. package/node_modules/@cloudbase/database/dist/esm/geo/index.d.ts +6 -0
  388. package/node_modules/@cloudbase/database/dist/esm/geo/index.js +6 -0
  389. package/node_modules/@cloudbase/database/dist/esm/geo/interface.d.ts +24 -0
  390. package/node_modules/@cloudbase/database/dist/esm/geo/interface.js +1 -0
  391. package/node_modules/@cloudbase/database/dist/esm/geo/lineString.d.ts +19 -0
  392. package/node_modules/@cloudbase/database/dist/esm/geo/lineString.js +83 -0
  393. package/node_modules/@cloudbase/database/dist/esm/geo/multiLineString.d.ts +18 -0
  394. package/node_modules/@cloudbase/database/dist/esm/geo/multiLineString.js +92 -0
  395. package/node_modules/@cloudbase/database/dist/esm/geo/multiPoint.d.ts +18 -0
  396. package/node_modules/@cloudbase/database/dist/esm/geo/multiPoint.js +76 -0
  397. package/node_modules/@cloudbase/database/dist/esm/geo/multiPolygon.d.ts +18 -0
  398. package/node_modules/@cloudbase/database/dist/esm/geo/multiPolygon.js +119 -0
  399. package/node_modules/@cloudbase/database/dist/esm/geo/point.d.ts +19 -0
  400. package/node_modules/@cloudbase/database/dist/esm/geo/point.js +47 -0
  401. package/node_modules/@cloudbase/database/dist/esm/geo/polygon.d.ts +19 -0
  402. package/node_modules/@cloudbase/database/dist/esm/geo/polygon.js +106 -0
  403. package/node_modules/@cloudbase/database/dist/esm/helper/symbol.d.ts +14 -0
  404. package/node_modules/@cloudbase/database/dist/esm/helper/symbol.js +14 -0
  405. package/node_modules/@cloudbase/database/dist/esm/index.d.ts +40 -0
  406. package/node_modules/@cloudbase/database/dist/esm/index.js +55 -0
  407. package/node_modules/@cloudbase/database/dist/esm/lib/util.d.ts +1 -0
  408. package/node_modules/@cloudbase/database/dist/esm/lib/util.js +22 -0
  409. package/node_modules/@cloudbase/database/dist/esm/operator-map.d.ts +4 -0
  410. package/node_modules/@cloudbase/database/dist/esm/operator-map.js +20 -0
  411. package/node_modules/@cloudbase/database/dist/esm/query.d.ts +22 -0
  412. package/node_modules/@cloudbase/database/dist/esm/query.js +249 -0
  413. package/node_modules/@cloudbase/database/dist/esm/regexp/index.d.ts +14 -0
  414. package/node_modules/@cloudbase/database/dist/esm/regexp/index.js +29 -0
  415. package/node_modules/@cloudbase/database/dist/esm/serializer/common.d.ts +11 -0
  416. package/node_modules/@cloudbase/database/dist/esm/serializer/common.js +118 -0
  417. package/node_modules/@cloudbase/database/dist/esm/serializer/datatype.d.ts +7 -0
  418. package/node_modules/@cloudbase/database/dist/esm/serializer/datatype.js +127 -0
  419. package/node_modules/@cloudbase/database/dist/esm/serializer/query.d.ts +7 -0
  420. package/node_modules/@cloudbase/database/dist/esm/serializer/query.js +229 -0
  421. package/node_modules/@cloudbase/database/dist/esm/serializer/update.d.ts +15 -0
  422. package/node_modules/@cloudbase/database/dist/esm/serializer/update.js +139 -0
  423. package/node_modules/@cloudbase/database/dist/esm/serverDate/index.d.ts +13 -0
  424. package/node_modules/@cloudbase/database/dist/esm/serverDate/index.js +26 -0
  425. package/node_modules/@cloudbase/database/dist/esm/transaction/collection.d.ts +7 -0
  426. package/node_modules/@cloudbase/database/dist/esm/transaction/collection.js +46 -0
  427. package/node_modules/@cloudbase/database/dist/esm/transaction/document.d.ts +27 -0
  428. package/node_modules/@cloudbase/database/dist/esm/transaction/document.js +202 -0
  429. package/node_modules/@cloudbase/database/dist/esm/transaction/index.d.ts +30 -0
  430. package/node_modules/@cloudbase/database/dist/esm/transaction/index.js +210 -0
  431. package/node_modules/@cloudbase/database/dist/esm/transaction/query.d.ts +43 -0
  432. package/node_modules/@cloudbase/database/dist/esm/transaction/query.js +258 -0
  433. package/node_modules/@cloudbase/database/dist/esm/typings/index.d.ts +40 -0
  434. package/node_modules/@cloudbase/database/dist/esm/typings/index.js +1 -0
  435. package/node_modules/@cloudbase/database/dist/esm/typings/realtime.d.ts +219 -0
  436. package/node_modules/@cloudbase/database/dist/esm/typings/realtime.js +1 -0
  437. package/node_modules/@cloudbase/database/dist/esm/util.d.ts +9 -0
  438. package/node_modules/@cloudbase/database/dist/esm/util.js +142 -0
  439. package/node_modules/@cloudbase/database/dist/esm/utils/error.d.ts +38 -0
  440. package/node_modules/@cloudbase/database/dist/esm/utils/error.js +84 -0
  441. package/node_modules/@cloudbase/database/dist/esm/utils/msg.d.ts +0 -0
  442. package/node_modules/@cloudbase/database/dist/esm/utils/msg.js +0 -0
  443. package/node_modules/@cloudbase/database/dist/esm/utils/symbol.d.ts +8 -0
  444. package/node_modules/@cloudbase/database/dist/esm/utils/symbol.js +55 -0
  445. package/node_modules/@cloudbase/database/dist/esm/utils/type.d.ts +13 -0
  446. package/node_modules/@cloudbase/database/dist/esm/utils/type.js +20 -0
  447. package/node_modules/@cloudbase/database/dist/esm/utils/utils.d.ts +4 -0
  448. package/node_modules/@cloudbase/database/dist/esm/utils/utils.js +33 -0
  449. package/node_modules/@cloudbase/database/dist/esm/validate.d.ts +1 -0
  450. package/node_modules/@cloudbase/database/dist/esm/validate.js +57 -0
  451. package/node_modules/@cloudbase/database/package.json +36 -0
  452. package/node_modules/@cloudbase/database/tsconfig.test.json +15 -0
  453. package/node_modules/@cloudbase/functions/.eslintrc.js +15 -0
  454. package/node_modules/@cloudbase/functions/dist/cjs/index.d.ts +2 -0
  455. package/node_modules/@cloudbase/functions/dist/cjs/index.js +223 -0
  456. package/node_modules/@cloudbase/functions/dist/esm/index.d.ts +2 -0
  457. package/node_modules/@cloudbase/functions/dist/esm/index.js +219 -0
  458. package/node_modules/@cloudbase/functions/package.json +32 -0
  459. package/node_modules/@cloudbase/model/.eslintrc.js +15 -0
  460. package/node_modules/@cloudbase/model/dist/cjs/index.d.ts +5 -0
  461. package/node_modules/@cloudbase/model/dist/cjs/index.js +144 -0
  462. package/node_modules/@cloudbase/model/dist/esm/index.d.ts +5 -0
  463. package/node_modules/@cloudbase/model/dist/esm/index.js +125 -0
  464. package/node_modules/@cloudbase/model/package.json +29 -0
  465. package/node_modules/@cloudbase/mysql/.eslintrc.js +6 -0
  466. package/node_modules/@cloudbase/mysql/dist/cjs/index.d.ts +4 -0
  467. package/node_modules/@cloudbase/mysql/dist/cjs/index.d.ts.map +1 -0
  468. package/node_modules/@cloudbase/mysql/dist/cjs/index.js +173 -0
  469. package/node_modules/@cloudbase/mysql/dist/esm/index.d.ts +3 -0
  470. package/node_modules/@cloudbase/mysql/dist/esm/index.js +155 -0
  471. package/node_modules/@cloudbase/mysql/package.json +30 -0
  472. package/node_modules/@cloudbase/oauth/.eslintrc.js +15 -0
  473. package/node_modules/@cloudbase/oauth/dist/cjs/auth/apis.d.ts +142 -0
  474. package/node_modules/@cloudbase/oauth/dist/cjs/auth/apis.js +1280 -0
  475. package/node_modules/@cloudbase/oauth/dist/cjs/auth/auth-error.d.ts +22 -0
  476. package/node_modules/@cloudbase/oauth/dist/cjs/auth/auth-error.js +278 -0
  477. package/node_modules/@cloudbase/oauth/dist/cjs/auth/consts.d.ts +139 -0
  478. package/node_modules/@cloudbase/oauth/dist/cjs/auth/consts.js +147 -0
  479. package/node_modules/@cloudbase/oauth/dist/cjs/auth/models.d.ts +557 -0
  480. package/node_modules/@cloudbase/oauth/dist/cjs/auth/models.js +3 -0
  481. package/node_modules/@cloudbase/oauth/dist/cjs/captcha/captcha-dom.d.ts +3 -0
  482. package/node_modules/@cloudbase/oauth/dist/cjs/captcha/captcha-dom.js +223 -0
  483. package/node_modules/@cloudbase/oauth/dist/cjs/captcha/captcha.d.ts +42 -0
  484. package/node_modules/@cloudbase/oauth/dist/cjs/captcha/captcha.js +205 -0
  485. package/node_modules/@cloudbase/oauth/dist/cjs/index.d.ts +22 -0
  486. package/node_modules/@cloudbase/oauth/dist/cjs/index.js +107 -0
  487. package/node_modules/@cloudbase/oauth/dist/cjs/oauth2client/consts.d.ts +20 -0
  488. package/node_modules/@cloudbase/oauth/dist/cjs/oauth2client/consts.js +26 -0
  489. package/node_modules/@cloudbase/oauth/dist/cjs/oauth2client/interface.d.ts +15 -0
  490. package/node_modules/@cloudbase/oauth/dist/cjs/oauth2client/interface.js +10 -0
  491. package/node_modules/@cloudbase/oauth/dist/cjs/oauth2client/models.d.ts +74 -0
  492. package/node_modules/@cloudbase/oauth/dist/cjs/oauth2client/models.js +3 -0
  493. package/node_modules/@cloudbase/oauth/dist/cjs/oauth2client/oauth2client.d.ts +129 -0
  494. package/node_modules/@cloudbase/oauth/dist/cjs/oauth2client/oauth2client.js +1174 -0
  495. package/node_modules/@cloudbase/oauth/dist/cjs/utils/base64.d.ts +9 -0
  496. package/node_modules/@cloudbase/oauth/dist/cjs/utils/base64.js +112 -0
  497. package/node_modules/@cloudbase/oauth/dist/cjs/utils/encrypt.d.ts +4 -0
  498. package/node_modules/@cloudbase/oauth/dist/cjs/utils/encrypt.js +26 -0
  499. package/node_modules/@cloudbase/oauth/dist/cjs/utils/encryptlong/index.d.ts +546 -0
  500. package/node_modules/@cloudbase/oauth/dist/cjs/utils/encryptlong/index.js +2982 -0
  501. package/node_modules/@cloudbase/oauth/dist/cjs/utils/function/single-promise.d.ts +6 -0
  502. package/node_modules/@cloudbase/oauth/dist/cjs/utils/function/single-promise.js +94 -0
  503. package/node_modules/@cloudbase/oauth/dist/cjs/utils/index.d.ts +2 -0
  504. package/node_modules/@cloudbase/oauth/dist/cjs/utils/index.js +56 -0
  505. package/node_modules/@cloudbase/oauth/dist/cjs/utils/mp.d.ts +2 -0
  506. package/node_modules/@cloudbase/oauth/dist/cjs/utils/mp.js +66 -0
  507. package/node_modules/@cloudbase/oauth/dist/cjs/utils/urlSearchParams.d.ts +13 -0
  508. package/node_modules/@cloudbase/oauth/dist/cjs/utils/urlSearchParams.js +66 -0
  509. package/node_modules/@cloudbase/oauth/dist/cjs/utils/uuid.d.ts +1 -0
  510. package/node_modules/@cloudbase/oauth/dist/cjs/utils/uuid.js +12 -0
  511. package/node_modules/@cloudbase/oauth/dist/esm/auth/apis.d.ts +142 -0
  512. package/node_modules/@cloudbase/oauth/dist/esm/auth/apis.js +768 -0
  513. package/node_modules/@cloudbase/oauth/dist/esm/auth/auth-error.d.ts +22 -0
  514. package/node_modules/@cloudbase/oauth/dist/esm/auth/auth-error.js +255 -0
  515. package/node_modules/@cloudbase/oauth/dist/esm/auth/consts.d.ts +139 -0
  516. package/node_modules/@cloudbase/oauth/dist/esm/auth/consts.js +144 -0
  517. package/node_modules/@cloudbase/oauth/dist/esm/auth/models.d.ts +557 -0
  518. package/node_modules/@cloudbase/oauth/dist/esm/auth/models.js +2 -0
  519. package/node_modules/@cloudbase/oauth/dist/esm/captcha/captcha-dom.d.ts +3 -0
  520. package/node_modules/@cloudbase/oauth/dist/esm/captcha/captcha-dom.js +130 -0
  521. package/node_modules/@cloudbase/oauth/dist/esm/captcha/captcha.d.ts +42 -0
  522. package/node_modules/@cloudbase/oauth/dist/esm/captcha/captcha.js +104 -0
  523. package/node_modules/@cloudbase/oauth/dist/esm/index.d.ts +22 -0
  524. package/node_modules/@cloudbase/oauth/dist/esm/index.js +64 -0
  525. package/node_modules/@cloudbase/oauth/dist/esm/oauth2client/consts.d.ts +20 -0
  526. package/node_modules/@cloudbase/oauth/dist/esm/oauth2client/consts.js +22 -0
  527. package/node_modules/@cloudbase/oauth/dist/esm/oauth2client/interface.d.ts +15 -0
  528. package/node_modules/@cloudbase/oauth/dist/esm/oauth2client/interface.js +3 -0
  529. package/node_modules/@cloudbase/oauth/dist/esm/oauth2client/models.d.ts +74 -0
  530. package/node_modules/@cloudbase/oauth/dist/esm/oauth2client/models.js +2 -0
  531. package/node_modules/@cloudbase/oauth/dist/esm/oauth2client/oauth2client.d.ts +129 -0
  532. package/node_modules/@cloudbase/oauth/dist/esm/oauth2client/oauth2client.js +711 -0
  533. package/node_modules/@cloudbase/oauth/dist/esm/utils/base64.d.ts +9 -0
  534. package/node_modules/@cloudbase/oauth/dist/esm/utils/base64.js +104 -0
  535. package/node_modules/@cloudbase/oauth/dist/esm/utils/encrypt.d.ts +4 -0
  536. package/node_modules/@cloudbase/oauth/dist/esm/utils/encrypt.js +18 -0
  537. package/node_modules/@cloudbase/oauth/dist/esm/utils/encryptlong/index.d.ts +546 -0
  538. package/node_modules/@cloudbase/oauth/dist/esm/utils/encryptlong/index.js +2953 -0
  539. package/node_modules/@cloudbase/oauth/dist/esm/utils/function/single-promise.d.ts +6 -0
  540. package/node_modules/@cloudbase/oauth/dist/esm/utils/function/single-promise.js +34 -0
  541. package/node_modules/@cloudbase/oauth/dist/esm/utils/index.d.ts +2 -0
  542. package/node_modules/@cloudbase/oauth/dist/esm/utils/index.js +51 -0
  543. package/node_modules/@cloudbase/oauth/dist/esm/utils/mp.d.ts +2 -0
  544. package/node_modules/@cloudbase/oauth/dist/esm/utils/mp.js +61 -0
  545. package/node_modules/@cloudbase/oauth/dist/esm/utils/urlSearchParams.d.ts +13 -0
  546. package/node_modules/@cloudbase/oauth/dist/esm/utils/urlSearchParams.js +58 -0
  547. package/node_modules/@cloudbase/oauth/dist/esm/utils/uuid.d.ts +1 -0
  548. package/node_modules/@cloudbase/oauth/dist/esm/utils/uuid.js +8 -0
  549. package/node_modules/@cloudbase/oauth/dist/miniprogram/index.js +1 -0
  550. package/node_modules/@cloudbase/oauth/package.json +20 -0
  551. package/node_modules/@cloudbase/realtime/.eslintrc.js +15 -0
  552. package/node_modules/@cloudbase/realtime/dist/cjs/common.d.ts +4 -0
  553. package/node_modules/@cloudbase/realtime/dist/cjs/common.js +22 -0
  554. package/node_modules/@cloudbase/realtime/dist/cjs/error.d.ts +36 -0
  555. package/node_modules/@cloudbase/realtime/dist/cjs/error.js +106 -0
  556. package/node_modules/@cloudbase/realtime/dist/cjs/index.d.ts +2 -0
  557. package/node_modules/@cloudbase/realtime/dist/cjs/index.js +36 -0
  558. package/node_modules/@cloudbase/realtime/dist/cjs/listener.d.ts +14 -0
  559. package/node_modules/@cloudbase/realtime/dist/cjs/listener.js +18 -0
  560. package/node_modules/@cloudbase/realtime/dist/cjs/message.d.ts +3 -0
  561. package/node_modules/@cloudbase/realtime/dist/cjs/message.js +13 -0
  562. package/node_modules/@cloudbase/realtime/dist/cjs/snapshot.d.ts +17 -0
  563. package/node_modules/@cloudbase/realtime/dist/cjs/snapshot.js +45 -0
  564. package/node_modules/@cloudbase/realtime/dist/cjs/utils.d.ts +1 -0
  565. package/node_modules/@cloudbase/realtime/dist/cjs/utils.js +9 -0
  566. package/node_modules/@cloudbase/realtime/dist/cjs/virtual-websocket-client.d.ts +62 -0
  567. package/node_modules/@cloudbase/realtime/dist/cjs/virtual-websocket-client.js +960 -0
  568. package/node_modules/@cloudbase/realtime/dist/cjs/websocket-client.d.ts +78 -0
  569. package/node_modules/@cloudbase/realtime/dist/cjs/websocket-client.js +750 -0
  570. package/node_modules/@cloudbase/realtime/dist/cjs/ws-event.d.ts +126 -0
  571. package/node_modules/@cloudbase/realtime/dist/cjs/ws-event.js +141 -0
  572. package/node_modules/@cloudbase/realtime/dist/esm/common.d.ts +4 -0
  573. package/node_modules/@cloudbase/realtime/dist/esm/common.js +15 -0
  574. package/node_modules/@cloudbase/realtime/dist/esm/error.d.ts +36 -0
  575. package/node_modules/@cloudbase/realtime/dist/esm/error.js +100 -0
  576. package/node_modules/@cloudbase/realtime/dist/esm/index.d.ts +2 -0
  577. package/node_modules/@cloudbase/realtime/dist/esm/index.js +32 -0
  578. package/node_modules/@cloudbase/realtime/dist/esm/listener.d.ts +14 -0
  579. package/node_modules/@cloudbase/realtime/dist/esm/listener.js +15 -0
  580. package/node_modules/@cloudbase/realtime/dist/esm/message.d.ts +3 -0
  581. package/node_modules/@cloudbase/realtime/dist/esm/message.js +8 -0
  582. package/node_modules/@cloudbase/realtime/dist/esm/snapshot.d.ts +17 -0
  583. package/node_modules/@cloudbase/realtime/dist/esm/snapshot.js +42 -0
  584. package/node_modules/@cloudbase/realtime/dist/esm/utils.d.ts +1 -0
  585. package/node_modules/@cloudbase/realtime/dist/esm/utils.js +5 -0
  586. package/node_modules/@cloudbase/realtime/dist/esm/virtual-websocket-client.d.ts +62 -0
  587. package/node_modules/@cloudbase/realtime/dist/esm/virtual-websocket-client.js +954 -0
  588. package/node_modules/@cloudbase/realtime/dist/esm/websocket-client.d.ts +78 -0
  589. package/node_modules/@cloudbase/realtime/dist/esm/websocket-client.js +747 -0
  590. package/node_modules/@cloudbase/realtime/dist/esm/ws-event.d.ts +126 -0
  591. package/node_modules/@cloudbase/realtime/dist/esm/ws-event.js +137 -0
  592. package/node_modules/@cloudbase/realtime/package.json +29 -0
  593. package/node_modules/@cloudbase/storage/.eslintrc.js +15 -0
  594. package/node_modules/@cloudbase/storage/dist/cjs/index.d.ts +195 -0
  595. package/node_modules/@cloudbase/storage/dist/cjs/index.js +1426 -0
  596. package/node_modules/@cloudbase/storage/dist/cjs/supabase/errors.d.ts +20 -0
  597. package/node_modules/@cloudbase/storage/dist/cjs/supabase/errors.js +65 -0
  598. package/node_modules/@cloudbase/storage/dist/cjs/supabase/types.d.ts +64 -0
  599. package/node_modules/@cloudbase/storage/dist/cjs/supabase/types.js +3 -0
  600. package/node_modules/@cloudbase/storage/dist/esm/index.d.ts +195 -0
  601. package/node_modules/@cloudbase/storage/dist/esm/index.js +1422 -0
  602. package/node_modules/@cloudbase/storage/dist/esm/supabase/errors.d.ts +20 -0
  603. package/node_modules/@cloudbase/storage/dist/esm/supabase/errors.js +61 -0
  604. package/node_modules/@cloudbase/storage/dist/esm/supabase/types.d.ts +64 -0
  605. package/node_modules/@cloudbase/storage/dist/esm/supabase/types.js +2 -0
  606. package/node_modules/@cloudbase/storage/package.json +28 -0
  607. package/node_modules/@cloudbase/types/auth.d.ts +99 -0
  608. package/node_modules/@cloudbase/types/cache.d.ts +26 -0
  609. package/node_modules/@cloudbase/types/cloudrun.d.ts +9 -0
  610. package/node_modules/@cloudbase/types/component.d.ts +17 -0
  611. package/node_modules/@cloudbase/types/database.d.ts +31 -0
  612. package/node_modules/@cloudbase/types/events.d.ts +13 -0
  613. package/node_modules/@cloudbase/types/functions.d.ts +40 -0
  614. package/node_modules/@cloudbase/types/index.d.ts +211 -0
  615. package/node_modules/@cloudbase/types/index.js +1 -0
  616. package/node_modules/@cloudbase/types/package.json +43 -0
  617. package/node_modules/@cloudbase/types/realtime.d.ts +350 -0
  618. package/node_modules/@cloudbase/types/request.d.ts +30 -0
  619. package/node_modules/@cloudbase/types/storage.d.ts +126 -0
  620. package/node_modules/@cloudbase/utilities/.eslintrc.js +15 -0
  621. package/node_modules/@cloudbase/utilities/dist/cjs/adapters/index.d.ts +45 -0
  622. package/node_modules/@cloudbase/utilities/dist/cjs/adapters/index.js +68 -0
  623. package/node_modules/@cloudbase/utilities/dist/cjs/adapters/platforms/web.d.ts +20 -0
  624. package/node_modules/@cloudbase/utilities/dist/cjs/adapters/platforms/web.js +278 -0
  625. package/node_modules/@cloudbase/utilities/dist/cjs/constants/common.d.ts +6 -0
  626. package/node_modules/@cloudbase/utilities/dist/cjs/constants/common.js +24 -0
  627. package/node_modules/@cloudbase/utilities/dist/cjs/constants/errors.d.ts +8 -0
  628. package/node_modules/@cloudbase/utilities/dist/cjs/constants/errors.js +12 -0
  629. package/node_modules/@cloudbase/utilities/dist/cjs/constants/index.d.ts +3 -0
  630. package/{model/dist → node_modules/@cloudbase/utilities/dist/cjs/constants}/index.js +5 -5
  631. package/node_modules/@cloudbase/utilities/dist/cjs/helpers/decorators.d.ts +11 -0
  632. package/node_modules/@cloudbase/utilities/dist/cjs/helpers/decorators.js +238 -0
  633. package/node_modules/@cloudbase/utilities/dist/cjs/helpers/index.d.ts +1 -0
  634. package/{apis/dist → node_modules/@cloudbase/utilities/dist/cjs/helpers}/index.js +2 -5
  635. package/node_modules/@cloudbase/utilities/dist/cjs/index.d.ts +13 -0
  636. package/node_modules/@cloudbase/utilities/dist/cjs/index.js +51 -0
  637. package/node_modules/@cloudbase/utilities/dist/cjs/libs/abortController.d.ts +9 -0
  638. package/node_modules/@cloudbase/utilities/dist/cjs/libs/abortController.js +25 -0
  639. package/node_modules/@cloudbase/utilities/dist/cjs/libs/cache.d.ts +17 -0
  640. package/node_modules/@cloudbase/utilities/dist/cjs/libs/cache.js +261 -0
  641. package/node_modules/@cloudbase/utilities/dist/cjs/libs/events.d.ts +27 -0
  642. package/node_modules/@cloudbase/utilities/dist/cjs/libs/events.js +108 -0
  643. package/node_modules/@cloudbase/utilities/dist/cjs/libs/langEvent.d.ts +3 -0
  644. package/node_modules/@cloudbase/utilities/dist/cjs/libs/langEvent.js +7 -0
  645. package/node_modules/@cloudbase/utilities/dist/cjs/libs/util.d.ts +49 -0
  646. package/node_modules/@cloudbase/utilities/dist/cjs/libs/util.js +282 -0
  647. package/node_modules/@cloudbase/utilities/dist/esm/adapters/index.d.ts +45 -0
  648. package/node_modules/@cloudbase/utilities/dist/esm/adapters/index.js +40 -0
  649. package/node_modules/@cloudbase/utilities/dist/esm/adapters/platforms/web.d.ts +20 -0
  650. package/node_modules/@cloudbase/utilities/dist/esm/adapters/platforms/web.js +274 -0
  651. package/node_modules/@cloudbase/utilities/dist/esm/constants/common.d.ts +6 -0
  652. package/node_modules/@cloudbase/utilities/dist/esm/constants/common.js +17 -0
  653. package/node_modules/@cloudbase/utilities/dist/esm/constants/errors.d.ts +8 -0
  654. package/node_modules/@cloudbase/utilities/dist/esm/constants/errors.js +9 -0
  655. package/node_modules/@cloudbase/utilities/dist/esm/constants/index.d.ts +3 -0
  656. package/node_modules/@cloudbase/utilities/dist/esm/constants/index.js +4 -0
  657. package/node_modules/@cloudbase/utilities/dist/esm/helpers/decorators.d.ts +11 -0
  658. package/node_modules/@cloudbase/utilities/dist/esm/helpers/decorators.js +234 -0
  659. package/node_modules/@cloudbase/utilities/dist/esm/helpers/index.d.ts +1 -0
  660. package/node_modules/@cloudbase/utilities/dist/esm/helpers/index.js +2 -0
  661. package/node_modules/@cloudbase/utilities/dist/esm/index.d.ts +13 -0
  662. package/node_modules/@cloudbase/utilities/dist/esm/index.js +14 -0
  663. package/node_modules/@cloudbase/utilities/dist/esm/libs/abortController.d.ts +9 -0
  664. package/node_modules/@cloudbase/utilities/dist/esm/libs/abortController.js +23 -0
  665. package/node_modules/@cloudbase/utilities/dist/esm/libs/cache.d.ts +17 -0
  666. package/node_modules/@cloudbase/utilities/dist/esm/libs/cache.js +258 -0
  667. package/node_modules/@cloudbase/utilities/dist/esm/libs/events.d.ts +27 -0
  668. package/node_modules/@cloudbase/utilities/dist/esm/libs/events.js +102 -0
  669. package/node_modules/@cloudbase/utilities/dist/esm/libs/langEvent.d.ts +3 -0
  670. package/node_modules/@cloudbase/utilities/dist/esm/libs/langEvent.js +4 -0
  671. package/node_modules/@cloudbase/utilities/dist/esm/libs/util.d.ts +49 -0
  672. package/node_modules/@cloudbase/utilities/dist/esm/libs/util.js +254 -0
  673. package/node_modules/@cloudbase/utilities/dist/miniprogram/index.js +1 -0
  674. package/node_modules/@cloudbase/utilities/package.json +26 -0
  675. package/package.json +2 -2
  676. package/ai/dist/index.d.ts +0 -1
  677. package/ai/dist/index.esm.js +0 -3
  678. package/analytics/dist/index.d.ts +0 -2
  679. package/analytics/dist/index.esm.js +0 -4
  680. package/analytics/dist/index.js +0 -9
  681. package/apis/dist/index.d.ts +0 -1
  682. package/apis/dist/index.esm.js +0 -3
  683. package/app/dist/index.d.ts +0 -9
  684. package/app/dist/index.esm.js +0 -11
  685. package/app/dist/index.js +0 -18
  686. package/auth/dist/index.d.ts +0 -2
  687. package/auth/dist/index.esm.js +0 -8
  688. package/auth/dist/index.js +0 -13
  689. package/cloudrun/dist/index.d.ts +0 -1
  690. package/cloudrun/dist/index.esm.js +0 -3
  691. package/cloudrun/dist/index.js +0 -21
  692. package/container/dist/index.d.ts +0 -2
  693. package/container/dist/index.esm.js +0 -8
  694. package/container/dist/index.js +0 -13
  695. package/database/dist/index.d.ts +0 -3
  696. package/database/dist/index.esm.js +0 -503
  697. package/database/dist/index.js +0 -509
  698. package/dist/index.esm.js +0 -35
  699. package/functions/dist/index.d.ts +0 -2
  700. package/functions/dist/index.esm.js +0 -8
  701. package/functions/dist/index.js +0 -13
  702. package/model/dist/index.d.ts +0 -1
  703. package/model/dist/index.esm.js +0 -3
  704. package/mysql/dist/index.d.ts +0 -1
  705. package/mysql/dist/index.esm.js +0 -3
  706. package/mysql/dist/index.js +0 -21
  707. package/oauth/dist/index.d.ts +0 -1
  708. package/oauth/dist/index.esm.js +0 -3
  709. package/oauth/dist/index.js +0 -21
  710. package/realtime/dist/index.d.ts +0 -2
  711. package/realtime/dist/index.esm.js +0 -8
  712. package/realtime/dist/index.js +0 -13
  713. package/storage/dist/index.d.ts +0 -2
  714. package/storage/dist/index.esm.js +0 -4
  715. package/storage/dist/index.js +0 -9
@@ -0,0 +1,478 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
13
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
14
+ return new (P || (P = Promise))(function (resolve, reject) {
15
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
16
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
17
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
18
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
19
+ });
20
+ };
21
+ var __generator = (this && this.__generator) || function (thisArg, body) {
22
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
23
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
24
+ function verb(n) { return function (v) { return step([n, v]); }; }
25
+ function step(op) {
26
+ if (f) throw new TypeError("Generator is already executing.");
27
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
28
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
29
+ if (y = 0, t) op = [op[0] & 2, t.value];
30
+ switch (op[0]) {
31
+ case 0: case 1: t = op; break;
32
+ case 4: _.label++; return { value: op[1], done: false };
33
+ case 5: _.label++; y = op[1]; op = [0]; continue;
34
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
35
+ default:
36
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
37
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
38
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
39
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
40
+ if (t[2]) _.ops.pop();
41
+ _.trys.pop(); continue;
42
+ }
43
+ op = body.call(thisArg, _);
44
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
45
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
46
+ }
47
+ };
48
+ var __rest = (this && this.__rest) || function (s, e) {
49
+ var t = {};
50
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
51
+ t[p] = s[p];
52
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
53
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
54
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
55
+ t[p[i]] = s[p[i]];
56
+ }
57
+ return t;
58
+ };
59
+ var __asyncValues = (this && this.__asyncValues) || function (o) {
60
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
61
+ var m = o[Symbol.asyncIterator], i;
62
+ return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
63
+ function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
64
+ function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
65
+ };
66
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
67
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
68
+ if (ar || !(i in from)) {
69
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
70
+ ar[i] = from[i];
71
+ }
72
+ }
73
+ return to.concat(ar || Array.prototype.slice.call(from));
74
+ };
75
+ import { createAsyncIterable, TransformStream, createPromise, isToolCallAssistantMessage, functionToolToModelTool, } from '../utils';
76
+ function processInput(obj) {
77
+ var _a;
78
+ var onStepFinish = obj.onStepFinish, abortSignal = obj.abortSignal, maxSteps = obj.maxSteps, topP = obj.topP, toolChoice = obj.toolChoice, b = __rest(obj, ["onStepFinish", "abortSignal", "maxSteps", "topP", "toolChoice"]);
79
+ if (maxSteps != null && maxSteps < 1) {
80
+ throw new Error('`maxSteps` muse be greater than 0.');
81
+ }
82
+ return [
83
+ { onStepFinish: onStepFinish, abortSignal: abortSignal, maxSteps: maxSteps },
84
+ __assign(__assign({}, b), { tools: (_a = b.tools) === null || _a === void 0 ? void 0 : _a.map(function (tool) {
85
+ if ('fn' in tool) {
86
+ return functionToolToModelTool(tool);
87
+ }
88
+ return tool;
89
+ }), top_p: topP != null ? topP : b.top_p, tool_choice: toolChoice != null ? toolChoice : b.tool_choice }),
90
+ ];
91
+ }
92
+ var ReactModel = (function () {
93
+ function ReactModel(model) {
94
+ this.model = model;
95
+ }
96
+ ReactModel.prototype.generateText = function (_input, options) {
97
+ var _a, _b;
98
+ return __awaiter(this, void 0, void 0, function () {
99
+ var rawResponses, totalUsage, _c, _d, onStepFinish, _e, maxSteps, input, doGenerate, currentRes, currentStep, toolCall, stepUsage_1, toolCallResult, choice, e_1, lastChoice, lastMessage, text, messages, stepUsage;
100
+ var _this = this;
101
+ return __generator(this, function (_f) {
102
+ switch (_f.label) {
103
+ case 0:
104
+ rawResponses = [];
105
+ totalUsage = { completion_tokens: 0, prompt_tokens: 0, total_tokens: 0 };
106
+ _c = processInput(_input), _d = _c[0], onStepFinish = _d.onStepFinish, _e = _d.maxSteps, maxSteps = _e === void 0 ? 10 : _e, input = _c[1];
107
+ doGenerate = function () { return _this.model.doGenerate(input, options); };
108
+ return [4, doGenerate()];
109
+ case 1:
110
+ currentRes = _f.sent();
111
+ currentStep = 1;
112
+ currentRes.rawResponse && rawResponses.push(currentRes.rawResponse);
113
+ toolCall = null;
114
+ _f.label = 2;
115
+ case 2:
116
+ if (!(currentStep < maxSteps && (toolCall = getToolCallFromGenerate(currentRes)) != null)) return [3, 9];
117
+ stepUsage_1 = createSolidUsage(currentRes.usage);
118
+ addToUsage(totalUsage, stepUsage_1);
119
+ _f.label = 3;
120
+ case 3:
121
+ _f.trys.push([3, 7, , 8]);
122
+ return [4, callTool(toolCall)];
123
+ case 4:
124
+ toolCallResult = _f.sent();
125
+ choice = currentRes.choices[0];
126
+ return [4, (onStepFinish === null || onStepFinish === void 0 ? void 0 : onStepFinish({
127
+ finishReason: choice.finish_reason,
128
+ messages: input.messages.slice(),
129
+ text: choice.message.content,
130
+ toolCall: toolCall,
131
+ toolResult: toolCallResult,
132
+ stepUsage: stepUsage_1,
133
+ totalUsage: Object.assign({}, totalUsage),
134
+ }))];
135
+ case 5:
136
+ _f.sent();
137
+ pushNewMessages(input.messages, choice.message, toolCallResult);
138
+ return [4, doGenerate()];
139
+ case 6:
140
+ currentRes = _f.sent();
141
+ currentRes.rawResponse && rawResponses.push(currentRes.rawResponse);
142
+ currentStep += 1;
143
+ return [3, 8];
144
+ case 7:
145
+ e_1 = _f.sent();
146
+ return [2, {
147
+ text: '',
148
+ messages: input.messages,
149
+ usage: totalUsage,
150
+ error: e_1,
151
+ rawResponses: rawResponses,
152
+ }];
153
+ case 8: return [3, 2];
154
+ case 9:
155
+ lastChoice = (_a = currentRes === null || currentRes === void 0 ? void 0 : currentRes.choices) === null || _a === void 0 ? void 0 : _a[0];
156
+ lastMessage = lastChoice === null || lastChoice === void 0 ? void 0 : lastChoice.message;
157
+ text = (_b = lastMessage === null || lastMessage === void 0 ? void 0 : lastMessage.content) !== null && _b !== void 0 ? _b : '';
158
+ messages = lastMessage ? __spreadArray(__spreadArray([], input.messages, true), [lastMessage], false) : input.messages;
159
+ stepUsage = createSolidUsage(currentRes.usage);
160
+ addToUsage(totalUsage, stepUsage);
161
+ return [4, (onStepFinish === null || onStepFinish === void 0 ? void 0 : onStepFinish({
162
+ finishReason: lastChoice.finish_reason,
163
+ messages: messages.slice(),
164
+ text: text,
165
+ toolCall: getToolCallFromGenerate(currentRes),
166
+ toolResult: null,
167
+ stepUsage: stepUsage,
168
+ totalUsage: Object.assign({}, totalUsage),
169
+ }))];
170
+ case 10:
171
+ _f.sent();
172
+ return [2, {
173
+ text: text,
174
+ messages: messages,
175
+ usage: totalUsage,
176
+ rawResponses: rawResponses,
177
+ }];
178
+ }
179
+ });
180
+ });
181
+ };
182
+ ReactModel.prototype.streamText = function (_input, options) {
183
+ var _a;
184
+ return __awaiter(this, void 0, void 0, function () {
185
+ var totalUsage, _b, _c, onStepFinish, _d, maxSteps, input, doStream, currentRes, currentStep, readResult, readCurrentStream, _e, assistantMessage, stepUsage_2, toolCall, toolCallResult, e_2, _f, s1_1, s2_1, message_1, usage, messages, _g, s1_2, s2_2, messagePromise, usagePromise, message, finishReason, stepUsage, originStream, _h, s1, s2;
186
+ var _this = this;
187
+ return __generator(this, function (_j) {
188
+ switch (_j.label) {
189
+ case 0:
190
+ totalUsage = { completion_tokens: 0, prompt_tokens: 0, total_tokens: 0 };
191
+ _b = processInput(_input), _c = _b[0], onStepFinish = _c.onStepFinish, _d = _c.maxSteps, maxSteps = _d === void 0 ? 10 : _d, input = _b[1];
192
+ doStream = function () { return _this.model.doStream(input, options); };
193
+ return [4, doStream()];
194
+ case 1:
195
+ currentRes = _j.sent();
196
+ currentStep = 1;
197
+ readResult = null;
198
+ readCurrentStream = function () {
199
+ var _a = currentRes.tee(), oldStream = _a[0], newStream = _a[1];
200
+ currentRes = createAsyncIterable(oldStream);
201
+ return readFunctionCallStream(newStream);
202
+ };
203
+ _j.label = 2;
204
+ case 2:
205
+ _e = currentStep < maxSteps;
206
+ if (!_e) return [3, 4];
207
+ return [4, readCurrentStream()];
208
+ case 3:
209
+ _e = (readResult = _j.sent()) != null;
210
+ _j.label = 4;
211
+ case 4:
212
+ if (!_e) return [3, 11];
213
+ assistantMessage = readResult.message, stepUsage_2 = readResult.usage;
214
+ addToUsage(totalUsage, stepUsage_2);
215
+ toolCall = (_a = assistantMessage.tool_calls) === null || _a === void 0 ? void 0 : _a[0];
216
+ _j.label = 5;
217
+ case 5:
218
+ _j.trys.push([5, 9, , 10]);
219
+ return [4, callTool(toolCall)];
220
+ case 6:
221
+ toolCallResult = _j.sent();
222
+ return [4, (onStepFinish === null || onStepFinish === void 0 ? void 0 : onStepFinish({
223
+ finishReason: 'tool_calls',
224
+ messages: input.messages.slice(),
225
+ text: assistantMessage.content,
226
+ toolCall: toolCall,
227
+ toolResult: toolCallResult,
228
+ stepUsage: stepUsage_2,
229
+ totalUsage: Object.assign({}, totalUsage),
230
+ }))];
231
+ case 7:
232
+ _j.sent();
233
+ pushNewMessages(input.messages, assistantMessage, toolCallResult);
234
+ return [4, doStream()];
235
+ case 8:
236
+ currentRes = _j.sent();
237
+ return [3, 10];
238
+ case 9:
239
+ e_2 = _j.sent();
240
+ _f = currentRes.tee(), s1_1 = _f[0], s2_1 = _f[1];
241
+ return [2, {
242
+ messages: Promise.resolve(input.messages),
243
+ dataStream: createAsyncIterable(s1_1),
244
+ textStream: createAsyncIterable(s2_1.pipeThrough(new TransformStream({
245
+ transform: function (chunk, controller) {
246
+ var _a, _b, _c;
247
+ var str = (_c = (_b = (_a = chunk === null || chunk === void 0 ? void 0 : chunk.choices) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.delta) === null || _c === void 0 ? void 0 : _c.content;
248
+ if (typeof str === 'string')
249
+ controller.enqueue(str);
250
+ },
251
+ }))),
252
+ usage: Promise.resolve(totalUsage),
253
+ error: e_2,
254
+ }];
255
+ case 10: return [3, 2];
256
+ case 11: return [4, readCurrentStream()];
257
+ case 12:
258
+ readResult = _j.sent();
259
+ if (readResult) {
260
+ message_1 = readResult.message, usage = readResult.usage;
261
+ addToUsage(totalUsage, usage);
262
+ messages = __spreadArray(__spreadArray([], input.messages, true), [message_1], false);
263
+ onStepFinish({
264
+ messages: messages.slice(),
265
+ finishReason: 'tool_call',
266
+ stepUsage: usage,
267
+ text: message_1.content,
268
+ toolCall: message_1.tool_calls[0],
269
+ totalUsage: Object.assign({}, totalUsage),
270
+ });
271
+ _g = currentRes.tee(), s1_2 = _g[0], s2_2 = _g[1];
272
+ return [2, {
273
+ messages: Promise.resolve(__spreadArray(__spreadArray([], input.messages, true), [message_1], false)),
274
+ dataStream: createAsyncIterable(s1_2),
275
+ textStream: createAsyncIterable(s2_2.pipeThrough(new TransformStream({
276
+ transform: function (chunk, controller) {
277
+ var _a, _b, _c;
278
+ var str = (_c = (_b = (_a = chunk === null || chunk === void 0 ? void 0 : chunk.choices) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.delta) === null || _c === void 0 ? void 0 : _c.content;
279
+ if (typeof str === 'string')
280
+ controller.enqueue(str);
281
+ },
282
+ }))),
283
+ usage: Promise.resolve(totalUsage),
284
+ }];
285
+ }
286
+ messagePromise = createPromise();
287
+ usagePromise = createPromise();
288
+ message = {
289
+ role: 'assistant',
290
+ content: '',
291
+ };
292
+ finishReason = '';
293
+ stepUsage = { completion_tokens: 0, prompt_tokens: 0, total_tokens: 0 };
294
+ originStream = currentRes.pipeThrough(new TransformStream({
295
+ transform: function (chunk, controller) {
296
+ var _a, _b, _c, _d, _e, _f, _g, _h;
297
+ var content = (_c = (_b = (_a = chunk === null || chunk === void 0 ? void 0 : chunk.choices) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.delta) === null || _c === void 0 ? void 0 : _c.content;
298
+ if (typeof content === 'string') {
299
+ message.content += content;
300
+ }
301
+ var reason = (_e = (_d = chunk === null || chunk === void 0 ? void 0 : chunk.choices) === null || _d === void 0 ? void 0 : _d[0]) === null || _e === void 0 ? void 0 : _e.finish_reason;
302
+ if (reason)
303
+ finishReason = reason;
304
+ if ((_f = chunk === null || chunk === void 0 ? void 0 : chunk.usage) === null || _f === void 0 ? void 0 : _f.completion_tokens)
305
+ stepUsage.completion_tokens = chunk.usage.completion_tokens;
306
+ if ((_g = chunk === null || chunk === void 0 ? void 0 : chunk.usage) === null || _g === void 0 ? void 0 : _g.prompt_tokens)
307
+ stepUsage.prompt_tokens = chunk.usage.prompt_tokens;
308
+ if ((_h = chunk === null || chunk === void 0 ? void 0 : chunk.usage) === null || _h === void 0 ? void 0 : _h.total_tokens)
309
+ stepUsage.total_tokens = chunk.usage.total_tokens;
310
+ controller.enqueue(chunk);
311
+ },
312
+ flush: function () {
313
+ messagePromise.res(__spreadArray(__spreadArray([], input.messages, true), [message], false));
314
+ addToUsage(totalUsage, stepUsage);
315
+ usagePromise.res(Object.assign({}, totalUsage));
316
+ onStepFinish === null || onStepFinish === void 0 ? void 0 : onStepFinish({
317
+ messages: __spreadArray(__spreadArray([], input.messages, true), [message], false),
318
+ finishReason: finishReason,
319
+ text: message.content,
320
+ stepUsage: stepUsage,
321
+ totalUsage: Object.assign({}, totalUsage),
322
+ });
323
+ },
324
+ }));
325
+ _h = originStream.tee(), s1 = _h[0], s2 = _h[1];
326
+ return [2, {
327
+ messages: messagePromise.promise,
328
+ dataStream: createAsyncIterable(s1),
329
+ textStream: createAsyncIterable(s2.pipeThrough(new TransformStream({
330
+ transform: function (chunk, controller) {
331
+ var _a, _b, _c;
332
+ var content = (_c = (_b = (_a = chunk === null || chunk === void 0 ? void 0 : chunk.choices) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.delta) === null || _c === void 0 ? void 0 : _c.content;
333
+ if (typeof content === 'string') {
334
+ controller.enqueue(content);
335
+ }
336
+ },
337
+ }))),
338
+ usage: usagePromise.promise,
339
+ }];
340
+ }
341
+ });
342
+ });
343
+ };
344
+ return ReactModel;
345
+ }());
346
+ export { ReactModel };
347
+ function getToolCallFromGenerate(output) {
348
+ var _a;
349
+ var choice = (_a = output === null || output === void 0 ? void 0 : output.choices) === null || _a === void 0 ? void 0 : _a[0];
350
+ if (!choice)
351
+ return null;
352
+ var finish_reason = choice.finish_reason, message = choice.message;
353
+ if (finish_reason !== 'tool_calls')
354
+ return null;
355
+ if (!message)
356
+ return null;
357
+ if (!isToolCallAssistantMessage(message))
358
+ return null;
359
+ return message.tool_calls[0];
360
+ }
361
+ function pushNewMessages(messages, assistantMessage, toolCallResult) {
362
+ messages.push(assistantMessage, {
363
+ role: 'tool',
364
+ tool_call_id: assistantMessage.tool_calls[0].id,
365
+ content: JSON.stringify(toolCallResult),
366
+ });
367
+ }
368
+ function readFunctionCallStream(stream) {
369
+ var _a, e_3, _b, _c;
370
+ var _d, _e, _f, _g, _h, _j;
371
+ return __awaiter(this, void 0, void 0, function () {
372
+ var stepUsage, aStream, retToolCall, retMessage, _k, aStream_1, aStream_1_1, chunk, choice, finish_reason, delta, toolCall, e_3_1;
373
+ return __generator(this, function (_l) {
374
+ switch (_l.label) {
375
+ case 0:
376
+ stepUsage = { completion_tokens: 0, prompt_tokens: 0, total_tokens: 0 };
377
+ aStream = createAsyncIterable(stream);
378
+ retToolCall = {
379
+ id: '',
380
+ function: {
381
+ name: '',
382
+ arguments: '',
383
+ },
384
+ type: '',
385
+ };
386
+ retMessage = {
387
+ role: 'assistant',
388
+ content: '',
389
+ tool_calls: [retToolCall],
390
+ };
391
+ _l.label = 1;
392
+ case 1:
393
+ _l.trys.push([1, 6, 7, 12]);
394
+ _k = true, aStream_1 = __asyncValues(aStream);
395
+ _l.label = 2;
396
+ case 2: return [4, aStream_1.next()];
397
+ case 3:
398
+ if (!(aStream_1_1 = _l.sent(), _a = aStream_1_1.done, !_a)) return [3, 5];
399
+ _c = aStream_1_1.value;
400
+ _k = false;
401
+ try {
402
+ chunk = _c;
403
+ choice = chunk === null || chunk === void 0 ? void 0 : chunk.choices[0];
404
+ if (!choice)
405
+ return [2, null];
406
+ finish_reason = choice.finish_reason, delta = choice.delta;
407
+ if (finish_reason !== 'tool_calls')
408
+ return [2, null];
409
+ if (!delta)
410
+ return [3, 4];
411
+ if (delta.content)
412
+ retMessage.content += delta.content;
413
+ if (!('tool_calls' in delta))
414
+ return [3, 4];
415
+ toolCall = (_d = delta === null || delta === void 0 ? void 0 : delta.tool_calls) === null || _d === void 0 ? void 0 : _d[0];
416
+ if (toolCall === null || toolCall === void 0 ? void 0 : toolCall.id)
417
+ retToolCall.id = toolCall.id;
418
+ if (toolCall === null || toolCall === void 0 ? void 0 : toolCall.type)
419
+ retToolCall.type = toolCall.type;
420
+ if ((_e = toolCall === null || toolCall === void 0 ? void 0 : toolCall.function) === null || _e === void 0 ? void 0 : _e.name)
421
+ retToolCall.function.name = toolCall.function.name;
422
+ if ((_f = toolCall === null || toolCall === void 0 ? void 0 : toolCall.function) === null || _f === void 0 ? void 0 : _f.arguments)
423
+ retToolCall.function.arguments += toolCall.function.arguments;
424
+ if ((_g = chunk === null || chunk === void 0 ? void 0 : chunk.usage) === null || _g === void 0 ? void 0 : _g.completion_tokens)
425
+ stepUsage.completion_tokens = chunk.usage.completion_tokens;
426
+ if ((_h = chunk === null || chunk === void 0 ? void 0 : chunk.usage) === null || _h === void 0 ? void 0 : _h.prompt_tokens)
427
+ stepUsage.prompt_tokens = chunk.usage.prompt_tokens;
428
+ if ((_j = chunk === null || chunk === void 0 ? void 0 : chunk.usage) === null || _j === void 0 ? void 0 : _j.total_tokens)
429
+ stepUsage.total_tokens = chunk.usage.total_tokens;
430
+ }
431
+ finally {
432
+ _k = true;
433
+ }
434
+ _l.label = 4;
435
+ case 4: return [3, 2];
436
+ case 5: return [3, 12];
437
+ case 6:
438
+ e_3_1 = _l.sent();
439
+ e_3 = { error: e_3_1 };
440
+ return [3, 12];
441
+ case 7:
442
+ _l.trys.push([7, , 10, 11]);
443
+ if (!(!_k && !_a && (_b = aStream_1.return))) return [3, 9];
444
+ return [4, _b.call(aStream_1)];
445
+ case 8:
446
+ _l.sent();
447
+ _l.label = 9;
448
+ case 9: return [3, 11];
449
+ case 10:
450
+ if (e_3) throw e_3.error;
451
+ return [7];
452
+ case 11: return [7];
453
+ case 12: return [2, {
454
+ message: retMessage,
455
+ usage: stepUsage,
456
+ }];
457
+ }
458
+ });
459
+ });
460
+ }
461
+ export var toolMap = new Map();
462
+ function callTool(toolCall) {
463
+ return toolMap.get(toolCall.function.name)(JSON.parse(toolCall.function.arguments));
464
+ }
465
+ function createSolidUsage(usage) {
466
+ var _a, _b, _c;
467
+ return {
468
+ completion_tokens: (_a = usage === null || usage === void 0 ? void 0 : usage.completion_tokens) !== null && _a !== void 0 ? _a : 0,
469
+ prompt_tokens: (_b = usage === null || usage === void 0 ? void 0 : usage.prompt_tokens) !== null && _b !== void 0 ? _b : 0,
470
+ total_tokens: (_c = usage === null || usage === void 0 ? void 0 : usage.total_tokens) !== null && _c !== void 0 ? _c : 0,
471
+ };
472
+ }
473
+ function addToUsage(targetUsage, sourceUsage) {
474
+ targetUsage.completion_tokens += sourceUsage.completion_tokens;
475
+ targetUsage.prompt_tokens += sourceUsage.prompt_tokens;
476
+ targetUsage.total_tokens += sourceUsage.total_tokens;
477
+ }
478
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kZWxzL21vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUEsT0FBTyxFQUNMLG1CQUFtQixFQUNuQixlQUFlLEVBQ2YsYUFBYSxFQUNiLDBCQUEwQixFQUMxQix1QkFBdUIsR0FDeEIsTUFBTSxVQUFVLENBQUE7QUF3Q2pCLFNBQVMsWUFBWSxDQUFDLEdBQW9COztJQUNoQyxJQUFBLFlBQVksR0FBb0QsR0FBRyxhQUF2RCxFQUFFLFdBQVcsR0FBdUMsR0FBRyxZQUExQyxFQUFFLFFBQVEsR0FBNkIsR0FBRyxTQUFoQyxFQUFFLElBQUksR0FBdUIsR0FBRyxLQUExQixFQUFFLFVBQVUsR0FBVyxHQUFHLFdBQWQsRUFBSyxDQUFDLFVBQUssR0FBRyxFQUFyRSxpRUFBK0QsQ0FBRixDQUFRO0lBRTNFLElBQUksUUFBUSxJQUFJLElBQUksSUFBSSxRQUFRLEdBQUcsQ0FBQyxFQUFFO1FBQ3BDLE1BQU0sSUFBSSxLQUFLLENBQUMsb0NBQW9DLENBQUMsQ0FBQTtLQUN0RDtJQUVELE9BQU87UUFDTCxFQUFFLFlBQVksY0FBQSxFQUFFLFdBQVcsYUFBQSxFQUFFLFFBQVEsVUFBQSxFQUFFOzhCQUVsQyxDQUFDLEtBQ0osS0FBSyxFQUFFLE1BQUEsQ0FBQyxDQUFDLEtBQUssMENBQUUsR0FBRyxDQUFDLFVBQUMsSUFBSTtnQkFDdkIsSUFBSSxJQUFJLElBQUksSUFBSSxFQUFFO29CQUNoQixPQUFPLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFBO2lCQUNyQztnQkFDRCxPQUFPLElBQUksQ0FBQTtZQUNiLENBQUMsQ0FBQyxFQUNGLEtBQUssRUFBRSxJQUFJLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxD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QUN0RCxXQUFXLENBQUMsWUFBWSxJQUFJLFdBQVcsQ0FBQyxZQUFZLENBQUE7QUFDdEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvbiAqL1xuLyogZXNsaW50LWRpc2FibGUgZXFlcWVxICovXG5pbXBvcnQge1xuICBjcmVhdGVBc3luY0l0ZXJhYmxlLFxuICBUcmFuc2Zvcm1TdHJlYW0sXG4gIGNyZWF0ZVByb21pc2UsXG4gIGlzVG9vbENhbGxBc3Npc3RhbnRNZXNzYWdlLFxuICBmdW5jdGlvblRvb2xUb01vZGVsVG9vbCxcbn0gZnJvbSAnLi4vdXRpbHMnXG5pbXBvcnQge1xuICBCYXNlQ2hhdE1vZGVsSW5wdXQsXG4gIEJhc2VEb1N0cmVhbU91dHB1dENodW5rLFxuICBEb1N0cmVhbU91dHB1dCxcbiAgRG9HZW5lcmF0ZU91dHB1dCxcbiAgU2ltcGxlQ2hhdE1vZGVsLFxuICBUb29sQ2FsbCxcbiAgQ2hhdE1vZGVsTWVzc2FnZSxcbiAgQXN5bmNJdGVyYWJsZVJlYWRhYmxlU3RyZWFtLFxuICBVc2FnZSxcbiAgVG9vbENhbGxBc3Npc3RhbnRNZXNzYWdlLFxuICBNb2RlbFRvb2wsXG4gIEZ1bmN0aW9uVG9vbCxcbiAgUmVxT3B0aW9ucyxcbn0gZnJvbSAnLi4vdHlwZSdcblxudHlwZSBSZWFjdE1vZGVsSW5wdXQgPSBSZWFjdFByb3BzICZcbk9taXQ8QmFzZUNoYXRNb2RlbElucHV0LCAndG9vbHMnPiAmIHtcbiAgdG9vbHM/OiBBcnJheTxNb2RlbFRvb2wgfCBGdW5jdGlvblRvb2w+XG4gIHRvcFA/OiBudW1iZXJcbiAgdG9vbENob2ljZT86ICdub25lJyB8ICdhdXRvJyB8ICdjdXN0b20nXG59XG5cbmludGVyZmFjZSBJT25TdGVwRmluaXNoIHtcbiAgbWVzc2FnZXM6IEFycmF5PENoYXRNb2RlbE1lc3NhZ2U+XG4gIHRleHQ/OiBzdHJpbmdcbiAgdG9vbENhbGw/OiBUb29sQ2FsbFxuICB0b29sUmVzdWx0PzogdW5rbm93blxuICBmaW5pc2hSZWFzb24/OiBzdHJpbmdcbiAgc3RlcFVzYWdlPzogVXNhZ2VcbiAgdG90YWxVc2FnZT86IFVzYWdlXG59XG5cbmludGVyZmFjZSBSZWFjdFByb3BzIHtcbiAgbWF4U3RlcHM/OiBudW1iZXJcbiAgb25TdGVwRmluaXNoPzogKHByb3A6IElPblN0ZXBGaW5pc2gpID0+IHVua25vd25cbiAgYWJvcnRTaWduYWw/OiBBYm9ydFNpZ25hbCAvLyBUT0RPOiDlrp7njrAgYWJvcnRTaWduYWxcbn1cblxuZnVuY3Rpb24gcHJvY2Vzc0lucHV0KG9iajogUmVhY3RNb2RlbElucHV0KTogW1JlYWN0UHJvcHMsIEJhc2VDaGF0TW9kZWxJbnB1dF0ge1xuICBjb25zdCB7IG9uU3RlcEZpbmlzaCwgYWJvcnRTaWduYWwsIG1heFN0ZXBzLCB0b3BQLCB0b29sQ2hvaWNlLCAuLi5iIH0gPSBvYmpcblxuICBpZiAobWF4U3RlcHMgIT0gbnVsbCAmJiBtYXhTdGVwcyA8IDEpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2BtYXhTdGVwc2AgbXVzZSBiZSBncmVhdGVyIHRoYW4gMC4nKVxuICB9XG5cbiAgcmV0dXJuIFtcbiAgICB7IG9uU3RlcEZpbmlzaCwgYWJvcnRTaWduYWwsIG1heFN0ZXBzIH0sXG4gICAge1xuICAgICAgLi4uYixcbiAgICAgIHRvb2xzOiBiLnRvb2xzPy5tYXAoKHRvb2wpID0+IHtcbiAgICAgICAgaWYgKCdmbicgaW4gdG9vbCkge1xuICAgICAgICAgIHJldHVybiBmdW5jdGlvblRvb2xUb01vZGVsVG9vbCh0b29sKVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0b29sXG4gICAgICB9KSxcbiAgICAgIHRvcF9wOiB0b3BQICE9IG51bGwgPyB0b3BQIDogYi50b3BfcCxcbiAgICAgIHRvb2xfY2hvaWNlOiB0b29sQ2hvaWNlICE9IG51bGwgPyB0b29sQ2hvaWNlIDogYi50b29sX2Nob2ljZSxcbiAgICB9LFxuICBdXG59XG5cbmV4cG9ydCBjbGFzcyBSZWFjdE1vZGVsIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBtb2RlbDogU2ltcGxlQ2hhdE1vZGVsKSB7fVxuXG4gIHB1YmxpYyBhc3luYyBnZW5lcmF0ZVRleHQoX2lucHV0OiBSZWFjdE1vZGVsSW5wdXQsIG9wdGlvbnM/OiBSZXFPcHRpb25zKTogUHJvbWlzZTx7XG4gICAgdGV4dDogc3RyaW5nXG4gICAgbWVzc2FnZXM6IEFycmF5PENoYXRNb2RlbE1lc3NhZ2U+XG4gICAgdXNhZ2U6IFVzYWdlXG4gICAgcmF3UmVzcG9uc2VzOiBBcnJheTx1bmtub3duPlxuICAgIGVycm9yPzogYW55XG4gIH0+IHtcbiAgICBjb25zdCByYXdSZXNwb25zZXMgPSBbXVxuICAgIGNvbnN0IHRvdGFsVXNhZ2U6IFVzYWdlID0geyBjb21wbGV0aW9uX3Rva2VuczogMCwgcHJvbXB0X3Rva2VuczogMCwgdG90YWxfdG9rZW5zOiAwIH1cblxuICAgIGNvbnN0IFt7IG9uU3RlcEZpbmlzaCwgbWF4U3RlcHMgPSAxMCB9LCBpbnB1dF0gPSBwcm9jZXNzSW5wdXQoX2lucHV0KVxuXG4gICAgY29uc3QgZG9HZW5lcmF0ZSA9ICgpID0+IHRoaXMubW9kZWwuZG9HZW5lcmF0ZShpbnB1dCwgb3B0aW9ucykgLy8g5ZCO57ut5Luj56CB5Lya55u05o6l5a+5IGlucHV0Lm1lc3NhZ2VzIOWOn+WcsOS/ruaUue+8jOi/memHjOS4gOebtOeUqOWQjOS4gOS4quWvueixoeWwseihjFxuICAgIGxldCBjdXJyZW50UmVzID0gYXdhaXQgZG9HZW5lcmF0ZSgpXG4gICAgbGV0IGN1cnJlbnRTdGVwID0gMVxuICAgIGN1cnJlbnRSZXMucmF3UmVzcG9uc2UgJiYgcmF3UmVzcG9uc2VzLnB1c2goY3VycmVudFJlcy5yYXdSZXNwb25zZSlcblxuICAgIGxldCB0b29sQ2FsbDogVG9vbENhbGwgfCBudWxsID0gbnVsbFxuXG4gICAgLy8gVE9ETzog5LiA5qyh5a+56K+d5pyJ5aSa5LiqIHRvb2wgY2FsbD8g55uu5YmN5rKh5pyJ6L+Z56eN546w6LGh77yM5pqC5pe25LiN5aSE55CGXG4gICAgd2hpbGUgKGN1cnJlbnRTdGVwIDwgbWF4U3RlcHMgJiYgKHRvb2xDYWxsID0gZ2V0VG9vbENhbGxGcm9tR2VuZXJhdGUoY3VycmVudFJlcykpICE9IG51bGwpIHtcbiAgICAgIGNvbnN0IHN0ZXBVc2FnZSA9IGNyZWF0ZVNvbGlkVXNhZ2UoY3VycmVudFJlcy51c2FnZSlcbiAgICAgIGFkZFRvVXNhZ2UodG90YWxVc2FnZSwgc3RlcFVzYWdlKVxuXG4gICAgICAvLyDlvZPliKTmlq3pnIDopoHlt6XlhbfosIPnlKjml7ZcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHRvb2xDYWxsUmVzdWx0ID0gYXdhaXQgY2FsbFRvb2wodG9vbENhbGwpIC8vIOiwg+eUqFxuXG4gICAgICAgIGNvbnN0IGNob2ljZSA9IGN1cnJlbnRSZXMuY2hvaWNlc1swXSAvLyBnZXRUb29sQ2FsbEZyb21HZW5lcmF0ZSDkv53or4HkuoYgY2hvaWNlIOiCr+WumuWtmOWcqFxuXG4gICAgICAgIGF3YWl0IG9uU3RlcEZpbmlzaD8uKHtcbiAgICAgICAgICBmaW5pc2hSZWFzb246IGNob2ljZS5maW5pc2hfcmVhc29uLFxuICAgICAgICAgIG1lc3NhZ2VzOiBpbnB1dC5tZXNzYWdlcy5zbGljZSgpLFxuICAgICAgICAgIHRleHQ6IGNob2ljZS5tZXNzYWdlLmNvbnRlbnQsXG4gICAgICAgICAgdG9vbENhbGwsXG4gICAgICAgICAgdG9vbFJlc3VsdDogdG9vbENhbGxSZXN1bHQsXG4gICAgICAgICAgc3RlcFVzYWdlLFxuICAgICAgICAgIHRvdGFsVXNhZ2U6IE9iamVjdC5hc3NpZ24oe30sIHRvdGFsVXNhZ2UpLFxuICAgICAgICB9KVxuXG4gICAgICAgIHB1c2hOZXdNZXNzYWdlcyhpbnB1dC5tZXNzYWdlcywgY2hvaWNlLm1lc3NhZ2UgYXMgVG9vbENhbGxBc3Npc3RhbnRNZXNzYWdlLCB0b29sQ2FsbFJlc3VsdCkgLy8g55So6LCD55So57uT5p6c5L+u5pS55pyA5paw55qE5raI5oGvXG5cbiAgICAgICAgY3VycmVudFJlcyA9IGF3YWl0IGRvR2VuZXJhdGUoKSAvLyDlvqrnjq/lr7nor51cbiAgICAgICAgY3VycmVudFJlcy5yYXdSZXNwb25zZSAmJiByYXdSZXNwb25zZXMucHVzaChjdXJyZW50UmVzLnJhd1Jlc3BvbnNlKVxuICAgICAgICBjdXJyZW50U3RlcCArPSAxXG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgdGV4dDogJycsXG4gICAgICAgICAgbWVzc2FnZXM6IGlucHV0Lm1lc3NhZ2VzLFxuICAgICAgICAgIHVzYWdlOiB0b3RhbFVzYWdlLFxuICAgICAgICAgIGVycm9yOiBlLFxuICAgICAgICAgIHJhd1Jlc3BvbnNlcyxcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGxhc3RDaG9pY2UgPSBjdXJyZW50UmVzPy5jaG9pY2VzPy5bMF1cbiAgICBjb25zdCBsYXN0TWVzc2FnZSA9IGxhc3RDaG9pY2U/Lm1lc3NhZ2VcblxuICAgIGNvbnN0IHRleHQgPSBsYXN0TWVzc2FnZT8uY29udGVudCA/PyAnJ1xuICAgIGNvbnN0IG1lc3NhZ2VzID0gbGFzdE1lc3NhZ2UgPyBbLi4uaW5wdXQubWVzc2FnZXMsIGxhc3RNZXNzYWdlXSA6IGlucHV0Lm1lc3NhZ2VzXG5cbiAgICBjb25zdCBzdGVwVXNhZ2UgPSBjcmVhdGVTb2xpZFVzYWdlKGN1cnJlbnRSZXMudXNhZ2UpXG4gICAgYWRkVG9Vc2FnZSh0b3RhbFVzYWdlLCBzdGVwVXNhZ2UpXG5cbiAgICBhd2FpdCBvblN0ZXBGaW5pc2g/Lih7XG4gICAgICBmaW5pc2hSZWFzb246IGxhc3RDaG9pY2UuZmluaXNoX3JlYXNvbixcbiAgICAgIG1lc3NhZ2VzOiBtZXNzYWdlcy5zbGljZSgpLFxuICAgICAgdGV4dCxcbiAgICAgIHRvb2xDYWxsOiBnZXRUb29sQ2FsbEZyb21HZW5lcmF0ZShjdXJyZW50UmVzKSxcbiAgICAgIHRvb2xSZXN1bHQ6IG51bGwsXG4gICAgICBzdGVwVXNhZ2UsXG4gICAgICB0b3RhbFVzYWdlOiBPYmplY3QuYXNzaWduKHt9LCB0b3RhbFVzYWdlKSxcbiAgICB9KVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIHRleHQsXG4gICAgICBtZXNzYWdlcyxcbiAgICAgIHVzYWdlOiB0b3RhbFVzYWdlLFxuICAgICAgcmF3UmVzcG9uc2VzLFxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBzdHJlYW1UZXh0KF9pbnB1dDogUmVhY3RNb2RlbElucHV0LCBvcHRpb25zPzogUmVxT3B0aW9ucyk6IFByb21pc2U8e1xuICAgIGRhdGFTdHJlYW06IERvU3RyZWFtT3V0cHV0XG4gICAgdGV4dFN0cmVhbTogQXN5bmNJdGVyYWJsZVJlYWRhYmxlU3RyZWFtPHN0cmluZz5cbiAgICBtZXNzYWdlczogUHJvbWlzZTxBcnJheTxDaGF0TW9kZWxNZXNzYWdlPj5cbiAgICB1c2FnZTogUHJvbWlzZTxVc2FnZT5cbiAgICBlcnJvcj86IGFueVxuICB9PiB7XG4gICAgY29uc3QgdG90YWxVc2FnZTogVXNhZ2UgPSB7IGNvbXBsZXRpb25fdG9rZW5zOiAwLCBwcm9tcHRfdG9rZW5zOiAwLCB0b3RhbF90b2tlbnM6IDAgfVxuXG4gICAgY29uc3QgW3sgb25TdGVwRmluaXNoLCBtYXhTdGVwcyA9IDEwIH0sIGlucHV0XSA9IHByb2Nlc3NJbnB1dChfaW5wdXQpXG4gICAgY29uc3QgZG9TdHJlYW0gPSAoKSA9PiB0aGlzLm1vZGVsLmRvU3RyZWFtKGlucHV0LCBvcHRpb25zKSAvLyDlkI7nu63ku6PnoIHkvJrnm7TmjqXlr7kgaW5wdXQubWVzc2FnZXMg5Y6f5Zyw5L+u5pS577yM6L+Z6YeM5LiA55u055So5ZCM5LiA5Liq5a+56LGh5bCx6KGMXG4gICAgbGV0IGN1cnJlbnRSZXMgPSBhd2FpdCBkb1N0cmVhbSgpXG4gICAgY29uc3QgY3VycmVudFN0ZXAgPSAxXG4gICAgbGV0IHJlYWRSZXN1bHQ6IHsgbWVzc2FnZTogVG9vbENhbGxBc3Npc3RhbnRNZXNzYWdlOyB1c2FnZTogVXNhZ2UgfSB8IG51bGwgPSBudWxsXG5cbiAgICBjb25zdCByZWFkQ3VycmVudFN0cmVhbSA9ICgpID0+IHtcbiAgICAgIGNvbnN0IFtvbGRTdHJlYW0sIG5ld1N0cmVhbV0gPSBjdXJyZW50UmVzLnRlZSgpXG4gICAgICBjdXJyZW50UmVzID0gY3JlYXRlQXN5bmNJdGVyYWJsZShvbGRTdHJlYW0pXG4gICAgICByZXR1cm4gcmVhZEZ1bmN0aW9uQ2FsbFN0cmVhbShuZXdTdHJlYW0pXG4gICAgfVxuXG4gICAgLy8gVE9ETzog5LiA5qyh5a+56K+d5pyJ5aSa5LiqIHRvb2wgY2FsbD8g55uu5YmN5rKh5pyJ6L+Z56eN546w6LGh77yM5pqC5pe25LiN5aSE55CGXG4gICAgLy8g6L+Z6YeM5ZKMIGdlbmVyYXRlVGV4dCDkuI3lpKrkuIDmoLfvvIzpmaTkuobop6PmnpDlh7ogdG9vbENhbGwg5aSW77yM6L+Y6ZyA6KaB5LuO5rWB5Lit5p6E6YCg5Ye65YW25LuW5a6M5pW055qE5L+h5oGvXG4gICAgd2hpbGUgKGN1cnJlbnRTdGVwIDwgbWF4U3RlcHMgJiYgKHJlYWRSZXN1bHQgPSBhd2FpdCByZWFkQ3VycmVudFN0cmVhbSgpKSAhPSBudWxsKSB7XG4gICAgICBjb25zdCB7IG1lc3NhZ2U6IGFzc2lzdGFudE1lc3NhZ2UsIHVzYWdlOiBzdGVwVXNhZ2UgfSA9IHJlYWRSZXN1bHRcbiAgICAgIGFkZFRvVXNhZ2UodG90YWxVc2FnZSwgc3RlcFVzYWdlKVxuXG4gICAgICAvLyDlvZPliKTmlq3pnIDopoHlt6XlhbfosIPnlKjml7ZcbiAgICAgIGNvbnN0IHRvb2xDYWxsID0gYXNzaXN0YW50TWVzc2FnZS50b29sX2NhbGxzPy5bMF0gLy8g6L+Z5LiqIHRvb2xDYWxsIOS4gOWumuWtmOWcqFxuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgdG9vbENhbGxSZXN1bHQgPSBhd2FpdCBjYWxsVG9vbCh0b29sQ2FsbCkgLy8g6LCD55SoXG5cbiAgICAgICAgYXdhaXQgb25TdGVwRmluaXNoPy4oe1xuICAgICAgICAgIGZpbmlzaFJlYXNvbjogJ3Rvb2xfY2FsbHMnLFxuICAgICAgICAgIG1lc3NhZ2VzOiBpbnB1dC5tZXNzYWdlcy5zbGljZSgpLFxuICAgICAgICAgIHRleHQ6IGFzc2lzdGFudE1lc3NhZ2UuY29udGVudCxcbiAgICAgICAgICB0b29sQ2FsbCxcbiAgICAgICAgICB0b29sUmVzdWx0OiB0b29sQ2FsbFJlc3VsdCxcbiAgICAgICAgICBzdGVwVXNhZ2UsXG4gICAgICAgICAgdG90YWxVc2FnZTogT2JqZWN0LmFzc2lnbih7fSwgdG90YWxVc2FnZSksXG4gICAgICAgIH0pXG5cbiAgICAgICAgcHVzaE5ld01lc3NhZ2VzKGlucHV0Lm1lc3NhZ2VzLCBhc3Npc3RhbnRNZXNzYWdlLCB0b29sQ2FsbFJlc3VsdCkgLy8g55So6LCD55So57uT5p6c5L+u5pS55pyA5paw55qE5raI5oGvXG4gICAgICAgIGN1cnJlbnRSZXMgPSBhd2FpdCBkb1N0cmVhbSgpIC8vIOW+queOr+WvueivnVxuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zdCBbczEsIHMyXSA9IGN1cnJlbnRSZXMudGVlKClcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBtZXNzYWdlczogUHJvbWlzZS5yZXNvbHZlKGlucHV0Lm1lc3NhZ2VzKSxcbiAgICAgICAgICBkYXRhU3RyZWFtOiBjcmVhdGVBc3luY0l0ZXJhYmxlKHMxKSxcbiAgICAgICAgICB0ZXh0U3RyZWFtOiBjcmVhdGVBc3luY0l0ZXJhYmxlKHMyLnBpcGVUaHJvdWdoKG5ldyBUcmFuc2Zvcm1TdHJlYW0oe1xuICAgICAgICAgICAgdHJhbnNmb3JtKGNodW5rLCBjb250cm9sbGVyKSB7XG4gICAgICAgICAgICAgIGNvbnN0IHN0ciA9IGNodW5rPy5jaG9pY2VzPy5bMF0/LmRlbHRhPy5jb250ZW50XG4gICAgICAgICAgICAgIGlmICh0eXBlb2Ygc3RyID09PSAnc3RyaW5nJykgY29udHJvbGxlci5lbnF1ZXVlKHN0cilcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSksKSwpLFxuICAgICAgICAgIHVzYWdlOiBQcm9taXNlLnJlc29sdmUodG90YWxVc2FnZSksXG4gICAgICAgICAgZXJyb3I6IGUsXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmnIDlkI7ov5Tlm57ml7bvvIzmnInlh6Dnp43mg4XlhrXvvJpcbiAgICAgKiAxLiDmsqHotoUgbWF4U3RlcCDml6Dlt6XlhbfosIPnlKhcbiAgICAgKiAyLiDotoXkuoYgbWF4U3RlcCDmnInlt6XlhbfosIPnlKhcbiAgICAgKiAzLiDotoXkuoYgbWF4U3RlcCDml6Dlt6XlhbfosIPnlKhcbiAgICAgKiBuZXZlci4g5rKh6LaFIG1heFN0ZXDvvIzmnInlt6XlhbfosIPnlKjvvIzov5nml7blgJnkvJrov5vliLDkuIrpnaLnmoQgd2hpbGUg5b6q546vIGJsb2NrIOS4reWkhOeQhlxuICAgICAqXG4gICAgICog5YW25LitIDEuIDMuIOWPr+S7peWQiOW5tu+8jOayoeacieW3peWFt+iwg+eUqOWwseW6lOivpeebtOaOpei/lOWbnu+8jOaXoOiuuiBtYXhTdGVwXG4gICAgICpcbiAgICAgKiDmiYDku6XlkIjlubbkuLrvvJpcbiAgICAgKiAxLiDml6Dlt6XlhbfosIPnlKhcbiAgICAgKiAyLiDmnInlt6XlhbfosIPnlKjvvIzkvYbmmK/otoXov4cgbWF4U3RlcFxuICAgICAqXG4gICAgICog6L+Z5Lik56eN5oOF5Ya16YO95rKh6L+b5YiwIHdoaWxlIOW+queOryBibG9jayDkuK3lpITnkIZcbiAgICAgKiDmiJHku6zpnIDopoEgYS4g5aGeIG1lc3NhZ2UgYi4g566XIFVzYWdlIGMuIOiwg+eUqCBvblN0ZXBGaW5pc2hcbiAgICAgKi9cblxuICAgIHJlYWRSZXN1bHQgPSBhd2FpdCByZWFkQ3VycmVudFN0cmVhbSgpXG5cbiAgICBpZiAocmVhZFJlc3VsdCkge1xuICAgICAgLy8g5oOF5Ya1IDIg5pyJ5bel5YW36LCD55So77yM5L2G5piv6LaF6L+HIG1heFN0ZXBcbiAgICAgIGNvbnN0IHsgbWVzc2FnZSwgdXNhZ2UgfSA9IHJlYWRSZXN1bHRcbiAgICAgIGFkZFRvVXNhZ2UodG90YWxVc2FnZSwgdXNhZ2UpXG5cbiAgICAgIGNvbnN0IG1lc3NhZ2VzID0gWy4uLmlucHV0Lm1lc3NhZ2VzLCBtZXNzYWdlXVxuXG4gICAgICBvblN0ZXBGaW5pc2goe1xuICAgICAgICBtZXNzYWdlczogbWVzc2FnZXMuc2xpY2UoKSxcbiAgICAgICAgZmluaXNoUmVhc29uOiAndG9vbF9jYWxsJyxcbiAgICAgICAgc3RlcFVzYWdlOiB1c2FnZSxcbiAgICAgICAgdGV4dDogbWVzc2FnZS5jb250ZW50LFxuICAgICAgICB0b29sQ2FsbDogbWVzc2FnZS50b29sX2NhbGxzWzBdLFxuICAgICAgICB0b3RhbFVzYWdlOiBPYmplY3QuYXNzaWduKHt9LCB0b3RhbFVzYWdlKSxcbiAgICAgIH0pXG5cbiAgICAgIGNvbnN0IFtzMSwgczJdID0gY3VycmVudFJlcy50ZWUoKVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbWVzc2FnZXM6IFByb21pc2UucmVzb2x2ZShbLi4uaW5wdXQubWVzc2FnZXMsIG1lc3NhZ2VdKSxcbiAgICAgICAgZGF0YVN0cmVhbTogY3JlYXRlQXN5bmNJdGVyYWJsZShzMSksXG4gICAgICAgIHRleHRTdHJlYW06IGNyZWF0ZUFzeW5jSXRlcmFibGUoczIucGlwZVRocm91Z2gobmV3IFRyYW5zZm9ybVN0cmVhbSh7XG4gICAgICAgICAgdHJhbnNmb3JtKGNodW5rLCBjb250cm9sbGVyKSB7XG4gICAgICAgICAgICBjb25zdCBzdHIgPSBjaHVuaz8uY2hvaWNlcz8uWzBdPy5kZWx0YT8uY29udGVudFxuICAgICAgICAgICAgaWYgKHR5cGVvZiBzdHIgPT09ICdzdHJpbmcnKSBjb250cm9sbGVyLmVucXVldWUoc3RyKVxuICAgICAgICAgIH0sXG4gICAgICAgIH0pLCksKSxcbiAgICAgICAgdXNhZ2U6IFByb21pc2UucmVzb2x2ZSh0b3RhbFVzYWdlKSxcbiAgICAgIH1cbiAgICB9XG4gICAgLy8g5oOF5Ya1IDEg5peg5bel5YW36LCD55SoXG4gICAgY29uc3QgbWVzc2FnZVByb21pc2UgPSBjcmVhdGVQcm9taXNlPEFycmF5PENoYXRNb2RlbE1lc3NhZ2U+PigpXG4gICAgY29uc3QgdXNhZ2VQcm9taXNlID0gY3JlYXRlUHJvbWlzZTxVc2FnZT4oKVxuXG4gICAgY29uc3QgbWVzc2FnZTogQ2hhdE1vZGVsTWVzc2FnZSA9IHtcbiAgICAgIHJvbGU6ICdhc3Npc3RhbnQnLFxuICAgICAgY29udGVudDogJycsXG4gICAgfVxuICAgIGxldCBmaW5pc2hSZWFzb24gPSAnJ1xuICAgIGNvbnN0IHN0ZXBVc2FnZTogVXNhZ2UgPSB7IGNvbXBsZXRpb25fdG9rZW5zOiAwLCBwcm9tcHRfdG9rZW5zOiAwLCB0b3RhbF90b2tlbnM6IDAgfVxuXG4gICAgY29uc3Qgb3JpZ2luU3RyZWFtID0gY3VycmVudFJlcy5waXBlVGhyb3VnaChuZXcgVHJhbnNmb3JtU3RyZWFtKHtcbiAgICAgIHRyYW5zZm9ybShjaHVuaywgY29udHJvbGxlcikge1xuICAgICAgICAvLyDkuI3mlLnlj5ggY2h1bmsg5YaF5a6577yM5Y+q5piv5oum5oiq5LiL5YaF5a655ou85pyA5ZCO55qE57uT5p6cXG4gICAgICAgIGNvbnN0IGNvbnRlbnQgPSBjaHVuaz8uY2hvaWNlcz8uWzBdPy5kZWx0YT8uY29udGVudFxuICAgICAgICBpZiAodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgbWVzc2FnZS5jb250ZW50ICs9IGNvbnRlbnRcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHJlYXNvbiA9IGNodW5rPy5jaG9pY2VzPy5bMF0/LmZpbmlzaF9yZWFzb25cbiAgICAgICAgaWYgKHJlYXNvbikgZmluaXNoUmVhc29uID0gcmVhc29uXG5cbiAgICAgICAgLy8gVE9ETzog5LiN5ZCM5aSn5qih5Z6L55qEIHN0cmVhbSB1c2FnZSDmoLzlvI/kuI3kuIDmoLfvvIzlkI7nu63lj6/og73opoHosIPmlbQuXG4gICAgICAgIC8vIGh1bnl1YW4g5q+P5LiqIGNodW5rIOmDveS8muaciSB1c2FnZe+8jOmAkOatpeWinuWKoO+8jOS7peacgOWQjuS4gOS4queahOS4uuWHhjtcbiAgICAgICAgLy8gemhpcHUg5pyA5ZCOIGNodW5rIOS8muaciSB1c2FnZTtcbiAgICAgICAgaWYgKGNodW5rPy51c2FnZT8uY29tcGxldGlvbl90b2tlbnMpIHN0ZXBVc2FnZS5jb21wbGV0aW9uX3Rva2VucyA9IGNodW5rLnVzYWdlLmNvbXBsZXRpb25fdG9rZW5zXG4gICAgICAgIGlmIChjaHVuaz8udXNhZ2U/LnByb21wdF90b2tlbnMpIHN0ZXBVc2FnZS5wcm9tcHRfdG9rZW5zID0gY2h1bmsudXNhZ2UucHJvbXB0X3Rva2Vuc1xuICAgICAgICBpZiAoY2h1bms/LnVzYWdlPy50b3RhbF90b2tlbnMpIHN0ZXBVc2FnZS50b3RhbF90b2tlbnMgPSBjaHVuay51c2FnZS50b3RhbF90b2tlbnNcblxuICAgICAgICBjb250cm9sbGVyLmVucXVldWUoY2h1bmspXG4gICAgICB9LFxuICAgICAgZmx1c2goKSB7XG4gICAgICAgIG1lc3NhZ2VQcm9taXNlLnJlcyhbLi4uaW5wdXQubWVzc2FnZXMsIG1lc3NhZ2VdKVxuICAgICAgICBhZGRUb1VzYWdlKHRvdGFsVXNhZ2UsIHN0ZXBVc2FnZSlcbiAgICAgICAgdXNhZ2VQcm9taXNlLnJlcyhPYmplY3QuYXNzaWduKHt9LCB0b3RhbFVzYWdlKSlcbiAgICAgICAgb25TdGVwRmluaXNoPy4oe1xuICAgICAgICAgIG1lc3NhZ2VzOiBbLi4uaW5wdXQubWVzc2FnZXMsIG1lc3NhZ2VdLFxuICAgICAgICAgIGZpbmlzaFJlYXNvbixcbiAgICAgICAgICB0ZXh0OiBtZXNzYWdlLmNvbnRlbnQsXG4gICAgICAgICAgc3RlcFVzYWdlLFxuICAgICAgICAgIHRvdGFsVXNhZ2U6IE9iamVjdC5hc3NpZ24oe30sIHRvdGFsVXNhZ2UpLFxuICAgICAgICB9KVxuICAgICAgfSxcbiAgICB9KSwpXG5cbiAgICBjb25zdCBbczEsIHMyXSA9IG9yaWdpblN0cmVhbS50ZWUoKVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIG1lc3NhZ2VzOiBtZXNzYWdlUHJvbWlzZS5wcm9taXNlLFxuICAgICAgZGF0YVN0cmVhbTogY3JlYXRlQXN5bmNJdGVyYWJsZShzMSksXG4gICAgICB0ZXh0U3RyZWFtOiBjcmVhdGVBc3luY0l0ZXJhYmxlKHMyLnBpcGVUaHJvdWdoKG5ldyBUcmFuc2Zvcm1TdHJlYW0oe1xuICAgICAgICB0cmFuc2Zvcm0oY2h1bmssIGNvbnRyb2xsZXIpIHtcbiAgICAgICAgICBjb25zdCBjb250ZW50ID0gY2h1bms/LmNob2ljZXM/LlswXT8uZGVsdGE/LmNvbnRlbnRcbiAgICAgICAgICBpZiAodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICBjb250cm9sbGVyLmVucXVldWUoY29udGVudClcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICB9KSwpLCksXG4gICAgICB1c2FnZTogdXNhZ2VQcm9taXNlLnByb21pc2UsXG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGdldFRvb2xDYWxsRnJvbUdlbmVyYXRlKG91dHB1dDogRG9HZW5lcmF0ZU91dHB1dCkge1xuICBjb25zdCBjaG9pY2UgPSBvdXRwdXQ/LmNob2ljZXM/LlswXVxuXG4gIGlmICghY2hvaWNlKSByZXR1cm4gbnVsbFxuXG4gIGNvbnN0IHsgZmluaXNoX3JlYXNvbiwgbWVzc2FnZSB9ID0gY2hvaWNlXG5cbiAgaWYgKGZpbmlzaF9yZWFzb24gIT09ICd0b29sX2NhbGxzJykgcmV0dXJuIG51bGxcbiAgaWYgKCFtZXNzYWdlKSByZXR1cm4gbnVsbFxuICBpZiAoIWlzVG9vbENhbGxBc3Npc3RhbnRNZXNzYWdlKG1lc3NhZ2UpKSByZXR1cm4gbnVsbFxuXG4gIHJldHVybiBtZXNzYWdlLnRvb2xfY2FsbHNbMF1cbn1cblxuZnVuY3Rpb24gcHVzaE5ld01lc3NhZ2VzKFxuICBtZXNzYWdlczogQXJyYXk8Q2hhdE1vZGVsTWVzc2FnZT4sXG4gIGFzc2lzdGFudE1lc3NhZ2U6IFRvb2xDYWxsQXNzaXN0YW50TWVzc2FnZSxcbiAgdG9vbENhbGxSZXN1bHQ6IHVua25vd24sXG4pIHtcbiAgbWVzc2FnZXMucHVzaChhc3Npc3RhbnRNZXNzYWdlLCB7XG4gICAgcm9sZTogJ3Rvb2wnLFxuICAgIHRvb2xfY2FsbF9pZDogYXNzaXN0YW50TWVzc2FnZS50b29sX2NhbGxzWzBdLmlkLFxuICAgIGNvbnRlbnQ6IEpTT04uc3RyaW5naWZ5KHRvb2xDYWxsUmVzdWx0KSxcbiAgfSlcbn1cblxuYXN5bmMgZnVuY3Rpb24gcmVhZEZ1bmN0aW9uQ2FsbFN0cmVhbShzdHJlYW06IFJlYWRhYmxlU3RyZWFtPEJhc2VEb1N0cmVhbU91dHB1dENodW5rPiwpOiBQcm9taXNlPHsgbWVzc2FnZTogVG9vbENhbGxBc3Npc3RhbnRNZXNzYWdlOyB1c2FnZTogVXNhZ2UgfSB8IG51bGw+IHtcbiAgY29uc3Qgc3RlcFVzYWdlOiBVc2FnZSA9IHsgY29tcGxldGlvbl90b2tlbnM6IDAsIHByb21wdF90b2tlbnM6IDAsIHRvdGFsX3Rva2VuczogMCB9XG4gIGNvbnN0IGFTdHJlYW0gPSBjcmVhdGVBc3luY0l0ZXJhYmxlKHN0cmVhbSlcblxuICBjb25zdCByZXRUb29sQ2FsbDogVG9vbENhbGwgPSB7XG4gICAgaWQ6ICcnLFxuICAgIGZ1bmN0aW9uOiB7XG4gICAgICBuYW1lOiAnJyxcbiAgICAgIGFyZ3VtZW50czogJycsXG4gICAgfSxcbiAgICB0eXBlOiAnJyxcbiAgfVxuXG4gIGNvbnN0IHJldE1lc3NhZ2U6IFRvb2xDYWxsQXNzaXN0YW50TWVzc2FnZSA9IHtcbiAgICByb2xlOiAnYXNzaXN0YW50JyxcbiAgICBjb250ZW50OiAnJyxcbiAgICB0b29sX2NhbGxzOiBbcmV0VG9vbENhbGxdLFxuICB9XG5cbiAgZm9yIGF3YWl0IChjb25zdCBjaHVuayBvZiBhU3RyZWFtKSB7XG4gICAgY29uc3QgY2hvaWNlID0gY2h1bms/LmNob2ljZXNbMF1cbiAgICBpZiAoIWNob2ljZSkgcmV0dXJuIG51bGxcblxuICAgIGNvbnN0IHsgZmluaXNoX3JlYXNvbiwgZGVsdGEgfSA9IGNob2ljZVxuXG4gICAgaWYgKGZpbmlzaF9yZWFzb24gIT09ICd0b29sX2NhbGxzJykgcmV0dXJuIG51bGxcbiAgICBpZiAoIWRlbHRhKSBjb250aW51ZVxuXG4gICAgaWYgKGRlbHRhLmNvbnRlbnQpIHJldE1lc3NhZ2UuY29udGVudCArPSBkZWx0YS5jb250ZW50XG5cbiAgICBpZiAoISgndG9vbF9jYWxscycgaW4gZGVsdGEpKSBjb250aW51ZVxuICAgIGNvbnN0IHRvb2xDYWxsID0gZGVsdGE/LnRvb2xfY2FsbHM/LlswXVxuICAgIGlmICh0b29sQ2FsbD8uaWQpIHJldFRvb2xDYWxsLmlkID0gdG9vbENhbGwuaWRcbiAgICBpZiAodG9vbENhbGw/LnR5cGUpIHJldFRvb2xDYWxsLnR5cGUgPSB0b29sQ2FsbC50eXBlXG4gICAgaWYgKHRvb2xDYWxsPy5mdW5jdGlvbj8ubmFtZSkgcmV0VG9vbENhbGwuZnVuY3Rpb24ubmFtZSA9IHRvb2xDYWxsLmZ1bmN0aW9uLm5hbWVcbiAgICBpZiAodG9vbENhbGw/LmZ1bmN0aW9uPy5hcmd1bWVudHMpIHJldFRvb2xDYWxsLmZ1bmN0aW9uLmFyZ3VtZW50cyArPSB0b29sQ2FsbC5mdW5jdGlvbi5hcmd1bWVudHNcblxuICAgIC8vIFRPRE86IOS4jeWQjOWkp+aooeWei+eahCBzdHJlYW0gdXNhZ2Ug5qC85byP5LiN5LiA5qC377yM5ZCO57ut5Y+v6IO96KaB6LCD5pW0LlxuICAgIC8vIGh1bnl1YW4g5q+P5LiqIGNodW5rIOmDveS8muaciSB1c2FnZe+8jOmAkOatpeWinuWKoO+8jOS7peacgOWQjuS4gOS4queahOS4uuWHhjtcbiAgICAvLyB6aGlwdSDmnIDlkI4gY2h1bmsg5Lya5pyJIHVzYWdlO1xuICAgIGlmIChjaHVuaz8udXNhZ2U/LmNvbXBsZXRpb25fdG9rZW5zKSBzdGVwVXNhZ2UuY29tcGxldGlvbl90b2tlbnMgPSBjaHVuay51c2FnZS5jb21wbGV0aW9uX3Rva2Vuc1xuICAgIGlmIChjaHVuaz8udXNhZ2U/LnByb21wdF90b2tlbnMpIHN0ZXBVc2FnZS5wcm9tcHRfdG9rZW5zID0gY2h1bmsudXNhZ2UucHJvbXB0X3Rva2Vuc1xuICAgIGlmIChjaHVuaz8udXNhZ2U/LnRvdGFsX3Rva2Vucykgc3RlcFVzYWdlLnRvdGFsX3Rva2VucyA9IGNodW5rLnVzYWdlLnRvdGFsX3Rva2Vuc1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBtZXNzYWdlOiByZXRNZXNzYWdlLFxuICAgIHVzYWdlOiBzdGVwVXNhZ2UsXG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IHRvb2xNYXAgPSBuZXcgTWFwPHN0cmluZywgQ2FsbGFibGVGdW5jdGlvbj4oKVxuXG5mdW5jdGlvbiBjYWxsVG9vbCh0b29sQ2FsbDogVG9vbENhbGwpIHtcbiAgcmV0dXJuIHRvb2xNYXAuZ2V0KHRvb2xDYWxsLmZ1bmN0aW9uLm5hbWUpKEpTT04ucGFyc2UodG9vbENhbGwuZnVuY3Rpb24uYXJndW1lbnRzKSlcbn1cblxuZnVuY3Rpb24gY3JlYXRlU29saWRVc2FnZSh1c2FnZT86IFBhcnRpYWw8VXNhZ2U+KTogVXNhZ2Uge1xuICByZXR1cm4ge1xuICAgIGNvbXBsZXRpb25fdG9rZW5zOiB1c2FnZT8uY29tcGxldGlvbl90b2tlbnMgPz8gMCxcbiAgICBwcm9tcHRfdG9rZW5zOiB1c2FnZT8ucHJvbXB0X3Rva2VucyA/PyAwLFxuICAgIHRvdGFsX3Rva2VuczogdXNhZ2U/LnRvdGFsX3Rva2VucyA/PyAwLFxuICB9XG59XG5cbmZ1bmN0aW9uIGFkZFRvVXNhZ2UodGFyZ2V0VXNhZ2U6IFVzYWdlLCBzb3VyY2VVc2FnZTogVXNhZ2UpIHtcbiAgdGFyZ2V0VXNhZ2UuY29tcGxldGlvbl90b2tlbnMgKz0gc291cmNlVXNhZ2UuY29tcGxldGlvbl90b2tlbnNcbiAgdGFyZ2V0VXNhZ2UucHJvbXB0X3Rva2VucyArPSBzb3VyY2VVc2FnZS5wcm9tcHRfdG9rZW5zXG4gIHRhcmdldFVzYWdlLnRvdGFsX3Rva2VucyArPSBzb3VyY2VVc2FnZS50b3RhbF90b2tlbnNcbn1cbiJdfQ==