@tencent-rtc/mcp 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (286) hide show
  1. package/@tencent/aegis-node-sdk/CHANGELOG.md +8 -0
  2. package/@tencent/aegis-node-sdk/LICENSE +21 -0
  3. package/@tencent/aegis-node-sdk/README.md +562 -0
  4. package/@tencent/aegis-node-sdk/lib/aegis.min.js +1 -0
  5. package/@tencent/aegis-node-sdk/lib/packages/core/src/constant/config.d.ts +14 -0
  6. package/@tencent/aegis-node-sdk/lib/packages/core/src/constant/global.d.ts +1 -0
  7. package/@tencent/aegis-node-sdk/lib/packages/core/src/constant/index.d.ts +9 -0
  8. package/@tencent/aegis-node-sdk/lib/packages/core/src/constant/report-ignore.d.ts +2 -0
  9. package/@tencent/aegis-node-sdk/lib/packages/core/src/core.d.ts +85 -0
  10. package/@tencent/aegis-node-sdk/lib/packages/core/src/hooks/afterRequestHooks.d.ts +3 -0
  11. package/@tencent/aegis-node-sdk/lib/packages/core/src/hooks/beforeRequestHooks.d.ts +9 -0
  12. package/@tencent/aegis-node-sdk/lib/packages/core/src/hooks/modifyRequestHooks.d.ts +3 -0
  13. package/@tencent/aegis-node-sdk/lib/packages/core/src/index.d.ts +9 -0
  14. package/@tencent/aegis-node-sdk/lib/packages/core/src/interface/config.d.ts +62 -0
  15. package/@tencent/aegis-node-sdk/lib/packages/core/src/interface/env.d.ts +11 -0
  16. package/@tencent/aegis-node-sdk/lib/packages/core/src/interface/index.d.ts +4 -0
  17. package/@tencent/aegis-node-sdk/lib/packages/core/src/interface/log.d.ts +130 -0
  18. package/@tencent/aegis-node-sdk/lib/packages/core/src/interface/send.d.ts +34 -0
  19. package/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/format.d.ts +2 -0
  20. package/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/index.d.ts +18 -0
  21. package/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/length-limit.d.ts +8 -0
  22. package/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/pv.d.ts +8 -0
  23. package/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/remove-payload.d.ts +2 -0
  24. package/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/repeat-limit.d.ts +4 -0
  25. package/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/report.d.ts +10 -0
  26. package/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/sample.d.ts +3 -0
  27. package/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/throttle.d.ts +3 -0
  28. package/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/trace/index.d.ts +34 -0
  29. package/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/trace/jwt.d.ts +12 -0
  30. package/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/trace/ot-js.d.ts +14 -0
  31. package/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/trace/uuid.d.ts +2 -0
  32. package/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/whitelist.d.ts +12 -0
  33. package/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/write-before.d.ts +3 -0
  34. package/@tencent/aegis-node-sdk/lib/packages/core/src/plugin.d.ts +33 -0
  35. package/@tencent/aegis-node-sdk/lib/packages/core/src/polyfill.d.ts +0 -0
  36. package/@tencent/aegis-node-sdk/lib/packages/core/src/util/destroy.d.ts +2 -0
  37. package/@tencent/aegis-node-sdk/lib/packages/core/src/util/event-emitter.d.ts +18 -0
  38. package/@tencent/aegis-node-sdk/lib/packages/core/src/util/index.d.ts +60 -0
  39. package/@tencent/aegis-node-sdk/lib/packages/node-sdk/src/index.d.ts +15 -0
  40. package/@tencent/aegis-node-sdk/lib/packages/node-sdk/src/interface/selector.d.ts +5 -0
  41. package/@tencent/aegis-node-sdk/lib/packages/node-sdk/src/pipes/batch-report-pipe.d.ts +6 -0
  42. package/@tencent/aegis-node-sdk/lib/packages/node-sdk/src/protocol/protocol_base.d.ts +18 -0
  43. package/@tencent/aegis-node-sdk/lib/packages/node-sdk/src/protocol/protocol_http.d.ts +12 -0
  44. package/@tencent/aegis-node-sdk/lib/packages/node-sdk/src/selector/ip_selector.d.ts +10 -0
  45. package/@tencent/aegis-node-sdk/lib/packages/node-sdk/src/selector/polaris_selector.d.ts +20 -0
  46. package/@tencent/aegis-node-sdk/lib/packages/node-sdk/src/selector/selector_base.d.ts +27 -0
  47. package/@tencent/aegis-node-sdk/lib/packages/node-sdk/src/util/eval_require.d.ts +2 -0
  48. package/@tencent/aegis-node-sdk/package.json +19 -0
  49. package/@tencent/polaris/README.md +407 -0
  50. package/@tencent/polaris/dist/consumer/health.d.ts +126 -0
  51. package/@tencent/polaris/dist/consumer/health.js +283 -0
  52. package/@tencent/polaris/dist/consumer/health.js.map +1 -0
  53. package/@tencent/polaris/dist/consumer/index.d.ts +120 -0
  54. package/@tencent/polaris/dist/consumer/index.js +348 -0
  55. package/@tencent/polaris/dist/consumer/index.js.map +1 -0
  56. package/@tencent/polaris/dist/consumer/monitor.d.ts +145 -0
  57. package/@tencent/polaris/dist/consumer/monitor.js +343 -0
  58. package/@tencent/polaris/dist/consumer/monitor.js.map +1 -0
  59. package/@tencent/polaris/dist/consumer/selector.d.ts +73 -0
  60. package/@tencent/polaris/dist/consumer/selector.js +316 -0
  61. package/@tencent/polaris/dist/consumer/selector.js.map +1 -0
  62. package/@tencent/polaris/dist/errors.d.ts +373 -0
  63. package/@tencent/polaris/dist/errors.js +154 -0
  64. package/@tencent/polaris/dist/errors.js.map +1 -0
  65. package/@tencent/polaris/dist/global.d.ts +16 -0
  66. package/@tencent/polaris/dist/global.js +18 -0
  67. package/@tencent/polaris/dist/global.js.map +1 -0
  68. package/@tencent/polaris/dist/index.d.ts +62 -0
  69. package/@tencent/polaris/dist/index.js +145 -0
  70. package/@tencent/polaris/dist/index.js.map +1 -0
  71. package/@tencent/polaris/dist/instance.d.ts +109 -0
  72. package/@tencent/polaris/dist/instance.js +38 -0
  73. package/@tencent/polaris/dist/instance.js.map +1 -0
  74. package/@tencent/polaris/dist/limiter/bucket.d.ts +51 -0
  75. package/@tencent/polaris/dist/limiter/bucket.js +152 -0
  76. package/@tencent/polaris/dist/limiter/bucket.js.map +1 -0
  77. package/@tencent/polaris/dist/limiter/index.d.ts +73 -0
  78. package/@tencent/polaris/dist/limiter/index.js +149 -0
  79. package/@tencent/polaris/dist/limiter/index.js.map +1 -0
  80. package/@tencent/polaris/dist/limiter/ratelimit.d.ts +27 -0
  81. package/@tencent/polaris/dist/limiter/ratelimit.js +134 -0
  82. package/@tencent/polaris/dist/limiter/ratelimit.js.map +1 -0
  83. package/@tencent/polaris/dist/limiter/ratelimiter/base.d.ts +17 -0
  84. package/@tencent/polaris/dist/limiter/ratelimiter/base.js +15 -0
  85. package/@tencent/polaris/dist/limiter/ratelimiter/base.js.map +1 -0
  86. package/@tencent/polaris/dist/limiter/ratelimiter/global.d.ts +59 -0
  87. package/@tencent/polaris/dist/limiter/ratelimiter/global.js +397 -0
  88. package/@tencent/polaris/dist/limiter/ratelimiter/global.js.map +1 -0
  89. package/@tencent/polaris/dist/limiter/ratelimiter/index.d.ts +3 -0
  90. package/@tencent/polaris/dist/limiter/ratelimiter/index.js +19 -0
  91. package/@tencent/polaris/dist/limiter/ratelimiter/index.js.map +1 -0
  92. package/@tencent/polaris/dist/limiter/ratelimiter/local.d.ts +17 -0
  93. package/@tencent/polaris/dist/limiter/ratelimiter/local.js +52 -0
  94. package/@tencent/polaris/dist/limiter/ratelimiter/local.js.map +1 -0
  95. package/@tencent/polaris/dist/location.d.ts +48 -0
  96. package/@tencent/polaris/dist/location.js +67 -0
  97. package/@tencent/polaris/dist/location.js.map +1 -0
  98. package/@tencent/polaris/dist/logging.d.ts +106 -0
  99. package/@tencent/polaris/dist/logging.js +130 -0
  100. package/@tencent/polaris/dist/logging.js.map +1 -0
  101. package/@tencent/polaris/dist/metadata.d.ts +78 -0
  102. package/@tencent/polaris/dist/metadata.js +119 -0
  103. package/@tencent/polaris/dist/metadata.js.map +1 -0
  104. package/@tencent/polaris/dist/plugins/breaker/polaris.d.ts +47 -0
  105. package/@tencent/polaris/dist/plugins/breaker/polaris.js +162 -0
  106. package/@tencent/polaris/dist/plugins/breaker/polaris.js.map +1 -0
  107. package/@tencent/polaris/dist/plugins/lb/base.d.ts +24 -0
  108. package/@tencent/polaris/dist/plugins/lb/base.js +32 -0
  109. package/@tencent/polaris/dist/plugins/lb/base.js.map +1 -0
  110. package/@tencent/polaris/dist/plugins/lb/edf.d.ts +24 -0
  111. package/@tencent/polaris/dist/plugins/lb/edf.js +77 -0
  112. package/@tencent/polaris/dist/plugins/lb/edf.js.map +1 -0
  113. package/@tencent/polaris/dist/plugins/lb/hashring.d.ts +24 -0
  114. package/@tencent/polaris/dist/plugins/lb/hashring.js +53 -0
  115. package/@tencent/polaris/dist/plugins/lb/hashring.js.map +1 -0
  116. package/@tencent/polaris/dist/plugins/lb/sticky.d.ts +31 -0
  117. package/@tencent/polaris/dist/plugins/lb/sticky.js +88 -0
  118. package/@tencent/polaris/dist/plugins/lb/sticky.js.map +1 -0
  119. package/@tencent/polaris/dist/plugins/lb/swrr.d.ts +25 -0
  120. package/@tencent/polaris/dist/plugins/lb/swrr.js +72 -0
  121. package/@tencent/polaris/dist/plugins/lb/swrr.js.map +1 -0
  122. package/@tencent/polaris/dist/plugins/lb/wr.d.ts +17 -0
  123. package/@tencent/polaris/dist/plugins/lb/wr.js +50 -0
  124. package/@tencent/polaris/dist/plugins/lb/wr.js.map +1 -0
  125. package/@tencent/polaris/dist/plugins/lb/wrr.d.ts +19 -0
  126. package/@tencent/polaris/dist/plugins/lb/wrr.js +81 -0
  127. package/@tencent/polaris/dist/plugins/lb/wrr.js.map +1 -0
  128. package/@tencent/polaris/dist/plugins/logging/console.d.ts +10 -0
  129. package/@tencent/polaris/dist/plugins/logging/console.js +38 -0
  130. package/@tencent/polaris/dist/plugins/logging/console.js.map +1 -0
  131. package/@tencent/polaris/dist/plugins/naming/local-server/index.d.ts +32 -0
  132. package/@tencent/polaris/dist/plugins/naming/local-server/index.js +88 -0
  133. package/@tencent/polaris/dist/plugins/naming/local-server/index.js.map +1 -0
  134. package/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/base.d.ts +124 -0
  135. package/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/base.js +398 -0
  136. package/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/base.js.map +1 -0
  137. package/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/discover.d.ts +27 -0
  138. package/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/discover.js +287 -0
  139. package/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/discover.js.map +1 -0
  140. package/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/index.d.ts +15 -0
  141. package/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/index.js +43 -0
  142. package/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/index.js.map +1 -0
  143. package/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/monitor.d.ts +28 -0
  144. package/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/monitor.js +249 -0
  145. package/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/monitor.js.map +1 -0
  146. package/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/ratelimit.d.ts +19 -0
  147. package/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/ratelimit.js +222 -0
  148. package/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/ratelimit.js.map +1 -0
  149. package/@tencent/polaris/dist/plugins/naming/polaris-server/connector/grpc/bidi.d.ts +26 -0
  150. package/@tencent/polaris/dist/plugins/naming/polaris-server/connector/grpc/bidi.js +99 -0
  151. package/@tencent/polaris/dist/plugins/naming/polaris-server/connector/grpc/bidi.js.map +1 -0
  152. package/@tencent/polaris/dist/plugins/naming/polaris-server/connector/grpc/index.d.ts +60 -0
  153. package/@tencent/polaris/dist/plugins/naming/polaris-server/connector/grpc/index.js +259 -0
  154. package/@tencent/polaris/dist/plugins/naming/polaris-server/connector/grpc/index.js.map +1 -0
  155. package/@tencent/polaris/dist/plugins/naming/polaris-server/connector/grpc/pb/discover.proto +24 -0
  156. package/@tencent/polaris/dist/plugins/naming/polaris-server/connector/grpc/pb/monitor.proto +18 -0
  157. package/@tencent/polaris/dist/plugins/naming/polaris-server/connector/grpc/pb/ratelimit.proto +12 -0
  158. package/@tencent/polaris/dist/plugins/naming/polaris-server/connector/http/index.d.ts +39 -0
  159. package/@tencent/polaris/dist/plugins/naming/polaris-server/connector/http/index.js +115 -0
  160. package/@tencent/polaris/dist/plugins/naming/polaris-server/connector/http/index.js.map +1 -0
  161. package/@tencent/polaris/dist/plugins/naming/polaris-server/discover-pb/api.proto +24 -0
  162. package/@tencent/polaris/dist/plugins/naming/polaris-server/discover-pb/client.proto +22 -0
  163. package/@tencent/polaris/dist/plugins/naming/polaris-server/discover-pb/model.proto +28 -0
  164. package/@tencent/polaris/dist/plugins/naming/polaris-server/discover-pb/ratelimit.proto +80 -0
  165. package/@tencent/polaris/dist/plugins/naming/polaris-server/discover-pb/request.proto +18 -0
  166. package/@tencent/polaris/dist/plugins/naming/polaris-server/discover-pb/response.proto +65 -0
  167. package/@tencent/polaris/dist/plugins/naming/polaris-server/discover-pb/routing.proto +66 -0
  168. package/@tencent/polaris/dist/plugins/naming/polaris-server/discover-pb/service.proto +95 -0
  169. package/@tencent/polaris/dist/plugins/naming/polaris-server/discover-pb/types.d.ts +1568 -0
  170. package/@tencent/polaris/dist/plugins/naming/polaris-server/index.d.ts +36 -0
  171. package/@tencent/polaris/dist/plugins/naming/polaris-server/index.js +51 -0
  172. package/@tencent/polaris/dist/plugins/naming/polaris-server/index.js.map +1 -0
  173. package/@tencent/polaris/dist/plugins/naming/polaris-server/monitor-pb/api.proto +18 -0
  174. package/@tencent/polaris/dist/plugins/naming/polaris-server/monitor-pb/circuitbreak.proto +67 -0
  175. package/@tencent/polaris/dist/plugins/naming/polaris-server/monitor-pb/request.proto +82 -0
  176. package/@tencent/polaris/dist/plugins/naming/polaris-server/monitor-pb/response.proto +11 -0
  177. package/@tencent/polaris/dist/plugins/naming/polaris-server/monitor-pb/sdkcache.proto +46 -0
  178. package/@tencent/polaris/dist/plugins/naming/polaris-server/monitor-pb/sdkconfiguration.proto +16 -0
  179. package/@tencent/polaris/dist/plugins/naming/polaris-server/monitor-pb/sdktoken.proto +10 -0
  180. package/@tencent/polaris/dist/plugins/naming/polaris-server/monitor-pb/types.d.ts +1102 -0
  181. package/@tencent/polaris/dist/plugins/naming/polaris-server/pool.d.ts +29 -0
  182. package/@tencent/polaris/dist/plugins/naming/polaris-server/pool.js +77 -0
  183. package/@tencent/polaris/dist/plugins/naming/polaris-server/pool.js.map +1 -0
  184. package/@tencent/polaris/dist/plugins/naming/polaris-server/ratelimit-pb/api.proto +12 -0
  185. package/@tencent/polaris/dist/plugins/naming/polaris-server/ratelimit-pb/ratelimit.proto +28 -0
  186. package/@tencent/polaris/dist/plugins/naming/polaris-server/ratelimit-pb/types.d.ts +395 -0
  187. package/@tencent/polaris/dist/plugins/naming/polaris-server/rules.d.ts +13 -0
  188. package/@tencent/polaris/dist/plugins/naming/polaris-server/rules.js +116 -0
  189. package/@tencent/polaris/dist/plugins/naming/polaris-server/rules.js.map +1 -0
  190. package/@tencent/polaris/dist/plugins/naming/polaris-server/types.d.ts +67 -0
  191. package/@tencent/polaris/dist/plugins/naming/polaris-server/types.js +67 -0
  192. package/@tencent/polaris/dist/plugins/naming/polaris-server/types.js.map +1 -0
  193. package/@tencent/polaris/dist/plugins/naming/polaris-server/utils.d.ts +99 -0
  194. package/@tencent/polaris/dist/plugins/naming/polaris-server/utils.js +217 -0
  195. package/@tencent/polaris/dist/plugins/naming/polaris-server/utils.js.map +1 -0
  196. package/@tencent/polaris/dist/plugins/registry/memory.d.ts +10 -0
  197. package/@tencent/polaris/dist/plugins/registry/memory.js +50 -0
  198. package/@tencent/polaris/dist/plugins/registry/memory.js.map +1 -0
  199. package/@tencent/polaris/dist/plugins/router/polaris/nearby.d.ts +51 -0
  200. package/@tencent/polaris/dist/plugins/router/polaris/nearby.js +145 -0
  201. package/@tencent/polaris/dist/plugins/router/polaris/nearby.js.map +1 -0
  202. package/@tencent/polaris/dist/plugins/router/polaris/rule.d.ts +11 -0
  203. package/@tencent/polaris/dist/plugins/router/polaris/rule.js +174 -0
  204. package/@tencent/polaris/dist/plugins/router/polaris/rule.js.map +1 -0
  205. package/@tencent/polaris/dist/plugins/router/trpc/canary.d.ts +25 -0
  206. package/@tencent/polaris/dist/plugins/router/trpc/canary.js +36 -0
  207. package/@tencent/polaris/dist/plugins/router/trpc/canary.js.map +1 -0
  208. package/@tencent/polaris/dist/plugins/router/trpc/env.d.ts +10 -0
  209. package/@tencent/polaris/dist/plugins/router/trpc/env.js +34 -0
  210. package/@tencent/polaris/dist/plugins/router/trpc/env.js.map +1 -0
  211. package/@tencent/polaris/dist/plugins/router/trpc/set.d.ts +56 -0
  212. package/@tencent/polaris/dist/plugins/router/trpc/set.js +106 -0
  213. package/@tencent/polaris/dist/plugins/router/trpc/set.js.map +1 -0
  214. package/@tencent/polaris/dist/plugins/shaping/unirate.d.ts +31 -0
  215. package/@tencent/polaris/dist/plugins/shaping/unirate.js +124 -0
  216. package/@tencent/polaris/dist/plugins/shaping/unirate.js.map +1 -0
  217. package/@tencent/polaris/dist/plugins/shaping/warmup.d.ts +61 -0
  218. package/@tencent/polaris/dist/plugins/shaping/warmup.js +171 -0
  219. package/@tencent/polaris/dist/plugins/shaping/warmup.js.map +1 -0
  220. package/@tencent/polaris/dist/plugins/weight/polaris.d.ts +23 -0
  221. package/@tencent/polaris/dist/plugins/weight/polaris.js +159 -0
  222. package/@tencent/polaris/dist/plugins/weight/polaris.js.map +1 -0
  223. package/@tencent/polaris/dist/plugins.d.ts +619 -0
  224. package/@tencent/polaris/dist/plugins.js +91 -0
  225. package/@tencent/polaris/dist/plugins.js.map +1 -0
  226. package/@tencent/polaris/dist/polaris.d.ts +33 -0
  227. package/@tencent/polaris/dist/polaris.js +59 -0
  228. package/@tencent/polaris/dist/polaris.js.map +1 -0
  229. package/@tencent/polaris/dist/provider/index.d.ts +102 -0
  230. package/@tencent/polaris/dist/provider/index.js +168 -0
  231. package/@tencent/polaris/dist/provider/index.js.map +1 -0
  232. package/@tencent/polaris/dist/registry.d.ts +174 -0
  233. package/@tencent/polaris/dist/registry.js +660 -0
  234. package/@tencent/polaris/dist/registry.js.map +1 -0
  235. package/@tencent/polaris/dist/rules.d.ts +163 -0
  236. package/@tencent/polaris/dist/rules.js +24 -0
  237. package/@tencent/polaris/dist/rules.js.map +1 -0
  238. package/@tencent/polaris/dist/scripts/postinstall.d.ts +1 -0
  239. package/@tencent/polaris/dist/scripts/postinstall.js +71 -0
  240. package/@tencent/polaris/dist/scripts/postinstall.js.map +1 -0
  241. package/@tencent/polaris/dist/service.d.ts +18 -0
  242. package/@tencent/polaris/dist/service.js +3 -0
  243. package/@tencent/polaris/dist/service.js.map +1 -0
  244. package/@tencent/polaris/dist/skeleton.d.ts +87 -0
  245. package/@tencent/polaris/dist/skeleton.js +282 -0
  246. package/@tencent/polaris/dist/skeleton.js.map +1 -0
  247. package/@tencent/polaris/dist/utils.d.ts +36 -0
  248. package/@tencent/polaris/dist/utils.js +74 -0
  249. package/@tencent/polaris/dist/utils.js.map +1 -0
  250. package/@tencent/polaris/dist/weak.d.ts +11 -0
  251. package/@tencent/polaris/dist/weak.js +44 -0
  252. package/@tencent/polaris/dist/weak.js.map +1 -0
  253. package/@tencent/polaris/package.json +114 -0
  254. package/README.md +61 -0
  255. package/cursor-setting.png +0 -0
  256. package/index.js +16 -0
  257. package/index.js.map +1 -0
  258. package/mcp-server-prompt.png +0 -0
  259. package/mcp.json +8 -0
  260. package/package.json +49 -0
  261. package/resource/doc/tuicallkit/android/.gitkeep +0 -0
  262. package/resource/doc/tuicallkit/android/api_TUICallKit.md +610 -0
  263. package/resource/doc/tuicallkit/android/api_TUICallObserver.md +784 -0
  264. package/resource/doc/tuicallkit/android/how_to_integrated_android_callkit.md +286 -0
  265. package/resource/doc/tuicallkit/faq/faq.md +127 -0
  266. package/resource/doc/tuicallkit/flutter/api_TUICallDefine.md +938 -0
  267. package/resource/doc/tuicallkit/flutter/api_TUICallKit.md +469 -0
  268. package/resource/doc/tuicallkit/flutter/api_TUICallObserver.md +897 -0
  269. package/resource/doc/tuicallkit/flutter/how_to_integrated_flutter_callkit.md +226 -0
  270. package/resource/doc/tuicallkit/flutter/how_to_run_flutter_callkit_demo.md +101 -0
  271. package/resource/doc/tuicallkit/iOS/api_TUICallKit.md +398 -0
  272. package/resource/doc/tuicallkit/iOS/api_TUICallObserver.md +781 -0
  273. package/resource/doc/tuicallkit/iOS/how_to_integrated_iOS_callkit.md +268 -0
  274. package/resource/doc/tuicallkit/iOS/how_to_run_iOS_callkit_demo.md +98 -0
  275. package/resource/doc/tuicallkit/react/.gitkeep +0 -0
  276. package/resource/doc/tuicallkit/react/api_TUICallKit.md +354 -0
  277. package/resource/doc/tuicallkit/react/how_to_integrated_react_callkit.md +166 -0
  278. package/resource/doc/tuicallkit/react/how_to_run_react_callkit_demo.md +61 -0
  279. package/resource/doc/tuicallkit/vue/.gitkeep +0 -0
  280. package/resource/doc/tuicallkit/vue/api_TUICallKit.md +354 -0
  281. package/resource/doc/tuicallkit/vue/how_to_integrated_vue_callkit.md +187 -0
  282. package/resource/doc/tuicallkit/vue/how_to_run_vue_callkit_demo.md +61 -0
  283. package/server.js +132 -0
  284. package/server.js.map +1 -0
  285. package/streamableHttp.js +74 -0
  286. package/streamableHttp.js.map +1 -0
