@tencentcloud/sdk-mcp 1.2.6 → 1.2.7

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 (351) hide show
  1. package/package.json +1 -1
  2. package/resource/doc/chatuikit/faq/common/server_error_code.md +74 -0
  3. package/resource/doc/chatuikit/faq/{freq_qa.md → native_sdk/faq.md} +2 -1
  4. package/resource/doc/chatuikit/faq/web_sdk/error_code.md +47 -0
  5. package/resource/doc/chatuikit/faq/web_sdk/faq.md +115 -0
  6. package/resource/doc/chatuikit/flutter/faq.md +117 -0
  7. package/resource/doc/chatuikit/iOS/faq.md +117 -0
  8. package/resource/doc/chatuikit/react/faq.md +26 -0
  9. package/resource/doc/chatuikit/vue/faq.md +35 -0
  10. package/resource/doc/livekit/faq/common/error_code.md +89 -0
  11. package/resource/doc/roomkit/common/error_code.md +67 -0
  12. package/resource/doc/rtcengine/faq/web_sdk/.gitkeep +0 -0
  13. package/resource/doc/tuicallkit/android/faq.md +1000 -0
  14. package/resource/doc/tuicallkit/faq/common/error_code.md +47 -0
  15. package/resource/doc/tuicallkit/flutter/faq.md +981 -0
  16. package/resource/doc/tuicallkit/{faq → iOS}/faq.md +0 -72
  17. package/resource/doc/tuicallkit/react/faq.md +986 -0
  18. package/resource/doc/tuicallkit/vue/faq.md +986 -0
  19. package/tools/call/get-native-call-integration.js +4 -10
  20. package/tools/call/get-native-call-integration.js.map +1 -1
  21. package/tools/call/get-web-call-api.js +4 -7
  22. package/tools/call/get-web-call-api.js.map +1 -1
  23. package/tools/call/get-web-call-integration.js +4 -9
  24. package/tools/call/get-web-call-integration.js.map +1 -1
  25. package/tools/chat/get-native-chat-integration.js +4 -8
  26. package/tools/chat/get-native-chat-integration.js.map +1 -1
  27. package/tools/chat/get-web-chat-component-detail.js +5 -10
  28. package/tools/chat/get-web-chat-component-detail.js.map +1 -1
  29. package/tools/chat/get-web-chat-integration.js +4 -12
  30. package/tools/chat/get-web-chat-integration.js.map +1 -1
  31. package/tools/chat/get-web-chat-uikit-init.js +5 -6
  32. package/tools/chat/get-web-chat-uikit-init.js.map +1 -1
  33. package/tools/chat/get-web-chat-window-integration.js +4 -12
  34. package/tools/chat/get-web-chat-window-integration.js.map +1 -1
  35. package/tools/chat/{create-group.js → get-web-create-group-doc.js} +5 -6
  36. package/tools/chat/get-web-create-group-doc.js.map +1 -0
  37. package/tools/common/get-faq.js +93 -0
  38. package/tools/common/get-faq.js.map +1 -0
  39. package/tools/common/get-usersig.js +9 -18
  40. package/tools/common/get-usersig.js.map +1 -1
  41. package/tools/common/present-framework-choice.js +3 -10
  42. package/tools/common/present-framework-choice.js.map +1 -1
  43. package/tools/common/record-prompt.js +5 -12
  44. package/tools/common/record-prompt.js.map +1 -1
  45. package/tools/common/record-result.js +7 -11
  46. package/tools/common/record-result.js.map +1 -1
  47. package/tools/definitions/get_faq_def.js +28 -0
  48. package/tools/definitions/get_faq_def.js.map +1 -0
  49. package/tools/definitions/get_native_call_uikit_integration_def.js +21 -0
  50. package/tools/definitions/get_native_call_uikit_integration_def.js.map +1 -0
  51. package/tools/definitions/get_native_chat_uikit_integration_def.js +21 -0
  52. package/tools/definitions/get_native_chat_uikit_integration_def.js.map +1 -0
  53. package/tools/definitions/get_usersig_def.js +34 -0
  54. package/tools/definitions/get_usersig_def.js.map +1 -0
  55. package/tools/definitions/get_web_call_uikit_api_def.js +23 -0
  56. package/tools/definitions/get_web_call_uikit_api_def.js.map +1 -0
  57. package/tools/definitions/get_web_call_uikit_integration_def.js +20 -0
  58. package/tools/definitions/get_web_call_uikit_integration_def.js.map +1 -0
  59. package/tools/definitions/get_web_chat_uikit_component_detail_def.js +24 -0
  60. package/tools/definitions/get_web_chat_uikit_component_detail_def.js.map +1 -0
  61. package/tools/definitions/get_web_chat_uikit_init_def.js +23 -0
  62. package/tools/definitions/get_web_chat_uikit_init_def.js.map +1 -0
  63. package/tools/definitions/get_web_chat_uikit_integration_def.js +26 -0
  64. package/tools/definitions/get_web_chat_uikit_integration_def.js.map +1 -0
  65. package/tools/definitions/get_web_chat_window_integration_def.js +26 -0
  66. package/tools/definitions/get_web_chat_window_integration_def.js.map +1 -0
  67. package/tools/definitions/get_web_create_group_doc_def.js +18 -0
  68. package/tools/definitions/get_web_create_group_doc_def.js.map +1 -0
  69. package/tools/definitions/get_web_live_state_detail_def.js +19 -0
  70. package/tools/definitions/get_web_live_state_detail_def.js.map +1 -0
  71. package/tools/definitions/get_web_live_uikit_component_detail_def.js +21 -0
  72. package/tools/definitions/get_web_live_uikit_component_detail_def.js.map +1 -0
  73. package/tools/definitions/get_web_room_state_detail_def.js +19 -0
  74. package/tools/definitions/get_web_room_state_detail_def.js.map +1 -0
  75. package/tools/definitions/present_framework_choice_def.js +24 -0
  76. package/tools/definitions/present_framework_choice_def.js.map +1 -0
  77. package/tools/definitions/record_prompt_def.js +22 -0
  78. package/tools/definitions/record_prompt_def.js.map +1 -0
  79. package/tools/definitions/record_result_def.js +22 -0
  80. package/tools/definitions/record_result_def.js.map +1 -0
  81. package/tools/index.js +7 -9
  82. package/tools/index.js.map +1 -1
  83. package/tools/live/get-web-live-component-detail.js +5 -7
  84. package/tools/live/get-web-live-component-detail.js.map +1 -1
  85. package/tools/live/get-web-live-state-detail.js +5 -7
  86. package/tools/live/get-web-live-state-detail.js.map +1 -1
  87. package/tools/room/get-web-room-state-detail.js +5 -7
  88. package/tools/room/get-web-room-state-detail.js.map +1 -1
  89. package/utils/report-cls-client.js +1 -1
  90. package/utils/report-es-client.js +1 -1
  91. package/libs/@tencent/aegis-node-sdk/CHANGELOG.md +0 -8
  92. package/libs/@tencent/aegis-node-sdk/LICENSE +0 -21
  93. package/libs/@tencent/aegis-node-sdk/README.md +0 -562
  94. package/libs/@tencent/aegis-node-sdk/lib/aegis.min.js +0 -1
  95. package/libs/@tencent/aegis-node-sdk/lib/packages/core/src/constant/config.d.ts +0 -14
  96. package/libs/@tencent/aegis-node-sdk/lib/packages/core/src/constant/global.d.ts +0 -1
  97. package/libs/@tencent/aegis-node-sdk/lib/packages/core/src/constant/index.d.ts +0 -9
  98. package/libs/@tencent/aegis-node-sdk/lib/packages/core/src/constant/report-ignore.d.ts +0 -2
  99. package/libs/@tencent/aegis-node-sdk/lib/packages/core/src/core.d.ts +0 -85
  100. package/libs/@tencent/aegis-node-sdk/lib/packages/core/src/hooks/afterRequestHooks.d.ts +0 -3
  101. package/libs/@tencent/aegis-node-sdk/lib/packages/core/src/hooks/beforeRequestHooks.d.ts +0 -9
  102. package/libs/@tencent/aegis-node-sdk/lib/packages/core/src/hooks/modifyRequestHooks.d.ts +0 -3
  103. package/libs/@tencent/aegis-node-sdk/lib/packages/core/src/index.d.ts +0 -9
  104. package/libs/@tencent/aegis-node-sdk/lib/packages/core/src/interface/config.d.ts +0 -62
  105. package/libs/@tencent/aegis-node-sdk/lib/packages/core/src/interface/env.d.ts +0 -11
  106. package/libs/@tencent/aegis-node-sdk/lib/packages/core/src/interface/index.d.ts +0 -4
  107. package/libs/@tencent/aegis-node-sdk/lib/packages/core/src/interface/log.d.ts +0 -130
  108. package/libs/@tencent/aegis-node-sdk/lib/packages/core/src/interface/send.d.ts +0 -34
  109. package/libs/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/format.d.ts +0 -2
  110. package/libs/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/index.d.ts +0 -18
  111. package/libs/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/length-limit.d.ts +0 -8
  112. package/libs/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/pv.d.ts +0 -8
  113. package/libs/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/remove-payload.d.ts +0 -2
  114. package/libs/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/repeat-limit.d.ts +0 -4
  115. package/libs/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/report.d.ts +0 -10
  116. package/libs/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/sample.d.ts +0 -3
  117. package/libs/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/throttle.d.ts +0 -3
  118. package/libs/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/trace/index.d.ts +0 -34
  119. package/libs/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/trace/jwt.d.ts +0 -12
  120. package/libs/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/trace/ot-js.d.ts +0 -14
  121. package/libs/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/trace/uuid.d.ts +0 -2
  122. package/libs/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/whitelist.d.ts +0 -12
  123. package/libs/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/write-before.d.ts +0 -3
  124. package/libs/@tencent/aegis-node-sdk/lib/packages/core/src/plugin.d.ts +0 -33
  125. package/libs/@tencent/aegis-node-sdk/lib/packages/core/src/util/destroy.d.ts +0 -2
  126. package/libs/@tencent/aegis-node-sdk/lib/packages/core/src/util/event-emitter.d.ts +0 -18
  127. package/libs/@tencent/aegis-node-sdk/lib/packages/core/src/util/index.d.ts +0 -60
  128. package/libs/@tencent/aegis-node-sdk/lib/packages/node-sdk/src/index.d.ts +0 -15
  129. package/libs/@tencent/aegis-node-sdk/lib/packages/node-sdk/src/interface/selector.d.ts +0 -5
  130. package/libs/@tencent/aegis-node-sdk/lib/packages/node-sdk/src/pipes/batch-report-pipe.d.ts +0 -6
  131. package/libs/@tencent/aegis-node-sdk/lib/packages/node-sdk/src/protocol/protocol_base.d.ts +0 -18
  132. package/libs/@tencent/aegis-node-sdk/lib/packages/node-sdk/src/protocol/protocol_http.d.ts +0 -12
  133. package/libs/@tencent/aegis-node-sdk/lib/packages/node-sdk/src/selector/ip_selector.d.ts +0 -10
  134. package/libs/@tencent/aegis-node-sdk/lib/packages/node-sdk/src/selector/polaris_selector.d.ts +0 -20
  135. package/libs/@tencent/aegis-node-sdk/lib/packages/node-sdk/src/selector/selector_base.d.ts +0 -27
  136. package/libs/@tencent/aegis-node-sdk/lib/packages/node-sdk/src/util/eval_require.d.ts +0 -2
  137. package/libs/@tencent/aegis-node-sdk/package.json +0 -19
  138. package/libs/@tencent/polaris/README.md +0 -407
  139. package/libs/@tencent/polaris/dist/consumer/health.d.ts +0 -126
  140. package/libs/@tencent/polaris/dist/consumer/health.js +0 -283
  141. package/libs/@tencent/polaris/dist/consumer/health.js.map +0 -1
  142. package/libs/@tencent/polaris/dist/consumer/index.d.ts +0 -120
  143. package/libs/@tencent/polaris/dist/consumer/index.js +0 -348
  144. package/libs/@tencent/polaris/dist/consumer/index.js.map +0 -1
  145. package/libs/@tencent/polaris/dist/consumer/monitor.d.ts +0 -145
  146. package/libs/@tencent/polaris/dist/consumer/monitor.js +0 -343
  147. package/libs/@tencent/polaris/dist/consumer/monitor.js.map +0 -1
  148. package/libs/@tencent/polaris/dist/consumer/selector.d.ts +0 -73
  149. package/libs/@tencent/polaris/dist/consumer/selector.js +0 -316
  150. package/libs/@tencent/polaris/dist/consumer/selector.js.map +0 -1
  151. package/libs/@tencent/polaris/dist/errors.d.ts +0 -373
  152. package/libs/@tencent/polaris/dist/errors.js +0 -154
  153. package/libs/@tencent/polaris/dist/errors.js.map +0 -1
  154. package/libs/@tencent/polaris/dist/global.d.ts +0 -16
  155. package/libs/@tencent/polaris/dist/global.js +0 -18
  156. package/libs/@tencent/polaris/dist/global.js.map +0 -1
  157. package/libs/@tencent/polaris/dist/index.d.ts +0 -62
  158. package/libs/@tencent/polaris/dist/index.js +0 -145
  159. package/libs/@tencent/polaris/dist/index.js.map +0 -1
  160. package/libs/@tencent/polaris/dist/instance.d.ts +0 -109
  161. package/libs/@tencent/polaris/dist/instance.js +0 -38
  162. package/libs/@tencent/polaris/dist/instance.js.map +0 -1
  163. package/libs/@tencent/polaris/dist/limiter/bucket.d.ts +0 -51
  164. package/libs/@tencent/polaris/dist/limiter/bucket.js +0 -152
  165. package/libs/@tencent/polaris/dist/limiter/bucket.js.map +0 -1
  166. package/libs/@tencent/polaris/dist/limiter/index.d.ts +0 -73
  167. package/libs/@tencent/polaris/dist/limiter/index.js +0 -149
  168. package/libs/@tencent/polaris/dist/limiter/index.js.map +0 -1
  169. package/libs/@tencent/polaris/dist/limiter/ratelimit.d.ts +0 -27
  170. package/libs/@tencent/polaris/dist/limiter/ratelimit.js +0 -134
  171. package/libs/@tencent/polaris/dist/limiter/ratelimit.js.map +0 -1
  172. package/libs/@tencent/polaris/dist/limiter/ratelimiter/base.d.ts +0 -17
  173. package/libs/@tencent/polaris/dist/limiter/ratelimiter/base.js +0 -15
  174. package/libs/@tencent/polaris/dist/limiter/ratelimiter/base.js.map +0 -1
  175. package/libs/@tencent/polaris/dist/limiter/ratelimiter/global.d.ts +0 -59
  176. package/libs/@tencent/polaris/dist/limiter/ratelimiter/global.js +0 -397
  177. package/libs/@tencent/polaris/dist/limiter/ratelimiter/global.js.map +0 -1
  178. package/libs/@tencent/polaris/dist/limiter/ratelimiter/index.d.ts +0 -3
  179. package/libs/@tencent/polaris/dist/limiter/ratelimiter/index.js +0 -19
  180. package/libs/@tencent/polaris/dist/limiter/ratelimiter/index.js.map +0 -1
  181. package/libs/@tencent/polaris/dist/limiter/ratelimiter/local.d.ts +0 -17
  182. package/libs/@tencent/polaris/dist/limiter/ratelimiter/local.js +0 -52
  183. package/libs/@tencent/polaris/dist/limiter/ratelimiter/local.js.map +0 -1
  184. package/libs/@tencent/polaris/dist/location.d.ts +0 -48
  185. package/libs/@tencent/polaris/dist/location.js +0 -67
  186. package/libs/@tencent/polaris/dist/location.js.map +0 -1
  187. package/libs/@tencent/polaris/dist/logging.d.ts +0 -106
  188. package/libs/@tencent/polaris/dist/logging.js +0 -130
  189. package/libs/@tencent/polaris/dist/logging.js.map +0 -1
  190. package/libs/@tencent/polaris/dist/metadata.d.ts +0 -78
  191. package/libs/@tencent/polaris/dist/metadata.js +0 -119
  192. package/libs/@tencent/polaris/dist/metadata.js.map +0 -1
  193. package/libs/@tencent/polaris/dist/plugins/breaker/polaris.d.ts +0 -47
  194. package/libs/@tencent/polaris/dist/plugins/breaker/polaris.js +0 -162
  195. package/libs/@tencent/polaris/dist/plugins/breaker/polaris.js.map +0 -1
  196. package/libs/@tencent/polaris/dist/plugins/lb/base.d.ts +0 -24
  197. package/libs/@tencent/polaris/dist/plugins/lb/base.js +0 -32
  198. package/libs/@tencent/polaris/dist/plugins/lb/base.js.map +0 -1
  199. package/libs/@tencent/polaris/dist/plugins/lb/edf.d.ts +0 -24
  200. package/libs/@tencent/polaris/dist/plugins/lb/edf.js +0 -77
  201. package/libs/@tencent/polaris/dist/plugins/lb/edf.js.map +0 -1
  202. package/libs/@tencent/polaris/dist/plugins/lb/hashring.d.ts +0 -24
  203. package/libs/@tencent/polaris/dist/plugins/lb/hashring.js +0 -53
  204. package/libs/@tencent/polaris/dist/plugins/lb/hashring.js.map +0 -1
  205. package/libs/@tencent/polaris/dist/plugins/lb/sticky.d.ts +0 -31
  206. package/libs/@tencent/polaris/dist/plugins/lb/sticky.js +0 -88
  207. package/libs/@tencent/polaris/dist/plugins/lb/sticky.js.map +0 -1
  208. package/libs/@tencent/polaris/dist/plugins/lb/swrr.d.ts +0 -25
  209. package/libs/@tencent/polaris/dist/plugins/lb/swrr.js +0 -72
  210. package/libs/@tencent/polaris/dist/plugins/lb/swrr.js.map +0 -1
  211. package/libs/@tencent/polaris/dist/plugins/lb/wr.d.ts +0 -17
  212. package/libs/@tencent/polaris/dist/plugins/lb/wr.js +0 -50
  213. package/libs/@tencent/polaris/dist/plugins/lb/wr.js.map +0 -1
  214. package/libs/@tencent/polaris/dist/plugins/lb/wrr.d.ts +0 -19
  215. package/libs/@tencent/polaris/dist/plugins/lb/wrr.js +0 -81
  216. package/libs/@tencent/polaris/dist/plugins/lb/wrr.js.map +0 -1
  217. package/libs/@tencent/polaris/dist/plugins/logging/console.d.ts +0 -10
  218. package/libs/@tencent/polaris/dist/plugins/logging/console.js +0 -38
  219. package/libs/@tencent/polaris/dist/plugins/logging/console.js.map +0 -1
  220. package/libs/@tencent/polaris/dist/plugins/naming/local-server/index.d.ts +0 -32
  221. package/libs/@tencent/polaris/dist/plugins/naming/local-server/index.js +0 -88
  222. package/libs/@tencent/polaris/dist/plugins/naming/local-server/index.js.map +0 -1
  223. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/base.d.ts +0 -124
  224. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/base.js +0 -398
  225. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/base.js.map +0 -1
  226. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/discover.d.ts +0 -27
  227. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/discover.js +0 -287
  228. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/discover.js.map +0 -1
  229. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/index.d.ts +0 -15
  230. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/index.js +0 -43
  231. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/index.js.map +0 -1
  232. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/monitor.d.ts +0 -28
  233. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/monitor.js +0 -249
  234. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/monitor.js.map +0 -1
  235. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/ratelimit.d.ts +0 -19
  236. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/ratelimit.js +0 -222
  237. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/ratelimit.js.map +0 -1
  238. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/connector/grpc/bidi.d.ts +0 -26
  239. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/connector/grpc/bidi.js +0 -99
  240. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/connector/grpc/bidi.js.map +0 -1
  241. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/connector/grpc/index.d.ts +0 -60
  242. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/connector/grpc/index.js +0 -259
  243. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/connector/grpc/index.js.map +0 -1
  244. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/connector/grpc/pb/discover.proto +0 -24
  245. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/connector/grpc/pb/monitor.proto +0 -18
  246. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/connector/grpc/pb/ratelimit.proto +0 -12
  247. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/connector/http/index.d.ts +0 -39
  248. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/connector/http/index.js +0 -115
  249. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/connector/http/index.js.map +0 -1
  250. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/discover-pb/api.proto +0 -24
  251. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/discover-pb/client.proto +0 -22
  252. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/discover-pb/model.proto +0 -28
  253. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/discover-pb/ratelimit.proto +0 -80
  254. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/discover-pb/request.proto +0 -18
  255. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/discover-pb/response.proto +0 -65
  256. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/discover-pb/routing.proto +0 -66
  257. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/discover-pb/service.proto +0 -95
  258. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/discover-pb/types.d.ts +0 -1568
  259. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/index.d.ts +0 -36
  260. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/index.js +0 -51
  261. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/index.js.map +0 -1
  262. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/monitor-pb/api.proto +0 -18
  263. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/monitor-pb/circuitbreak.proto +0 -67
  264. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/monitor-pb/request.proto +0 -82
  265. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/monitor-pb/response.proto +0 -11
  266. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/monitor-pb/sdkcache.proto +0 -46
  267. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/monitor-pb/sdkconfiguration.proto +0 -16
  268. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/monitor-pb/sdktoken.proto +0 -10
  269. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/monitor-pb/types.d.ts +0 -1102
  270. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/pool.d.ts +0 -29
  271. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/pool.js +0 -77
  272. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/pool.js.map +0 -1
  273. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/ratelimit-pb/api.proto +0 -12
  274. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/ratelimit-pb/ratelimit.proto +0 -28
  275. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/ratelimit-pb/types.d.ts +0 -395
  276. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/rules.d.ts +0 -13
  277. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/rules.js +0 -116
  278. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/rules.js.map +0 -1
  279. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/types.d.ts +0 -67
  280. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/types.js +0 -67
  281. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/types.js.map +0 -1
  282. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/utils.d.ts +0 -99
  283. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/utils.js +0 -217
  284. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/utils.js.map +0 -1
  285. package/libs/@tencent/polaris/dist/plugins/registry/memory.d.ts +0 -10
  286. package/libs/@tencent/polaris/dist/plugins/registry/memory.js +0 -50
  287. package/libs/@tencent/polaris/dist/plugins/registry/memory.js.map +0 -1
  288. package/libs/@tencent/polaris/dist/plugins/router/polaris/nearby.d.ts +0 -51
  289. package/libs/@tencent/polaris/dist/plugins/router/polaris/nearby.js +0 -145
  290. package/libs/@tencent/polaris/dist/plugins/router/polaris/nearby.js.map +0 -1
  291. package/libs/@tencent/polaris/dist/plugins/router/polaris/rule.d.ts +0 -11
  292. package/libs/@tencent/polaris/dist/plugins/router/polaris/rule.js +0 -174
  293. package/libs/@tencent/polaris/dist/plugins/router/polaris/rule.js.map +0 -1
  294. package/libs/@tencent/polaris/dist/plugins/router/trpc/canary.d.ts +0 -25
  295. package/libs/@tencent/polaris/dist/plugins/router/trpc/canary.js +0 -36
  296. package/libs/@tencent/polaris/dist/plugins/router/trpc/canary.js.map +0 -1
  297. package/libs/@tencent/polaris/dist/plugins/router/trpc/env.d.ts +0 -10
  298. package/libs/@tencent/polaris/dist/plugins/router/trpc/env.js +0 -34
  299. package/libs/@tencent/polaris/dist/plugins/router/trpc/env.js.map +0 -1
  300. package/libs/@tencent/polaris/dist/plugins/router/trpc/set.d.ts +0 -56
  301. package/libs/@tencent/polaris/dist/plugins/router/trpc/set.js +0 -106
  302. package/libs/@tencent/polaris/dist/plugins/router/trpc/set.js.map +0 -1
  303. package/libs/@tencent/polaris/dist/plugins/shaping/unirate.d.ts +0 -31
  304. package/libs/@tencent/polaris/dist/plugins/shaping/unirate.js +0 -124
  305. package/libs/@tencent/polaris/dist/plugins/shaping/unirate.js.map +0 -1
  306. package/libs/@tencent/polaris/dist/plugins/shaping/warmup.d.ts +0 -61
  307. package/libs/@tencent/polaris/dist/plugins/shaping/warmup.js +0 -171
  308. package/libs/@tencent/polaris/dist/plugins/shaping/warmup.js.map +0 -1
  309. package/libs/@tencent/polaris/dist/plugins/weight/polaris.d.ts +0 -23
  310. package/libs/@tencent/polaris/dist/plugins/weight/polaris.js +0 -159
  311. package/libs/@tencent/polaris/dist/plugins/weight/polaris.js.map +0 -1
  312. package/libs/@tencent/polaris/dist/plugins.d.ts +0 -619
  313. package/libs/@tencent/polaris/dist/plugins.js +0 -91
  314. package/libs/@tencent/polaris/dist/plugins.js.map +0 -1
  315. package/libs/@tencent/polaris/dist/polaris.d.ts +0 -33
  316. package/libs/@tencent/polaris/dist/polaris.js +0 -59
  317. package/libs/@tencent/polaris/dist/polaris.js.map +0 -1
  318. package/libs/@tencent/polaris/dist/provider/index.d.ts +0 -102
  319. package/libs/@tencent/polaris/dist/provider/index.js +0 -168
  320. package/libs/@tencent/polaris/dist/provider/index.js.map +0 -1
  321. package/libs/@tencent/polaris/dist/registry.d.ts +0 -174
  322. package/libs/@tencent/polaris/dist/registry.js +0 -660
  323. package/libs/@tencent/polaris/dist/registry.js.map +0 -1
  324. package/libs/@tencent/polaris/dist/rules.d.ts +0 -163
  325. package/libs/@tencent/polaris/dist/rules.js +0 -24
  326. package/libs/@tencent/polaris/dist/rules.js.map +0 -1
  327. package/libs/@tencent/polaris/dist/scripts/postinstall.d.ts +0 -1
  328. package/libs/@tencent/polaris/dist/scripts/postinstall.js +0 -71
  329. package/libs/@tencent/polaris/dist/scripts/postinstall.js.map +0 -1
  330. package/libs/@tencent/polaris/dist/service.d.ts +0 -18
  331. package/libs/@tencent/polaris/dist/service.js +0 -3
  332. package/libs/@tencent/polaris/dist/service.js.map +0 -1
  333. package/libs/@tencent/polaris/dist/skeleton.d.ts +0 -87
  334. package/libs/@tencent/polaris/dist/skeleton.js +0 -282
  335. package/libs/@tencent/polaris/dist/skeleton.js.map +0 -1
  336. package/libs/@tencent/polaris/dist/utils.d.ts +0 -36
  337. package/libs/@tencent/polaris/dist/utils.js +0 -74
  338. package/libs/@tencent/polaris/dist/utils.js.map +0 -1
  339. package/libs/@tencent/polaris/dist/weak.d.ts +0 -11
  340. package/libs/@tencent/polaris/dist/weak.js +0 -44
  341. package/libs/@tencent/polaris/dist/weak.js.map +0 -1
  342. package/libs/@tencent/polaris/package.json +0 -114
  343. package/resource/doc/chatuikit/faq/web_qa.md +0 -118
  344. package/tools/call/get-call-faq.js +0 -29
  345. package/tools/call/get-call-faq.js.map +0 -1
  346. package/tools/chat/create-group.js.map +0 -1
  347. package/tools/chat/get-chat-faq.js +0 -29
  348. package/tools/chat/get-chat-faq.js.map +0 -1
  349. /package/resource/doc/chatuikit/{faq/sdk_qa.md → android/faq.md} +0 -0
  350. /package/{libs/@tencent/aegis-node-sdk/lib/packages/core/src/polyfill.d.ts → resource/doc/livekit/vue/faq.md} +0 -0
  351. /package/resource/doc/{chatuikit/faq/vue_qa.md → roomkit/vue/faq.md} +0 -0
@@ -1,397 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GlobalRatelimiter = void 0;
4
- const process_1 = require("process");
5
- const errors_1 = require("../../errors");
6
- const plugins_1 = require("../../plugins");
7
- const rules_1 = require("../../rules");
8
- const utils_1 = require("../../utils");
9
- const bucket_1 = require("../bucket");
10
- const base_1 = require("./base");
11
- const friendlyTaskType = (task) => {
12
- switch (task) {
13
- case 3 /* CheckOutdated */:
14
- return "CheckOutdated";
15
- case 4 /* ShouldSleep */:
16
- return "ShouldSleep";
17
- case 2 /* SyncQuota */:
18
- return "SyncQuota";
19
- case 1 /* UpdatePartition */:
20
- return "UpdatePartition";
21
- default:
22
- (0, utils_1.UNREACHABLE)();
23
- }
24
- };
25
- var GlobalStatus;
26
- (function (GlobalStatus) {
27
- /** 释放 */
28
- GlobalStatus[GlobalStatus["Dispose"] = 0] = "Dispose";
29
- /** 休眠 */
30
- GlobalStatus[GlobalStatus["Sleep"] = 1] = "Sleep";
31
- /** 正常 */
32
- GlobalStatus[GlobalStatus["Normal"] = 2] = "Normal";
33
- /** 已过期 */
34
- GlobalStatus[GlobalStatus["Outdated"] = 3] = "Outdated";
35
- })(GlobalStatus || (GlobalStatus = {}));
36
- /**
37
- * 全局令牌桶
38
- * 对应 `LimitType.Global` 全局限流
39
- */
40
- class GlobalRatelimiter {
41
- constructor(namespace, service, rule, logger, registry, backend, options) {
42
- var _a, _b, _c, _d;
43
- this.namespace = namespace;
44
- this.service = service;
45
- this.rule = rule;
46
- this.logger = logger;
47
- this.registry = registry;
48
- this.backend = backend;
49
- this.options = options;
50
- this.buckets = Object.create(null);
51
- this.taskInfo = Object.create(null);
52
- this.partition = 0;
53
- this.idlePeriods = 0;
54
- this.isAccessed = false;
55
- this.status = GlobalStatus.Sleep;
56
- if (rule.amounts.length === 0) {
57
- throw new errors_1.ArgumentError("no valid |QuotaConfig|");
58
- }
59
- let durations = [];
60
- rule.amounts.forEach(({ duration }) => {
61
- if (!(duration >= 1 * utils_1.kSeconds)) {
62
- throw new errors_1.ArgumentError(`duration(${duration}ms) must be larger than or equal to 1s`);
63
- }
64
- durations.push(~~(duration / utils_1.kSeconds));
65
- });
66
- this.maxDuration = Math.max(...durations) * utils_1.kSeconds;
67
- let interval = (_b = (_a = this.rule.report) === null || _a === void 0 ? void 0 : _a.interval) !== null && _b !== void 0 ? _b : 0;
68
- if (interval > 0) {
69
- durations.push(~~(interval / utils_1.kSeconds));
70
- }
71
- durations = durations.filter(duration => duration > 0);
72
- if (durations.length === 0) {
73
- (0, utils_1.UNREACHABLE)();
74
- }
75
- interval = ((0, utils_1.GreatestCommonDivisor)(...durations) * utils_1.kSeconds) / 10;
76
- if (Number.isNaN(interval)) {
77
- (0, utils_1.UNREACHABLE)();
78
- }
79
- let percent = (_d = (_c = this.rule.report) === null || _c === void 0 ? void 0 : _c.percent) !== null && _d !== void 0 ? _d : 0;
80
- if (!(percent > 0)) {
81
- percent = this.options.updatePercent;
82
- }
83
- this.updateConfig = {
84
- interval,
85
- percent
86
- };
87
- }
88
- async consume(preroll = false) {
89
- if (this.status === GlobalStatus.Dispose) {
90
- return false;
91
- }
92
- this.isAccessed = true;
93
- if (this.status === GlobalStatus.Sleep) {
94
- if (typeof this.wakePromise === "undefined") {
95
- this.wakePromise = this.wake();
96
- }
97
- await this.wakePromise;
98
- return this.consume(preroll);
99
- }
100
- if (typeof this.indexes === "undefined") {
101
- (0, utils_1.UNREACHABLE)();
102
- }
103
- const { local, remote, allocated } = this.indexes;
104
- let result;
105
- switch (this.status) {
106
- case GlobalStatus.Normal: {
107
- result = (0, base_1.deduction)(remote, 1, true);
108
- break;
109
- }
110
- case GlobalStatus.Outdated: {
111
- result = (0, base_1.deduction)(local, 1, true);
112
- break;
113
- }
114
- default: {
115
- (0, utils_1.UNREACHABLE)();
116
- }
117
- }
118
- if (result && !preroll) {
119
- (0, base_1.deduction)(local, 1, false);
120
- (0, base_1.deduction)(remote, 1, false);
121
- (0, base_1.deduction)(allocated, -1, false);
122
- if (allocated.some(({ remainingTokens }, index) => {
123
- const { partitionTokens } = local[index];
124
- return (remainingTokens / partitionTokens) > this.updateConfig.percent;
125
- })) {
126
- /*
127
- * note:
128
- * 异步同步远端配额,主流程尽快返回给调用者
129
- */
130
- // eslint-disable-next-line @typescript-eslint/unbound-method
131
- this.scheduleTask(2 /* SyncQuota */, this.syncQuota, this.updateConfig.interval, true)
132
- .catch(err => this.logger.error("[GlobalRatelimiter] [consume], call SyncQuota task", err));
133
- }
134
- }
135
- return result;
136
- }
137
- async return() {
138
- if (this.status === GlobalStatus.Dispose) {
139
- return;
140
- }
141
- this.isAccessed = true;
142
- if (this.status === GlobalStatus.Sleep) {
143
- if (typeof this.wakePromise === "undefined") {
144
- this.wakePromise = this.wake();
145
- }
146
- await this.wakePromise;
147
- return this.return();
148
- }
149
- if (typeof this.indexes === "undefined") {
150
- (0, utils_1.UNREACHABLE)();
151
- }
152
- const { local, remote, allocated } = this.indexes;
153
- if (!(0, base_1.deduction)(allocated, 1, false)) {
154
- (0, utils_1.UNREACHABLE)();
155
- }
156
- (0, base_1.deduction)(local, -1, false);
157
- (0, base_1.deduction)(remote, -1, false);
158
- }
159
- async getPartition() {
160
- this.isAccessed = true;
161
- if (this.status === GlobalStatus.Sleep) {
162
- if (typeof this.wakePromise === "undefined") {
163
- this.wakePromise = this.wake();
164
- }
165
- await this.wakePromise;
166
- return this.getPartition();
167
- }
168
- return this.partition;
169
- }
170
- dispose() {
171
- this.sleep();
172
- this.status = GlobalStatus.Dispose;
173
- }
174
- // #region Wake-sleep
175
- async wake() {
176
- try {
177
- // eslint-disable-next-line @typescript-eslint/unbound-method
178
- await this.scheduleTask(1 /* UpdatePartition */, this.updatePartition, this.options.instanceUpdateTime, true);
179
- }
180
- catch (e) {
181
- this.wakePromise = undefined;
182
- throw e;
183
- }
184
- /**
185
- * 仅当第一次调用(桶列表为空)时才构建,
186
- * 唤醒时直接使用现有桶
187
- */
188
- if (typeof this.indexes === "undefined") {
189
- const localIndex = [];
190
- const remoteIndex = [];
191
- const allocatedIndex = [];
192
- this.indexes = {
193
- local: localIndex,
194
- remote: remoteIndex,
195
- allocated: allocatedIndex
196
- };
197
- // eslint-disable-next-line @typescript-eslint/naming-convention
198
- let Bucket;
199
- switch (this.rule.resource) {
200
- case rules_1.LimitResource.Concurrency: {
201
- Bucket = bucket_1.BasicBucket;
202
- break;
203
- }
204
- case rules_1.LimitResource.QPS: {
205
- Bucket = bucket_1.InternalBucket;
206
- break;
207
- }
208
- default: {
209
- (0, utils_1.UNREACHABLE)();
210
- }
211
- }
212
- this.rule.amounts.forEach(({ amount, duration }) => {
213
- const local = new Bucket(amount, this.partition, false, duration, this.options);
214
- const allocated = new Bucket(0, 1, true, duration, this.options);
215
- const remote = new bucket_1.ExternalBucket(amount, this.partition);
216
- this.buckets[duration] = { local, allocated, remote };
217
- localIndex.push(local);
218
- remoteIndex.push(remote);
219
- allocatedIndex.push(allocated);
220
- });
221
- }
222
- try {
223
- // eslint-disable-next-line @typescript-eslint/unbound-method
224
- await this.scheduleTask(2 /* SyncQuota */, this.syncQuota, this.updateConfig.interval, true);
225
- }
226
- catch (e) {
227
- this.wakePromise = undefined;
228
- throw e;
229
- }
230
- this.scheduleTask(3 /* CheckOutdated */, this.checkOutdated, this.updateConfig.interval * this.options.outdatedPeriod);
231
- // eslint-disable-next-line @typescript-eslint/unbound-method
232
- this.scheduleTask(4 /* ShouldSleep */, this.shouldSleep, this.maxDuration * this.options.idlePeriod);
233
- this.wakePromise = undefined;
234
- this.status = GlobalStatus.Normal;
235
- }
236
- sleep() {
237
- if (this.status === GlobalStatus.Sleep || this.status === GlobalStatus.Dispose) {
238
- return;
239
- }
240
- for (let i = 0 /* Begin */ + 1; i < 5 /* End */; i += 1) {
241
- const task = this.taskInfo[i];
242
- if (task.timer) {
243
- clearInterval(task.timer);
244
- task.timer = undefined;
245
- }
246
- }
247
- this.idlePeriods = 0;
248
- this.isAccessed = false;
249
- this.status = GlobalStatus.Sleep;
250
- }
251
- async scheduleTask(type, timeout, interval, immediate = false) {
252
- let task = this.taskInfo[type];
253
- if (typeof task === "undefined") {
254
- task = Object.create(null);
255
- this.taskInfo[type] = task;
256
- }
257
- if (task.timer) {
258
- clearInterval(task.timer);
259
- task.timer = undefined;
260
- }
261
- task.timer = setInterval(() => {
262
- if (task.isRunning) {
263
- return;
264
- }
265
- task.isRunning = true;
266
- const result = timeout.call(this, task);
267
- if (typeof result === "object") {
268
- void result.catch(err => this.logger.error(`[GlobalRatelimiter] [scheduleTask], call ${friendlyTaskType(type)} task`, err)).then(() => (task.isRunning = false));
269
- }
270
- else {
271
- task.isRunning = false;
272
- }
273
- }, interval).unref();
274
- if (immediate) {
275
- task.isRunning = true;
276
- try {
277
- await timeout.call(this, task);
278
- }
279
- finally {
280
- task.isRunning = false;
281
- }
282
- }
283
- }
284
- async updatePartition() {
285
- if (this.registry.isDisposed) {
286
- this.dispose();
287
- return;
288
- }
289
- const instances = await this.registry.fetch(plugins_1.RegistryCategory.Instance, this.namespace, this.service);
290
- let partition = 0;
291
- instances.forEach((instance) => {
292
- if (instance.status === 0 /* Normal */) { /** 仅计算健康状态的实例数 */
293
- partition += 1;
294
- }
295
- });
296
- if (partition !== this.partition) {
297
- this.logger.info(`[GlobalRatelimiter] [updatePartition], partitions(${this.partition}) has changed to ${partition}`);
298
- this.partition = partition;
299
- Object.values(this.buckets).forEach(({ local, remote }) => {
300
- local.setPartition(partition);
301
- remote.setPartition(partition);
302
- });
303
- }
304
- }
305
- async syncQuota(task) {
306
- if (this.backend.isDisposed) {
307
- this.dispose();
308
- return;
309
- }
310
- const allocated = Object.keys(this.buckets).map((duration) => {
311
- const bucket = this.buckets[duration].allocated;
312
- let amount;
313
- switch (this.rule.resource) {
314
- case rules_1.LimitResource.QPS: {
315
- amount = bucket.drain();
316
- break;
317
- }
318
- case rules_1.LimitResource.Concurrency: {
319
- amount = bucket.remainingTokens;
320
- break;
321
- }
322
- default: {
323
- (0, utils_1.UNREACHABLE)();
324
- }
325
- }
326
- return {
327
- amount,
328
- duration: parseInt(duration, 10),
329
- period: bucket.currentPeriod
330
- };
331
- });
332
- let response;
333
- try {
334
- response = await this.backend.acquireQuota(this.namespace, this.service, this.rule, allocated);
335
- }
336
- catch (e) {
337
- if (this.rule.resource === rules_1.LimitResource.QPS) {
338
- /**
339
- * 如上报失败且 `allocated` 令牌桶还在当前周期时,
340
- * 将扣减数加回,下次继续上报
341
- */
342
- allocated.forEach(({ amount, duration, period }) => {
343
- const bucket = this.buckets[duration].allocated;
344
- if (bucket.currentPeriod === period) {
345
- bucket.consume(amount * -1, false);
346
- }
347
- });
348
- }
349
- throw e;
350
- }
351
- response.forEach(({ amount, duration }) => {
352
- const bucket = this.buckets[duration];
353
- if (typeof bucket === "undefined") {
354
- (0, utils_1.UNREACHABLE)();
355
- }
356
- bucket.remote.update(amount);
357
- });
358
- /**
359
- * 仅当状态为 `GlobalStatus.Outdated` 才进行切换,
360
- * 避免状态竞争问题
361
- */
362
- if (this.status === GlobalStatus.Outdated) {
363
- this.status = GlobalStatus.Normal;
364
- }
365
- task.timestamp = (0, process_1.uptime)();
366
- }
367
- checkOutdated() {
368
- const updatedTime = this.taskInfo[2 /* SyncQuota */].timestamp;
369
- if (this.status === GlobalStatus.Normal /** 仅当状态为 `GlobalStatus.Normal` 才进行切换,避免状态竞争问题 */
370
- && updatedTime !== undefined
371
- && (0, process_1.uptime)() - updatedTime >= (this.updateConfig.interval * this.options.outdatedPeriod) / utils_1.kSeconds) {
372
- this.status = GlobalStatus.Outdated;
373
- this.logger.debug("[GlobalRatelimiter] [checkOutdated], status has changed to Outdated");
374
- }
375
- }
376
- shouldSleep() {
377
- if (this.isAccessed) {
378
- this.idlePeriods = 0;
379
- }
380
- else {
381
- this.idlePeriods += 1;
382
- }
383
- this.isAccessed = false;
384
- /*
385
- * 为了降低消耗,当超过 `this.options.idlePeriod` 周期没有访问时,
386
- * 自动进入休眠状态(停止一切定时器)
387
- *
388
- * note:
389
- * 如外部不再强引用(WeakMap 为弱引用)当前对象,当进入休眠状态后,当前对象会被自动回收
390
- */
391
- if (this.idlePeriods > this.options.idlePeriod) {
392
- this.sleep();
393
- }
394
- }
395
- }
396
- exports.GlobalRatelimiter = GlobalRatelimiter;
397
- //# sourceMappingURL=global.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"global.js","sourceRoot":"","sources":["../../../src/limiter/ratelimiter/global.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- export * from "./global";
2
- export * from "./local";
3
- export { Ratelimiter } from "./base";
@@ -1,19 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./global"), exports);
18
- __exportStar(require("./local"), exports);
19
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/limiter/ratelimiter/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,0CAAwB"}
@@ -1,17 +0,0 @@
1
- import { RatelimitRule } from "../../rules";
2
- import { InternalBucketOptions } from "../bucket";
3
- import { Ratelimiter } from "./base";
4
- export declare type LocalRatelimiterOptions = InternalBucketOptions;
5
- /**
6
- * 本地限流
7
- * 对应 `LimitType.Local`
8
- */
9
- export declare class LocalRatelimiter implements Ratelimiter {
10
- private readonly options;
11
- private readonly buckets;
12
- private readonly indexes;
13
- constructor(rule: RatelimitRule, options: LocalRatelimiterOptions);
14
- consume(preroll?: boolean): Promise<boolean>;
15
- return(): Promise<void>;
16
- getPartition(): Promise<number>;
17
- }
@@ -1,52 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LocalRatelimiter = void 0;
4
- const errors_1 = require("../../errors");
5
- const rules_1 = require("../../rules");
6
- const utils_1 = require("../../utils");
7
- const bucket_1 = require("../bucket");
8
- const base_1 = require("./base");
9
- /**
10
- * 本地限流
11
- * 对应 `LimitType.Local`
12
- */
13
- class LocalRatelimiter {
14
- constructor(rule, options) {
15
- this.options = options;
16
- this.buckets = Object.create(null);
17
- this.indexes = [];
18
- let Bucket; // eslint-disable-line @typescript-eslint/naming-convention
19
- switch (rule.resource) {
20
- case rules_1.LimitResource.Concurrency: {
21
- Bucket = bucket_1.BasicBucket;
22
- break;
23
- }
24
- case rules_1.LimitResource.QPS: {
25
- Bucket = bucket_1.InternalBucket;
26
- break;
27
- }
28
- default: {
29
- (0, utils_1.UNREACHABLE)();
30
- }
31
- }
32
- if (rule.amounts.length === 0) {
33
- throw new errors_1.ArgumentError("no valid |QuotaConfig|");
34
- }
35
- rule.amounts.forEach(({ amount, duration }) => {
36
- const bucket = new Bucket(amount, 1, false, duration, this.options);
37
- this.buckets[duration] = bucket;
38
- this.indexes.push(bucket);
39
- });
40
- }
41
- async consume(preroll = false) {
42
- return (0, base_1.deduction)(this.indexes, 1, preroll);
43
- }
44
- async return() {
45
- (0, base_1.deduction)(this.indexes, -1, false);
46
- }
47
- async getPartition() {
48
- return 1;
49
- }
50
- }
51
- exports.LocalRatelimiter = LocalRatelimiter;
52
- //# sourceMappingURL=local.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"local.js","sourceRoot":"","sources":["../../../src/limiter/ratelimiter/local.ts"],"names":[],"mappings":";;;AAAA,yCAA6C;AAC7C,uCAA2D;AAC3D,uCAA0C;AAC1C,sCAA+E;AAC/E,iCAAgD;AAIhD;;;GAGG;AACH,MAAa,gBAAgB;IAI3B,YAAY,IAAmB,EAAmB,OAAgC;QAAhC,YAAO,GAAP,OAAO,CAAyB;QAHjE,YAAO,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAgC,CAAC;QAC7D,YAAO,GAAkB,EAAE,CAAC;QAG3C,IAAI,MAAkD,CAAC,CAAC,2DAA2D;QACnH,QAAQ,IAAI,CAAC,QAAQ,EAAE;YACrB,KAAK,qBAAa,CAAC,WAAW,CAAC,CAAC;gBAC9B,MAAM,GAAG,oBAAW,CAAC;gBACrB,MAAM;aACP;YACD,KAAK,qBAAa,CAAC,GAAG,CAAC,CAAC;gBACtB,MAAM,GAAG,uBAAc,CAAC;gBACxB,MAAM;aACP;YACD,OAAO,CAAC,CAAC;gBACP,IAAA,mBAAW,GAAE,CAAC;aACf;SACF;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;YAC7B,MAAM,IAAI,sBAAa,CAAC,wBAAwB,CAAC,CAAC;SACnD;QAED,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE;YAC5C,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YACpE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC;YAChC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAO,GAAG,KAAK;QAC3B,OAAO,IAAA,gBAAS,EAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,MAAM;QACV,IAAA,gBAAS,EAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,OAAO,CAAC,CAAC;IACX,CAAC;CACF;AA1CD,4CA0CC"}
@@ -1,48 +0,0 @@
1
- /**
2
- * 位置信息
3
- */
4
- export interface Location {
5
- /**
6
- * CMDB Region
7
- */
8
- region: string;
9
- /**
10
- * CMDB Zone
11
- */
12
- zone: string;
13
- /**
14
- * CMDB Campus(IDC)
15
- */
16
- campus: string;
17
- }
18
- /**
19
- * 位置信息比较级别
20
- */
21
- export declare const enum LocationMatchLevel {
22
- Region = 0,
23
- Zone = 1,
24
- Campus = 2,
25
- None = 3
26
- }
27
- /**
28
- * 判断两个位置信息是否匹配
29
- * @param a 位置信息 A
30
- * @param b 位置信息 B
31
- * @param level 比较级别
32
- */
33
- export declare const isLocationMatch: (a: Location, b: Location, level: LocationMatchLevel) => boolean;
34
- /**
35
- * 判断位置信息是否为空
36
- * @param loc 位置信息
37
- */
38
- export declare const isEmptyLocation: (loc?: Location | null | undefined) => boolean;
39
- /**
40
- * 空白位置信息
41
- */
42
- export declare const blankLocation: Location;
43
- /**
44
- * 找到两个位置信息相交的部分
45
- * @param a 位置信息 A
46
- * @param b 位置信息 B
47
- */
48
- export declare const intersectionLocation: (a: Partial<Location>, b: Partial<Location>) => Location;
@@ -1,67 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.intersectionLocation = exports.blankLocation = exports.isEmptyLocation = exports.isLocationMatch = void 0;
4
- const utils_1 = require("./utils");
5
- /**
6
- * 判断两个位置信息是否匹配
7
- * @param a 位置信息 A
8
- * @param b 位置信息 B
9
- * @param level 比较级别
10
- */
11
- const isLocationMatch = (a, b, level) => {
12
- switch (level) {
13
- case 2 /* Campus */: {
14
- return a.campus === b.campus && a.zone === b.zone && a.region === b.region;
15
- }
16
- case 1 /* Zone */: {
17
- return a.zone === b.zone && a.region === b.region;
18
- }
19
- case 0 /* Region */: {
20
- return a.region === b.region;
21
- }
22
- case 3 /* None */: {
23
- return false;
24
- }
25
- default: {
26
- (0, utils_1.UNREACHABLE)();
27
- }
28
- }
29
- };
30
- exports.isLocationMatch = isLocationMatch;
31
- /**
32
- * 判断位置信息是否为空
33
- * @param loc 位置信息
34
- */
35
- const isEmptyLocation = (loc) => {
36
- if (!loc) {
37
- return true;
38
- }
39
- return loc.campus === "" && loc.region === "" && loc.zone === "";
40
- };
41
- exports.isEmptyLocation = isEmptyLocation;
42
- /**
43
- * 空白位置信息
44
- */
45
- exports.blankLocation = Object.freeze({
46
- campus: "",
47
- region: "",
48
- zone: ""
49
- });
50
- /**
51
- * 找到两个位置信息相交的部分
52
- * @param a 位置信息 A
53
- * @param b 位置信息 B
54
- */
55
- const intersectionLocation = (a, b) => {
56
- const intersection = Object.assign({}, exports.blankLocation);
57
- Object.keys(exports.blankLocation).forEach((key) => {
58
- const valueB = b[key];
59
- const valueA = a[key];
60
- if (valueA === valueB && valueA !== undefined) {
61
- intersection[key] = valueA;
62
- }
63
- });
64
- return intersection;
65
- };
66
- exports.intersectionLocation = intersectionLocation;
67
- //# sourceMappingURL=location.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"location.js","sourceRoot":"","sources":["../src/location.ts"],"names":[],"mappings":";;;AAAA,mCAAsC;AAgCtC;;;;;GAKG;AACI,MAAM,eAAe,GAAG,CAAC,CAAW,EAAE,CAAW,EAAE,KAAyB,EAAW,EAAE;IAC9F,QAAQ,KAAK,EAAE;QACb,mBAA8B,CAAC,CAAC;YAC9B,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,CAAC;SAC5E;QACD,iBAA4B,CAAC,CAAC;YAC5B,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,CAAC;SACnD;QACD,mBAA8B,CAAC,CAAC;YAC9B,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,CAAC;SAC9B;QACD,iBAA4B,CAAC,CAAC;YAC5B,OAAO,KAAK,CAAC;SACd;QACD,OAAO,CAAC,CAAC;YACP,IAAA,mBAAW,GAAE,CAAC;SACf;KACF;AACH,CAAC,CAAC;AAlBW,QAAA,eAAe,mBAkB1B;AAEF;;;GAGG;AACI,MAAM,eAAe,GAAG,CAAC,GAAqB,EAAW,EAAE;IAChE,IAAI,CAAC,GAAG,EAAE;QACR,OAAO,IAAI,CAAC;KACb;IACD,OAAO,GAAG,CAAC,MAAM,KAAK,EAAE,IAAI,GAAG,CAAC,MAAM,KAAK,EAAE,IAAI,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC;AACnE,CAAC,CAAC;AALW,QAAA,eAAe,mBAK1B;AAEF;;GAEG;AACU,QAAA,aAAa,GAAa,MAAM,CAAC,MAAM,CAAC;IACnD,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,EAAE;IACV,IAAI,EAAE,EAAE;CACT,CAAC,CAAC;AAEH;;;;GAIG;AACI,MAAM,oBAAoB,GAAG,CAAC,CAAoB,EAAE,CAAoB,EAAY,EAAE;IAC3F,MAAM,YAAY,qBAAkB,qBAAa,CAAE,CAAC;IAEpD,MAAM,CAAC,IAAI,CAAC,qBAAa,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACzC,MAAM,MAAM,GAAG,CAAC,CAAC,GAAqB,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,CAAC,CAAC,GAAqB,CAAC,CAAC;QACxC,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,SAAS,EAAE;YAC7C,YAAY,CAAC,GAAqB,CAAC,GAAG,MAAM,CAAC;SAC9C;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC;AAZW,QAAA,oBAAoB,wBAY/B"}