@@ -0,0 +1,343 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExternalMonitor = exports.InternalMonitor = exports.Monitor = void 0;
4
+ const errors_1 = require("../errors");
5
+ const plugins_1 = require("../plugins");
6
+ const utils_1 = require("../utils");
7
+ const kDefaultOptions = {
8
+ /**
9
+ * 统计周期
10
+ *
11
+ * 与统计单元数,共同确定了统计数据的计算间隔(监控子的系统最小分辨率)
12
+ */
13
+ statWindow: 1 * utils_1.kMinutes,
14
+ /**
15
+ * 统计单元数
16
+ *
17
+ * 与统计周期,共同确定了统计数据的计算间隔(监控子的系统最小分辨率)
18
+ */
19
+ bucketsCount: 12,
20
+ /**
21
+ * 是否开启动态权重
22
+ *
23
+ * 仅 `InternalMonitor` 有效
24
+ */
25
+ enableDynamicWeights: false,
26
+ /**
27
+ * 节点熔断插件开启状态
28
+ *
29
+ * 仅 `InternalMonitor` 有效
30
+ */
31
+ breakerSwitch: {
32
+ /**
33
+ * 实时熔断是否开启
34
+ */
35
+ realtime: true,
36
+ /**
37
+ * 周期熔断是否开启
38
+ */
39
+ period: true
40
+ }
41
+ };
42
+ class StatStore {
43
+ constructor() {
44
+ this.store = Object.create(null);
45
+ }
46
+ get(namespace, service) {
47
+ let ns = this.store[namespace];
48
+ if (!ns) {
49
+ ns = Object.create(null);
50
+ this.store[namespace] = ns;
51
+ }
52
+ let svr = ns[service];
53
+ if (!svr) {
54
+ svr = new Map();
55
+ ns[service] = svr;
56
+ }
57
+ return svr;
58
+ }
59
+ }
60
+ class Monitor {
61
+ constructor(requisite = 0 /* None */) {
62
+ this.currentPeriod = 0;
63
+ this.disposed = false;
64
+ if (requisite & 1 /* Full */) {
65
+ this.fullStat = new StatStore();
66
+ }
67
+ if (requisite & 2 /* Alive */) {
68
+ this.aliveStat = new StatStore();
69
+ }
70
+ }
71
+ dispose() {
72
+ if (this.timer) {
73
+ clearInterval(this.timer);
74
+ this.timer = undefined;
75
+ }
76
+ this.disposed = true;
77
+ }
78
+ update(namespace, service, instance, success, cost, code) {
79
+ if (this.disposed) {
80
+ return;
81
+ }
82
+ if (!(cost >= 0)) {
83
+ throw new errors_1.ArgumentError("|cost| must be a non-negative number");
84
+ }
85
+ this.performUpdate(namespace, service, instance, success, cost, code, this.fullStat);
86
+ if (instance.status !== 3 /* Fused */) {
87
+ this.performUpdate(namespace, service, instance, success, cost, code, this.aliveStat);
88
+ }
89
+ if (!this.timer && (this.fullStat || this.aliveStat)) {
90
+ /**
91
+ * 为了性能考虑 `Monitor` 流程采用同一定时器驱动
92
+ * tradeoff: 第一个统计单元中的统计数据可能是不精确的。
93
+ */
94
+ this.timer = setInterval(() => {
95
+ this.compute();
96
+ }, this.options.statWindow / this.options.bucketsCount).unref();
97
+ }
98
+ }
99
+ performUpdate(namespace, service, instance, success, cost, code, store) {
100
+ if (store === undefined) {
101
+ return;
102
+ }
103
+ const serviceStat = store.get(namespace, service);
104
+ let stat = serviceStat.get(instance);
105
+ if (!stat) {
106
+ stat = [];
107
+ serviceStat.set(instance, stat);
108
+ }
109
+ let bucket;
110
+ if (stat.length > 0) {
111
+ bucket = stat[stat.length - 1];
112
+ }
113
+ if (!bucket || bucket.period !== this.currentPeriod) {
114
+ bucket = {
115
+ period: this.currentPeriod,
116
+ stat: {}
117
+ };
118
+ stat.push(bucket);
119
+ }
120
+ const bucketKey = `${success ? 1 : 0}${code || ""}`;
121
+ let prop = bucket.stat[bucketKey];
122
+ if (prop === undefined) {
123
+ prop = {
124
+ cost: 0,
125
+ count: 0
126
+ };
127
+ bucket.stat[bucketKey] = prop;
128
+ }
129
+ prop.cost += cost;
130
+ prop.count += 1;
131
+ }
132
+ }
133
+ exports.Monitor = Monitor;
134
+ class InternalMonitor extends Monitor {
135
+ constructor(logger, health, registry, adjusters, reporters, breaker, options) {
136
+ const normalizedOptions = Object.assign(Object.assign({}, kDefaultOptions), options);
137
+ const { breakerSwitch, enableDynamicWeights } = normalizedOptions;
138
+ if (breaker === undefined && (breakerSwitch.realtime || breakerSwitch.period)) {
139
+ (0, utils_1.UNREACHABLE)();
140
+ }
141
+ let requisite = 0 /* None */;
142
+ if (reporters.length > 0) {
143
+ requisite |= 1 /* Full */;
144
+ }
145
+ if (enableDynamicWeights || breakerSwitch.realtime || breakerSwitch.period) {
146
+ requisite |= 2 /* Alive */;
147
+ }
148
+ super(requisite);
149
+ this.logger = logger;
150
+ this.health = health;
151
+ this.registry = registry;
152
+ this.breaker = breaker;
153
+ this.adjusters = adjusters;
154
+ this.reporters = reporters;
155
+ this.options = normalizedOptions;
156
+ if (this.aliveStat) {
157
+ this.registry.on("SyncInstanceStatus" /* SyncInstanceStatus */, (namespace, service, instance, status) => {
158
+ if (!this.disposed && status === 3 /* Fused */) {
159
+ this.aliveStat.get(namespace, service).delete(instance);
160
+ }
161
+ });
162
+ }
163
+ }
164
+ update(namespace, service, instance, success, cost, code) {
165
+ super.update(namespace, service, instance, success, cost, code);
166
+ if (this.options.breakerSwitch.realtime) {
167
+ const change = this.breaker.realtime(namespace, service, instance, success, code);
168
+ if (change !== undefined) {
169
+ this.health.changeStatus(namespace, service, instance, change.status, change.reason);
170
+ if (change.status === 3 /* Fused */) {
171
+ this.aliveStat.get(namespace, service).delete(instance);
172
+ }
173
+ }
174
+ }
175
+ }
176
+ performCompute({ store }, handle) {
177
+ for (const namespace of Object.keys(store)) {
178
+ const ns = store[namespace];
179
+ for (const service of Object.keys(ns)) {
180
+ // #region 滚动计算周期统计信息
181
+ const summaryStat = new Map();
182
+ const computed = {
183
+ summaryStat,
184
+ statWindow: this.options.statWindow
185
+ };
186
+ const stats = ns[service];
187
+ /**
188
+ * 用于 `mergedStat` Key 索引
189
+ * 提高查询性能,O(n) --> O(1)
190
+ */
191
+ const keyIndex = {};
192
+ stats.forEach((buckets, instance) => {
193
+ const mergedStat = new Map();
194
+ let latestBuckets = buckets;
195
+ for (let i = latestBuckets.length - 1; i >= 0; i -= 1) {
196
+ const { period, stat } = latestBuckets[i];
197
+ /**
198
+ * 移除过期桶,由于 `buckets` 有序故可直接截断,以降低计算量
199
+ */
200
+ if (this.currentPeriod - period >= this.options.bucketsCount) {
201
+ latestBuckets = latestBuckets.slice(i + 1);
202
+ stats.set(instance, latestBuckets);
203
+ break;
204
+ }
205
+ Object.keys(stat).forEach((key) => {
206
+ let statKey = keyIndex[key];
207
+ if (statKey === undefined) {
208
+ statKey = {
209
+ success: !key.startsWith("0"),
210
+ code: key.slice(1)
211
+ };
212
+ keyIndex[key] = statKey;
213
+ }
214
+ const statProp = mergedStat.get(statKey);
215
+ const { cost, count } = stat[key];
216
+ if (statProp === undefined) {
217
+ mergedStat.set(statKey, { cost, count });
218
+ }
219
+ else {
220
+ statProp.cost += cost;
221
+ statProp.count += count;
222
+ }
223
+ });
224
+ }
225
+ /**
226
+ * 最早的有效桶与当前周期的间隔,如不足统计单元数,则不进行处理
227
+ * _也就是说,实际间隔时间必须要满足一个统计周期 `statWindow` 才进行处理_
228
+ */
229
+ if (latestBuckets.length > 0
230
+ && this.currentPeriod - latestBuckets[0].period === this.options.bucketsCount - 1) {
231
+ summaryStat.set(instance, mergedStat);
232
+ }
233
+ });
234
+ // #endregion
235
+ if (summaryStat.size === 0) {
236
+ continue;
237
+ }
238
+ handle.call(this, namespace, service, computed);
239
+ }
240
+ }
241
+ }
242
+ compute() {
243
+ if (this.fullStat) {
244
+ // eslint-disable-next-line @typescript-eslint/unbound-method
245
+ this.performCompute(this.fullStat, this.performFullStat);
246
+ }
247
+ if (this.aliveStat) {
248
+ // eslint-disable-next-line @typescript-eslint/unbound-method
249
+ this.performCompute(this.aliveStat, this.performAliveStat);
250
+ }
251
+ this.currentPeriod += 1;
252
+ }
253
+ performFullStat(namespace, service, computed) {
254
+ /** StatReporterPlugin */
255
+ if ((this.currentPeriod + 1) % this.options.bucketsCount === 0) { /** 达到一个完整的上报周期 */
256
+ this.reporters.forEach((reporter) => {
257
+ var _a;
258
+ (_a = reporter.serviceStatistics) === null || _a === void 0 ? void 0 : _a.call(reporter, namespace, service, computed).catch(err => this.disposed || this.logger.error(`[${reporter.name}] [serviceStatistics]`, err));
259
+ });
260
+ }
261
+ }
262
+ performAliveStat(namespace, service, computed) {
263
+ // #region 获取服务实例列表
264
+ const serviceInstance = this.registry.local(plugins_1.RegistryCategory.Instance, namespace, service);
265
+ let instances = [];
266
+ if (serviceInstance) {
267
+ instances = serviceInstance.data;
268
+ }
269
+ // #endregion
270
+ /** CircuitBreakerPlugin */
271
+ if (this.options.breakerSwitch.period) {
272
+ const changeList = this.breaker.period(namespace, service, instances, computed);
273
+ this.health.changeStatus(namespace, service, changeList);
274
+ changeList.forEach((change, instance) => {
275
+ if (change.status === 3 /* Fused */) {
276
+ computed.summaryStat.delete(instance);
277
+ /** 当熔断时,需清除当前 `aliveStat` 中对应的统计单元 */
278
+ this.aliveStat.get(namespace, service).delete(instance);
279
+ }
280
+ });
281
+ }
282
+ /** WeightAdjusterPlugin */
283
+ if (this.options.enableDynamicWeights) {
284
+ this.adjusters.forEach(adjuster => adjuster.adjust(namespace, service, instances, computed));
285
+ }
286
+ }
287
+ }
288
+ exports.InternalMonitor = InternalMonitor;
289
+ class ExternalMonitor extends Monitor {
290
+ constructor(logger, reporters, options) {
291
+ let requisite = 0 /* None */;
292
+ if (reporters.length > 0) {
293
+ requisite |= 1 /* Full */;
294
+ }
295
+ super(requisite);
296
+ this.logger = logger;
297
+ this.reporters = reporters;
298
+ this.nowPeriod = 0;
299
+ this.options = Object.assign(Object.assign({}, kDefaultOptions), options);
300
+ }
301
+ async compute() {
302
+ if (this.aliveStat === undefined) {
303
+ return;
304
+ }
305
+ const { aliveStat: { store } } = this;
306
+ this.aliveStat = new StatStore();
307
+ this.nowPeriod += 1;
308
+ if (this.nowPeriod % this.options.bucketsCount === 0) { /** 达到一个完整的上报周期 */
309
+ for (const namespace of Object.keys(store)) {
310
+ const ns = store[namespace];
311
+ for (const service of Object.keys(ns)) {
312
+ const summaryStat = new Map();
313
+ const computed = {
314
+ summaryStat,
315
+ statWindow: this.options.statWindow
316
+ };
317
+ ns[service].forEach((buckets, instance) => {
318
+ const computedStat = new Map();
319
+ /**
320
+ * 由于 `currentPeriod = 0` 且不变化,
321
+ * 故只需将第一个桶内值取出即可
322
+ */
323
+ const [{ stat }] = buckets;
324
+ Object.keys(stat).forEach((key) => {
325
+ const { cost, count } = stat[key];
326
+ computedStat.set({
327
+ success: !key.startsWith("0"),
328
+ code: key.slice(1)
329
+ }, { cost, count });
330
+ });
331
+ summaryStat.set(instance, computedStat);
332
+ });
333
+ this.reporters.forEach((reporter) => {
334
+ var _a;
335
+ (_a = reporter.serviceStatistics) === null || _a === void 0 ? void 0 : _a.call(reporter, namespace, service, computed).catch(err => this.disposed || this.logger.error(`[${reporter.name}] [serviceStatistics]`, err));
336
+ });
337
+ }
338
+ }
339
+ }
340
+ }
341
+ }
342
+ exports.ExternalMonitor = ExternalMonitor;
343
+ //# sourceMappingURL=monitor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monitor.js","sourceRoot":"","sources":["../../src/consumer/monitor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,73 @@
1
+ import { GlobalOptions } from "../global";
2
+ import { Instance } from "../instance";
3
+ import { Logger } from "../logging";
4
+ import { LoadBalancerPlugin, NamingServicePlugin, PluginType, ServiceRouterPlugin, ServiceRules } from "../plugins";
5
+ import { LocalRegistry } from "../registry";
6
+ import { Service } from "../service";
7
+ import { Health } from "./health";
8
+ declare const kDefaultOptions: {
9
+ /**
10
+ * 探活任务最大探测次数
11
+ */
12
+ maxProbes: number;
13
+ /**
14
+ * 是否启用全死全活,当节点全部不健康时,是否返回
15
+ */
16
+ enableRecover: boolean;
17
+ };
18
+ export declare type SelectorOptions = typeof kDefaultOptions;
19
+ export declare type CombinatedArgs<T = unknown> = Record<string, T>;
20
+ export interface CallArgsType<ServiceRouterArgs extends CombinatedArgs, LoadBalancerArgs> {
21
+ [PluginType.ServiceRouter]?: ServiceRouterArgs;
22
+ [PluginType.LoadBalancer]?: LoadBalancerArgs;
23
+ }
24
+ export interface Selector {
25
+ select<ServiceRouterArgs extends CombinatedArgs, LoadBalancerArgs>(callee: Service, caller?: Service, args?: CallArgsType<ServiceRouterArgs, LoadBalancerArgs>): Promise<Instance | null>;
26
+ list(namespace: string, service: string): Promise<Instance[]>;
27
+ rules(namespace: string, service: string): Promise<ServiceRules>;
28
+ dispose?(): void;
29
+ }
30
+ /**
31
+ * @description
32
+ * 实例选取规则:
33
+ * in ---> [Router Chain] ---> out
34
+ */
35
+ export declare class InternalSelector implements Selector {
36
+ private readonly global;
37
+ private readonly logger;
38
+ private readonly health;
39
+ private readonly registry;
40
+ private readonly routers;
41
+ private readonly lb;
42
+ private readonly fuseStat;
43
+ private readonly options;
44
+ private readonly requisite;
45
+ private disposed;
46
+ constructor(global: GlobalOptions, logger: Logger, health: Health, registry: LocalRegistry, routers: ServiceRouterPlugin[], lb: LoadBalancerPlugin, options?: Partial<SelectorOptions>);
47
+ dispose(): void;
48
+ select<ServiceRouterArgs extends CombinatedArgs, LoadBalancerArgs>(callee: Service, caller?: Service, args?: CallArgsType<ServiceRouterArgs, LoadBalancerArgs>): Promise<Instance | null>;
49
+ list(namespace: string, service: string): Promise<Instance[]>;
50
+ rules(namespace: string, service: string): Promise<ServiceRules>;
51
+ private executor;
52
+ /**
53
+ * ```
54
+ * +-------------------------+
55
+ * | |
56
+ * ... [+----+----> Service Router Plugin +----+---->] ... <routing chain> ...
57
+ * | | | |
58
+ * | +-------------------------+ |
59
+ * | |
60
+ * +-----------------------------------+
61
+ * ```
62
+ */
63
+ private routing;
64
+ private choose;
65
+ }
66
+ export declare class ExternalSelector implements Selector {
67
+ private readonly naming;
68
+ constructor(naming: NamingServicePlugin);
69
+ select(callee: Service): Promise<Instance | null>;
70
+ list(namespace: string, service: string): Promise<Instance[]>;
71
+ rules(namespace: string, service: string): Promise<ServiceRules>;
72
+ }
73
+ export {};